GNU bug report logs - #11964
describe-char causes a fatal error (abort trap: 6) in non-windowed mode

Previous Next

Package: emacs;

Reported by: Dan Maftei <ninestraycats <at> gmail.com>

Date: Tue, 17 Jul 2012 21:29:01 UTC

Severity: normal

Done: Jan Djärv <jan.h.d <at> swipnet.se>

Bug is archived. No further changes may be made.

Full log


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

From: Jan Djärv <jan.h.d <at> swipnet.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: ninestraycats <at> gmail.com, 11964 <at> debbugs.gnu.org, cyd <at> gnu.org
Subject: Re: bug#11964: describe-char causes a fatal error (abort trap: 6)
	in	non-windowed mode
Date: Sun, 25 Nov 2012 17:16:23 +0100
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.