GNU bug report logs - #36147
26.2; recentf-open-files doesn't display tree widgets when called from an emacsclient instance

Previous Next

Package: emacs;

Reported by: Andrea Greselin <greselin.andrea <at> gmail.com>

Date: Sun, 9 Jun 2019 14:19:02 UTC

Severity: minor

Tags: fixed

Found in version 26.2

Fixed in version 27.1

Done: Noam Postavsky <npostavs <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 36147 in the body.
You can then email your comments to 36147 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#36147; Package emacs. (Sun, 09 Jun 2019 14:19:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Andrea Greselin <greselin.andrea <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 09 Jun 2019 14:19:02 GMT) Full text and rfc822 format available.

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

From: Andrea Greselin <greselin.andrea <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.2; recentf-open-files doesn't display tree widgets when called
 from an emacsclient instance
Date: Sun, 9 Jun 2019 16:17:17 +0200
[Message part 1 (text/plain, inline)]
Hello,

'recentf-open-files' appears not to use tree widgets in my system if I run
it from an emacsclient session.

Steps to reproduce:
 - write test-rf.el, containing
---
(setq recentf-menu-filter #'recentf-arrange-by-dir)
(recentf-mode)
---
 - close all Emacs server instances
 - launch Emacs with 'emacs -q -l /path/to/test-rf.el';
 - do M-x recentf-open-file (note that there have to be some items in the
'recentf-list' for it to work.)
The menu looks like this:
[image: emacs_session.png]
(If the attached image can't be displayed, the menu displays icons
representing files and directories.)

Now,
 - kill Emacs,
 - launch an Emacs daemon with 'emacs -q -l ~/.emacs.d/test-rf.el --daemon',
 - run 'emacsclient -c'
 - type M-x recentf-open-file;
the menu looks like this:
[image: emacsclient_session.png]
(If the attached image can't be displayed, files and directories are
represented by raw text.)

Note that if I remove '(recentf-mode)' from the init file and execute it in
Emacs instead (doesn't matter whether interactively or by evaluating
Elisp), the widgets work even in a client session.

This is is the output of M-x report-emacs-bug from an emacsclient instance:

In GNU Emacs 26.2 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.24.8)
 of 2019-04-30 built on buildvm-06.phx2.fedoraproject.org
Windowing system distributor 'Fedora Project', version 11.0.12004000
System Description: Fedora release 30 (Thirty)

Recent messages:
Loading /usr/share/emacs/site-lisp/site-start.d/desktop-entry-mode-init.el
(source)...done
Starting Emacs daemon.
Loading /home/andrea/.emacs.d/recentf...done
Cleaning up the recentf list...done (0 removed)
When done with this frame, type C-x 5 0
Open /home/andrea/.emacs.d/filesets-cache.el
Dialog canceled
Making completion list...

Configured using:
 'configure --build=x86_64-redhat-linux-gnu
 --host=x86_64-redhat-linux-gnu --program-prefix=
 --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
 --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
 --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
 --libexecdir=/usr/libexec --localstatedir=/var
 --sharedstatedir=/var/lib --mandir=/usr/share/man
 --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png
 --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3
 --with-gpm=no --with-xwidgets --with-modules
 build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu
 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security
 -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions
 -fstack-protector-strong -grecord-gcc-switches
 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
 LDFLAGS=-Wl,-z,relro
 PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS GLIB NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS LCMS2

Important settings:
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  recentf-mode: t
  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
  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 seq byte-opt gv
bytecomp byte-compile cconv dired dired-loaddefs format-spec rfc822 mml
mml-sec password-cache epa derived epg epg-config gnus-util rmail
rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils server recentf tree-widget wid-edit
cl-loaddefs cl-lib easymenu time-date elec-pair mule-util 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 menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame 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 minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting xwidget-internal move-toolbar
gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 100818 5298)
 (symbols 48 21055 1)
 (miscs 40 57 129)
 (strings 32 30148 1255)
 (string-bytes 1 806227)
 (vectors 16 14946)
 (vector-slots 8 511908 9032)
 (floats 8 58 59)
 (intervals 56 291 0)
 (buffers 992 13))
