Subject: Re: master branch: `message' wrongly corrupts ' to curly quote.

From: Paul Eggert <[email-masked]>
Date: Mon, 2 May 2016 10:53:59 -0700

(message "%s" M) is the usual way to output a message M without 
formatting it, and something like this is needed anyway if M might 
contain %. Accordingly, I installed the attached patch into the emacs-25 
branch and merged the result to master. I had already adjusted some 
other instances of calls to ‘message’ (to fix problems with % as well as 
with quotes) but missed this call; sorry about that.

The behavior of ‘message’ is documented in the manual, in doc strings, 
and the quoting change in Emacs 25 is documented in etc/NEWS, so it is 
not a bug per se.

From f974345491b418926797559adf853aaedf690e46 Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email-masked]>
Date: Mon, 2 May 2016 10:06:04 -0700
Subject: [PATCH] Fix quoting problem in cc-engine debug message
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* lisp/progmodes/cc-engine.el (c-replay-parse-state-state):
Use "%s" format to pass through ‘'’ unscathed (Bug#23425), and
likewise for ‘`’, and ‘%’.
---
 lisp/progmodes/cc-engine.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 2010515..eb015ac 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -3498,7 +3498,7 @@ c-record-parse-state-state
 	   c-state-old-cpp-end
 	   c-parse-state-point))))
 (defun c-replay-parse-state-state ()
-  (message
+  (message "%s"
    (concat "(setq "
     (mapconcat
      (lambda (arg)
-- 
2.5.5