From: Richard M. Stallman Date: Sun, 5 Jun 1994 15:17:16 +0000 (+0000) Subject: (derived-mode-merge-abbrev-tables): X-Git-Tag: emacs-19.34~8055 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=56152e17443b1bc1fa1774693dfa3ea4c73fa413;p=emacs.git (derived-mode-merge-abbrev-tables): Do nothing if OLD is nil. --- diff --git a/lisp/derived.el b/lisp/derived.el index 90983cd820d..83b114c0f1f 100644 --- a/lisp/derived.el +++ b/lisp/derived.el @@ -311,19 +311,19 @@ Where the new table already has an entry, nothing is copied from the old one." (aset new idx (aref old idx))) (setq idx (1+ idx))))) +;; Merge an old abbrev table into a new one. +;; This function requires internal knowledge of how abbrev tables work, +;; presuming that they are obarrays with the abbrev as the symbol, the expansion +;; as the value of the symbol, and the hook as the function definition. (defun derived-mode-merge-abbrev-tables (old new) - "Merge an old abbrev table into a new one. -This function requires internal knowledge of how abbrev tables work, -presuming that they are obarrays with the abbrev as the symbol, the expansion -as the value of the symbol, and the hook as the function definition. -This could well break with some future version of Gnu Emacs." - (mapatoms - (function - (lambda (symbol) - (or (intern-soft (symbol-name symbol) new) - (define-abbrev new (symbol-name symbol) - (symbol-value symbol) (symbol-function symbol))))) - old)) + (if old + (mapatoms + (function + (lambda (symbol) + (or (intern-soft (symbol-name symbol) new) + (define-abbrev new (symbol-name symbol) + (symbol-value symbol) (symbol-function symbol))))) + old))) (provide 'derived)