diff options
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/derived.el | 5 | ||||
-rw-r--r-- | lisp/emacs-lisp/lisp-mode.el | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/derived.el b/lisp/emacs-lisp/derived.el index e8f799b9afc..4fda2bf1d52 100644 --- a/lisp/emacs-lisp/derived.el +++ b/lisp/emacs-lisp/derived.el @@ -255,7 +255,10 @@ No problems result if this variable is not bound. (not (eq parent (standard-syntax-table)))) (set-char-table-parent ,syntax (syntax-table))))) ,(when declare-abbrev - `(unless (abbrev-table-get ,abbrev :parents) + `(unless (or (abbrev-table-get ,abbrev :parents) + ;; This can happen if the major mode defines + ;; the abbrev-table to be its parent's. + (eq ,abbrev local-abbrev-table)) (abbrev-table-put ,abbrev :parents (list local-abbrev-table)))))) (use-local-map ,map) diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 114e9755039..32f67a173f9 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -525,7 +525,6 @@ if that value is non-nil." "Keymap for Lisp Interaction mode. All commands in `lisp-mode-shared-map' are inherited by this map.") -(defvar lisp-interaction-mode-abbrev-table lisp-mode-abbrev-table) (define-derived-mode lisp-interaction-mode emacs-lisp-mode "Lisp Interaction" "Major mode for typing and evaluating Lisp forms. Like Lisp mode except that \\[eval-print-last-sexp] evals the Lisp expression |