Function: derived-mode-init-mode-variables
derived-mode-init-mode-variables is an autoloaded and byte-compiled
function defined in derived.el.gz.
Signature
(derived-mode-init-mode-variables MODE)
Documentation
Initialize variables for a new MODE.
Right now, if they don't already exist, set up a blank keymap, an empty syntax table, and an empty abbrev table -- these will be merged the first time the mode is used.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/derived.el.gz
;; Utility functions for defining a derived mode.
;;;###autoload
(defun derived-mode-init-mode-variables (mode)
"Initialize variables for a new MODE.
Right now, if they don't already exist, set up a blank keymap, an
empty syntax table, and an empty abbrev table -- these will be merged
the first time the mode is used."
(if (boundp (derived-mode-map-name mode))
t
(eval `(defvar ,(derived-mode-map-name mode)
(make-sparse-keymap)
,(format "Keymap for %s." mode)))
(put (derived-mode-map-name mode) 'derived-mode-unmerged t))
(if (boundp (derived-mode-syntax-table-name mode))
t
(eval `(defvar ,(derived-mode-syntax-table-name mode)
;; Make a syntax table which doesn't specify anything
;; for any char. Valid data will be merged in by
;; derived-mode-merge-syntax-tables.
(make-char-table 'syntax-table nil)
,(format "Syntax table for %s." mode)))
(put (derived-mode-syntax-table-name mode) 'derived-mode-unmerged t))
(if (boundp (derived-mode-abbrev-table-name mode))
t
(eval `(defvar ,(derived-mode-abbrev-table-name mode)
(progn
(define-abbrev-table (derived-mode-abbrev-table-name ',mode) nil)
(make-abbrev-table))
,(format "Abbrev table for %s." mode)))))