# HG changeset patch # User Stefan Monnier # Date 1118595428 0 # Node ID d7cf1fc8f2e833a7fd8bb4679150c09c6bd645e8 # Parent 1da3c13d50951c50c7d658e3792b60071252fb84 Add comment. diff -r 1da3c13d5095 -r d7cf1fc8f2e8 lisp/emacs-lisp/derived.el --- a/lisp/emacs-lisp/derived.el Sun Jun 12 12:49:00 2005 +0000 +++ b/lisp/emacs-lisp/derived.el Sun Jun 12 16:57:08 2005 +0000 @@ -1,5 +1,5 @@ ;;; derived.el --- allow inheritance of major modes -;;; (formerly mode-clone.el) +;; (formerly mode-clone.el) ;; Copyright (C) 1993, 1994, 1999, 2003 Free Software Foundation, Inc. @@ -221,6 +221,12 @@ (get (quote ,parent) 'mode-class))) ; Set up maps and tables. (unless (keymap-parent ,map) + ;; It would probably be better to set the keymap's parent + ;; at the toplevel rather than inside the mode function, + ;; but this is not easy for at least the following reasons: + ;; - the parent (and its keymap) may not yet be loaded. + ;; - the parent's keymap name may be called something else + ;; than -mode-map. (set-keymap-parent ,map (current-local-map))) ,(when declare-syntax `(let ((parent (char-table-parent ,syntax))) @@ -440,5 +446,5 @@ (provide 'derived) -;;; arch-tag: 630be248-47d1-4f02-afa0-8207de0ebea0 +;; arch-tag: 630be248-47d1-4f02-afa0-8207de0ebea0 ;;; derived.el ends here