From: Eli Zaretskii <eliz@gnu.org>
To: Robert Pluim <rpluim@gmail.com>
Cc: ravine.var@gmail.com, 39892@debbugs.gnu.org
Subject: bug#39892: 28.0.50; Crash when running async command
Date: Wed, 04 Mar 2020 18:13:38 +0200 [thread overview]
Message-ID: <83imjkw11p.fsf@gnu.org> (raw)
In-Reply-To: <m28skgxwtm.fsf@gmail.com> (message from Robert Pluim on Wed, 04 Mar 2020 11:01:57 +0100)
> From: Robert Pluim <rpluim@gmail.com>
> Date: Wed, 04 Mar 2020 11:01:57 +0100
> Cc: 39892@debbugs.gnu.org
>
> Ravine> * Start 'emacs -Q'
>
> Ravine> * Eval this: (set-fontset-font t 'unicode "Noto Sans Symbols2" nil 'append)
>
> Ravine> * In dired, run dired-do-async-shell-command (&) on configure.gz.gpg and
> Ravine> give 'gpg -d'. gpg now sends the decrypted output to stdout.
>
> Ravine> * At this point emacs crashes.
>
> Indeed. A simpler recipe is to do the set-fontset-font and then
>
> 'C-x 8 RET e9f8'
In fact, _any_ font seems to cause that, as long as the other
arguments of set-fontset-font are as above.
> The relevant code is:
>
> for (i = 0; i < size; i++)
> {
> Lisp_Object rfont_def = AREF (vec, i);
> Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def);
>
> 'vec' at that point is
>
> [
> [nil [#<font-spec nil nil nil nil iso10646-1 nil nil nil nil nil nil nil nil> 144 nil] nil 0]
> nil
> [nil [#<font-spec nil nil Noto\ Sans\ Symbols2 nil nil nil nil nil nil nil nil nil ((:name . "Noto Sans Symbols2"))> 0 0] nil 2]
> ]
>
> and i == 1, so rfont_def ends up as nil.
>
> How did that 'nil' get in there?
I don't know. The code seems to expect one nil as the last element of
the vector, but not in the middle. Note that the commentary at the
beginning of fontset.c explains when RFONT_DEF may be nil.
I will look into this soon if no one beats me to it.
Btw, U+E9F8 is a PUA character; how did it get into a context where we
are trying to display it?
next prev parent reply other threads:[~2020-03-04 16:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-04 2:37 bug#39892: 28.0.50; Crash when running async command Ravine Var
2020-03-04 10:01 ` Robert Pluim
2020-03-04 16:13 ` Eli Zaretskii [this message]
2020-03-05 9:46 ` Eli Zaretskii
2020-03-05 10:57 ` Robert Pluim
2020-03-05 11:22 ` Eli Zaretskii
2020-03-05 15:21 ` Ravine Var
2020-03-05 15:59 ` Eli Zaretskii
2020-03-05 15:24 ` Ravine Var
2020-03-05 15:53 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83imjkw11p.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=39892@debbugs.gnu.org \
--cc=ravine.var@gmail.com \
--cc=rpluim@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).