Hrvoje Niksic <hniksic(a)iskon.hr> writes:
Yoshiki Hayashi <t90553(a)m.ecc.u-tokyo.ac.jp> writes:
> 1999-11-08 Yoshiki Hayashi <t90553(a)mail.ecc.u-tokyo.ac.jp>
>
> * mule-charset.h (breakup_char_1): Check whether
> charset exists or not.
>
breakup_char_1() might not be the right place for this fix. It seems
that function assumes it will get an existing charset. Maybe a more
appropriate fix would be up at the callers?
But that is the only place to check. The core dump is caused
at next line,
BREAKUP_CHAR_1_UNSAFE (c, *charset, *c1, *c2);
Also, I see that BREAKUP_CHAR is called from within redisplay. In
redisplay, an error will cause a coredump.
Then I cant fix the problem. Redisplay area is all greek to
me. However, I traced redisplay-x.c part a little bit
furthur. BREAKUP_CHAR is called from
`separate_textual_runs'. x_output_string and x_text_width
calls it. I assume those are dealing with already present
text in some buffers. If this assumption is correct, passing
wrong characters to BREAKUP_CHAR in redisplay part rewards
core dump, I think.
--
Yoshiki Hayashi