GNU bug report logs - #6490
24.0.50; src/lread.c: old style backquote bug?

Previous Next

Package: emacs;

Reported by: Tetsurou Okazaki <okazaki <at> be.to>

Date: Tue, 22 Jun 2010 09:18:02 UTC

Severity: normal

Merged with 6973, 7148, 7286, 10321

Found in versions 24.0.50, 24.0.92

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 6490 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Tetsurou Okazaki <okazaki <at> be.to>
Cc: 6490 <at> debbugs.gnu.org
Subject: Re: bug#6490: 24.0.50; src/lread.c: old style backquote bug?
Date: Wed, 23 Jun 2010 00:23:15 +0200
> 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)






This bug report was last modified 13 years and 156 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.