It takes a hygenic programmer to write a hygenic macro, that's all I
can say, Jim.
jimb@tigris.org writes:
> User: jimb
> Date: 00/10/13 15:37:03
>
> Modified: subversion/include svn_error.h
> Log:
> (SVN_ERR): Use a stranger name for the temporary variable. I
> accidentally used `svn_err' as a real variable, and then (after some
> manual cleanup) tried to say `SVN_ERR (svn_err)', which didn't do what
> I meant. ("Shoulda written it in Scheme...")
>
> Revision Changes Path
> 1.46 +6 -2 subversion/subversion/include/svn_error.h
>
> Index: svn_error.h
> ===================================================================
> RCS file: /cvs/subversion/subversion/include/svn_error.h,v
> retrieving revision 1.45
> retrieving revision 1.46
> diff -u -r1.45 -r1.46
> --- svn_error.h 2000/10/13 20:01:04 1.45
> +++ svn_error.h 2000/10/13 22:37:03 1.46
> @@ -299,8 +299,12 @@
>
> would not mean what they appear to. */
>
> -#define SVN_ERR(expr) \
> - do { svn_error_t *svn_err = (expr); if (svn_err) return svn_err; } while (0)
> +#define SVN_ERR(expr) \
> + do { \
> + svn_error_t *svn_err__temp = (expr); \
> + if (svn_err__temp) \
> + return svn_err__temp; \
> + } while (0)
>
>
> #endif /* SVN_ERROR_H */
>
>
>
Received on Sat Oct 21 14:36:11 2006