(Fset_coding_system_priority): Allow null arg list.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
c889d9eb
DL
12002-07-03 Dave Love <fx@gnu.org>
2
cf8ba580
DL
3 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
4 (Fself_insert_and_exit): Use CHARACTERP.
5
c889d9eb
DL
6 * callproc.c (Fcall_process): Remove unused vars.
7
8 * xterm.c (XTread_socket): Add extra dead keysyms.
9
10 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11
12 * dispextern.h: Remove prototypes for redraw_frame,
13 redraw_garbaged_frames.
14
15 * cmds.c (Fself_insert_command): Use CHARACTERP.
16
17 * chartab.c (make_sub_char_table): Remove unused var.
18 (Fset_char_table_default, Fmap_char_table): Doc fix.
19
20 * keymap.c (access_keymap): Remove generic char code.
21 (push_key_description): Use CHARACTERP.
22
3b9ca27d
DL
232002-07-01 Dave Love <fx@gnu.org>
24
25 * charset.c: Doc fixes.
26 (Funify_charset): Extra checking.
27
c163613e
DL
282002-06-24 Dave Love <fx@gnu.org>
29
30 * lread.c: Remove some unused variables.
31 (safe_to_load_p): If safe, return the magic number version byte.
32 (Fload): Maybe use load-with-code-conversion.
33
ffc5b27f
KH
342002-06-12 Kenichi Handa <handa@etl.go.jp>
35
36 * category.c (Fmodify_category_entry): Don't modify the contents
37 of category_set for characters out of the range. Avoid
38 unnecessary modification.
39
40 * character.h (MAYBE_UNIFY_CHAR): Adjusted for the change of
41 Vchar_unify_table. The default value of the table is now nil.
42
43 * character.c (syms_of_character): Setup Vchar_width_table for
44 eight-bit-control and raw-byte chars.
45
46 * charset.h (enum define_charset_arg_index): Delete
47 charset_arg_parents and add charset_arg_subset and
c163613e 48 charset_arg_superset.
ffc5b27f
KH
49 (enum charset_attr_index): Delete charset_parents and add
50 charset_subset and charset_superset.
51 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
52 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
53 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Macros deleted.
c163613e
DL
54 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
55 (CHARSET_SUPERSET): New macros.
ffc5b27f
KH
56 (charset_work): Extern it.
57 (ENCODE_CHAR): Use charset_work.
58 (CHAR_CHARSET_P): Adjusted for the change of encoder format.
59 (map_charset_chars): Extern it.
60
61 * charset.c (load_charset_map): Set the default value of encoder
62 and deunifier char-tables to nil.
63 (map_charset_chars): Argument changed. Callers changed. Use
64 map_char_table_for_charset instead of map_char_table.
65 (Fmap_charset_chars): New optional args from_code and to_code.
66 (Fdefine_charset_internal): Adjusted for the change of
67 `define-charset' (:parents -> :subset or :superset).
68 (charset_work): New variable.
69 (encode_char): Adjusted for the change of
70 Fdefine_charset_internal.
71 (syms_of_charset): Likewise.
bec25acc 72 (Ffind_charset_string): Setup the vector `charsets' correctly.
ffc5b27f
KH
73
74 * chartab.c (sub_char_table_ref_and_range): New arg defalt. Fix
75 the previous change.
76 (char_table_ref_and_range): Adjusted for the above change.
77 (map_sub_char_table_for_charset): New function.
78 (map_char_table_for_charset): New function.
79
80 * keymap.c (describe_vector): Handle a char-table directly here.
81 (describe_char_table): Deleted.
82
83 * lisp.h (map_charset_chars): Deleted.
84
af301c44
DL
852002-06-11 Dave Love <fx@gnu.org>
86
87 * fns.c (count_combining): Comment out (unused).
88 (Flocale_codeset): New.
89 (syms_of_fns): Defsubr it.
90
91 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
92 (size_t): Removed.
93
bb605067
DL
942002-06-06 Dave Love <fx@gnu.org>
95
96 * Makefile.in (chartab.o): Depend on charset.h
97
998f36ff
KH
982002-06-03 Kenichi Handa <handa@etl.go.jp>
99
100 * character.c (syms_of_character): Set the default value of
101 Vprintable_chars to Qnil.
102
6ba0a57d
DL
1032002-05-31 Dave Love <fx@gnu.org>
104
105 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
106
51460fc4
KH
1072002-05-31 Kenichi Handa <handa@etl.go.jp>
108
69b588e4
KH
109 * charset.c (load_charset_map): Handle the case that from < to
110 correctly.
111
51460fc4
KH
112 * coding.c (encode_coding_emacs_mule): Pay attention to raw-8-bit
113 chars.
114 (encode_coding_iso_2022): Likewise.
115 (encode_coding_sjis): Likewise.
116 (encode_coding_big5): Likewise.
117 (encode_coding_charset): Likewise.
118
7c7dceee
KH
1192002-05-30 Kenichi Handa <handa@etl.go.jp>
120
6ba0a57d 121 * Makefile.in (lisp): Change chinese.elc to chinese.el. They are
2ec49574
KH
122 not bytecompiled now.
123 (shortlisp): Likewise.
124
c163613e
DL
125 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
126 (charset_jisx0208): New variables.
7c7dceee
KH
127 (Fdefine_charset_internal): Setup them if appropriate.
128 (init_charset_once): Initialize them to -1.
129
130 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978,
131 charset_jisx0208): Extern them.
132
133 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro
134 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
135 (CODING_ISO_FLAG_FULL_SUPPORT): Macro definition changed.
136 (setup_iso_safe_charsets): Fix arguemtns to Fassq.
137 (DECODE_DESIGNATION): Pay attention to CODING_ISO_FLAG_USE_ROMAN
138 and CODING_ISO_FLAG_USE_OLDJIS.
139 (ENCODE_ISO_CHARACTER_DIMENSION1): Likewise.
140 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
141 (encode_coding_iso_2022): Change the 1st arg to
142 ENCODE_ISO_CHARACTER to a variable.
143
d40413a6
KH
1442002-05-29 Kenichi Handa <handa@etl.go.jp>
145
1929453f
KH
146 * charset.h (enum define_charset_arg_index): New enums
147 charset_arg_min_code and charset_arg_max_code.
d40413a6
KH
148 (struct charset): New member char_index_offset.
149
150 * charset.c (CODE_POINT_TO_INDEX): Take charset->char_index_offset
151 into account.
152 (INDEX_TO_CODE_POINT): Likewise.
153 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
154 args[charset_arg_max_code]. Setup charset.char_index_offset.
155 (syms_of_charset): Fix args to Fdefine_charset_internal.
156
b0edb2c5
DL
1572002-05-27 Dave Love <fx@gnu.org>
158
159 * coding.c (decode_coding_utf_8): Reject overlong sequences.
160
1612002-05-26 Dave Love <fx@gnu.org>
d88a0654
DL
162
163 * coding.c: Doc fixes.
164 (Fcoding_system_aliases): Fix return value.
165 (Qmac): Remove (duplicated) definition.
166
8004cc7b
DL
1672002-05-25 Dave Love <fx@gnu.org>
168
76ed8f14
DL
169 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
170 functions.
171
172 * character.c (Fstring): Doc fix.
173
528623a0
DL
174 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
175
8004cc7b
DL
176 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
177 ids.
178 (font-encoding-alist): Doc fix.
179
505af245
DL
1802002-05-24 Dave Love <fx@gnu.org>
181
182 * term.c (costs_set): Declare static, non-initialized for pcc.
183 (encode_terminal_code): Remove ensued var.
184
185 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
186 for K&R.
187
188 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
189
190 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
191 (suffixes): Moved out of make_subsidiaries for K&R.
192
193 * charset.c (map_charset_chars): Fix c_function declaration for
194 K&R.
195
196 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
197
d6afde6c
DL
1982002-05-23 Dave Love <fx@gnu.org>
199
200 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
201
202 * category.c (Fmodify_category_entry): Doc fix. Remove unused
203 vars.
204
f9d71dcd
KH
2052002-05-23 Yong Lu <lyongu@asia-infonet.com>
206
207 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
208
209 * coding.c (Fdefine_coding_system_internal): Fix previous change.
210 (decode_coding_charset): Workaround for the bug of GCC 2.96.
211
3776772e
KH
2122002-05-23 Kenichi Handa <handa@etl.go.jp>
213
214 * Makefile.in (lisp): Change cyrillic.elc to cyrillic.el,
215 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
216 (shortlisp): Likewise.
217
b0a1e45e
KH
2182002-05-22 Kenichi Handa <handa@etl.go.jp>
219
435b59f6
KH
220 * coding.c (decode_coding_charset): Adjusted for the change of
221 Fdefine_coding_system_internal.
222 (Fdefine_coding_system_internal): For a coding system of
223 `charset' type, store a list of charset IDs in
224 `charset_attr_charset_valids' element of coding attributes.
225
b0a1e45e
KH
226 * charset.c (Fmake_char): Fix previous change.
227
781d7a48
KH
2282002-05-21 Kenichi Handa <handa@etl.go.jp>
229
230 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
231 (emacs_mule_char): New arg src. Delete arg `composition'. Caller
232 changed. Handle 2-byte and 3-byte charsets correctly.
233 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Renamed from
234 DECODE_EMACS_MULE_COMPOSITION_RULE. Caller changed.
235 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
236 (DECODE_EMACS_MULE_21_COMPOSITION): Call
237 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
238 sequence.
239 (decode_coding_emacs_mule): Handle composition correctly. Rewind
240 `src' and `consumed_chars' correctly before calling
241 emacs_mule_char.
242 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
243 and alt&rule composition.
244 (decode_coding_iso_2022): Handle composition correctly.
245 (init_coding_once): Setup emacs_mule_bytes for private charsets.
246
247 * charset.c (Fdefine_charset_internal): Fix bug for the case of
248 re-defining a charset. If the charset has :emacs-mule-id, setup
249 emacs_mule_bytes.
cd9c1e8f
KH
250 (Fmake_char): If CODE1 is nil, use the minimum code of the
251 charset.
781d7a48 252
0e56a02d
KH
2532002-05-20 Kenichi Handa <handa@etl.go.jp>
254
255 * coding.c (encode_coding_iso_2022): If coding requires safe
256 encoding, produce a character specified by
257 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
258 (encode_coding_sjis): Likewise.
259 (encode_coding_big5): Likewise.
260 (encode_coding_charset): Likewise.
261
e76af442
DL
2622002-05-17 Dave Love <fx@gnu.org>
263
264 * xterm.c (XSetIMValues): Declare.
265
266 * process.c: Conditionally include sys/wait.h, pty.h.
267
268 * print.c (print_object): Fix print format for 64-bit
269 systems.
270
271 * keyboard.c (modify_event_symbol): Fix print format for 64-bit
272 systems.
273
274 * buffer.c (emacs_strerror): Declare.
275 (MMAP_ALLOCATED_P, mmap_enlarge, syms_of_buffer): Import changes
276 from trunk.
277
278 * fontset.c (Fclear_face_cache): Declare.
279 (accumulate_font_info): Commented-out (unused).
280 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
281 variables.
282
283 * character.h (string_escape_byte8): Declare.
284
285 * charset.c (load_charset_map, load_charset_map_from_file): Remove
286 unused vars.
287 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
288 (Fmap_charset_chars): Doc fix.
289
290 * coding.c (Vchar_coding_system_table, Qchar_coding_system):
291 Removed.
292 (Fset_coding_system_priority, Fset_coding_system_priority)
293 (Fdefine_coding_system_internal): Doc fix.
294
b1603380
DL
2952002-05-16 Dave Love <fx@gnu.org>
296
297 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
298
cc5ac4b1
KH
2992002-05-16 Kenichi Handa <handa@etl.go.jp>
300
1cba5287
KH
301 * character.c (string_escape_byte8): Make multibyte string with
302 correct size.
303
cc5ac4b1
KH
304 * charset.c (Fmake_char): Delete unnecessary code.
305
b121a744
KH
3062002-05-14 Kenichi Handa <handa@etl.go.jp>
307
ac87bbef
KH
308 * xfns.c (x_encode_text): Allocate coding.destination here, and
309 call encode_coding_object with dst_object Qnil.
310
8c2fc311
KH
311 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
312 multibyte form correctly.
313
48728c92
KH
314 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
315 against Vfont_encoding_alist.
316
5afaefc1
KH
317 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
318 handling of charset list.
319 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
8c2fc311
KH
320 (decode_coding_object): Move point to coding->dst_pos before
321 calling post-read-conversion function.
b1603380 322 (encode_coding_object): Give correct arguments to
ac87bbef 323 pre-write-conversion. Ignore the return value of
1cba5287 324 pre-write-conversion function. Pay attention to the case that
b1603380 325 pre-write-conversion changes the current buffer. If dst_object is
ac87bbef
KH
326 Qt, even if coding->src_bytes is zero, allocate at least one byte
327 to coding->destination.
5afaefc1
KH
328
329 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
330
b121a744 331 * charset.c (Fmake_char): Make it more backward compatible.
5afaefc1 332 (Fmap_charset_chars): Fix docstring.
b121a744 333
356212fe
DL
3342002-05-13 Dave Love <fx@gnu.org>
335
336 * coding.c: Doc fixes.
337 (Fdefine_coding_system_alias): Use names, not symbols, in
338 coding-system-alist.
339
b2b3bb62
KH
3402002-05-13 Kenichi Handa <handa@etl.go.jp>
341
342 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
356212fe 343 of calling free_realized_face.
b2b3bb62 344
15d143f7
KH
3452002-05-10 Yong Lu <lyongu@asia-infonet.com>
346
347 * charset.c (load_charset_map): Fix previous change.
348 (read_hex): Don't treat SPC as a comment starter.
349 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return
350 -1.
351 (Fdecode_char): Fix typo.
352
3532002-05-10 Kenichi Handa <handa@etl.go.jp>
354
355 * charset.h (struct charset): New member `code_space_mask'.
356
357 * coding.c (coding_set_source): Delete the local variable
358 beg_byte.
359 (encode_coding_charset): Delete the local variable charset.
360 (Fdefine_coding_system_internal): Likewise.
361 (Fdefine_coding_system_internal): Setup
362 attrs[coding_attr_charset_valids] correctly.
363
364 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
365 member to check if CODE is valid or not.
366 (Fdefine_charset_internal): Initialize `code_space_mask' member.
367 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
368 is within the range of charset->min_code and carset->max_code.
369
b74e4686
DL
3702002-05-09 Dave Love <fx@gnu.org>
371
372 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
373
374 * dispextern.h (generate_ascii_font): Fix return type.
375
376 * xfaces.c (generate_ascii_font): Fix arg declaration.
377
378 * coding.c (coding_inherit_eol_type)
379 (Fset_terminal_coding_system_internal)
380 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
381
8efbba21
KH
3822002-05-08 Kenichi Handa <handa@etl.go.jp>
383
384 * coding.c (decode_coding_charset, encode_coding_charset): Handle
385 multiple charsets correctly.
386
1a0c5ca9
KH
3872002-05-07 Kenichi Handa <handa@etl.go.jp>
388
e4ac8240
KH
389 * search.c (boyer_moore): Fix handling of mulitbyte character
390 translation.
391
1a0c5ca9
KH
392 * xdisp.c (display_mode_element): When the variable `elt' is
393 changed, update `this' and `lisp_string'.
394
3d79abfb
KH
3952002-05-07 Kenichi Handa <handa@etl.go.jp>
396
397 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
398
399 * callproc.c (Fcall_process): Be sure to give the current buffer
400 to decode_coding_c_string. Update PT and PT_BYTE after the
401 insertion.
402
403 * charset.c (struct charset_map_entries): New struct.
404 (load_charset_map): Renamed from parse_charset_map. New args
405 entries and n_entries. Caller changed.
406 (load_charset_map_from_file): Renamed from load_charset_map.
407 Caller changed. New arg control_flag. Call load_charset_map at
408 the tail.
409 (load_charset_map_from_vector): New function.
410 (Fdefine_charset_internal): Setup charset.compact_codes_p.
411 (encode_char): If the charset is compact, change a character index
412 to a code point.
413
414 * coding.c (coding_alloc_by_making_gap): Check the case that the
415 source and destination are the same correctly.
416 (decode_coding_raw_text): Set coding->consumed_char and
417 coding->consumed to 0.
418 (produce_chars): If coding->chars_at_source is nonzero, update
419 coding->consumed_char and coding->consumed before calling
420 alloc_destination.
421 (Fdefine_coding_system_alias): Register ALIAS in
422 Vcoding_system_alist.
423 (syms_of_coding): Define `no-convesion' coding system at the tail.
424
425 * fileio.c (Finsert_file_contents): Set coding_system instead of
426 val. If the current buffer is multibyte, always call
427 decode_coding_gap.
428
429 * xfaces.c (try_font_list): Give higher priority to fontset's
430 family than face's family.
431
4322002-04-18 Kenichi Handa <handa@etl.go.jp>
433
434 * callproc.c (Fcall_process): Be sure to give the current buffer
435 to decode_coding_c_string.
436
437 * xfaces.c (try_font_list): Give a family specified in a fontset
438 higher priority than a family specified in a face.
439
6a709baf
KH
4402002-04-09 Kenichi Handa <handa@etl.go.jp>
441
442 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
443 Fix arguments to insert_from_buffer.
444
445 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
446
85779cf5
KH
4472002-03-11 Kenichi Handa <handa@etl.go.jp>
448
449 * coding.c (produce_chars): Set the variable `multibytep' correctly.
450 (decode_coding_gap): Set coding->dst_multibyte correctly.
451
ed9d8bda
KH
4522002-03-07 Kenichi Handa <handa@etl.go.jp>
453
ed9d8bda
KH
454 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
455 (decode_coding_utf_16): Fix converting high and low bytes to
456 code-point.
457 (encode_coding_utf_16): Substitute coding->default_char for
458 non-Unicode characters.
459 (decode_coding): Don't call record_insert here.
460 (setup_coding_system): Initialize `surrogate' of
461 coding->spec.utf_16 to 0.
462 (EMIT_ONE_BYTE): Fix for multibyte case.
463
dd6d5c01
KH
464 * insdel.c (insert_from_gap): Call record_insert.
465
3e4abc9e
KH
4662002-03-04 Kenichi Handa <handa@etl.go.jp>
467
468 * casefiddle.c (casify_region): Fix multibyte case.
469
470 * character.c (c_string_width): Add return type `int'.
471 (char_string_with_unification): Arg ADVANCED deleted.
472
473 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
474 (CHAR_STRING): Adjusted for the change of
475 char_string_with_unification.
476 (CHAR_STRING_ADVANCE): Make it do-while statement.
477
478 * chartab.c (sub_char_table_set_range): Optimized for the case
479 DEPTH == 3. Add workaround code for a GCC optimization bug.
480
85779cf5
KH
481 * charset.c (parse_charset_map): Remove an unused variable.
482
3e4abc9e
KH
483 * coding.c: Delete unused variables.
484
485 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
486 earlier. If inserted is zero and the coding system doesn't
487 require flushing, don't call decode_coding_gap.
488
489 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
490
222b0630
KH
4912002-03-01 Kenichi Handa <handa@etl.go.jp>
492
493 The following changes are for using Unicode as an internal
494 character model, and use UTF-8 format for buffer/string
495 representation.
496
497 * .gdbinit (xchartable): Adjusted for the change of char table
498 structure.
499 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
500
501 * Makefile.in (obj): Add character.o and chartab.o.
502 (lisp, shortlisp): Remove utf-8.elc:
503 (*.o): For many files, change dependency on charset.h to
504 character.h, and add dependency on character.h.
505 (character.o, chartab.o): New targets.
506
507 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c,
508 doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c,
509 w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
510 of "charset.h".
511
512 * dired.c, filelock.c: Include "character.h".
513
514 * alloc.c: Include "character.h" instead of "charset.h".
515 (Fmake_char_table): Moved to chartab.c.
516 (make_sub_char_table): Likewise.
517 (syms_of_alloc): Remove defsubr for Smake_char_table.
518
519 * buffer.c: Include "character.h" instead of "charset.h", don't
520 include "coding.h".
521 (Fset_buffer_multibyte): Adjuted for UTF-8.
522
523 * buffer.h: EXFUN Fbuffer_live_p.
524
525 * callproc.c: Include "character.h" instead of "charset.h".
526 (Fcall_process): Big change for the new code-conversion APIs.
527
528 * casetab.c: Include "character.h" instead of "charset.h".
529 (set_canon, set_identity, shuffle): Adjusted for the new
530 map_char_table spec.
531 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
532 accessing the char table structure.
533
534 * chartab.c: New file that implements char table.
535
536 * category.c: Include "character.h".
537 (copy_category_entry): New function.
538 (copy_category_table): Call map_char_table and copy_category_entry.
539 (Fmake_category_table): Initialize all top-vel slots.
540 (char_category_set): New function.
541 (modify_lower_category_set): Deleted.
542 (Fmodify_category_entry): Call char_table_ref_and_range.
543
544 * category.h (CATEGORY_SET): Just call char_category_set.
545
546 * ccl.c: Include "character.h".
547 (Qccl, Qcclp): New variables.
548 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
549 it's less than 256.
550 (CCL_WRITE_MULTIBYTE_CHAR): Deleted.
551 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjusted for the change of SRC
552 and DST type.
553 (ccl_driver): Types of arguments changed. Code adjusted for that.
554 (Fccl_execute, Fccl_execute_on_string): Adjusted for the change of
555 ccl_driver.
556 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
557
558 * ccl.h (struct ccl_program): Members eol_type and multibyte
559 deleted. New members src_multibyte, dst_multibyte, consumed, and
560 produced.
561 (struct ccl_spec): Members decoder and encoder deleted. New
562 memeber ccl.
563 (CODING_SPEC_CCL_PROGRAM): New macro.
564 (ccl_driver): Prototype updated.
565 (Qccl, Qcclp, Fccl_program_p): Extern them.
566 (CHECK_CCL_PROGRAM): New macro.
567
568 * character.c, character.h, chartab.c: New files.
569
570 * charset.c: Mostly re-written. Character and multibyte sequence
571 handling codes are moved to character.c.
572
573 * charset.h: Mostly re-written. Character and multibyte sequence
574 handling codes are moved to character.h.
575
576 * coding.c, coding.h: Mostly re-written.
577
578 * composite.c: Include "character.h" instead of "charset.h".
579 (CHAR_WIDTH): Moved to character.h.
580 (HASH_KEY, HASH_VALUE): Deleted.
581
582 * composite.h (enum composition_method): Order of enumeration
583 symbols changed.
584
585 * data.c: Include "character.h" instead of "charset.h".
586 (Faref): Call CHAR_TABLE_REF for a char table.
587 (Faset): Call CHAR_TABLE_SET for a char table.
588
589 * dispextern.h (free_realized_face, check_face_attribytes,
590 generate_ascii_font): Extern them.
591 (free_realized_multibyte_face): Extern deleted.
592
593 * disptab.h (DISP_CHAR_VECTOR): Adjusted for the change of char
594 table structure.
595
596 * editfns.c: Include "character.h" instead of "charset.h".
597 (Fchar_to_string): Always call CHAR_STRING.
598
599 * emacs.c (main): Call init_charset_once, init_charset,
600 syms_of_chartab, and syms_of_character.
601
602 * fileio.c: Include "character.h" instead of "charset.h".
603 (Finsert_file_contents): Big change for the new code-conversion
604 API.
605 (choose_write_coding_system): Likewise.
606 (Fwrite_region): Likewise.
607 (build_annotations_2): Deleted.
608 (e_write): Big change for the new code-conversion API.
609
610 * fns.c: Include "character.h" instead of "charset.h".
611 (copy_sub_char_table): Moved to chartab.c.
612 (Fcopy_sequence): Call copy_char_table for a char table.
613 (concat): Delete codes calling count_multibyte.
614 (string_char_to_byte): Adjusted for the new multibyte form.
615 (string_byte_to_char): Likewise.
616 (internal_equal): Adjusted for the change of char table structure.
617 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent,
618 Fchar_table_extra_slot, Fset_char_table_extra_slot,
619 Fchar_table_range, Fset_char_table_range, Fset_char_table_default,
620 char_table_translate, optimize_sub_char_table,
621 Foptimize_char_table, map_char_table, Fmap_char_table): Moved to
622 chartab.c.
623 (char_table_ref_and_index): Deleted.
624 (HASH_KEY, HASH_VALUE): Moved to lisp.h.
625 (Fmd5): Call preferred_coding_system instead of accessing
626 Vcoding_category_list. Adjusted for the new code-conversion API.
627 (syms_of_fns): Defsubr for char table related functions moved to
628 chartab.c.
629
630 * fontset.c: Mostly re-written.
631
632 * fontset.h (struct font_info): Type of the member encoding_type
633 changed.
634 (enum FONT_SPEC_INDEX): New enum.
635 (fontset_font_pattern, fs_load_font): Prototype updated.
636 (FS_LOAD_FONT): Adjusted for the change of fs_load_font.
637
638 * indent.c: Include "character.h" instead of "charset.h".
639 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of
640 WIDTH_BY_CHAR_HEAD.
641
642 * insdel.c: Include "character.h" instead of "charset.h".
643 (copy_text): Don't refer to Vnonascii_translation_table.
644 (insert_from_gap): New function.
645
646 * keyboard.c: Include "character.h" instead of "charset.h".
647 (command_loop_1): Never call direct_output_forward_char before
648 a non-ASCII character.
649 (read_char): If Vkeyboard_translate_table is a char table, always
650 translated a character.
651
652 * keymap.c: Include "character.h".
653 (store_in_keymap): Handle the case that IDX is a cons.
654 (Fdefine_key): Handle the case that KEY is a cons and the car part
655 is also a cons (range).
656 (push_key_description): Adjusted for the new character code.
657 (describe_vector): Call describe_char_table for a char table.
658 (describe_char_table): New function.
659
660 * keymap.h (describe_char_table): Extern it.
661
662 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
663 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
664 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS,
665 SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
666 Deleted.
667 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjusted for the new char table
668 structure.
669 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
670 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2,
671 CHARTAB_SIZE_BITS_3): New macros.
672 (chartab_size): Extern it.
673 (struct Lisp_Char_Table): Re-designed.
674 (struct Lisp_Sub_Char_Table): New structure.
675 (HASH_KEY, HASH_VALUE): Moved from fns.c.
676 (CHARACTERBITS): Defined as 22.
677 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the above change.
678 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
679 (GC_SUB_CHAR_TABLE_P): New macro.
680 (Fencode_coding_string, Fdecode_coding_string): EXFUN Updated.
681 (code_convert_string_norecord): Extern deleted.
682 (init_character_once, syms_of_character, init_charset,
683 syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
684
685 * lread.c: Include "character.h".
686 (read_multibyte): New arg NBYTES.
687 (read_escape): The meaning of returned *BYTEREP changed.
688 (to_multibyte): Deleted.
689 (read1): Adjuted the handling of char table and string.
690
691 * print.c: Include "character.h" instead of "charset.h".
692 (print_string): Convert 8-bit raw bytes to octal form by
693 string_escape_byte8.
694 (print_object): Adjusted for the new multibyte form. Print 8-bit
695 raw bytes always in octal form. Handle sub char table correctly.
696
697 * process.c: Include "character.h" instead of "charset.h".
698 (read_process_output): Adjusted for the new code-conversion API.
699 (send_process): Likewise.
700
701 * puresize.h (BASE_PURESIZE): Increased.
702
703 * regex.c: Include "character.h" instead of "charset.h".
704 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
705 (regex_compile): Accept a range whose starting and ending
706 character have different leading bytes.
707 (analyse_first): Adjusted for the above change.
708
709 * search.c: Include "character.h" instead of "charset.h".
710 (search_buffer, boyer_moore): Adjusted for the new multibyte form.
711 (Freplace_match): Adjusted for the change of
712 multibyte_char_to_unibyte.
713
714 * syntax.c: Include "character.h" instead of "charset.h".
715 (syntax_parent_lookup): Deleted.
716 (Fmodify_syntax_entry): Accept a cons as CHAR.
717 (skip_chars): Adjusted for the new multibyte form.
718 (init_syntax_once): Call char_table_set_range instead of directly
719 accessing the structure of a char table.
720
721 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
722 (SYNTAX_ENTRY_FOLLOW_PARENT): Macro deleted.
723 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
724 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
725
726 * term.c: Include "buffer.h" and "character.h".
727 (encode_terminal_code): Adjusted for the new code-conversion API.
728 (write_glyphs): Likewise.
729 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
730
731 * w32term.c (x_new_font): Adjusted for the change of FS_LOAD_FONT.
732
733 * xdisp.c: Include "character.h".
734 (get_next_display_element): Adjusted for the new multibyte form.
735 (disp_char_vector): Adjusted for the new char table structure.
736 (decode_mode_spec_coding): Adjusted for the new structure of
737 coding system.
738 (decode_mode_spec): Adjusted for the new code-conversion API.
739
740 * xfaces.c: Include "character.h" instead of "charset.h".
741 (load_face_font): Adjusted for the change of choose_face_font and
742 FS_LOAD_FONT.
743 (generate_ascii_font): New function.
744 (set_lface_from_font_name): Adjusted for the change of
745 FS_LOAD_FONT.
746 (set_font_frame_param): Adjusted for the change of
747 choose_face_font.
748 (free_realized_face): Make it public.
749 (free_realized_faces_for_fontset): Renamed from
750 free_realized_multibyte_face. Free also faces realized for ASCII.
751 (choose_face_font): Argments changed. Adjusted for the change of
752 fontset_font_pattern and FS_LOAD_FONT.
753
754 * xfns.c: Include "character.h".
755 (x_encode_text): Adjusted for the new code-conversion API.
756
6f337974
KH
757 * xselect.c: Don't include "charset.h".
758 (selection_data_to_lisp_data): Adjusted for the new code
759 covnersion API.
760
8a78c965
KH
761 * xterm.c: Include "character.h".
762 (x_encode_char): New argument CHARSET. Caller changed.
763 (x_get_char_face_and_encoding): Call ENCODE_CHAR instead of
764 SPLIT_CHAR.
765 (x_get_glyph_face_and_encoding): Likewise.
766 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
767 CHAR_WIDTH instead of CHARSET_WIDTH.
768 (XTread_socket): Adjusted for the new code-conversion API.
769 (x_new_font): Adjusted for the change of FS_LOAD_FONT.
770 (x_load_font): Adjusted for the change of struct font.
771
6922b018 772;; Local Variables:
49b3bd82 773;; coding: iso-2022-7bit
6922b018 774;; End:
2a34a036 775
3caaa30e 776 Copyright (C) 2002 Free Software Foundation, Inc.
2a34a036
GM
777 Copying and distribution of this file, with or without modification,
778 are permitted provided the copyright notice and this notice are preserved.