GNU bug report logs - #24206
25.1; Curly quotes generate invalid strings, leading to a segfault

Previous Next

Package: emacs;

Reported by: Phil <p.stephani2 <at> gmail.com>

Date: Thu, 11 Aug 2016 18:57:02 UTC

Severity: normal

Found in version 25.1

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: p.stephani2 <at> gmail.com, johnw <at> gnu.org, schwab <at> linux-m68k.org, nicolas <at> petton.fr, 24206 <at> debbugs.gnu.org
Subject: bug#24206: 25.1; Curly quotes generate invalid strings, leading to a segfault
Date: Mon, 15 Aug 2016 22:04:18 +0300
> Cc: p.stephani2 <at> gmail.com, johnw <at> gnu.org, nicolas <at> petton.fr,
>  24206 <at> debbugs.gnu.org
> From: Paul Eggert <eggert <at> cs.ucla.edu>
> Date: Mon, 15 Aug 2016 11:43:16 -0700
> 
> Yes. This is in the Elisp manual, which says "We recommend that
> you never use unibyte buffers and strings except for manipulating
> encoded text or binary non-text data."

That advice is for Lisp programmers, so it's only tangentially
relevant in this case.

> Eli Zaretskii wrote:
> > as the original string is
> > unibyte, the output of "\200≠", which is multibyte, might not be what
> > the users expect.  They might expect "\200\342\211\240" instead.
> 
> No, as per Andreas's comment and the Elisp reference manual, users should not 
> expect substitute-command-keys to do that.

We still want them to be as little surprised as possible, do we?

> As long as it doesn't crash on non-ASCII unibyte data we needn't
> sweat the details about whether it returns unibyte or multibyte
> strings for such data.

I explained why this cannot be 100% true.  So I'd like to avoid
converting unibyte strings to multibyte as much as reasonably
possible.




This bug report was last modified 8 years and 339 days ago.

Previous Next


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