Mercurial > hg > xemacs-beta
view etc/toolbar/spell-xx.xpm @ 4745:0c54de4c4b9d
Resolve the unregistered-CCL-programs-get-garbage-collected problem correctly
src/ChangeLog addition:
2009-11-15 Aidan Kehoe <kehoea@parhasard.net>
* mule-ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Assert that we always
have a symbol in this macro.
(setup_ccl_program): Ensure we're not allocating unreachable
memory in this function; all symbols must have been resolved in a
given CCL program before this function is called.
(find_ccl_program): New function, return a CCL program with all
its symbols resolved if it is valid (possibly allocating memory),
Qnil otherwise.
(get_ccl_program): New function, exported to other files; call
find_ccl_program, and error if it gives nil.
(Fccl_program_p): Call find_ccl_program from this function instead
of implementing the bulk of it here.
(Fccl_execute): Call get_ccl_program instead of implementing the
bulk of it here.
(Fccl_execute_on_string): Ditto.
* mule-ccl.h (Vfont_ccl_encoder_alist): Remove this declaration,
it hasn't been used in years.
(get_ccl_program): Declare this function.
* mule-coding.c (ccl_putprop): Use get_ccl_program on any
specified encode or decode CCL program property.
(fixed_width_putprop): Ditto.
* mule-charset.c (Fmake_charset): Use get_ccl_program on any
specified ccl-program.
(Fset_charset_ccl_program): Ditto.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 15 Nov 2009 16:53:14 +0000 |
parents | 376386a54a3c |
children | 7910031dd78a |
line wrap: on
line source
/* XPM */ static char * dict[] = { "28 28 6 1", "X c Gray75 s backgroundToolBarColor", "o c Gray60", "O c Gray90", "+ c Gray40", "@ c Gray60", "# c white", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXoooooooooooooooooXXXXX", "XXXXXoXoOOOOOOOOOOOOO+oXXXXX", "XXXXXooooooooooooooooOoXXXXX", "XXXXoXo++o@@@@@@o+++oOoXXXXX", "XXXXXoo++o@@@@@@@o++oOoXXXXX", "XXXXXoo++o@@@@@@@@o+oOoXXXXX", "XXXXoXo++o@ooooooo@ooOoXXXXX", "XXXXXoo++o@o#####o@@oOoXXXXX", "XXXXXoo++o@ooooooo@@oOoXXXXX", "XXXXoXo++o@@@@@@@@@@oO###XXX", "XXXXXoo++o@ooooooo@@###++XXX", "XXXXXoo++o@@@@@@@@####+XXXXX", "XXXX#Xo++o@@@@@@####++oXXXXX", "XXX###o++o@@@@####++oOoXXXXX", "XX####o++o@@@####+@@oOoXXXXX", "XX+####++o@####++@@ooOoXXXXX", "XXX+####+o####+@@@o+oOoXXXXX", "XXXX+########+@@@o++oooXXXXX", "XXXXo+######+@@@o+++oXXXXXXX", "XXXXXo+####+oooooooooXXXXXXX", "XXXXXXX+##+XXXXXXXXXXXXXXXXX", "XXXXXXXX++XXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"};