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:
parent
9df5e30800
commit
de003cb2b5
1 changed files with 9 additions and 2 deletions
|
@ -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)))
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue