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

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 25 Jan 2019 08:51:02 +0000

Your bug report

#30452: 25.3; tabulated-list-mode-map should inherit from special-mode-map

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
30452: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30452
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#30452: [PATCH] Use 'make-sparse-keymap' rather than 'copy-keymap'
From: Eli Zaretskii <[email-masked]>
To: Alex Branham <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Fri, 25 Jan 2019 10:50:29 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Alex Branham <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>, [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.

Thanks, pushed to the master branch.

Subject: 25.3; tabulated-list-mode-map should inherit from special-mode-map
From: Stephen Jung <[email-masked]>
To: [email-masked]
Date: Tue, 13 Feb 2018 19:52:17 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

tabulated-list-mode inherits from special-mode, so
tabulated-list-mode-map should probably also inherit from
special-mode-map. However, it actually copies special-mode-map in its
definition (https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/tabulated-list.el?h=emacs-25.3#n152).

This appears to be the way that the code was written when
tabulated-list-mode was first created. I haven't read the mailing list
archives, so I'm not sure if there was an explanation of why it was
done this way, and there isn't a comment providing details on this
approach. Therefore, I think it should just be making a sparse keymap
here and inheriting from its parent, like most modes do.

In GNU Emacs 25.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.26)
 of 2018-02-08 built on bisson
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules
 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
 -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 MODULES

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

-- 
Stephen