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