Mercurial > hg > xemacs-beta
annotate src/s/umips.h @ 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 | 023b83f4e54b |
children |
rev | line source |
---|---|
428 | 1 /* Synched up with: FSF 19.31. */ |
2 | |
613 | 3 /* Definitions file for XEmacs running on Mips operating system. |
428 | 4 That system can emulate either BSD or Sys V, in either case with changes. |
5 If BSD is defined, we assume BSD is being emulated; otherwise, Sys V. */ | |
6 | |
7 #ifdef BSD | |
8 #include "bsd4-3.h" | |
9 | |
10 #define C_SWITCH_SYSTEM "-systype bsd43" | |
11 #define LD_SWITCH_SYSTEM "-systype bsd43" | |
12 #undef LIBS_SYSTEM | |
13 #define LIBS_DEBUG | |
14 #define START_FILES "pre-crt0.o /lib/crt1.o" | |
15 #define LIB_STANDARD "-lc /usr/lib/crtn.o" | |
16 | |
17 #define COFF | |
18 #define TERMINFO | |
19 #undef MAIL_USE_FLOCK /* Someone should check this. */ | |
20 | |
21 #else /* not BSD */ | |
22 | |
23 #define DONT_DEFINE_NO_REMAP /* `static' hack not needed */ | |
24 #include "usg5-2-2.h" | |
25 | |
26 #undef LIBS_SYSTEM | |
27 #define LIBS_DEBUG | |
28 #define START_FILES "pre-crt0.o /usr/lib/crt1.o" | |
29 #define LIB_STANDARD "-lbsd -lc /usr/lib/crtn.o" | |
30 /* #define LIBS_TERMCAP -lcurses */ | |
31 | |
32 #define C_SWITCH_SYSTEM "-I/usr/include/bsd" | |
33 | |
34 /* Don't try to use SIGIO even though it is defined. */ | |
35 #define BROKEN_SIGIO | |
36 | |
37 /* Describe special kernel features. */ | |
38 | |
39 #if defined(emacs) | |
40 #include <bsd/sys/time.h> | |
41 #endif | |
42 | |
43 /* The `select' in the system won't work for pipes, | |
44 so don't use it. */ | |
45 #define BROKEN_SELECT | |
46 | |
47 /* ??? */ | |
48 #define IRIS | |
49 | |
50 #endif /* not BSD */ | |
51 | |
52 /* High order bit must be stripped off nlist return values */ | |
53 #define FIXUP_KERNEL_SYMBOL_ADDR(NL) (NL)[0].n_value &= 0x7fffffff; |