GNU bug report logs - #44764
28.0.50; Wrong menu binding for file in tree fileset

Previous Next

Package: emacs;

Reported by: Mauro Aranda <maurooaranda <at> gmail.com>

Date: Fri, 20 Nov 2020 15:46:01 UTC

Severity: normal

Tags: fixed, patch

Found in version 28.0.50

Done: Mauro Aranda <maurooaranda <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 44764 in the body.
You can then email your comments to 44764 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#44764; Package emacs. (Fri, 20 Nov 2020 15:46:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mauro Aranda <maurooaranda <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 20 Nov 2020 15:46:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mauro Aranda <maurooaranda <at> gmail.com>
To: bug-gnu-emacs <bug-gnu-emacs <at> gnu.org>
Subject: 28.0.50; Wrong menu binding for file in tree fileset
Date: Fri, 20 Nov 2020 12:45:24 -0300
[Message part 1 (text/plain, inline)]
To reproduce:
0) Setup a directory with subdirectories and files, for later definition
of a tree fileset:
mkdir fileset-test
cd fileset-test
touch file.el
mkdir subdir
cd subdir
touch file1.el file2.el file3.el file4.el file5.el

5 files seems kinda arbitrary, but it's needed so that one of the files
is left alone as a menu item.

1) Start Emacs: emacs -Q

2) Eval: (filesets-init)

3) M-x set-variable RET filesets-max-submenu-length RET 3

This is so I don't bore you with creating more than 25 files.

4) M-x filesets-edit

Add a new entry to filesets-data, like so:
Name: test
In Data, select the Directory Tree option and then:
Dir: /path/to/fileset-test
Pattern: ^.+\.el$

Set for current session.

Now data should look like this:
(("test (:tree "path/to/fileset-test" "^.+\\.el$")))

5) Click the File menu, and follow the Filesets entry, then the test
entry and finally the subdir entry.

You should see that file1.el and file2.el are grouped.  Also, file3.el
and file4.el got grouped, while file5.el is left alone.  This is OK.

Clicking any file but file5.el works fine.  But clicking file5.el raises
an error:
Invalid function: (filesets-file-open nil
'"/path/to/fileset-test/subdir/file5.el" '"test")

The menu entry for file5.el is wrong.


In GNU Emacs 28.0.50 (build 38, x86_64-pc-linux-gnu, GTK+ Version 3.22.30,
cairo version 1.15.10)
 of 2020-11-20 built on tbb-desktop
Repository revision: b4b1bd6e03d739871dd3ba51e8de0be2d272b766
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Ubuntu 18.04.5 LTS

Configured features:
XPM JPEG TIFF GIF PNG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY
LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 XDBE XIM MODULES THREADS PDUMPER

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

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml easymenu mml-sec epa derived epg epg-config gnus-util rmail
rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json map text-property-search time-date
subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads dbusbind
inotify dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 50661 8454)
 (symbols 48 6724 0)
 (strings 32 18220 2426)
 (string-bytes 1 603826)
 (vectors 16 11421)
 (vector-slots 8 163042 11826)
 (floats 8 22 40)
 (intervals 56 196 0)
 (buffers 984 11))
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44764; Package emacs. (Fri, 20 Nov 2020 15:57:02 GMT) Full text and rfc822 format available.

Message #8 received at 44764 <at> debbugs.gnu.org (full text, mbox):

From: Mauro Aranda <maurooaranda <at> gmail.com>
To: 44764 <at> debbugs.gnu.org
Subject: Re: bug#44764: 28.0.50; Wrong menu binding for file in tree fileset
Date: Fri, 20 Nov 2020 12:56:04 -0300
[Message part 1 (text/plain, inline)]
tags 44764 patch
quit

Mauro Aranda <maurooaranda <at> gmail.com> writes:

