GNU bug report logs - #14595
Erroneous composition of lambda in emacs-lisp buffers with prog-prettify-symbols enabled

Previous Next

Package: emacs;

Reported by: Juanma Barranquero <lekktu <at> gmail.com>

Date: Wed, 12 Jun 2013 03:21:02 UTC

Severity: normal

Found in version 24.3.50

Done: Juanma Barranquero <lekktu <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


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

From: Ted Zlatanov <tzz <at> lifelogs.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#14595: Erroneous composition of lambda in emacs-lisp buffers
 with prog-prettify-symbols enabled
Date: Sat, 15 Jun 2013 20:13:28 -0400
On Sat, 15 Jun 2013 19:49:10 +0200 Juanma Barranquero <lekktu <at> gmail.com> wrote: 

JB> In other words, this simple patch fixes the problem:

JB> === modified file 'lisp/progmodes/prog-mode.el'
JB> --- lisp/progmodes/prog-mode.el 2013-06-06 21:32:13 +0000
JB> +++ lisp/progmodes/prog-mode.el 2013-06-15 17:47:50 +0000
JB> @@ -77,7 +77,7 @@
JB>         '(?w) '(?. ?\\))))
JB>      (if (or (memq (char-syntax (or (char-before start) ?\ )) syntaxes)
JB>      (memq (char-syntax (or (char-after end) ?\ )) syntaxes)
JB> -            (nth 8 (syntax-ppss)))
JB> +            (nth 8 (save-match-data (syntax-ppss))))
JB>   ;; No composition for you.  Let's actually remove any composition
JB>   ;; we may have added earlier and which is now incorrect.
JB>   (remove-text-properties start end '(composition))

Nice catch.

JB> but, it would still be nice to know why syntax-ppss destroys
JB> (match-data 0) in some lines and not all of them.

I took this code out of `perl-mode' but didn't write it.  I hope someone
else can answer.

Ted





This bug report was last modified 12 years and 36 days ago.

Previous Next


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