96 |
;;; PRIVATE: defsubst must be defined before they are first used |
;;; PRIVATE: defsubst must be defined before they are first used |
97 |
|
|
98 |
(defsubst derived-mode-hook-name (mode) |
(defsubst derived-mode-hook-name (mode) |
99 |
"Construct the mode hook name based on mode name MODE." |
"Construct a mode-hook name based on a MODE name." |
100 |
(intern (concat (symbol-name mode) "-hook"))) |
(intern (concat (symbol-name mode) "-hook"))) |
101 |
|
|
102 |
(defsubst derived-mode-map-name (mode) |
(defsubst derived-mode-map-name (mode) |
382 |
(derived-mode-merge-abbrev-tables old-table new-table) |
(derived-mode-merge-abbrev-tables old-table new-table) |
383 |
(setq local-abbrev-table new-table))) |
(setq local-abbrev-table new-table))) |
384 |
|
|
|
;;;(defun derived-mode-run-setup-function (mode) |
|
|
;;; "Run the setup function if it exists." |
|
|
|
|
|
;;; (let ((fname (derived-mode-setup-function-name mode))) |
|
|
;;; (if (fboundp fname) |
|
|
;;; (funcall fname)))) |
|
|
|
|
|
(defun derived-mode-run-hooks (mode) |
|
|
"Run the mode hook for MODE." |
|
|
(let ((hooks-name (derived-mode-hook-name mode))) |
|
|
(if (boundp hooks-name) |
|
|
(run-hooks hooks-name)))) |
|
|
|
|
385 |
;; Functions to merge maps and tables. |
;; Functions to merge maps and tables. |
386 |
|
|
387 |
(defun derived-mode-merge-keymaps (old new) |
(defun derived-mode-merge-keymaps (old new) |