Mercurial > emacs
annotate src/unexsol.c @ 102422:82f82b92314e
(CODING_ISO_CMP_STATUS): New macro.
(CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
(MAX_ANNOTATION_LENGTH): Defined to 5.
(ADD_COMPOSITION_DATA): New arg nbytes.
(emacs_mule_char): New arg cmp_status.
(DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
(DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
(DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
(DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
(DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
(DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
(DECODE_EMACS_MULE_COMPOSITION_START): New macro.
(EMACS_MULE_COMPOSITION_END): New macro.
(emacs_mule_finish_composition): New function.
(EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
(decode_coding_emacs_mule): Avoid long looking ahead while
handling composition.
(DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
(ENCODE_COMPOSITION_RULE): New macro.
(finish_composition): New function.
(MAYBE_FINISH_COMPOSITION): Call finish_composition.
(DECODE_COMPOSITION_START): New implementation.
(DECODE_COMPOSITION_END): Likewise.
(STORE_COMPOSITION_RULE): New macro.
(decode_coding_iso_2022): Avoid long looking ahead while handling
composition, CTEXT extended segment, and embedded UTF-8.
(setup_coding_system): For a coding of type iso-2022, reset
CODING_ISO_EXTSEGMENT_LEN (coding) and
CODING_ISO_EMBEDDED_UTF_8 (coding).
(get_translation): Delete arguments last_block, from_nchars,
to_nchars. Callers changed.
(produce_chars): Don't modify charbuf. Adjusted for the change of
get_translation.
(produce_composition): Adjusted for the new annotation sequence.
(handle_composition_annotation): Likewise.
(consume_chars): Adjusted for the change of get_translation.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 06 Mar 2009 07:51:52 +0000 |
parents | b7bf941f8049 |
children | 8a8e69664178 68dd71358159 |
rev | line source |
---|---|
47190 | 1 /* Trivial unexec for Solaris. */ |
2 | |
3 #include <config.h> | |
4 #include <stdlib.h> | |
5 #include <dlfcn.h> | |
6 | |
7 #include "lisp.h" | |
47441
d671a35d55f3
Include buffer.h, charset.h, coding.h.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
47432
diff
changeset
|
8 #include "buffer.h" |
d671a35d55f3
Include buffer.h, charset.h, coding.h.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
47432
diff
changeset
|
9 #include "charset.h" |
d671a35d55f3
Include buffer.h, charset.h, coding.h.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
47432
diff
changeset
|
10 #include "coding.h" |
47190 | 11 |
12 int | |
13 unexec (char *new_name, char *old_name, unsigned int data_start, | |
14 unsigned int bss_start, unsigned int entry_address) | |
15 { | |
47432
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
16 Lisp_Object data; |
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
17 Lisp_Object errstring; |
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
18 |
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
19 if (! dldump (0, new_name, RTLD_MEMORY)) |
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
20 return 0; |
47190 | 21 |
47432
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
22 data = Fcons (build_string (new_name), Qnil); |
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
23 synchronize_system_messages_locale (); |
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
24 errstring = code_convert_string_norecord (build_string (dlerror ()), |
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
25 Vlocale_coding_system, 0); |
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
26 |
71990 | 27 xsignal (Qfile_error, |
47432
16b9af83e7d3
Don't use report_file_error; do it by hand using dlerror.
Richard M. Stallman <rms@gnu.org>
parents:
47190
diff
changeset
|
28 Fcons (build_string ("Cannot unexec"), Fcons (errstring, data))); |
47190 | 29 } |
52401 | 30 |
31 /* arch-tag: d8ff72b3-8198-4011-8ef5-011b12027f59 | |
32 (do not change this comment) */ |