Subject: bug#30452: [PATCH] Use 'make-sparse-keymap' rather than 'copy-keymap'

From: Alex Branham <[email-masked]>
Date: Mon, 21 Jan 2019 09:53:29 -0600

On Sat 19 Jan 2019 at 09:33, Stefan Monnier <[email-masked]> wrote:

>>>  (defvar tabulated-list-mode-map
>>> -  (let ((map (copy-keymap special-mode-map)))
>>> +  (let ((map (make-sparse-keymap)))
>>>      (set-keymap-parent map button-buffer-map)
>
> Nowadays we can inherit from both with something like
>
>     (set-keymap-parent map (make-composed-keymap
>                             button-buffer-map
>                             special-mode-map))

Thanks, that's better! Here's the updated patch.

Alex

>From 6c21fb2434fa9f0499ebff5beabdbfda7b03f534 Mon Sep 17 00:00:00 2001
From: Alex Branham <[email-masked]>
Date: Mon, 21 Jan 2019 09:50:11 -0600
Subject: [PATCH] Make tabulated-list-mode-map inherit from special-mode-map

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Use
  'make-composed-keymap'.

Bug #30452
---
 lisp/emacs-lisp/tabulated-list.el | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lisp/emacs-lisp/tabulated-list.el b/lisp/emacs-lisp/tabulated-list.el
index 6fdca2cd08..12d0151d67 100644
--- a/lisp/emacs-lisp/tabulated-list.el
+++ b/lisp/emacs-lisp/tabulated-list.el
@@ -151,8 +151,10 @@ If ADVANCE is non-nil, move forward by one line afterwards."
       (forward-line)))
 
 (defvar tabulated-list-mode-map
-  (let ((map (copy-keymap special-mode-map)))
-    (set-keymap-parent map button-buffer-map)
+  (let ((map (make-sparse-keymap)))
+    (set-keymap-parent map (make-composed-keymap
+                            button-buffer-map
+                            special-mode-map))
     (define-key map "n" 'next-line)
     (define-key map "p" 'previous-line)
     (define-key map "S" 'tabulated-list-sort)
-- 
2.19.2