emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 8db7b65: Minor fix for define-derived-mode


From: Glenn Morris
Subject: [Emacs-diffs] master 8db7b65: Minor fix for define-derived-mode
Date: Tue, 13 Dec 2016 01:04:01 +0000 (UTC)

branch: master
commit 8db7b65d66f01e90a05cc9f11c67667233d84ca0
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>

    Minor fix for define-derived-mode
    
    * lisp/emacs-lisp/derived.el (define-derived-mode):
    Do not let eg eval-defun reset the values of syntax or abbrev tables,
    since they might have been defined externally.  (Bug#16160)
---
 lisp/emacs-lisp/derived.el |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/lisp/emacs-lisp/derived.el b/lisp/emacs-lisp/derived.el
index 0f7691a..3117027 100644
--- a/lisp/emacs-lisp/derived.el
+++ b/lisp/emacs-lisp/derived.el
@@ -217,16 +217,17 @@ No problems result if this variable is not bound.
        ,(if declare-syntax
            `(progn
               (unless (boundp ',syntax)
-                (put ',syntax 'definition-name ',child))
-              (defvar ,syntax (make-syntax-table))
+                (put ',syntax 'definition-name ',child)
+                (defvar ,syntax (make-syntax-table)))
               (unless (get ',syntax 'variable-documentation)
                 (put ',syntax 'variable-documentation
                      (purecopy ,(format "Syntax table for `%s'." child))))))
        ,(if declare-abbrev
            `(progn
-              (put ',abbrev 'definition-name ',child)
-              (defvar ,abbrev
-                (progn (define-abbrev-table ',abbrev nil) ,abbrev))
+              (unless (boundp ',abbrev)
+                (put ',abbrev 'definition-name ',child)
+                (defvar ,abbrev
+                  (progn (define-abbrev-table ',abbrev nil) ,abbrev)))
               (unless (get ',abbrev 'variable-documentation)
                 (put ',abbrev 'variable-documentation
                      (purecopy ,(format "Abbrev table for `%s'." child))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]