[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs 23.1.93 pretest
From: |
Eli Zaretskii |
Subject: |
Re: Emacs 23.1.93 pretest |
Date: |
Sat, 27 Feb 2010 16:14:08 +0200 |
> Date: Sat, 27 Feb 2010 15:15:35 +0200
> From: Eli Zaretskii <address@hidden>
> Cc: address@hidden, address@hidden
>
> Thanks. I get a similar crash, but it isn't an assert violation.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x0118191d in uniscribe_check_otf (font=0x3, otf_spec=44922882)
> at w32uniscribe.c:684
> 684 features[1] = XCAR (rest);
>
> otf_spec is nil in my case:
>
> (gdb) p otf_spec
> $1 = 44922882
> (gdb) xtype
> Lisp_Symbol
> (gdb) xsymbol
> $2 = (struct Lisp_Symbol *) 0x2ad7800
> "nil"
This sounds like a separate problem, though: it did not exist in
revision 99563 (from yesterday's noon [UTC+2]), but exists in the
current revision 99569 and in the pretest. By contrast, the problem
with emacs-mule decoding exists in both revisions.
> But then how come this defense in uniscribe_check_otf did not catch
> it?
>
> /* Check the spec is in the right format. */
> if (!CONSP (otf_spec) || Flength (otf_spec) < 3)
> return 0;
Answering my own question here: because otf_spec is a cons cell of the
right length, but it looks not according to what uniscribe_check_otf
expects:
(gdb) p otf_spec
$7 = 19320654
(gdb) xcons
$8 = (struct Lisp_Cons *) 0x126cf48
{
car = 0x2ec7fda,
u = {
cdr = 0x2ad7802,
chain = 0x2ad7802
}
}
(gdb) p otf_spec
$9 = 19320654
(gdb) xcdr
$10 = 0x2ad7802
(gdb) xcdr
$11 = 0x0
The change which causes it is this:
=== modified file 'lisp/international/fontset.el'
--- lisp/international/fontset.el 2010-01-13 08:35:10 +0000
+++ lisp/international/fontset.el 2010-02-27 13:55:36 +0000
@@ -415,6 +415,9 @@
(sinhala ,(font-spec :registry "iso10646-1" :otf '(sinh nil (akhn))))
(malayalam ,(font-spec :registry "iso10646-1" :otf '(mlym nil (akhn))))
+ (myanmar ,(font-spec :registry "iso10646-1" :otf '(mymr))
+ ,(font-spec :registry "iso10646-1" :script 'myanmar))
+
(lao ,(font-spec :registry "iso10646-1" :otf '(lao\ nil nil (mark)))
,(font-spec :registry "iso10646-1" :script 'lao)
(nil . "MuleLao-1"))
@@ -548,7 +551,6 @@
armenian
syriac
thaana
- myanmar
georgian
cherokee
canadian-aboriginal
Perhaps Handa-san could take a look at this. The entry you added
seems to violate the doc string of `font-spec', which says:
`:otf'
VALUE must be a list (SCRIPT-TAG LANGSYS-TAG GSUB [ GPOS ]) to specify
required OpenType features.
SCRIPT-TAG: OpenType script tag symbol (e.g. `deva').
LANGSYS-TAG: OpenType language system tag symbol,
or nil for the default language system.
GSUB: List of OpenType GSUB feature tag symbols, or nil if none required.
GPOS: List of OpenType GPOS feature tag symbols, or nil if none required.
Btw, the `:otf' spec does not seem to be documented in the ELisp manual.
- Emacs 23.1.93 pretest, Chong Yidong, 2010/02/26
- Re: Emacs 23.1.93 pretest, Eli Zaretskii, 2010/02/27
- Re: Emacs 23.1.93 pretest, Eli Zaretskii, 2010/02/27
- Re: Emacs 23.1.93 pretest, Juanma Barranquero, 2010/02/27
- Re: Emacs 23.1.93 pretest, Juanma Barranquero, 2010/02/27
- Re: Emacs 23.1.93 pretest, Eli Zaretskii, 2010/02/27
- Re: Emacs 23.1.93 pretest,
Eli Zaretskii <=
- Re: Emacs 23.1.93 pretest, Andreas Schwab, 2010/02/27
- Re: Emacs 23.1.93 pretest, Eli Zaretskii, 2010/02/27
- Re: Emacs 23.1.93 pretest, Lennart Borgman, 2010/02/27
- Re: Emacs 23.1.93 pretest, Eli Zaretskii, 2010/02/27
- Re: Emacs 23.1.93 pretest, Chong Yidong, 2010/02/27
- Re: Emacs 23.1.93 pretest, Eli Zaretskii, 2010/02/27
- Re: Emacs 23.1.93 pretest, Juanma Barranquero, 2010/02/27
- Re: Emacs 23.1.93 pretest, Stefan Monnier, 2010/02/27
- Re: Emacs 23.1.93 pretest, Eli Zaretskii, 2010/02/27
- Re: Emacs 23.1.93 pretest, Eli Zaretskii, 2010/02/27