GNU bug report logs - #20895
[patch] lexical binding broke part of sgml-mode.el

Previous Next

Package: emacs;

Reported by: Stephen Berman <stephen.berman <at> gmx.net>

Date: Thu, 25 Jun 2015 10:44:02 UTC

Severity: normal

Tags: patch

Merged with 20386

Found in version 25.0.50

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stephen Berman <stephen.berman <at> gmx.net>
To: 20895 <at> debbugs.gnu.org
Subject: bug#20895: [patch] lexical binding broke part of sgml-mode.el
Date: Thu, 25 Jun 2015 12:42:35 +0200
The following change broke some functionality in sgml-mode.el:

   commit 84e0b7dad6f1a8e53261f9b96f5a9080fea681a4
   Author: Stefan Monnier <monnier <at> iro.umontreal.ca>
   Date:   Mon Apr 13 15:51:15 2015 -0400
   [...]
       * lisp/textmodes/sgml-mode.el: Use lexical-binding.

To see the bug, visit an (X)HTML file and insert a tag (`C-c C-t') that
takes an attribute, such `p' or `a'.

The following patch fixes the problems I have encountered, but I'm not
sure if further adjustments are needed, so I'll defer to whoever knows
the code better about whether to commit it as is.


2015-06-25  Stephen Berman  <stephen.berman <at> gmx.net>

	* sgml-mode.el (sgml-attributes, sgml-value): Make them work with
	lexical binding.


diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el
index 2ffe9c1..dbb9662 100644
--- a/lisp/textmodes/sgml-mode.el
+++ b/lisp/textmodes/sgml-mode.el
@@ -759,9 +759,9 @@ If QUIET, do not print a message when there are no attributes for TAG."
 	    (insert ?\s)
 	    (insert (funcall skeleton-transformation-function
 			     (setq attribute
-				   (skeleton-read '(completing-read
+				   (skeleton-read `(completing-read
 						    "Attribute: "
-						    alist)))))
+						    ',alist)))))
 	    (if (string= "" attribute)
 		(setq i 0)
 	      (sgml-value (assoc (downcase attribute) alist))
@@ -1177,13 +1177,13 @@ See `sgml-tag-alist' for info about attribute rules."
     (if (and (eq (car alist) t) (not sgml-xml-mode))
 	(when (cdr alist)
 	  (insert "=\"")
-	  (setq alist (skeleton-read '(completing-read "Value: " (cdr alist))))
+	  (setq alist (skeleton-read `(completing-read "Value: " (cdr ',alist))))
 	  (if (string< "" alist)
 	      (insert alist ?\")
 	    (delete-char -2)))
       (insert "=\"")
       (if (cdr alist)
-          (insert (skeleton-read '(completing-read "Value: " alist)))
+          (insert (skeleton-read `(completing-read "Value: " ',alist)))
         (when (null alist)
           (insert (skeleton-read '(read-string "Value: ")))))
       (insert ?\"))))





This bug report was last modified 9 years and 309 days ago.

Previous Next


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