Use lexical-binding in echistory.el

* lisp/echistory.el: Use lexical-binding.
(electric-history-map): Quote function symbols as such.
(Electric-history-undefined): Use command substitutions.
This commit is contained in:
Stefan Kangas 2021-03-30 18:56:02 +02:00
parent 49cbf2392b
commit 4f3c9df047

View file

@ -1,4 +1,4 @@
;;; echistory.el --- Electric Command History Mode
;;; echistory.el --- Electric Command History Mode -*- lexical-binding: t -*-
;; Copyright (C) 1985, 2001-2021 Free Software Foundation, Inc.
@ -44,44 +44,43 @@ With prefix arg NOCONFIRM, execute current line as-is without editing."
(defvar electric-history-map
(let ((map (make-sparse-keymap)))
(define-key map [t] 'Electric-history-undefined)
(define-key map [t] #'Electric-history-undefined)
(define-key map "\e" (make-sparse-keymap))
(define-key map [?\e t] 'Electric-history-undefined)
(define-key map "\C-u" 'universal-argument)
(define-key map " " 'Electric-command-history-redo-expression)
(define-key map "!" 'Electric-command-history-redo-expression)
(define-key map "\e\C-x" 'eval-sexp)
(define-key map "\e\C-d" 'down-list)
(define-key map "\e\C-u" 'backward-up-list)
(define-key map "\e\C-b" 'backward-sexp)
(define-key map "\e\C-f" 'forward-sexp)
(define-key map "\e\C-a" 'beginning-of-defun)
(define-key map "\e\C-e" 'end-of-defun)
(define-key map "\e\C-n" 'forward-list)
(define-key map "\e\C-p" 'backward-list)
(define-key map "q" 'Electric-history-quit)
(define-key map [?\e t] #'Electric-history-undefined)
(define-key map "\C-u" #'universal-argument)
(define-key map " " #'Electric-command-history-redo-expression)
(define-key map "!" #'Electric-command-history-redo-expression)
(define-key map "\e\C-d" #'down-list)
(define-key map "\e\C-u" #'backward-up-list)
(define-key map "\e\C-b" #'backward-sexp)
(define-key map "\e\C-f" #'forward-sexp)
(define-key map "\e\C-a" #'beginning-of-defun)
(define-key map "\e\C-e" #'end-of-defun)
(define-key map "\e\C-n" #'forward-list)
(define-key map "\e\C-p" #'backward-list)
(define-key map "q" #'Electric-history-quit)
(define-key map "\C-c" nil)
(define-key map "\C-c\C-c" 'Electric-history-quit)
(define-key map "\C-]" 'Electric-history-quit)
(define-key map "\C-z" 'suspend-frame)
(define-key map (char-to-string help-char) 'Helper-help)
(define-key map "?" 'Helper-describe-bindings)
(define-key map "\e>" 'end-of-buffer)
(define-key map "\e<" 'beginning-of-buffer)
(define-key map "\n" 'next-line)
(define-key map "\r" 'next-line)
(define-key map "\177" 'previous-line)
(define-key map "\C-n" 'next-line)
(define-key map "\C-p" 'previous-line)
(define-key map "\ev" 'scroll-down)
(define-key map "\C-v" 'scroll-up)
(define-key map [home] 'beginning-of-buffer)
(define-key map [down] 'next-line)
(define-key map [up] 'previous-line)
(define-key map [prior] 'scroll-down)
(define-key map [next] 'scroll-up)
(define-key map "\C-l" 'recenter)
(define-key map "\e\C-v" 'scroll-other-window)
(define-key map "\C-c\C-c" #'Electric-history-quit)
(define-key map "\C-]" #'Electric-history-quit)
(define-key map "\C-z" #'suspend-frame)
(define-key map (char-to-string help-char) #'Helper-help)
(define-key map "?" #'Helper-describe-bindings)
(define-key map "\e>" #'end-of-buffer)
(define-key map "\e<" #'beginning-of-buffer)
(define-key map "\n" #'next-line)
(define-key map "\r" #'next-line)
(define-key map "\177" #'previous-line)
(define-key map "\C-n" #'next-line)
(define-key map "\C-p" #'previous-line)
(define-key map "\ev" #'scroll-down)
(define-key map "\C-v" #'scroll-up)
(define-key map [home] #'beginning-of-buffer)
(define-key map [down] #'next-line)
(define-key map [up] #'previous-line)
(define-key map [prior] #'scroll-down)
(define-key map [next] #'scroll-up)
(define-key map "\C-l" #'recenter)
(define-key map "\e\C-v" #'scroll-other-window)
map)
"Keymap for Electric Command History mode.")
@ -141,7 +140,9 @@ The Command History listing is recomputed each time this mode is invoked."
(defun Electric-history-undefined ()
(interactive)
(ding)
(message "%s" (substitute-command-keys "Type \\[Helper-help] for help, ? for commands, C-c C-c to quit, Space to execute"))
(message "%s" (substitute-command-keys "Type \\[Helper-help] for help, \
\\[Helper-describe-bindings] for commands, \\[Electric-history-quit] to quit, \
\\[Electric-command-history-redo-expression] to execute"))
(sit-for 4))
(defun Electric-history-quit ()