GNU bug report logs - #51578
29.0.50; error on display-bindings when invoked from a tty

Previous Next

Package: emacs;

Reported by: Bird <birdsite <at> airmail.cc>

Date: Wed, 3 Nov 2021 03:00:01 UTC

Severity: normal

Found in version 29.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

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 51578 in the body.
You can then email your comments to 51578 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#51578; Package emacs. (Wed, 03 Nov 2021 03:00:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Bird <birdsite <at> airmail.cc>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 03 Nov 2021 03:00:02 GMT) Full text and rfc822 format available.

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

From: Bird <birdsite <at> airmail.cc>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; error on display-bindings when invoked from a tty
Date: Wed, 03 Nov 2021 03:00:03 +0000
Hello,
When emacs -Q is ran in a tty(C-M-F2 on gnu/linux) and invokes
describe-bindings, an error occurs. the debug information is:

Debugger entered--Lisp error: (wrong-type-argument listp -1)
  outline--valid-emoji-p("▶️")
  outline--make-button(open)
  outline--make-button-overlay(open)
  outline--insert-open-button()
  outline-minor-mode-highlight-buffer()
  outline-minor-mode(1)
  describe-bindings()
  funcall-interactively(describe-bindings)
  call-interactively(describe-bindings nil nil)
  command-execute(describe-bindings)

i built emacs on commit f5a266700 (Rewrites of Elisp manual including
tab-bar and tab-line changes) although it that sha could be different as
it looks like there was a history change in emacs source.
The origin/master branch is at f2b8f29920 (Merge from origin/emacs-28)


In GNU Emacs 29.0.50 (build 4, x86_64-pc-linux-musl, X toolkit, cairo version 1.16.0, Xaw scroll bars)
 of 2021-11-02 built on laptop
Repository revision: f5a26670036dbbd8dbeffb940ceb807ed2d58610
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
System Description: void

Configured using:
 'configure --with-imagemagick --with-cairo --with-modules
 --without-dbus --without-gconf --without-gsettings
 --with-x-toolkit=lucid --prefix=/usr'

Configured features:
ACL CAIRO FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ IMAGEMAGICK JPEG JSON
LCMS2 LIBOTF LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP
SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM LUCID ZLIB

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

Major mode: Lisp Interaction

