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

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

bug#2967: smart quotes in .emacs


From: Eli Zaretskii
Subject: bug#2967: smart quotes in .emacs
Date: Wed, 07 Jun 2017 08:09:30 +0300

> From: npostavs@users.sourceforge.net
> Date: Tue, 06 Jun 2017 23:46:48 -0400
> Cc: 2967@debbugs.gnu.org, Alan Mackenzie <acm@muc.de>,
>       Stefan Monnier <monnier@iro.umontreal.ca>
> 
> --- i/src/lread.c
> +++ w/src/lread.c
> @@ -3349,6 +3349,15 @@ read1 (Lisp_Object readcharfun, int *pch, bool 
> first_in_list)
>            ? multibyte_chars_in_text ((unsigned char *) read_buffer,
>                                       nbytes)
>            : nbytes);
> +        if (!quoted && multibyte)
> +          {
> +            switch (STRING_CHAR ((unsigned char *) read_buffer))
> +              {
> +              case 0x2018:      /* LEFT SINGLE QUOTATION MARK */
> +              case 0x2019:      /* RIGHT SINGLE QUOTATION MARK */
> +                invalid_syntax ("strange quote");
> +              }
> +          }
>       Lisp_Object name = ((uninterned_symbol && ! NILP (Vpurify_flag)
>                            ? make_pure_string : make_specified_string)
>                           (read_buffer, nchars, nbytes, multibyte));
> 
> We then get the following error from evaluating (read (format-message 
> "'foo")):
> 
> Debugger entered--Lisp error: (invalid-read-syntax "strange quote")
>   read("’foo")
>   eval((read (format-message "'foo")) nil)

Please include the character itself in the error message text.

Also, are we sure these two are the only ones we want to catch in this
manner?

Finally, if this is accepted, let's have a test for this, and maybe
also some documentation, at least in NEWS.

Thanks.





reply via email to

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