GNU bug report logs -
#11964
describe-char causes a fatal error (abort trap: 6) in non-windowed mode
Previous Next
Full log
Message #43 received at 11964 <at> debbugs.gnu.org (full text, mbox):
Hello.
Your patch fixes the problem.
Jan D.
25 nov 2012 kl. 16:56 skrev Eli Zaretskii <eliz <at> gnu.org>:
>> From: Jan Djärv <jan.h.d <at> swipnet.se>
>> Date: Sun, 25 Nov 2012 13:18:28 +0100
>> Cc: Eli Zaretskii <eliz <at> gnu.org>,
>> ninestraycats <at> gmail.com,
>> 11964 <at> debbugs.gnu.org
>>
>> Actually it is not quite fixed, and not NS-specific either.
>> On a X11-emacs, do this (tried with Gtk2, 3 and Lucid, no difference):
>>
>> % emacs -Q --daemon
>> % emacsclient -c &
>> % emacsclient -c -t
>>
>> In the second, non-GUI frame do (from this bug):
>> u C-x 8 <RET> 0303 <RET> C-b C-u C-x =
>>
>> The emacs daemon crashes, the same way as the original bug does.
>> This is because the emacsclient -c creates fontsets, and emacsclient -c -t tries to use them.
>>
>> So this is a more generic problem. The fix I made was to initialize fontsets in ns-win.el the same way x-win.el does, but this just hides the problem for the daemon case.
>
> It is wrong to call internal-char-font on a non-GUI frame; for
> starters, that function might not be compiled in, e.g. if Emacs was
> configured --without-x. All the other callers of that function are
> careful not to do that. Does the patch below fix the problem?
>
> I also think internal-char-font should not blindly call the font
> driver without checking that it isn't NULL first.
>
> === modified file 'lisp/descr-text.el'
> --- lisp/descr-text.el 2012-08-20 11:12:16 +0000
> +++ lisp/descr-text.el 2012-11-25 15:46:44 +0000
> @@ -354,7 +354,8 @@ This function is semi-obsolete. Use `ge
> ;; Return a string of CH with composition for padding on both sides.
> ;; It is displayed without overlapping with the left/right columns.
> (defsubst describe-char-padded-string (ch)
> - (if (internal-char-font nil ch)
> + (if (and (display-multi-font-p)
> + (internal-char-font nil ch))
> (compose-string (string ch) 0 1 (format "\t%c\t" ch))
> (string ch)))
>
This bug report was last modified 12 years and 257 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.