1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 12:21:25 -08:00

command-history-mode inherits from special-mode

(command-history-mode-map): Add `special-mode-map' to parents.
(command-history-mode): Parent is `special-mode', not
`fundamental-mode', set `revert-buffer-function'.
(command-history-revert): Define for `revert-buffer-function'.
This commit is contained in:
Sam Steingold 2018-02-20 15:30:51 -05:00
parent 3efd6aec6e
commit 3d38ab8f1f

View file

@ -125,8 +125,8 @@ The buffer is left in Command History mode."
'command-history-mode-map "24.1")
(defvar command-history-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map lisp-mode-shared-map)
(suppress-keymap map)
(set-keymap-parent map (make-composed-keymap lisp-mode-shared-map
special-mode-map))
(define-key map "x" 'command-history-repeat)
(define-key map "\n" 'next-line)
(define-key map "\r" 'next-line)
@ -134,20 +134,23 @@ The buffer is left in Command History mode."
map)
"Keymap for `command-history-mode'.")
(define-derived-mode command-history-mode fundamental-mode "Command History"
(define-derived-mode command-history-mode special-mode "Command History"
"Major mode for listing and repeating recent commands.
Keybindings:
\\{command-history-mode-map}"
(lisp-mode-variables nil)
(set-syntax-table emacs-lisp-mode-syntax-table)
(setq buffer-read-only t))
(set (make-local-variable 'revert-buffer-function) 'command-history-revert)
(set-syntax-table emacs-lisp-mode-syntax-table))
(defcustom command-history-hook nil
"If non-nil, its value is called on entry to `command-history-mode'."
:type 'hook
:group 'chistory)
(defun command-history-revert (_ignore-auto _noconfirm)
(list-command-history))
(defun command-history-repeat ()
"Repeat the command shown on the current line.
The buffer for that command is the previous current buffer."