bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#6490: 24.0.50; src/lread.c: old style backquote bug?


From: Stefan Monnier
Subject: bug#6490: 24.0.50; src/lread.c: old style backquote bug?
Date: Wed, 23 Jun 2010 00:23:15 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

> Attached patch for Emacs fixes this error.

I'm glad the patch fixes things for you, since this patch indeed looks
perfectly harmless, but I'm a bit puzzled because it doesn't just look
harmless: it looks to me like the patch does change anything to the way
the code works.  So could you explain to me how&why the patch fixes
the problem?  I'm probably just overlooking some "obvious" detail,


        Stefan


> === modified file 'src/lread.c'
> --- src/lread.c       2010-06-16 14:10:02 +0000
> +++ src/lread.c       2010-06-22 07:48:58 +0000
> @@ -2693,21 +2693,26 @@
>        old-style.  For Emacs-25, we should completely remove this
>        first_in_list exception (old-style can still be obtained via
>        "(\`" anyway).  */
> -      if (first_in_list && (c = READCHAR, UNREAD (c), c == ' '))
> -     {
> -       Vold_style_backquotes = Qt;
> -       goto default_label;
> -     }
> -      else
> -     {
> -       Lisp_Object value;
> -
> -       new_backquote_flag++;
> -       value = read0 (readcharfun);
> -       new_backquote_flag--;
> -
> -       return Fcons (Qbackquote, Fcons (value, Qnil));
> -     }
> +      {
> +        int next_char = READCHAR;
> +        UNREAD (next_char);
> +
> +     if (first_in_list && next_char == ' ')
> +       {
> +         Vold_style_backquotes = Qt;
> +         goto default_label;
> +       }
> +     else
> +       {
> +         Lisp_Object value;
> +
> +         new_backquote_flag++;
> +         value = read0 (readcharfun);
> +         new_backquote_flag--;
> +
> +         return Fcons (Qbackquote, Fcons (value, Qnil));
> +       }
> +      }
 
>      case ',':
>        if (new_backquote_flag)







reply via email to

[Prev in Thread] Current Thread [Next in Thread]