> To reproduce:
> 0) Setup a directory with subdirectories and files, for later definition
> of a tree fileset:
> mkdir fileset-test
> cd fileset-test
> touch file.el
> mkdir subdir
> cd subdir
> touch file1.el file2.el file3.el file4.el file5.el
>
> 5 files seems kinda arbitrary, but it's needed so that one of the files
> is left alone as a menu item.
>
> 1) Start Emacs: emacs -Q
>
> 2) Eval: (filesets-init)
>
> 3) M-x set-variable RET filesets-max-submenu-length RET 3
>
> This is so I don't bore you with creating more than 25 files.
>
> 4) M-x filesets-edit
>
> Add a new entry to filesets-data, like so:
> Name: test
> In Data, select the Directory Tree option and then:
> Dir: /path/to/fileset-test
> Pattern: ^.+\.el$
>
> Set for current session.
>
> Now data should look like this:
> (("test (:tree "path/to/fileset-test" "^.+\\.el$")))
>
> 5) Click the File menu, and follow the Filesets entry, then the test
> entry and finally the subdir entry.
>
> You should see that file1.el and file2.el are grouped.  Also, file3.el
> and file4.el got grouped, while file5.el is left alone.  This is OK.
>
> Clicking any file but file5.el works fine.  But clicking file5.el raises
> an error:
> Invalid function: (filesets-file-open nil
'"/path/to/fileset-test/subdir/file5.el" '"test")
>
> The menu entry for file5.el is wrong.

The attached patch should fix it.  OK to install?
[Message part 2 (text/html, inline)]
[0001-Fix-menu-binding-for-files-in-fileset.patch (text/x-patch, attachment)]

Added tag(s) patch. Request was from Mauro Aranda <maurooaranda <at> gmail.com> to control <at> debbugs.gnu.org. (Fri, 20 Nov 2020 15:57:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44764; Package emacs. (Tue, 24 Nov 2020 06:48:02 GMT) Full text and rfc822 format available.

Message #13 received at 44764 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Mauro Aranda <maurooaranda <at> gmail.com>
Cc: 44764 <at> debbugs.gnu.org
Subject: Re: bug#44764: 28.0.50; Wrong menu binding for file in tree fileset
Date: Tue, 24 Nov 2020 07:45:11 +0100
Mauro Aranda <maurooaranda <at> gmail.com> writes:

> The attached patch should fix it.  OK to install?

[...]

> -      (apply 'vector (list name (cdr (append submenu nil)))))))
> -;      (vconcat `[,name] (subseq submenu 1)))))
> +      (apply 'vector (list name (cadr (append submenu nil)))))))

I'm not very familiar with the filesets code, but I think this makes
sense.  I wonder slightly about that commented-out code, but it's been
there since the file was added to Emacs, so I guess we won't find out
what that's about.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44764; Package emacs. (Tue, 24 Nov 2020 11:52:01 GMT) Full text and rfc822 format available.

Message #16 received at 44764 <at> debbugs.gnu.org (full text, mbox):

From: Mauro Aranda <maurooaranda <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 44764 <at> debbugs.gnu.org
Subject: Re: bug#44764: 28.0.50; Wrong menu binding for file in tree fileset
Date: Tue, 24 Nov 2020 08:51:24 -0300
tags 44764 fixed
close 44764
quit


Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Mauro Aranda <maurooaranda <at> gmail.com> writes:

>> -      (apply 'vector (list name (cdr (append submenu nil)))))))
>> -;      (vconcat `[,name] (subseq submenu 1)))))
>> +      (apply 'vector (list name (cadr (append submenu nil)))))))
>
> I'm not very familiar with the filesets code, but I think this makes
> sense.  I wonder slightly about that commented-out code, but it's been
> there since the file was added to Emacs, so I guess we won't find out
> what that's about.

I think it's an attempt to do the same operation, but using subseq, or
cl-subseq nowadays.  It's not a big deal, so I kept that commented
out code, in case someone wants to take a look at that someday.




Added tag(s) fixed. Request was from Mauro Aranda <maurooaranda <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 24 Nov 2020 11:52:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 44764 <at> debbugs.gnu.org and Mauro Aranda <maurooaranda <at> gmail.com> Request was from Mauro Aranda <maurooaranda <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 24 Nov 2020 11:52:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 22 Dec 2020 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 262 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.