Commit 450a0f09 authored by Stefan Monnier's avatar Stefan Monnier

* lisp/emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table):

Let define-derived-mode define it.
* lisp/emacs-lisp/derived.el (define-derived-mode): Try to avoid creating
cycles of abbrev-table inheritance.

Fixes: debbugs:8998
parent 2de69e00
2011-07-05 Stefan Monnier <>
* emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table):
Let define-derived-mode define it.
* emacs-lisp/derived.el (define-derived-mode): Try to avoid creating
cycles of abbrev-table inheritance (bug#8998).
2011-07-05 Roland Winkler <>
* textmodes/bibtex.el: Add support for biblatex.
......@@ -10,15 +17,15 @@
(bibtex-entry-alist, bibtex-field-alist): New widgets.
(bibtex-set-dialect): New command.
(bibtex-entry-type, bibtex-entry-head)
(bibtex-entry-maybe-empty-head, bibtex-any-valid-entry-type): Bind
via bibtex-set-dialect.
(bibtex-entry-maybe-empty-head, bibtex-any-valid-entry-type):
Bind via bibtex-set-dialect.
(bibtex-Article, bibtex-Book, bibtex-Booklet, bibtex-InBook)
(bibtex-InCollection, bibtex-InProceedings, bibtex-Manual)
(bibtex-MastersThesis, bibtex-Misc, bibtex-PhdThesis)
(bibtex-Proceedings, bibtex-TechReport, bibtex-Unpublished):
Define via bibtex-set-dialect.
(bibtex-name-in-field, bibtex-remove-OPT-or-ALT): Obey
(bibtex-name-in-field, bibtex-remove-OPT-or-ALT):
Obey bibtex-no-opt-remove-re.
(bibtex-vec-push, bibtex-vec-incr): New functions.
(bibtex-format-entry, bibtex-field-list)
(bibtex-print-help-message, bibtex-validate)
......@@ -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)
......@@ -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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment