Make Emacs Lisp mode use emacs-lisp-mode-abbrev-table.
authorChong Yidong <cyd@gnu.org>
Sun, 29 Jan 2012 04:45:51 +0000 (12:45 +0800)
committerChong Yidong <cyd@gnu.org>
Sun, 29 Jan 2012 04:45:51 +0000 (12:45 +0800)
* lisp/emacs-lisp/lisp-mode.el (emacs-lisp-mode-abbrev-table): Define
and use in Emacs Lisp mode.
(lisp-mode-abbrev-table): Add doc.
(lisp-mode-variables): Don't set local-abbrev-table.
(lisp-interaction-mode): Use emacs-lisp-mode-abbrev-table.

Fixes: debbugs:9360

lisp/ChangeLog
lisp/emacs-lisp/lisp-mode.el

index e7a09b7..e74adea 100644 (file)
@@ -1,3 +1,11 @@
+2012-01-29  Chong Yidong  <cyd@gnu.org>
+
+       * emacs-lisp/lisp-mode.el (emacs-lisp-mode-abbrev-table): Define
+       and use in Emacs Lisp mode (Bug#9360).
+       (lisp-mode-abbrev-table): Add doc.
+       (lisp-mode-variables): Don't set local-abbrev-table.
+       (lisp-interaction-mode): Use emacs-lisp-mode-abbrev-table.
+
 2012-01-28  Roland Winkler  <winkler@gnu.org>
 
        * textmodes/bibtex.el (bibtex-vec-incr): Fix docstring.
index 3d581e2..95eb8c9 100644 (file)
 (defvar font-lock-string-face)
 
 (defvar lisp-mode-abbrev-table nil)
+(define-abbrev-table 'lisp-mode-abbrev-table ()
+  "Abbrev table for Lisp mode.")
 
-(define-abbrev-table 'lisp-mode-abbrev-table ())
+(defvar emacs-lisp-mode-abbrev-table nil)
+(define-abbrev-table 'emacs-lisp-mode-abbrev-table ()
+  "Abbrev table for Emacs Lisp mode.
+It has `lisp-mode-abbrev-table' as its parent."
+  :parents (list lisp-mode-abbrev-table))
 
 (defvar emacs-lisp-mode-syntax-table
   (let ((table (make-syntax-table))
@@ -206,7 +212,6 @@ score-mode.el.  KEYWORDS-CASE-INSENSITIVE non-nil means that for
 font-lock keywords will not be case sensitive."
   (when lisp-syntax
     (set-syntax-table lisp-mode-syntax-table))
-  (setq local-abbrev-table lisp-mode-abbrev-table)
   (make-local-variable 'paragraph-ignore-fill-prefix)
   (setq paragraph-ignore-fill-prefix t)
   (make-local-variable 'fill-paragraph-function)
@@ -540,7 +545,8 @@ Semicolons start comments.
 
 \\{lisp-interaction-mode-map}
 Entry to this mode calls the value of `lisp-interaction-mode-hook'
-if that value is non-nil.")
+if that value is non-nil."
+  :abbrev-table nil)
 
 (defun eval-print-last-sexp ()
   "Evaluate sexp before point; print value into current buffer.