Minor modes in effect:
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  repeat-mode: t
  fido-vertical-mode: t
  icomplete-vertical-mode: t
  icomplete-mode: t
  fido-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(cus-edit cus-start cus-load cl-print misearch multi-isearch shortdoc
help-fns radix-tree org-element avl-tree generator ol-eww eww xdg
url-queue thingatpt mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus
nnselect gnus-search eieio-opt speedbar ezimage dframe ol-docview
doc-view jka-compr image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi
org-link-doi pp shadow flyspell ispell emacsbug sendmail shr-color color
gnus-cite smiley mm-archive mail-extr gnus-async gnus-bcklg sort gnus-ml
disp-table qp nndraft nnmh nnmaildir nnfolder gnutls network-stream nsm
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime dig nntp gnus-cache gnus-sum shr
kinsoku svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml
gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time
gnus-spec gnus-int gnus-range message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
gnus-win gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045
ietf-drums text-property-search mail-utils mm-util mail-prsvr wid-edit
tsdh-dark-theme org-tempo tempo use-package-ensure use-package-core
display-line-numbers repeat cl-extra org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete
pcomplete comint ansi-color ring org-list org-faces org-entities
noutline outline easy-mmode org-version ob-emacs-lisp ob-core ob-eval
org-table oc-basic bibtex iso8601 time-date ol rx org-keys oc org-compat
advice org-macs org-loaddefs format-spec find-func cal-menu calendar
cal-loaddefs icomplete help-mode cl info package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars
seq gv subr-x byte-opt bytecomp byte-compile cconv cl-loaddefs cl-lib
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode 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 lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax 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 emoji-zwj 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 inotify
lcms2 dynamic-setting font-render-setting cairo x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 301927 61812)
 (symbols 48 25144 5)
 (strings 32 115988 4168)
 (string-bytes 1 4708502)
 (vectors 16 60107)
 (vector-slots 8 1297148 224532)
 (floats 8 419 554)
 (intervals 56 450 291)
 (buffers 992 23))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51578; Package emacs. (Wed, 03 Nov 2021 14:28:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Bird <birdsite <at> airmail.cc>
Cc: 51578 <at> debbugs.gnu.org
Subject: Re: bug#51578: 29.0.50;
 error on display-bindings when invoked from a tty
Date: Wed, 03 Nov 2021 16:27:03 +0200
> From: Bird <birdsite <at> airmail.cc>
> Date: Wed, 03 Nov 2021 03:00:03 +0000
> 
> 
> When emacs -Q is ran in a tty(C-M-F2 on gnu/linux) and invokes
> describe-bindings, an error occurs. the debug information is:
> 
> Debugger entered--Lisp error: (wrong-type-argument listp -1)
>   outline--valid-emoji-p("▶️")
>   outline--make-button(open)
>   outline--make-button-overlay(open)
>   outline--insert-open-button()
>   outline-minor-mode-highlight-buffer()
>   outline-minor-mode(1)
>   describe-bindings()
>   funcall-interactively(describe-bindings)
>   call-interactively(describe-bindings nil nil)
>   command-execute(describe-bindings)

Thanks.  Does the patch below help?

diff --git a/lisp/outline.el b/lisp/outline.el
index 2a6f475..5b20a42 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -961,7 +961,8 @@ outline--make-button
                           " " (buffer-substring (point) (1+ (point))))))
 
 (defun outline--valid-emoji-p (string)
-  (when-let ((font (car (internal-char-font nil ?😀))))
+  (when-let ((font (and (display-multi-font-p)
+                        (car (internal-char-font nil ?😀)))))
     (font-has-char-p font (aref string 0))))
 
 (defun outline--valid-char-p (string)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#51578; Package emacs. (Wed, 03 Nov 2021 18:05:02 GMT) Full text and rfc822 format available.

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

From: Bird <birdsite <at> airmail.cc>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 51578 <at> debbugs.gnu.org
Subject: Re: bug#51578: 29.0.50; error on display-bindings when invoked from
 a tty
Date: Wed, 03 Nov 2021 18:05:30 +0000
Eli Zaretskii <eliz <at> gnu.org> writes:

>> When emacs -Q is ran in a tty(C-M-F2 on gnu/linux) and invokes
>> describe-bindings, an error occurs. the debug information is:
[snip]
> Thanks.  Does the patch below help?
>
> diff --git a/lisp/outline.el b/lisp/outline.el
> index 2a6f475..5b20a42 100644
> --- a/lisp/outline.el
> +++ b/lisp/outline.el
> @@ -961,7 +961,8 @@ outline--make-button
>                            " " (buffer-substring (point) (1+ (point))))))
>  
>  (defun outline--valid-emoji-p (string)
> -  (when-let ((font (car (internal-char-font nil ?😀))))
> +  (when-let ((font (and (display-multi-font-p)
> +                        (car (internal-char-font nil ?😀)))))
>      (font-has-char-p font (aref string 0))))
>  
>  (defun outline--valid-char-p (string)
Thanks! the above patch does work in a tty.

Is it possible to always use that triange thingy (which is used in a
tty) instead of the emoji in describe-bindings? i much prefer those
compared to emojis ;)

-- 
Smartness runs in my family.  When I went to school I was so smart my
teacher was in my class for five years.
		-- George Burns




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Wed, 03 Nov 2021 18:16:01 GMT) Full text and rfc822 format available.

Notification sent to Bird <birdsite <at> airmail.cc>:
bug acknowledged by developer. (Wed, 03 Nov 2021 18:16:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Bird <birdsite <at> airmail.cc>
Cc: 51578-done <at> debbugs.gnu.org
Subject: Re: bug#51578: 29.0.50; error on display-bindings when invoked from
 a tty
Date: Wed, 03 Nov 2021 20:15:17 +0200
> From: Bird <birdsite <at> airmail.cc>
> Cc: 51578 <at> debbugs.gnu.org
> Date: Wed, 03 Nov 2021 18:05:30 +0000
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> When emacs -Q is ran in a tty(C-M-F2 on gnu/linux) and invokes
> >> describe-bindings, an error occurs. the debug information is:
> [snip]
> > Thanks.  Does the patch below help?
> >
> > diff --git a/lisp/outline.el b/lisp/outline.el
> > index 2a6f475..5b20a42 100644
> > --- a/lisp/outline.el
> > +++ b/lisp/outline.el
> > @@ -961,7 +961,8 @@ outline--make-button
> >                            " " (buffer-substring (point) (1+ (point))))))
> >  
> >  (defun outline--valid-emoji-p (string)
> > -  (when-let ((font (car (internal-char-font nil ?😀))))
> > +  (when-let ((font (and (display-multi-font-p)
> > +                        (car (internal-char-font nil ?😀)))))
> >      (font-has-char-p font (aref string 0))))
> >  
> >  (defun outline--valid-char-p (string)
> Thanks! the above patch does work in a tty.

Thanks, I've now installed it on the master branch.

> Is it possible to always use that triange thingy (which is used in a
> tty) instead of the emoji in describe-bindings? i much prefer those
> compared to emojis ;)

Yes, customize the option outline-minor-mode-buttons.

And with that, I'm closing this bug report.




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

This bug report was last modified 3 years and 200 days ago.

Previous Next


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