Rewrite documentation for `checkdoc`

Thanks, u/nv-elisp!
This commit is contained in:
Case Duckworth 2021-09-07 18:21:48 -05:00
parent 5cbc08b864
commit ad22b9a7e8
1 changed files with 20 additions and 20 deletions

View File

@ -4,7 +4,7 @@
;; Author: Case Duckworth <acdw@acdw.net> ;; Author: Case Duckworth <acdw@acdw.net>
;; Keywords: convenience ;; Keywords: convenience
;; URL: ;; URL: https://tildegit.org/acdw/define-repeat-map.el/
;;; License: ;;; License:
@ -24,11 +24,11 @@
;;; Code: ;;; Code:
(defun define-repeat-map--make-alias (cmd map) (defun define-repeat-map--make-alias (cmd map)
"Internal. Make an alias for CMD in repeat-map MAP." "Internal. Make an alias for CMD in `repeat-map' MAP."
(intern (concat (symbol-name cmd) "|" (intern (concat (symbol-name cmd) "|"
(symbol-name map)))) (symbol-name map))))
(defun define-repeat-map--map-commands (map fn args) (defun define-repeat-map--map-commands (fn args)
"Internal. Map FN over ARGS, whch are commands in MAP." "Internal. Map FN over ARGS, whch are commands in MAP."
(let (res) (let (res)
(dolist (arg args) (dolist (arg args)
@ -37,7 +37,7 @@
(reverse res))) (reverse res)))
(defun define-repeat-map--define-keys (map fn args) (defun define-repeat-map--define-keys (map fn args)
"Internal. Map `define-key' over ARGS, transorming them with FN." "Internal. Map `define-key' in MAP over ARGS, transorming them with FN."
(unless (zerop (mod (length args) 2)) (unless (zerop (mod (length args) 2))
(error "Wrong number of args")) (error "Wrong number of args"))
(let (res) (let (res)
@ -49,24 +49,24 @@
(reverse res))) (reverse res)))
;;;###autoload ;;;###autoload
(defmacro define-repeat-map (name &rest args) (defmacro define-repeat-map (name &rest keys)
"Define a repeat-map, NAME-repeat-map, and bind keys to it. "Define a `repeat-map', NAME -repeat-map, and bind KEYS to it.
Each ARG is a list of lists containing keybind definitions of Each ARG is a list of lists containing keybind definitions of
the form (KEY DEFINITION) KEY is anything `kbd' can recognize, the form (KEY DEFINITION) KEY is anything `kbd' can recognize,
and DEFINITION is passed directly to `define-key'. and DEFINITION is passed directly to `define-key'.
Optionally, the car of an arglist can contain the following Optionally, the car of an arglist can contain the following
symbols, which changes the behavior of the key definitions in the symbols, which changes the behavior of the key definitions in the
rest of the list: rest of the list:
:enter - Provided commands can enter the repeat-map, but aren't :enter - Provided commands can enter the `repeat-map', but aren't
bound in the map. They need to be bound elsewhere, however. bound in the map. They need to be bound elsewhere, however.
:exit - Keys are bound in the repeat-map, but can't enter the :exit - Keys are bound in the `repeat-map', but can't enter the
map. Their invocation exits the repeat-map. map. Their invocation exits the `repeat-map'.
:continue - Keys are bound in the repeat-map, but can't enter the :continue - Keys are bound in the `repeat-map', but can't enter the
map. However, their invocations keep the repeat-map active." map. However, their invocations keep the `repeat-map' active."
(declare (indent 1)) (declare (indent 1))
(let ((define-repeat-map--result) (let ((define-repeat-map--result)
(map (intern (concat (symbol-name name) "-repeat-map")))) (map (intern (concat (symbol-name name) "-repeat-map"))))
@ -75,8 +75,8 @@
"Defined by `define-repeat-map'.") "Defined by `define-repeat-map'.")
define-repeat-map--result) define-repeat-map--result)
;; Iterate through ARGS ;; Iterate through KEYS
(dolist (arg args) (dolist (arg keys)
(pcase (car arg) (pcase (car arg)
(:enter (:enter
;; Add the map to the commands' repeat-map property. ;; Add the map to the commands' repeat-map property.