[Message part 2 (text/html, inline)]
[emacs_session.png (image/png, inline)]
[emacsclient_session.png (image/png, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36147; Package emacs. (Sun, 09 Jun 2019 14:31:01 GMT) Full text and rfc822 format available.

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

From: Noam Postavsky <npostavs <at> gmail.com>
To: Andrea Greselin <greselin.andrea <at> gmail.com>
Cc: 36147 <at> debbugs.gnu.org
Subject: Re: bug#36147: 26.2;
 recentf-open-files doesn't display tree widgets when called from an
 emacsclient instance
Date: Sun, 09 Jun 2019 10:30:48 -0400
Andrea Greselin <greselin.andrea <at> gmail.com> writes:

> Note that if I remove '(recentf-mode)' from the init file and execute it in
> Emacs instead (doesn't matter whether interactively or by evaluating
> Elisp), the widgets work even in a client session.

I guess the problem is that tree-widget-image-enable is set just once on
load, based on the current display (and the daemon has no display so it
doesn't support displaying images).  Does it help to explicitly set
tree-widget-image-enable to non-nil?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36147; Package emacs. (Sun, 09 Jun 2019 16:27:01 GMT) Full text and rfc822 format available.

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

From: Andrea Greselin <greselin.andrea <at> gmail.com>
To: Noam Postavsky <npostavs <at> gmail.com>
Cc: 36147 <at> debbugs.gnu.org
Subject: Re: bug#36147: 26.2; recentf-open-files doesn't display tree widgets
 when called from an emacsclient instance
Date: Sun, 9 Jun 2019 18:26:14 +0200
[Message part 1 (text/plain, inline)]
Yes it does! Thank you!

On Sun, 9 Jun 2019 at 16:30, Noam Postavsky <npostavs <at> gmail.com> wrote:

> Andrea Greselin <greselin.andrea <at> gmail.com> writes:
>
> > Note that if I remove '(recentf-mode)' from the init file and execute it
> in
> > Emacs instead (doesn't matter whether interactively or by evaluating
> > Elisp), the widgets work even in a client session.
>
> I guess the problem is that tree-widget-image-enable is set just once on
> load, based on the current display (and the daemon has no display so it
> doesn't support displaying images).  Does it help to explicitly set
> tree-widget-image-enable to non-nil?
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36147; Package emacs. (Sun, 09 Jun 2019 18:38:02 GMT) Full text and rfc822 format available.

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

From: Noam Postavsky <npostavs <at> gmail.com>
To: Andrea Greselin <greselin.andrea <at> gmail.com>
Cc: 36147 <at> debbugs.gnu.org
Subject: Re: bug#36147: 26.2;
 recentf-open-files doesn't display tree widgets when called from an
 emacsclient instance
Date: Sun, 09 Jun 2019 14:37:16 -0400
Andrea Greselin <greselin.andrea <at> gmail.com> writes:

> Yes it does! Thank you!
>
> On Sun, 9 Jun 2019 at 16:30, Noam Postavsky <npostavs <at> gmail.com> wrote:
>>
>> I guess the problem is that tree-widget-image-enable is set just once on
>> load, based on the current display (and the daemon has no display so it
>> doesn't support displaying images).  Does it help to explicitly set
>> tree-widget-image-enable to non-nil?

Looks like we could solve this bug just by making
tree-widget-image-enable default to t unconditionally then.  It seems to
do the right thing in that case, e.g., I tried

    ;; from https://stackoverflow.com/questions/25104291/change-text-of-tree-widget-node
    (widget-create
     'tree-widget :open t :tag "one"
     :args
     (list (widget-convert
            'tree-widget
            :tag "two"
            :args (mapcar (apply-partially #'widget-convert 'item)
                          '("three" "four")))))

it shows image when looking at it in a graphic frame, and text when
looking at the same buffer in a tty frame.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36147; Package emacs. (Mon, 10 Jun 2019 06:29:02 GMT) Full text and rfc822 format available.

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

From: Andrea Greselin <greselin.andrea <at> gmail.com>
To: Noam Postavsky <npostavs <at> gmail.com>
Cc: 36147 <at> debbugs.gnu.org
Subject: Re: bug#36147: 26.2; recentf-open-files doesn't display tree widgets
 when called from an emacsclient instance
Date: Mon, 10 Jun 2019 08:27:19 +0200
[Message part 1 (text/plain, inline)]
Yes, setting tree-widget-image-enable to t makes recentf-open-file work
correctly in my system, too.

On Sun, 9 Jun 2019 at 20:37, Noam Postavsky <npostavs <at> gmail.com> wrote:

> Andrea Greselin <greselin.andrea <at> gmail.com> writes:
>
> > Yes it does! Thank you!
> >
> > On Sun, 9 Jun 2019 at 16:30, Noam Postavsky <npostavs <at> gmail.com> wrote:
> >>
> >> I guess the problem is that tree-widget-image-enable is set just once on
> >> load, based on the current display (and the daemon has no display so it
> >> doesn't support displaying images).  Does it help to explicitly set
> >> tree-widget-image-enable to non-nil?
>
> Looks like we could solve this bug just by making
> tree-widget-image-enable default to t unconditionally then.  It seems to
> do the right thing in that case, e.g., I tried
>
>     ;; from
> https://stackoverflow.com/questions/25104291/change-text-of-tree-widget-node
>     (widget-create
>      'tree-widget :open t :tag "one"
>      :args
>      (list (widget-convert
>             'tree-widget
>             :tag "two"
>             :args (mapcar (apply-partially #'widget-convert 'item)
>                           '("three" "four")))))
>
> it shows image when looking at it in a graphic frame, and text when
> looking at the same buffer in a tty frame.
>
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36147; Package emacs. (Sat, 15 Jun 2019 21:47:01 GMT) Full text and rfc822 format available.

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

From: Noam Postavsky <npostavs <at> gmail.com>
To: Andrea Greselin <greselin.andrea <at> gmail.com>
Cc: 36147 <at> debbugs.gnu.org
Subject: Re: bug#36147: 26.2;
 recentf-open-files doesn't display tree widgets when called from an
 emacsclient instance
Date: Sat, 15 Jun 2019 17:46:30 -0400
tags 36147 fixed
close 36147 27.1
quit

>> Looks like we could solve this bug just by making
>> tree-widget-image-enable default to t unconditionally then.

Done in master.

caff1e2abe 2019-06-15T17:06:31-04:00 "Always try to display tree-widget with images (Bug#36147)"
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=caff1e2abea8476741e0ad07cb46a62536c0194c





Added tag(s) fixed. Request was from Noam Postavsky <npostavs <at> gmail.com> to control <at> debbugs.gnu.org. (Sat, 15 Jun 2019 21:47:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 27.1, send any further explanations to 36147 <at> debbugs.gnu.org and Andrea Greselin <greselin.andrea <at> gmail.com> Request was from Noam Postavsky <npostavs <at> gmail.com> to control <at> debbugs.gnu.org. (Sat, 15 Jun 2019 21:47: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. (Sun, 14 Jul 2019 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 338 days ago.

Previous Next


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