emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r104970: * lisp/emacs-lisp/lisp-mode.


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r104970: * lisp/emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table):
Date: Tue, 05 Jul 2011 14:26:33 -0400
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 104970
fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8998
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Tue 2011-07-05 14:26:33 -0400
message:
  * 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.
modified:
  lisp/ChangeLog
  lisp/emacs-lisp/derived.el
  lisp/emacs-lisp/lisp-mode.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-07-05 17:44:15 +0000
+++ b/lisp/ChangeLog    2011-07-05 18:26:33 +0000
@@ -1,3 +1,10 @@
+2011-07-05  Stefan Monnier  <address@hidden>
+
+       * 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  <address@hidden>
 
        * 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-no-opt-remove-re.
+       (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)

=== modified file 'lisp/emacs-lisp/derived.el'
--- a/lisp/emacs-lisp/derived.el        2011-07-01 16:41:02 +0000
+++ b/lisp/emacs-lisp/derived.el        2011-07-05 18:26:33 +0000
@@ -255,7 +255,10 @@
                                   (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)

=== modified file 'lisp/emacs-lisp/lisp-mode.el'
--- a/lisp/emacs-lisp/lisp-mode.el      2011-06-28 12:09:43 +0000
+++ b/lisp/emacs-lisp/lisp-mode.el      2011-07-05 18:26:33 +0000
@@ -525,7 +525,6 @@
   "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


reply via email to

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