GNU bug report logs - #23425
master branch: `message' wrongly corrupts ' to curly quote.

Previous Next

Package: emacs;

Reported by: Alan Mackenzie <acm <at> muc.de>

Date: Mon, 2 May 2016 15:26:02 UTC

Severity: normal

Tags: notabug, wontfix

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#23425: closed (master branch: `message' wrongly corrupts ' to
 curly quote.)
Date: Wed, 31 May 2017 01:43:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 30 May 2017 18:42:00 -0700
with message-id <17c1c00d-a275-5e61-0c47-6872a64a9347 <at> cs.ucla.edu>
and subject line Re: bug#23425: master branch: `message' wrongly corrupts ' to curly quote.
has caused the debbugs.gnu.org bug report #23425,
regarding master branch: `message' wrongly corrupts ' to curly quote.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
23425: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23425
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Alan Mackenzie <acm <at> muc.de>
To: bug-gnu-emacs <at> gnu.org
Subject: master branch: `message' wrongly corrupts ' to curly quote.
Date: Mon, 2 May 2016 14:55:17 +0000
Hello, Emacs.

In the following function:

(defun replay-parse-state-state ()
  (message
   (concat "(setq "
    (mapconcat
     (lambda (arg)
       (format "%s %s%s" (car arg)
	       (if (atom (cdr arg)) "" "'")  <==================
	       (if (markerp (cdr arg))
		   (format "(copy-marker %s)" (marker-position (cdr arg)))
		 (cdr arg))))
     c-parse-state-state "  ")
    ")")))

, the quote mark on the marked line is an ASCII quote, 0x27.  When this
function runs in the Emacs master branch under X-Windows, the output of
this quote gets corrupted into a curly quote, as follows:

                    |
                    v
(setq c-state-cache ’((32429 . 33731) 795 365)  c-state-cache-good-pos
33731  c-state-nonlit-pos-cache ’(53334 50334 47334 44334 41334 38334
35334 32334 29099 26099 23099 20099 17099 13993 10731 7641)
c-state-nonlit-pos-cache-limit 53334  c-state-semi-nonlit-pos-cache
’(32334 29099 26099 23099 20099 17099 13993 10731 7641)
c-state-semi-nonlit-pos-cache-limit 32334  c-state-brace-pair-desert nil
c-state-point-min 1  c-state-point-min-lit-type nil
c-state-point-min-lit-start nil  c-state-min-scan-pos 1
c-state-old-cpp-beg nil  c-state-old-cpp-end nil  c-parse-state-point
33733)

When this output is fed back into Emacs with M-:, it produces an obscure
error message.

This has wasted a lot of time identifying the problem, and fruitlessly
searching for a solution in the Emacs and Elisp manuals, etc.

This is a bug.  If a constant ASCII quote is presented to `message' or
`format', it should be processed as such.  This bug might exist in the
emacs-25 branch, too.  If so, could it be corrected there too, please,
before the release?

-- 
Alan Mackenzie (Nuremberg, Germany).


[Message part 3 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Glenn Morris <rgm <at> gnu.org>
Cc: acm <at> muc.de, Eli Zaretskii <eliz <at> gnu.org>, 23425-done <at> debbugs.gnu.org
Subject: Re: bug#23425: master branch: `message' wrongly corrupts ' to curly
 quote.
Date: Tue, 30 May 2017 18:42:00 -0700
On 05/30/2017 06:07 PM, Glenn Morris wrote:
> A year has passed. Is this report still relevant?

No, as the patch I installed into master a year ago appears to have 
fixed the problem by supporting Alan's original request in Bug#23425#26 
of having a value for text-quoting-style that would "suppress all 
substitution of quotes". (setq text-quoting-style 'grave) now has the 
desired effect. Closing.



This bug report was last modified 7 years and 337 days ago.

Previous Next


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