# HG changeset patch # User Richard M. Stallman # Date 770829436 0 # Node ID f627fbbd4524d1bbe6cbcb3239e504b5356129d5 # Parent f127eb11ea7f351813704be79c17cb6aeab4b5a0 (derived-mode-merge-abbrev-tables): Do nothing if OLD is nil. diff -r f127eb11ea7f -r f627fbbd4524 lisp/derived.el --- a/lisp/derived.el Sun Jun 05 12:43:42 1994 +0000 +++ b/lisp/derived.el Sun Jun 05 15:17:16 1994 +0000 @@ -311,19 +311,19 @@ (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)