From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juanma Barranquero Newsgroups: gmane.emacs.bugs Subject: bug#14595: Erroneous composition of lambda in emacs-lisp buffers with prog-prettify-symbols enabled Date: Sat, 15 Jun 2013 22:51:35 +0200 Message-ID: References: <83fvwjvje3.fsf@gnu.org> <83ehc3viss.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1371329588 11056 80.91.229.3 (15 Jun 2013 20:53:08 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 15 Jun 2013 20:53:08 +0000 (UTC) Cc: 14595@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Jun 15 22:53:08 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UnxT9-0003ca-Vo for geb-bug-gnu-emacs@m.gmane.org; Sat, 15 Jun 2013 22:53:08 +0200 Original-Received: from localhost ([::1]:41067 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UnxT9-0007vv-M7 for geb-bug-gnu-emacs@m.gmane.org; Sat, 15 Jun 2013 16:53:07 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34982) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UnxT6-0007vo-90 for bug-gnu-emacs@gnu.org; Sat, 15 Jun 2013 16:53:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UnxT5-0002wZ-1X for bug-gnu-emacs@gnu.org; Sat, 15 Jun 2013 16:53:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52517) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UnxT4-0002wU-UI for bug-gnu-emacs@gnu.org; Sat, 15 Jun 2013 16:53:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1UnxT3-00064X-VG for bug-gnu-emacs@gnu.org; Sat, 15 Jun 2013 16:53:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Juanma Barranquero Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 15 Jun 2013 20:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14595 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 14595-submit@debbugs.gnu.org id=B14595.137132954523274 (code B ref 14595); Sat, 15 Jun 2013 20:53:01 +0000 Original-Received: (at 14595) by debbugs.gnu.org; 15 Jun 2013 20:52:25 +0000 Original-Received: from localhost ([127.0.0.1]:46832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UnxSS-00063J-1v for submit@debbugs.gnu.org; Sat, 15 Jun 2013 16:52:24 -0400 Original-Received: from mail-ee0-f53.google.com ([74.125.83.53]:44059) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UnxSP-000631-UM for 14595@debbugs.gnu.org; Sat, 15 Jun 2013 16:52:22 -0400 Original-Received: by mail-ee0-f53.google.com with SMTP id c41so1004646eek.40 for <14595@debbugs.gnu.org>; Sat, 15 Jun 2013 13:52:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=kMRfnukh9D8M0CXKgTO6+kOiMTXF1iyjfjpScZCRbWU=; b=VD4xQ7AZY9G9cPnADObrpGXz8+9WJJzJyaLODiQBQw5bLeo1SrCx8MFADwcki89M+V BBD0e7p8qTn2bJF8jdSbd0T88gOpaF3d+e71Fh0ZjXI/QOKDu0tfgYT0lpTDV+N0LzYr it2OqTyMNGH5knlVXzrwMToUzDBW3ARkZfU9lnKmAN9+SHROIfyr2k7HfVV11nEGLqT8 7mtoaoXrV3CppybVvfNLfaqkSTHyBo7p2zMv3SkxNVkFOSOA8UjjKwCtfg691y1saZmx aIYuBs9LdipYiE31N4CkPZUNcfUdWXp7aWDb/6GWCID/ASUN2oDR77tGL9mUP1Tzhn/z nOIA== X-Received: by 10.14.218.8 with SMTP id j8mr9427132eep.129.1371329535813; Sat, 15 Jun 2013 13:52:15 -0700 (PDT) Original-Received: by 10.14.142.4 with HTTP; Sat, 15 Jun 2013 13:51:35 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:75172 Archived-At: On Sat, Jun 15, 2013 at 7:49 PM, Juanma Barranquero wrote: > In other words, this simple patch fixes the problem: This one is presumably cheaper: === modified file 'lisp/progmodes/prog-mode.el' --- lisp/progmodes/prog-mode.el 2013-06-06 21:32:13 +0000 +++ lisp/progmodes/prog-mode.el 2013-06-15 20:50:09 +0000 @@ -74,15 +74,17 @@ (let* ((start (match-beginning 0)) (end (match-end 0)) (syntaxes (if (eq (char-syntax (char-after start)) ?w) - '(?w) '(?. ?\\)))) + '(?w) '(?. ?\\))) + match) (if (or (memq (char-syntax (or (char-before start) ?\ )) syntaxes) (memq (char-syntax (or (char-after end) ?\ )) syntaxes) - (nth 8 (syntax-ppss))) + ;; syntax-ppss can modify the match data + (progn (setq match (match-string 0)) (nth 8 (syntax-ppss)))) ;; No composition for you. Let's actually remove any composition ;; we may have added earlier and which is now incorrect. (remove-text-properties start end '(composition)) ;; That's a symbol alright, so add the composition. - (compose-region start end (cdr (assoc (match-string 0) alist))))) + (compose-region start end (cdr (assoc match alist))))) ;; Return nil because we're not adding any face property. nil)