Improve vtable :keymap handling

* lisp/emacs-lisp/vtable.el (vtable-map, vtable--make-keymap):
Don't alter keymaps passed in, and respect parent keymaps.
This commit is contained in:
Lars Ingebrigtsen 2022-02-21 19:19:55 +01:00
parent 9df5e30800
commit de003cb2b5

View file

@ -61,7 +61,6 @@
"A object to hold the data for a table.")
(defvar-keymap vtable-map
:suppress t
"S" #'vtable-sort-by-current-column
"{" #'vtable-narrow-current-column
"}" #'vtable-widen-current-column
@ -634,7 +633,15 @@ This also updates the displayed table."
(setq actions (cddr actions))))
(if (vtable-keymap table)
(progn
(set-keymap-parent (vtable-keymap table) map)
(setf (vtable-keymap table)
(copy-keymap (vtable-keymap table)))
;; Respect any previously set parent keymaps.
(set-keymap-parent (vtable-keymap table)
(if (keymap-parent (vtable-keymap table))
(append (ensure-list
(vtable-keymap table))
(list map))
map))
(vtable-keymap table))
map)))