]> code.delx.au - gnu-emacs/blob - src/ChangeLog.22
Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-69
[gnu-emacs] / src / ChangeLog.22
1 2004-10-29 Kenichi Handa <handa@m17n.org>
2
3 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
4 already at limit.
5
6 2004-10-23 Kenichi Handa <handa@m17n.org>
7
8 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9 instead of fast_c_string_match_ignore_case.
10 (find_font_encoding): Argument changed to Lisp_Object. Use
11 fast_string_match_ignore_case instead of
12 fast_c_string_match_ignore_case. Caller changed.
13
14 2004-10-15 Kenichi Handa <handa@m17n.org>
15
16 * xdisp.c (get_next_display_element): In unibyte case, decide to
17 display in octal form by checking a chacter by
18 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
19
20 * charset.c (Fset_unibyte_charset): Setup
21 unibyte_has_multibyte_table.
22
23 * character.c (unibyte_has_multibyte_table): New variable.
24
25 * character.h (unibyte_has_multibyte_table): Extern it.
26 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
27
28 2004-10-14 Kenichi Handa <handa@m17n.org>
29
30 * callproc.c (Fcall_process): Fix merging of 2004-10-13 change.
31
32 2004-10-13 Kenichi Handa <handa@m17n.org>
33
34 * coding.c (encode_coding_iso_2022): Fix handling of charset
35 annotation.
36
37 2004-10-12 Kenichi Handa <handa@m17n.org>
38
39 * coding.c (setup_coding_system): If coding_system is nil, use
40 Qundecided.
41 (Fterminal_coding_system): Return nil if terminal coding system is
42 `undecided'.
43 (syms_of_coding): Define coding-system `undecided' here. Setup
44 terminal_coding as `undecided'.
45
46 2004-10-04 Kenichi Handa <handa@m17n.org>
47
48 * xdisp.c (message_dolog, set_message_1): Call
49 unibyte_char_to_multibyte with arg type int.
50
51 * fileio.c (Fsubstitute_in_file_name): Fix previous change.
52
53 * lread.c (read1): Fix reading of a char-table.
54
55 * print.c (print_object): Include sub char-table in cicularities
56 detection.
57
58 2004-10-01 Kenichi Handa <handa@m17n.org>
59
60 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
61 cons. Append the found sequences in car of ARGS instead of
62 prepending.
63
64 2004-09-28 Kenichi Handa <handa@m17n.org>
65
66 * fileio.c (report_file_error): Make a unibyte string from
67 strerror (errorno).
68 (Fsubstitute_in_file_name): Fix the arg to
69 unibyte_char_to_multibyte. It is evaluated twice.
70
71 2004-09-19 Kenichi Handa <handa@m17n.org>
72
73 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
74
75 2004-09-14 Kenichi Handa <handa@m17n.org>
76
77 * coding.c (detect_coding): Fix previous change.
78
79 2004-09-13 Kenichi Handa <handa@m17n.org>
80
81 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
82 BOM is not found.
83 (detect_coding): Optimization for ISO-2022 when no 8-bit data is
84 found.
85 (detect_coding_system): Likewise.
86
87 2004-09-01 Jason Rumney <jasonr@gnu.org>
88
89 * w32fns.c (x_to_w32_font): Update to use new coding struct.
90
91 2004-08-17 Kenichi Handa <handa@m17n.org>
92
93 * charset.c (Fdeclare_equiv_charset): Fix handing of CHARS.
94 (Fiso_charset): Likewise.
95
96 2004-08-03 Steven Tamm <steventamm@mac.com>
97
98 * macterm.c (mac_encode_char): Add charset argument and update
99 to use encoding_type
100 (x_new_font,x_new_fontset): Merge in changes from xterm.c;
101 switch to pure fontset
102 (decode_mac_font_name): Temporarily remove decoding
103 (x_font_name_to_mac_font_name): Temporarily remove encoding
104 (x_load_font): Temporarily remove encoding
105
106 2004-06-30 Kenichi Handa <handa@m17n.org>
107
108 * xfaces.c (Fface_font): If frame is not on a window system,
109 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
110 refer to face->font.
111 (split_font_name_into_vector, build_font_name_from_vector)
112 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
113 whne HAVE_WINDOW_SYSTEM is defined.
114
115 2004-05-29 Kenichi Handa <handa@m17n.org>
116
117 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
118 (x_produce_glyphs): Fix setting of members of cmp in case
119 cmp->glyph_len is zero,
120
121 * fontset.c (Fset_fontset_font): Docstring fixed.
122 (Ffontset_info): Make it backward compatible. New arg ALL.
123
124 2004-05-11 Kim F. Storm <storm@cua.dk>
125
126 * process.c (read_process_output): Grow decoding_buf when needed;
127 this could cause a crash in allocate_string and compact_small_strings.
128
129 2004-04-29 Kenichi Handa <handa@m17n.org>
130
131 * fileio.c (WRITE_BUF_SIZE): This macro deleted.
132 (e_write): Fix previous change.
133
134 2004-04-28 Kenichi Handa <handa@m17n.org>
135
136 * coding.c (setup_coding_system): Set coding->common_flags
137 correctly for raw-text.
138 (consume_chars): On encoding unibyte text by raw-text, don't check
139 multibyte form.
140 (encode_coding): On encoding by raw-text, never use translation
141 tables.
142
143 * fileio.c (e_write): Short cut for the case of no encoding.
144
145 2004-04-20 Kenichi Handa <handa@m17n.org>
146
147 * coding.c (detect_coding): Delete unused variables.
148 (detect_coding_system): Likewise.
149
150 2004-04-18 Kenichi Handa <handa@m17n.org>
151
152 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
153 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
154
155 2004-04-14 Kenichi Handa <handa@m17n.org>
156
157 Sync all files to HEAD.
158
159 2004-04-14 Kenichi Handa <handa@m17n.org>
160
161 * coding.c (Ffind_coding_systems_region_internal): Include
162 raw-text and no-conversion in the result.
163
164 * fontset.h: Sync to HEAD.
165
166 * fontset.c: Sync to HEAD.
167
168 2004-04-14 Kenichi Handa <handa@m17n.org>
169
170 * fontset.c (find_font_encoding): Return `ascii' for unknown
171 encoding.
172 (load_font_get_repertory): Delete unnecessary check of ENCODING of
173 FONT_DEF.
174 (font_def_arg, add_arg, from_arg, to_arg): New args.
175 (set_fontset_font): Argument changed.
176 (Fset_fontset_font): Fix for the case that TARGET is a script
177 name and charset name.
178 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
179
180 2004-04-13 Kenichi Handa <handa@m17n.org>
181
182 * fontset.c (fontset_font): Renamed from fontset_face. Return
183 value changed.
184 (face_suitable_for_char_p): Adjusted for the change of
185 fontset_font.
186 (face_for_char): Likewise.
187 (make_fontset_for_ascii_face): Fix setting of the fontset element
188 for ASCII.
189 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
190 to get a font name.
191 (Ffontset_info): Adjusted for the change of fontset_font.
192
193 * composite.c: Sync to HEAD.
194
195 * search.c: Sync to HEAD.
196
197 * coding.c: Sync to HEAD.
198 (emacs_mule_char): Check invalid code more regidly.
199
200 * coding.h: Sync to HEAD.
201
202 * charset.c: Sync to HEAD.
203
204 * charset.h: Sync to HEAD.
205
206 * character.h (LEADING_CODE_LATIN_1_MIN)
207 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
208
209 2004-04-08 Kenichi Handa <handa@m17n.org>
210
211 * category.h: Sync to HEAD.
212
213 * category.c: Sync to HEAD.
214
215 * syntax.h: Sync to HEAD.
216
217 * syntax.c: Sync to HEAD.
218
219 * regex.h: Sync to HEAD.
220
221 * regex.c: Sync to HEAD.
222
223 2004-04-07 Kenichi Handa <handa@m17n.org>
224
225 * editfns.c: Sync to HEAD.
226 (check_translation): New function.
227 (Ftranslate_region_internal): Handle M:N mapping.
228
229 2004-04-06 Kenichi Handa <handa@m17n.org>
230
231 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
232
233 2004-03-30 Kenichi Handa <handa@m17n.org>
234
235 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
236 goto invalid_code.
237 (decode_coding_iso_2022): Fix handling of invalid designation.
238
239 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
240 after calling code_conversion_save.
241
242 2004-03-11 Kenichi Handa <handa@m17n.org>
243
244 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
245
246 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
247
248 * fontset.c: Include "intervals.h".
249 (fontset_face): Fix comparing of Lisp_Objects.
250 (free_face_fontset): Fix Lisp_Object/int mixup.
251 (new_fontset_from_font_name): Likewise.
252
253 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
254
255 * coding.c: Add many prototypes for static functions.
256 (get_translation_table): Allow max_lookup to be NULL.
257 (decode_coding): Call get_translation_table with max_lookup NULL.
258 (Ffind_coding_systems_region_internal): Likewise.
259 (Funencodable_char_position, Fcheck_coding_systems_region):
260 Likewise.
261
262 2004-03-11 Kenichi Handa <handa@m17n.org>
263
264 * coding.c (get_translation_table): Declare it as Lisp_Object.
265 (LOOKUP_TRANSLATION_TABLE): New macro.
266 (produce_chars): Use LOOKUP_TRANSLATION_TABLE instead of
267 CHAR_TABLE_REF.
268 (consume_chars): Likewise.
269
270 2004-03-11 Kenichi Handa <handa@m17n.org>
271
272 * coding.c (MAX_ANNOTATION_LENGTH): Adjusted for the change of
273 annotation data format.
274 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
275 Change arguments FROM and TO to single argument NCHARS. Caller
276 changed.
277 (decode_coding_utf_8): Pay attention to coding->charbuf_used.
278 (decode_coding_utf_16, decode_coding_emacs_mule)
279 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
280 (decode_coding_ccl, decode_coding_charset): Likewise.
281 (get_translation): New function.
282 (produce_chars): New arguments translation_table and last_block.
283 Translate characters here. Return number of carryover chars.
284 Caller changed.
285 (produce_composition): New argument pos. Caller changed.
286 Adjusted for the change of annotation data format.
287 (produce_charset, produce_annotation): Likewise.
288 (decode_coding, encode_coding): Don't call translate_chars.
289 (consume_chars): New arg translation_table. Caller changed.
290 (translate_chars): Deleted.
291 (syms_of_coding): Make translation-table's number of extra slots
292 2.
293
294 2004-03-09 Kenichi Handa <handa@m17n.org>
295
296 * search.c (simple_search): Fix setting this_pos_byte in backward
297 search.
298
299 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
300 byte sequence.
301 (detect_coding_ccl): Fix setting of the variable valids.
302
303 2004-03-04 Kenichi Handa <handa@m17n.org>
304
305 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
306
307 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
308
309 * editfns.c (Ftranslate_region_internal): Renamed from
310 Ftranslate_region. Accept a char-table in TABLE.
311 (syms_of_editfns): Defsubr Stranslate_region_internal.
312
313 * xfaces.c (set_lface_from_font_name): If a font is specified for
314 a frame, generate a fontset from the font.
315 (build_scalable_font_name): If the scalable font is requested for
316 a specific size, don't change that size.
317 (try_font_list): Try a scalable font also in the case that a
318 pattern string is specified,
319
320
321 2004-03-03 Kenichi Handa <handa@m17n.org>
322
323 * xfaces.c (Fface_font): New optional arg CHARACTER.
324
325 2004-02-17 Kenichi Handa <handa@m17n.org>
326
327 * charset.h (CHARSET_OFFSET): New macro.
328
329 2004-02-13 Kenichi Handa <handa@m17n.org>
330
331 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
332
333 * fontset.c (fontset_face): Handle the case that repertory is a
334 char-table.
335 (find_font_encoding): Return nil for unknown encoding.
336 (Fset_fontset_font): Ignore a font of unknown encoding.
337
338 2004-02-09 Kenichi Handa <handa@m17n.org>
339
340 * keymap.c (describe_vector): Handle default value of a char
341 table.
342
343 * fontset.c (fontset_face): Handle fallback fonts correctly.
344 (Ffontset_info): Return infomation about fallback fonts.
345
346 2004-02-06 Kenichi Handa <handa@m17n.org>
347
348 * fontset.c (FONTSET_DEFAULT): New macro.
349 (FONTSET_ADD): Handle the case that range is nil.
350 (fontset_add): Likewise.
351 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
352 the case that it is nil.
353 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
354 (syms_of_fontset): Set char-table-extra-slots property of fontset
355 to 9.
356
357 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
358 subset or superset.
359
360 2004-01-30 Kenichi Handa <handa@m17n.org>
361
362 * emacs.c (main): Call init_charset after syms_of_XXX.
363
364 * charset.c (Vcharset_map_directory): Deleted.
365 (Vcharset_map_path): New variable
366 (load_charset_map_from_file): Use Vcharset_map_path instead.
367 (init_charset): Initialize Vcharset_map_path.
368 (syms_of_charset): Delete declaration of "charset-map-directory",
369 add declaration of "charset-map-path".
370
371 2004-01-29 Kenichi Handa <handa@m17n.org>
372
373 * fns.c (string_char_to_byte): Optimize for ASCII only string.
374 (string_byte_to_char): Likewise.
375
376 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
377
378 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
379 (detect_coding): Treat '\0' as normal ASCII byte..
380 (detect_coding_system): Likewise.
381
382 2004-01-27 Kenichi Handa <handa@m17n.org>
383
384 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
385
386 * coding.c (QCmnemonic, QCdefalut_char)
387 (QCdecode_translation_table, QCencode_translation_table)
388 (QCpost_read_conversion, QCpre_write_conversion): New variables.
389 (get_translation_table): Return a list of translation tables if
390 necessary.
391 (decode_coding): Call get_translation_table with ENCODEP 0.
392 (char_encodable_p): If translation_table is non-nil, always call
393 translate_char.
394 (Fdefine_coding_system_internal): Accept list of translation
395 tables as :encode-translation-table and :decode-translation-table.
396 (Fcoding_system_put): New function.
397 (syms_of_coding): Declare new symbols. Defsubr
398 Scoding_system_put.
399 (decode_coding_sjis): Handle 4th charset (typically JISX0212).
400 (encode_coding_sjis): Likewise.
401
402 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
403 when the charset is superset type.
404
405 * character.c (translate_char): Accept list of translation tables.
406
407 2004-01-25 Kenichi Handa <handa@m17n.org>
408
409 * coding.h (enum coding_attr_index): New member
410 coding_attr_trans_tbl.
411 (CODING_ATTR_TRANS_TBL): New macro.
412
413 * coding.c (get_translation_table): New function.
414 (translate_chars): Fix the bug of skipping annotation data.
415 (decode_coding): Utilze get_translation_table.
416 (encode_coding): Likewise.
417 (char_encodable_p): Translate char if necessary.
418 (Funencodable_char_position): Likewise.
419 (Ffind_coding_systems_region_internal): Setup translation table
420 for encode in a coding system attribute vector in advance.
421 (Fcheck_coding_systems_region): Likewise.
422 (Fdefine_coding_system_internal): Allow a symbol as translation
423 table. For shift-jis type coding system, allow 4th charset.
424
425 2004-01-24 Kenichi Handa <handa@m17n.org>
426
427 * coding.c (decode_coding_sjis): Check the first byte rigidly.
428
429 * xdisp.c (get_next_display_element): Pass -1 as POS to
430 FACE_FOR_CHAR if displaying a C-string.
431
432 2004-01-23 Kenichi Handa <handa@m17n.org>
433
434 * composite.c (get_composition_id): Handle xoff and yoff in a
435 composition rule.
436
437 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
438 (struct composition): New member lbearing and rbearing.
439
440 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
441 (x_get_glyph_overhangs): Handle a composition glyph.
442 (x_produce_glyphs): Setup lbearing and rbreaing for a composition
443 glyph.
444
445 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
446 composition glyph.
447
448 2004-01-18 Kenichi Handa <handa@m17n.org>
449
450 * print.c: Include charset.h.
451 (Vprint_charset_text_property): New variable.
452 (Qdefault): Extern it.
453 (PRINT_STRING_NON_CHARSET_FOUND)
454 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
455 (print_check_string_result): New variable.
456 (print_check_string_charset_prop): New function.
457 (print_prune_charset_plist): New variable.
458 (print_prune_string_charset): New function.
459 (print_object): Call print_prune_string_charset if
460 Vprint_charset_text_property is not t.
461 (print_interval): Print nothing if itnerval->plist is nil.
462 (syms_of_print): Declare Vprint_charset_text_property as a lisp
463 variable. Init and staticpro print_prune_charset_plist.
464
465 2004-01-15 Kenichi Handa <handa@m17n.org>
466
467 * fontset.c (new_fontset_from_font_name): Use the specified font
468 for all characters in the new fontset.
469
470 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
471 OBJECT args.
472
473 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
474 OBJECT args for composition too.
475
476 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
477 OBJECT args.
478
479 2004-01-13 Kenichi Handa <handa@m17n.org>
480
481 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
482
483 * fontset.c (reorder_font_vector): Adjusted for the change of
484 FONT_DEF format.
485 (fontset_face): New arg id. Caller changed.
486 (face_for_char): New args pos and object.
487 (make_fontset_for_ascii_face): Adjusted for the change of FONT_DEF
488 format.n
489 (fs_query_fontset): Check NAME by Fassoc too.
490 (Fset_fontset_font): Allow non-XLFD font name.
491 (Ffontset_info): Adjusted for the change of FONT_DEF format.
492
493 * fontset.h (face_for_char): Prototype adjusted.
494
495 * xdisp.c (face_before_or_after_it_pos): Call FACE_FOR_CHAR with
496 POS and OBJECT args.
497 (get_next_display_element): Likewise.
498 (append_space): Likewise.
499 (extend_face_to_end_of_line): Likewise.
500 (get_char_face_and_encoding): Likewise.
501 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
502 (x_produce_glyphs): Likewise.
503
504 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
505 POS and OBJECT args.
506
507 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
508 POS and OBJECT args.
509
510 2004-01-03 Jason Rumney <jasonr@gnu.org>
511
512 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
513 of GlobalAlloc'ed memory.
514
515 2003-12-29 Kenichi Handa <handa@m17n.org>
516
517 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
518
519 * charset.h (charset_table_used): Delete extern.
520
521 * charset.c (charset_table_used): Make it static.
522 (map_charset_chars): Fix args to c_function with.
523
524 * chartab.c (map_sub_char_table_for_charset): Fix args to
525 c_function with.
526
527 * coding.h (enum coding_result_code): Delete
528 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
529
530 * coding.c (Qinsufficient_source, Qinconsistent_eol)
531 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New
532 variables.
533 (Vlast_code_conversion_error): New variables.
534 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
535 (ONE_MORE_BYTE): Record error if any instead of signaling an
536 error. If non-ASCII multibyte char is found, return the negative
537 value of the code. All callers changed to check it.
538 (ONE_MORE_BYTE_NO_CHECK): Likewise.
539 (record_conversion_result): New function. All codes setting
540 coding->result are changed to call this function.
541 (detect_coding_utf_8): Don't use the local variable incomplete.
542 (decode_coding_utf_8): Likewise.
543 (emacs_mule_char): Change the second arg to `const'.
544 (detect_coding_emacs_mule): Don't use the local variable
545 incomplete.
546 (detect_coding_sjis): Likewise.
547 (detect_coding_big5): Likewise.
548 (decode_coding): Fix of flushing out unprocessed data.
549 (make_conversion_work_buffer): Fix making of a work buffer.
550 (decode_coding_object): Return coding->dst_object;
551
552 * fontset.c (set_fontset_font): Fix args.
553
554 * lisp.h (CHARACTERBITS): Define as 22.
555
556 * process.c (send_process): Be sure to set coding->src_multibyte.
557
558 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
559
560 2003-12-02 Kenichi Handa <handa@m17n.org>
561
562 * xdisp.c (handle_auto_composed_prop): Give limit to
563 Fnext_single_char_property_change.
564
565 2003-12-02 Kenichi Handa <handa@m17n.org>
566
567 * coding.c (detect_coding): Fix previous change.
568 (detect_coding_system): Likewise.
569
570 2003-12-02 Kenichi Handa <handa@m17n.org>
571
572 * composite.c (syms_of_composite): Don't make the compostion hash
573 table week.
574
575 * fontset.c (Fset_fontset_font): Fix docstring.
576
577 * lisp.h (detect_coding_system): Adjust prototype.
578
579 * fileio.c (kill_workbuf_unwind): Delete this function.
580 (Finsert_file_contents): Adjust the call of detect_coding_system.
581 Get conversion_buffer by code_conversion_save. Use the macor
582 CODING_MAY_REQUIRE_DECODING. After decoding, update
583 coding_system.
584
585 * coding.h (make_conversion_work_buffer): Delete extern.
586 (code_conversion_save): Extern it.
587
588 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
589 (CODING_GET_INFO): Delete argument eol_type. Callers changed.
590 (decode_coding_utf_8): Don't do eol converion.
591 (detect_coding_utf_16): Check coding->src_chars, not
592 coding->src_bytes. Add heuristics for those that have no
593 signature.
594 (decode_coding_emacs_mule): Don't do eol converion.
595 (decode_coding_iso_2022): Likewise.
596 (decode_coding_sjis): Likewise.
597 (decode_coding_big5): Likewise.
598 (decode_coding_charset): Likewise.
599 (adjust_coding_eol_type): Return a new coding system.
600 (detect_coding): Don't detect eol. Fix for utf-16 detection.
601 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
602 each change.
603 (decode_coding): Pay attention to undo_list. Do eol convesion for
604 all types of coding-systems (if necessary).
605 (Vcode_conversion_work_buf_list): Delete it.
606 (Vcode_conversion_reused_workbuf): Renamed from
607 Vcode_conversion_reused_work_buf.
608 (Vcode_conversion_workbuf_name): New variable.
609 (reused_workbuf_in_use): New variable.
610 (make_conversion_work_buffer): Delete the arg DEPTH.
611 (code_conversion_restore): Argument changed to cons.
612 (code_conversion_save): Delete the argument BUFFER. Callers
613 changed.
614 (detect_coding_system): New argument src_chars. Callers changed.
615 Fix for utf-16 detection.
616 (init_coding_once): Don't use ISO_carriage_return.
617 (syms_of_coding): Initialized Vcode_conversion_workbuf_name and
618 reused_workbuf_in_use.
619
620 2003-11-24 Kenichi Handa <handa@m17n.org>
621
622 * keymap.c (store_in_keymap): Pay attention to the case that idx
623 is a cons specifying a character range.
624
625 * coding.c (Fdefine_coding_system_internal): Fix previous change.
626
627 2003-11-23 Kenichi Handa <handa@m17n.org>
628
629 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
630 HANDLED_RECOMPUTE_PROPS.
631
632 * coding.c (Fdefine_coding_system_internal): Fix checking of
633 ascii compatibility.
634
635 2003-11-22 Kenichi Handa <handa@m17n.org>
636
637 * charset.c (find_charsets_in_text): Delete unused locale
638 variable.
639 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
640
641 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
642 Resync charset_list to Vemacs_mule_charset_list.
643
644 * keymap.c (store_in_keymap): Pay attention to the case that idx
645 is a cons specifying a character range.
646
647 2003-11-18 Kenichi Handa <handa@m17n.org>
648
649 * composite.c (update_compositions): Bind inhibit-read-only, etc
650 to t before calling remove-list-of-text-properties.
651
652 * print.c (print_object): Always print ASCII chars as is.
653
654 2003-11-17 Kenichi Handa <handa@m17n.org>
655
656 * keymap.c (Fdefine_key): Fix handling of Lucid style event type
657 list.
658
659 * fns.c (Fmapconcat): Signal an error if SEQUENCE is a char table.
660 (Fmapcar): Likewise.
661 (Fmapc): Likewise.
662
663 2003-11-15 Kenichi Handa <handa@m17n.org>
664
665 * syntax.c (skip_chars): Be sure to alloca char_ranges when
666 necessary.
667
668 2003-11-14 Kenichi Handa <handa@m17n.org>
669
670 * xfaces.c (set_lface_from_font_name): Fix for the case that
671 FONTNAME is not fontset name.
672
673 2003-11-13 Kenichi Handa <handa@m17n.org>
674
675 * fns.c (base64_encode_1): Fix previous change.
676
677 2003-11-08 Kenichi Handa <handa@m17n.org>
678
679 * fontset.c (set_fontset_font): New function.
680 (Fset_fontset_font): If a font is specified for a charset, use
681 map_charset_chars to store the font spec in a fontset.
682
683 2003-10-29 Kenichi Handa <handa@m17n.org>
684
685 * fontset.c (fontset_face): Create a fallback fontset on demand
686 (make_fontset): Don't create a fallback fontset here.
687 (free_face_fontset): Free a fallback fontset (if any) too.
688 (n_auto_fontsets): Delete this variable.
689 (auto_fontset_alist): New variable.
690 (new_fontset_from_font_name): Check auto_fontset_alist.
691 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
692 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
693 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
694 Defsubr Sfontset_list_all.
695
696 2003-10-24 Kenichi Handa <handa@m17n.org>
697
698 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
699
700 2003-10-23 Kenichi Handa <handa@m17n.org>
701
702 * fontset.c (Fnew_fontset): Check NAME more rigidly.
703
704 2003-10-17 Kenichi Handa <handa@m17n.org>
705
706 * editfns.c (Fgoto_char): Fix docstring.
707
708 2003-10-16 Kenichi Handa <handa@m17n.org>
709
710 * insdel.c (insert_from_gap): Adjust intervals correctly.
711
712 2003-10-12 Jason Rumney <jasonr@gnu.org>
713
714 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
715 (pfnGetFontUnicodeRanges): New dynamically loaded function.
716 (w32_initialize): Try to load it.
717 (x_get_font_repertory): Use it if available.
718 (w32_encode_char): Add shortcut for unicode output.
719
720 * w32fns.c (w32_load_system_font): Default charset to -1.
721 (x_to_w32_charset): Match all fonts for unicode.
722 (w32_to_x_charset): New parameter matching. Don't return partial
723 or wildcard charsets.
724 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
725 (w32_codepage_for_font): Return CP_UNICODE for unicode.
726 (w32_to_x_font): Match charset to real charset.
727 (enum_font_cb2): Always list unicode versions.
728
729 * makefile.w32-in (temacs): Increase EMHEAP.
730
731 2003-10-11 Jason Rumney <jasonr@gnu.org>
732
733 * w32term.c (w32_encode_char): New charset parameter.
734 font_info.encoding becomes encoding_type.
735 (x_get_font_repertory): New function. Warning: stub only!
736 (x_new_font): Return quickly if font already set.
737 (x_new_fontset): fontsetname parameter is Lisp_Object.
738 Use new fs_query_fontset. Try new_fontset_from_font_name. Use
739 fontset_name for return value.
740
741 * w32term.h: Declare x_get_font_repertory.
742
743 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
744 place of find_charset_in_text. Use encode_coding_object in place
745 of encode_coding.
746 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
747 decode_coding.
748
749 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
750 of x_new_fontset.
751 (w32_load_system_font): Initialize charset as unicode.
752 font_info.encoding becomes encoding_type.
753 (w32_to_x_font): Use decode_coding_c_string in place of
754 decode_coding.
755 (x_to_w32_font): Use encode_coding_object in place of
756 encode_coding.
757 (syms_of_w32fns): Set get_font_repertory_func.
758
759 * w32console.c: Include character.h. Use terminal_encode_buffer
760 from term.c.
761 (write_glyphs): Use new version of encode_terminal_code. Use
762 encode_coding_object in place of encode_coding.
763
764 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
765 encoding becomes encoding_type.
766
767 * term.c (terminal_encode_buffer): Make externally visible.
768
769 * makefile.w32-in: Add character.h dependancies.
770 (character.o, chartab.o): New targets.
771
772 2003-10-10 Kenichi Handa <handa@m17n.org>
773
774 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
775 CODING_ID_EOL_TYPE..
776
777 2003-10-07 Andreas Schwab <schwab@suse.de>
778
779 * coding.c (produce_chars): Revert last change.
780
781 2003-10-06 Kenichi Handa <handa@m17n.org>
782
783 * charset.h (charset_unicode): Extern it.
784
785 * charset.c (string_xstring_p): Check by (C >= 0x100).
786 (find_charsets_in_text): Format of the arc CHARSETS changed. New
787 arg MULTIBYTE.
788 (Ffind_charset_region, Ffind_charset_string): Adjusted for the
789 change of find_charsets_in_text.
790 (Fsplit_char): Fix doc. Never return unknown.
791
792 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
793
794 * coding.c (Fdefine_coding_system_alias): Update
795 Vcoding_system_list.
796
797 * fontset.c (load_font_get_repertory): Pay attention to the case
798 that ENCODING of a font is specified by a char-table.
799
800 * xterm.c (x_get_font_repertory): Handle the case that the
801 encoding of font is other than Unicode.
802
803 2003-10-02 Kenichi Handa <handa@m17n.org>
804
805 * term.c (encode_terminal_code): Don't handle glyph-table. Check
806 if a character is encodable by the terminal coding system. If
807 not, produces proper number of `?'s. Update
808 terminal_encode_buffer and terminal_encode_buf_size if necessary.
809 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
810
811 2003-10-01 Kenichi Handa <handa@m17n.org>
812
813 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
814 variables.
815 (encode_terminal_code): Argument changed. Encode multiple
816 characters at once. Store the result of encoding in
817 terminal_encode_buffer.
818 (write_glyphs): Adjusted for the change of encode_terminal_code.
819 (insert_glyphs): Likewise.
820 (term_init): Initialize terminal_encode_buffer and
821 terminal_encode_buf_size.
822
823 * coding.c (consume_chars): If coding->src_object is nil, don't
824 check annotation.
825
826 2003-09-30 Kenichi Handa <handa@m17n.org>
827
828 * character.c (char_string): Use ASCII_CHAR_P instead of
829 SINGLE_BYTE_CHAR_P.
830
831 2003-09-30 Kenichi Handa <handa@m17n.org>
832
833 * xdisp.c (handle_auto_composed_prop): Check if the last
834 characters of auto-composed region is newly composed with the
835 following characters.
836 (handle_composition_prop): Fix checking of point being inside
837 composition.
838
839 2003-09-26 Kenichi Handa <handa@m17n.org>
840
841 * fns.c (concat): Don't change multibyteness of the result by
842 concatenating an 8-bit character.
843
844 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
845 multibyteness of the result when newelt is an 8-bit character.
846
847 2003-09-29 Dave Love <fx@gnu.org>
848
849 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
850 EMACS_INT.
851
852 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
853
854 * xfaces.c (face_numeric_value): Declare dim size_t.
855 (Finternal_lisp_face_equal_p): Remove unused f.
856
857 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
858 (MATRIX_ROW): Remove unused vars.
859 (draw_glyphs, x_insert_glyphs, fast_find_position)
860 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
861 byte/char counts.
862
863 * regex.c (regex_compile): Remove unused var.
864
865 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
866
867 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
868 (Faccessible_keymaps, where_is_internal): Remove unused vars.
869
870 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
871
872 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
873
874 * fileio.c (Fwrite_region): Remove unused var.
875
876 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
877 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
878
879 * composite.c (Fremove_list_of_text_properties): Declare.
880
881 * coding.c (inhibit_pre_post_conversion): Removed (unused).
882 (alloc_destination, produce_chars): Use EMACS_INT for byte/char
883 counts.
884 (coding_inherit_eol_type): Remove unused attrs.
885 (detect_coding): Cast arg of detect_eol.
886
887 * charset.c (syms_of_charset): Remove unused var p.
888 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
889 byte/char counts.
890
891 * casetab.c (set_case_table): Remove unused var.
892
893 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
894 unsued vars.
895
896 >>>>>>> 1.1.2.8
897 2003-09-26 Dave Love <fx@gnu.org>
898
899 * xterm.c (x_bitmap_mask): Declare.
900
901 2003-09-17 Dave Love <fx@gnu.org>
902
903 * xterm.c (x_term_init): Fix type error.
904
905 * lisp.h: Add Funibyte_char_to_multibyte.
906
907 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
908 (Fset_coding_system_priority): Doc fix.
909
910 * alloc.c: Sync with HEAD version.
911
912 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
913
914 * indent.c (check_composition): Make start and end EMACS_INT.
915
916 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
917
918 * xdisp.c (handle_composition_prop, check_point_in_composition):
919 Make buffer positions EMACS_INT.
920
921 * composite.c (find_composition, run_composition_function)
922 (update_compositions, Ffind_composition_internal): Make buffer
923 positions EMACS_INT.
924
925 * composite.h (find_composition, update_compositions): Make
926 position args EMACS_INT.
927
928 * keyboard.c (adjust_point_for_property): Make beg and end
929 EMACS_INT.
930
931 * intervals.c (get_property_and_range)
932 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
933
934 * unexalpha.c: Don't include varargs.h.
935
936 2003-09-16 Dave Love <fx@gnu.org>
937
938 * coding.h (ENCODE_UTF_8): New.
939
940 * Makefile.in (gtkutil.o): Depend on coding.h.
941
942 * coding.c (Fset_coding_system_priority): Doc fix.
943
944 2003-09-16 Kenichi Handa <handa@m17n.org>
945
946 * fileio.c (Finsert_file_contents): Call setup_coding_system in
947 the case of auto saving.
948
949 2003-09-10 Andreas Schwab <schwab@suse.de>
950
951 * chartab.c (map_char_table): Protect `range' from GC.
952 (map_char_table_for_charset): Likewise.
953
954 2003-07-09 Kenichi Handa <handa@m17n.org>
955
956 * coding.c (decode_coding_sjis): Check bytes more rigidly.
957
958 2003-06-26 Kenichi Handa <handa@m17n.org>
959
960 * fileio.c (choose_write_coding_system): Return a decided coding
961 system.
962 (Fwrite_region): Set Vlast_coding_system_used to the return value
963 of choose_write_coding_system.
964
965 2003-06-06 Kenichi Handa <handa@m17n.org>
966
967 * charset.c (Fset_charset_priority): Pay attention to duplicated
968 arguments.
969
970 * coding.c (QCcategory): New variable.
971 (syms_of_coding): Defsym it. Set all elements of
972 Vcoding_category_table and their symbol values.
973 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
974 coding-category-XXX, and coding-category-list.
975 (Fdefine_coding_system_internal): Add category in the plist.
976
977 2003-06-05 Kenichi Handa <handa@m17n.org>
978
979 * callproc.c (Fcall_process): Handle carryover correctly.
980
981 * coding.c (decode_coding_iso_2022): Fix handling of invalid
982 bytes.
983 (raw_text_coding_system): Check NILP (coding_system).
984 (coding_inherit_eol_type): Check NILP (coding_system) and
985 NILP (parent).
986 (consume_chars): Fix for the case of raw-text.
987
988 * process.c (read_process_output): Handle carryover correctly.
989
990 2003-06-02 Dave Love <fx@gnu.org>
991
992 * regex.c (re_search_2): Fix last change.
993
994 2003-05-30 Kenichi Handa <handa@m17n.org>
995
996 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
997 target_multibyte. Even in a unibyte case, return a converted
998 multibyte char.
999 (GET_CHAR_AFTER): New macro.
1000 (PATFETCH): Translate via multibyte char.
1001 (HANDLE_UNIBYTE_RANGE): Delete this macro.
1002 (SETUP_MULTIBYTE_RANGE): New macro.
1003 (regex_compile): Setup compiled code so that its multibyteness
1004 matches that of a target. Fix the handling of "[X-YZ]" using
1005 SETUP_MULTIBYTE_RANGE.
1006 (analyse_first) <charset>: For filling fastmap for all multibyte
1007 characters, don't check by BASE_LEADING_CODE_P.
1008 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
1009 the same as RE_MULTIBYTE_P (bufp) now.
1010 (mutually_exclusive_p): Check by (! multibyte ||
1011 IS_REAL_ASCII (c)).
1012 (TARGET_CHAR_AND_LENGTH): Delete this macro.
1013 (TRANSLATE_VIA_MULTIBYTE): New macro.
1014 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
1015 It is the same as RE_MULTIBYTE_P (bufp) now.
1016 <exactn>: Translate via multibyte.
1017 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
1018 translate it.
1019 <charset, charset_not>: Fetch a character by
1020 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
1021 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
1022 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
1023 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
1024 by GET_CHAR_AFTER.
1025 (bcmp_translate): Likewise.
1026
1027 * search.c (compile_pattern): Check the member target_multibyte,
1028 not the member multibyte of buf.
1029
1030 * lread.c (read1): While reading a string, set force_singlebyte
1031 and force_multibyte correctly.
1032
1033 * charset.c (Fset_unibyte_charset): Fix setting up of
1034 unibyte_to_multibyte_table.
1035 (init_charset_once): Likewise.
1036
1037 2003-05-29 Kenichi Handa <handa@m17n.org>
1038
1039 * coding.c (setup_coding_system): If coding has
1040 post-read-conversion or pre-write-conversion, set
1041 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
1042 respectively.
1043 (decode_coding_gap): Run post-read-conversion if any.
1044
1045 * fileio.c (Finsert_file_contents): Even if we read into a
1046 unibyte buffer, check if we must decode the result or not.
1047
1048 2003-05-29 Kenichi Handa <handa@m17n.org>
1049
1050 * coding.c (make_conversion_work_buffer): Change the work buffer
1051 name to the same one as that of Emacs 21.
1052
1053 2003-05-28 Kenichi Handa <handa@m17n.org>
1054
1055 * coding.h (make_conversion_work_buffer): Prototype adjusted.
1056 (code_conversion_restore): Don't extern it.
1057
1058 * coding.c (detected_mask): Delete unused variable.
1059 (decode_coding_iso_2022): Pay attention to the byte sequence of
1060 CTEXT extended segment, and retain those bytes as is.
1061 (decode_coding_ccl): Delete unused variable `valids'.
1062 (setup_coding_system): Delete unused variable `category'.
1063 (consume_chars): Delete unused variable `category'. Make it work
1064 for non-multibyte case.
1065 (make_conversion_work_buffer): Argument changed.
1066 (saved_coding): Delete unused variable.
1067 (code_conversion_restore): Don't check saved_coding->destination.
1068 (code_conversion_save): New function.
1069 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
1070 instead of record_unwind_protect.
1071 (decode_coding_object, encode_coding_object): Likewise. Recover
1072 PT.
1073 (detect_coding_system): Delete unused variable `mask'.
1074 (Fdefine_coding_system_internal): Delete unsed vaiable id;
1075
1076 * fileio.c (kill_workbuf_unwind): New function.
1077 (Finsert_file_contents): On replacing, call
1078 make_conversion_work_buffer with correct args, and call
1079 record_unwind_protect with the first arg kill_workbuf_unwind.
1080
1081 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
1082
1083 2003-05-20 Kenichi Handa <handa@m17n.org>
1084
1085 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not
1086 FONTSET_NAME.
1087 (fontset_add): Fix for the case that TO is less than TO1.
1088 (Ffontset_info): Don't use fallback fontset on checking the
1089 default fontset.
1090 (dump_fontset): New function for debugging.
1091
1092 * coding.c (Fdefine_coding_system_internal): Fix for the case that
1093 coding_type is Qcharset.
1094
1095 2003-05-07 Kenichi Handa <handa@m17n.org>
1096
1097 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
1098 (map_char_table): Don't inherit the value from the parent on
1099 initializing VAL. Adjusted for the above change.
1100
1101 2003-05-06 Kenichi Handa <handa@m17n.org>
1102
1103 * coding.c (Qsignature, Qendian): Delete these variables.
1104 (syms_of_coding): Don't initialize them.
1105 (CATEGORY_MASK_UTF_16_AUTO): New macro.
1106 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
1107 detect_info->found.
1108 (decode_coding_utf_16): Don't detect BOM here.
1109 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
1110 is NOT utf_16_without_bom.
1111 (setup_coding_system): For a coding system of type utf-16, check
1112 if the attribute :endian is Qbig or not (not nil or not), and set
1113 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
1114 (detect_coding): If coding type is utf-16 and BOM detection is
1115 required, detect it.
1116 (Fdefine_coding_system_internal): For a coding system of type
1117 utf-16, check if the attribute :endian is Qbig or not (not nil or
1118 not).
1119
1120 2003-05-06 Kenichi Handa <handa@m17n.org>
1121
1122 * coding.c (coding_set_source): Fix for the case that the current
1123 buffer is different from coding->src_object.
1124 (decode_coding_object): Don't use the conversion work buffer if
1125 DST_OBJECT is a buffer.
1126
1127 2003-05-04 Dave Love <fx@gnu.org>
1128
1129 * lread.c (read_emacs_mule_char) [len==2]: Index
1130 emacs_mule_charset correctly.
1131
1132 2003-02-16 Dave Love <fx@gnu.org>
1133
1134 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
1135 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1136 (Fdecode_big5_char, Fencode_big5_char): Deleted. (Big5 no longer
1137 treated specially.)
1138 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
1139 (detected_mask): Remove Big5 bits.
1140
1141 2003-04-09 Kenichi Handa <handa@m17n.org>
1142
1143 The following changes are to make the font rescaling facility
1144 compatible with Emacs 21.
1145
1146 * xfaces.c (Vface_font_rescale_alist): Renamed from
1147 Vface_resizing_fonts.
1148 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1149 (font_rescale_ratio): Renamed from font_resizing_ratio.
1150 (split_font_name): Set font->rescale_ratio.
1151 (better_font_p): Pay attention to font->rescale_ratio.
1152 (build_scalable_font_name): Likewise. Change RESX, and RESY
1153 fields.
1154 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp
1155 variable.
1156
1157 2003-03-28 Kenichi Handa <handa@m17n.org>
1158
1159 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
1160 (Qutf_16_le): Remove these variables.
1161 (syms_of_coding): Don't DEFSYM them.
1162 (decode_coding_utf_16): Fix handling of BOM.
1163 (encode_coding_utf_16): Fix handling of BOM.
1164
1165 2003-03-14 Kenichi Handa <handa@m17n.org>
1166
1167 * fileio.c (Finsert_file_contents): On replacing, before decoding
1168 the file into the work buffer, set point of the work buffer to the
1169 end.
1170
1171 2003-02-13 Dave Love <fx@gnu.org>
1172
1173 * coding.c (Fcheck_coding_systems_region): Fix type errors.
1174
1175 2003-02-04 Dave Love <fx@gnu.org>
1176
1177 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
1178 and fix C types.
1179
1180 2003-01-31 Kenichi Handa <handa@m17n.org>
1181
1182 * xdisp.c (SKIP_GLYPHS): New macro.
1183 (set_cursor_from_row): Pay attention to string display properties.
1184
1185 * category.c (copy_category_entry): Fix for the case that RANGE
1186 is an integer.
1187
1188 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
1189
1190 * w32term.c (w32_encode_char): Call ccl_driver with the last arg
1191 Qnil.
1192
1193 2003-01-30 Kenichi Handa <handa@m17n.org>
1194
1195 * charset.c (Fcharset_id_internal): New function.
1196 (syms_of_charset): Defsubr it.
1197
1198 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
1199 with the last arg charset_list acquired from coding.
1200 (Fdefine_coding_system_internal): For ccl-based coding system, fix
1201 the attribute coding_attr_ccl_valids.
1202
1203 * coding.h (enum define_coding_ccl_arg_index): Set the first
1204 member coding_arg_ccl_decoder to coding_arg_max.
1205
1206 * ccl.h (ccl_driver): Prototype adjusted.
1207
1208 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
1209 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
1210 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
1211 (Fccl_execute): Call ccl_driver with the last arg Qnil.
1212 (Fccl_execute_on_string): Likewise.
1213
1214 2003-01-11 Kenichi Handa <handa@m17n.org>
1215
1216 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
1217 call encode_char.
1218
1219 * charset.c (encode_char): Fix handling of methods SUBSET and
1220 SUPERSET.
1221
1222 * xterm.c (x_new_fontset): Fix previous change.
1223
1224 2003-01-10 Dave Love <fx@gnu.org>
1225
1226 * composite.c (syms_of_composite): Make composition_hash_table
1227 weak.
1228
1229 2003-01-10 Kenichi Handa <handa@m17n.org>
1230
1231 * dispextern.h (check_face_attributes, generate_ascii_font_name)
1232 (font_name_registry): Don't extern them.
1233 (split_font_name_into_vector, build_font_name_from_vector): Extern
1234 them.
1235
1236 * fontset.h (Qfontset): Don't extern it.
1237 (new_fontset_from_font_name): Extern it.
1238
1239 * fontset.c: Give 8 extra slots to fontset objects.
1240 (Qfontset_info): New variable.
1241 (syms_of_fontset): Defsym it.
1242 (FONTSET_FALLBACK): New macro.
1243 (fontset_face): Try also the default fontset.
1244 (make_fontset): Realize a fallback fontset from the default
1245 fontset.
1246 (generate_ascii_font_name): Moved from xfaces.c. Rewritten by
1247 using split_font_name_into_vector and build_font_name_from_vector.
1248 (Fset_fontset_font): Access the elements of font_spec by enum
1249 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
1250 name by using split_font_name_into_vector.
1251 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
1252 generate a proper font name from the fontset name. Update
1253 Vfontset_alias_alist.
1254 (n_auto_fontsets): New variable.
1255 (new_fontset_from_font_name): New function.
1256 (Ffont_info): Store the information about fonts generated from the
1257 default fontset in the first extra slot of the returned
1258 char-table.
1259
1260 * xfaces.c (generate_ascii_font_name): Moved to fontset.c.
1261 (font_name_registry): Function deleted.
1262 (split_font_name_into_vector): New function.
1263 (build_font_name_from_vector): New function.
1264 (font_list): The argument REGISTRY is now a list of registry
1265 names.
1266 (choose_face_font): If we are choosing an ASCII font, and ATTRS
1267 specifies an explicit font name, return the name as is. Make a
1268 list of registy names.
1269
1270 * xfns.c (x_set_font, x_create_tip_frame): Adjusted to the change
1271 of x_new_fontset.
1272 (Fx_create_frame): Don't call x_new_fontset here. Just use
1273 x_list_fonts to check the existence of fonts.
1274
1275 * xterm.h (x_new_fontset): Prototype adjusted.
1276
1277 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
1278 string. Use new_fontset_from_font_name to create a fontset from a
1279 font name.
1280
1281 2003-01-07 Dave Love <fx@gnu.org>
1282
1283 * Makefile.in: Fix some dependencies.
1284
1285 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
1286 set it to nil before returning.
1287
1288 * composite.c (update_compositions): Fix type error.
1289
1290 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
1291
1292 2003-01-07 Kenichi Handa <handa@m17n.org>
1293
1294 * xterm.c (x_new_font): Optimize for the case that the font is
1295 already set for the frame.
1296
1297 2003-01-06 Kenichi Handa <handa@m17n.org>
1298
1299 * chartab.c (char_table_ascii): Check if the char table contents
1300 is sub-char-table or not.
1301 (char_table_set): Fix argument to char_table_ascii.
1302 (char_table_set_range): Likewise.
1303
1304 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
1305 (detect_coding_utf_8, detect_coding_utf_16)
1306 (detect_coding_emacs_mule, detect_coding_iso_2022)
1307 (detect_coding_sjis, detect_coding_big5)
1308 (detect_coding_ccl, detect_coding_charset): Change argument MASK
1309 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1310 sequence is valid in this coding system. Callers changed.
1311 (MAX_ANNOTATION_LENGTH): New macro.
1312 (ADD_ANNOTATION_DATA): New macro.
1313 (ADD_COMPOSITION_DATA): Argument changed. Callers changed. Call
1314 ADD_ANNOTATION_DATA. The format of annotation data changed.
1315 (ADD_CHARSET_DATA): New macro.
1316 (emacs_mule_char): New argument ID. Callers changed.
1317 (decode_coding_emacs_mule, decode_coding_iso_2022)
1318 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
1319 Produce charset annotation data in coding->charbuf.
1320 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
1321 to charset annotation data in coding->charbuf.
1322 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
1323 coding->common_flags if the coding system is iso-2022 based and
1324 uses designation.
1325 (produce_composition): Adjusted for the new annotation data
1326 format.
1327 (produce_charset): New function.
1328 (produce_annotation): Handle charset annotation.
1329 (handle_composition_annotation, handle_charset_annotation): New
1330 functions.
1331 (consume_chars): Handle charset annotation. Utilize the above two
1332 functions.
1333 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
1334 buffer, get the deleted text as a string and set
1335 coding->src_object to that string.
1336 (detect_coding, detect_coding_system): Use the new struct
1337 coding_detection_info.
1338
1339 * coding.h (struct coding_detection_info): New structure.
1340 (struct coding_system): Prototype of the member `detector'
1341 adjusted.
1342 (CODING_ANNOTATE_CHARSET_MASK): New macro.
1343
1344 2003-01-06 Kenichi Handa <handa@m17n.org>
1345
1346 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
1347
1348 2003-01-03 Dave Love <fx@gnu.org>
1349
1350 * keymap.c (apropos_predicate, apropos_accumulate): Declare
1351 static.
1352 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
1353 to new local and nullify apropos_accumulate before returning.
1354 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
1355
1356 2002-12-05 Kenichi Handa <handa@m17n.org>
1357
1358 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
1359 correctly.
1360
1361 2002-11-26 Dave Love <fx@gnu.org>
1362
1363 * fns.c (Flanginfo): Call synchronize_system_time_locale.
1364
1365 2002-11-07 Kenichi Handa <handa@m17n.org>
1366
1367 The following changes are to make character composition happen
1368 automatically on displaying.
1369
1370 * Makefile.in (lisp, shortlisp): Add composite.elc
1371
1372 * composite.h (Qauto_composed, Vauto_composition_function,
1373 Qauto_composition_function): Extern them.
1374
1375 * composite.c (Vcomposition_function_table,
1376 Qcomposition_function_table): Delete variables.
1377 (Qauto_composed, Vauto_composition_function,
1378 Qauto_composition_function): New variables.
1379 (run_composition_function): Don't call
1380 compose-chars-after-function.
1381 (update_compositions): Clear `auto-composed' text property.
1382 (compose_chars_in_text): Delete this function.
1383 (syms_of_composite): Staticpro Qauto_composed and
1384 Qauto_composition_function. Declare Vauto_composition_function as
1385 a Lisp variable.
1386
1387 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
1388
1389 * xdisp.c (it_props): Add an entry for Qauto_composed.
1390 (handle_auto_composed_prop): New function.
1391
1392 * xselect.c (selection_data_to_lisp_data): Don't call
1393 compose_chars_in_text.
1394
1395 2002-11-06 Dave Love <fx@gnu.org>
1396
1397 * keyboard.c (read_char): Modify checking around use of
1398 Vkeyboard_translate_table.
1399
1400 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
1401 and fix C types.
1402
1403 2002-11-06 Kenichi Handa <handa@m17n.org>
1404
1405 * coding.c (decode_coding_utf_8): When eol_type is Qdos, handle
1406 the case that the last byte is '\r' correctly.
1407 (decode_coding_emacs_mule): Likewise.
1408 (decode_coding_iso_2022): Likewise.
1409 (decode_coding_sjis): Likewise.
1410 (decode_coding_big5): Likewise.
1411 (decode_coding_charset): Likewise.
1412 (produce_chars): Likewise.
1413 (decode_coding): Flushing out the unprocessed data correctly.
1414 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of
1415 coding->mode.
1416
1417 2002-10-31 Dave Love <fx@gnu.org>
1418
1419 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
1420 XK_ISO... case.
1421 (xaw_scroll_callback): Revert last change.
1422
1423 2002-10-30 Kenichi Handa <handa@m17n.org>
1424
1425 * charset.c (Fset_charset_priority): Update
1426 Viso_2022_charset_list.
1427
1428 2002-10-29 Kenichi Handa <handa@m17n.org>
1429
1430 * xfaces.c (Vface_resizing_fonts): New variable.
1431 (struct font_name): New member `resizing_ratio'.
1432 (font_resizing_ratio): New function.
1433 (split_font_name): Set font->resizing_ratio.
1434 (better_font_p): Pay attention to font->resizing_ratio.
1435 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
1436 RESX, and RESY fields.
1437 (try_alternative_families): Try scalable fonts if
1438 Vscalable_fonts_allowed is not Qt.
1439 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
1440
1441 2002-10-29 Dave Love <fx@gnu.org>
1442
1443 * xterm.c (xaw_scroll_callback): Cast correctly.
1444
1445 2002-10-28 Dave Love <fx@gnu.org>
1446
1447 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
1448 (lispy_kana_keys): Comment out.
1449 (make_lispy_event) [XK_kana_A]: Comment out.
1450
1451 * xterm.c (xaw_scroll_callback): Cast call_data.
1452 (XTread_socket): Deal with ASCII keysyms.
1453 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
1454
1455 2002-10-27 Dave Love <fx@gnu.org>
1456
1457 * xterm.c (Vx_keysym_table): New.
1458 (syms_of_xterm): Initialize it.
1459 (XTread_socket): Use it.
1460 From head: Eliminate incorrect optimization that tried to avoid
1461 decoding the output of X*LookupString.
1462 (x_get_font_repertory): Delete charset declaration.
1463
1464 2002-10-16 Kenichi Handa <handa@m17n.org>
1465
1466 * coding.c (detect_coding): Fix previous change.
1467 (detect_coding_charset): If only ASCII bytes are found, return 0.
1468 (detect_coding_system): Fix previous change.
1469 (Fdefine_coding_system_internal): Setup CODING_ATTR_ASCII_COMPAT
1470 (attrs) correctly.
1471
1472 2002-10-15 Dave Love <fx@gnu.org>
1473
1474 * coding.c (Fcheck_coding_system): Doc fix.
1475
1476 * editfns.c (Finsert_byte): Return a proper value.
1477
1478 2002-10-14 Kenichi Handa <handa@m17n.org>
1479
1480 * coding.c (decode_coding): Fix args to translate_chars. Pay
1481 attention to Vstandard_translation_table_for_decode.
1482 (encode_coding): Fix args to translate_chars. Pay attention to
1483 Vstandard_translation_table_for_encode.
1484
1485 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
1486 SINGLE_BYTE_CHAR_P.
1487
1488 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
1489 not by SINGLE_BYTE_CHAR_P.
1490
1491 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
1492 SINGLE_BYTE_CHAR_P.
1493
1494 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
1495 SINGLE_BYTE_CHAR_P.
1496
1497 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
1498 by SINGLE_BYTE_CHAR_P.
1499
1500 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
1501 SINGLE_BYTE_CHAR_P.
1502
1503 2002-10-14 Dave Love <fx@gnu.org>
1504
1505 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
1506
1507 2002-10-10 Dave Love <fx@gnu.org>
1508
1509 * fns.c (Flanginfo): Fix typo.
1510
1511 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
1512
1513 2002-10-10 Kenichi Handa <handa@m17n.org>
1514
1515 * coding.c (detect_coding_utf_8): Check incomplete byte sequence.
1516 Don't update *mask when correctly detected.
1517 (detect_coding_utf_16): Likewise.
1518 (detect_coding_emacs_mule): Likewise.
1519 (detect_coding_iso_2022): Likewise.
1520 (detect_coding_sjis): Likewise.
1521 (detect_coding_big5): Likewise.
1522 (detect_coding_ccl): Likewise.
1523 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1524 (detect_eol): Delete the argument CODING, and add the argument
1525 CATEGORY.
1526 (detect_coding): Adjusted for the changes above.
1527 (detect_coding_system): Likewise.
1528
1529 2002-10-09 Kenichi Handa <handa@m17n.org>
1530
1531 * character.c (char_string): Renamed from
1532 char_string_with_unification. Pay attention to
1533 CHAR_MODIFIER_MASK.
1534 (string_char): Renamed from string_char.
1535
1536 * character.h (CHAR_STRING): Call char_string if C is greater than
1537 MAX_3_BYTE_CHAR.
1538 (CHAR_STRING_ADVANCE): Likewise.
1539 (STRING_CHAR): Call string_char instead of
1540 string_char_with_unification.
1541 (STRING_CHAR_AND_LENGTH): Likewise.
1542 (STRING_CHAR_ADVANCE): Likewise.
1543
1544 2002-10-09 Dave Love <fx@gnu.org>
1545
1546 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
1547
1548 2002-10-07 Kenichi Handa <handa@m17n.org>
1549
1550 * keymap.c (push_key_description): Pay attention to
1551 force_multibyte.
1552
1553 * regex.c (re_search_2): Fix for the case of unibyte buffer.
1554
1555 2002-10-06 Dave Love <fx@gnu.org>
1556
1557 * charset.c (define_charset_internal): Rename `supprementary'.
1558
1559 * Makefile.in (lisp, shortlisp): Remove latin-N.
1560
1561 2002-10-05 Dave Love <fx@gnu.org>
1562
1563 * xfns.c (x_window, x_window): Use use_xim.
1564
1565 * xterm.c (use_xim): Initialize.
1566 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
1567 (x_term_init): Maybe set use_xim.
1568
1569 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
1570
1571 2002-10-01 Kenichi Handa <handa@m17n.org>
1572
1573 * search.c (search_buffer): Fix case-fold-search of multibyte
1574 characters.
1575 (boyer_moore): Rename the last argument to char_high_bits.
1576
1577 2002-09-27 Kenichi Handa <handa@m17n.org>
1578
1579 * xdisp.c (display_string): Fix for the case of zero width glyph.
1580
1581 * xfns.c (x_set_font): Change the error message of the case that
1582 x_new_fontset returns Qt.
1583
1584 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
1585 (Finternal_set_lisp_face_attribute): Use signal_error for the
1586 error of invalid fontset.
1587
1588 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
1589 fontset, return Qt.
1590
1591 2002-09-19 Kenichi Handa <handa@m17n.org>
1592
1593 * regex.c (re_search_2): Fix previous change.
1594
1595 2002-09-18 Kenichi Handa <handa@m17n.org>
1596
1597 * syntax.c (skip_syntaxes): Fix previous change.
1598
1599 2002-09-13 Kenichi Handa <handa@m17n.org>
1600
1601 * syntax.c (skip_chars): Fix previous change.
1602 (skip_syntaxes): Fix previous change.
1603
1604 2002-09-06 Dave Love <fx@gnu.org>
1605
1606 * config.in: Restore it.
1607
1608 2002-09-05 Dave Love <fx@gnu.org>
1609
1610 * config.in: Removed (now auto-generated).
1611
1612 * s/usg5-4.h: Fix last change.
1613
1614 * unexelf.c (unexec): Make .got handling not SGI-specific.
1615
1616 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
1617
1618 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
1619
1620 * keyboard.c (read_key_sequence): Fix type error.
1621
1622 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
1623 type error.
1624
1625 * fontset.c (fontset_add): Return Lisp_Object.
1626
1627 2002-09-03 Dave Love <fx@gnu.org>
1628
1629 * charset.h (charset_ordered_list_tick): Declare extern.
1630
1631 2002-09-03 Kenichi Handa <handa@m17n.org>
1632
1633 The following changes (and some of 2002-08-20 changes of mine) are
1634 for handling syntax, category, and case conversion for unibyte
1635 characters by converting them to multibyte on the fly. With these
1636 changes, we don't have to setup syntax and case tables for unibyte
1637 characters in each language environment.
1638
1639 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
1640 multibyte if necessary.
1641
1642 * bytecode.c (Fbyte_code): Likewise.
1643
1644 * character.h (LEADING_CODE_LATIN_1_MIN)
1645 (LEADING_CODE_LATIN_1_MAX): New macros.
1646 (unibyte_to_multibyte_table): Extern it.
1647 (unibyte_char_to_multibyte): New macro.
1648 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
1649 (CHAR_LEADING_CODE): New macro.
1650 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
1651
1652 * character.c (unibyte_to_multibyte_table): New variable.
1653 (unibyte_char_to_multibyte): Move to character.h and defined as
1654 macro.
1655 (multibyte_char_to_unibyte): If C is an eight-bit character,
1656 convert it to the corresponding byte value.
1657
1658 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
1659 not 1, singals an error. Update the elements of
1660 unibyte_to_multibyte_table.
1661 (init_charset_once): Initialize unibyte_to_multibyte_table.
1662 (syms_of_charset): Define the charset `iso-8859-1'.
1663
1664 * casefiddle.c (casify_object): Fix previous change.
1665
1666 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
1667 as is without converting it to unibyte. In a unibyte buffer,
1668 convert C to multibyte before checking the syntax.
1669
1670 * lisp.h (unibyte_char_to_multibyte): Extern deleted.
1671
1672 * minibuf.c (Fminibuffer_complete_word): Use the macro
1673 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
1674
1675 * regex.h (struct re_pattern_buffer): New member target_multibyte.
1676
1677 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
1678 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
1679 that is zero, convert an eight-bit char to multibyte.
1680 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
1681 non-emacs case.
1682 (PATFETCH): Convert an eight-bit char to multibyte.
1683 (HANDLE_UNIBYTE_RANGE): New macro.
1684 (regex_compile): Setup the compiled pattern for multibyte chars
1685 even if the given regex string is unibyte. Use PATFETCH_RAW
1686 instead of PATFETCH in many places. To handle `charset'
1687 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
1688 only for ASCII chars.
1689 (analyse_first) <exactn>: Simplified because the compiled pattern
1690 is multibyte.
1691 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
1692 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1693 <categoryspec>: If multibyte, setup fastmap only for ASCII chars
1694 here.
1695 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
1696 multibyte always 1.
1697 (re_search_2) In emacs, set the locale variable multibyte to 1,
1698 otherwise to 0. New local variable target_multibyte. Check it
1699 to decide the multibyteness of STR1 and STR2. If
1700 target_multibyte is zero, convert unibyte chars to multibyte
1701 before translating and checking fastmap.
1702 (TARGET_CHAR_AND_LENGTH): New macro.
1703 (re_match_2_internal): In emacs, set the locale variable multibyte
1704 to 1, otherwise to 0. New local variable target_multibyte. Check
1705 it to decide the multibyteness of STR1 and STR2. Use
1706 TARGET_CHAR_AND_LENGTH to fetch a character from D.
1707 <charset, charset_not>: If multibyte is nonzero, check fastmap
1708 only for ASCII chars. Call bcmp_translate with
1709 target_multibyte, not with multibyte.
1710 <begline>: Declare the local variable C as `unsigned'.
1711 (bcmp_translate): Change the last arg name to target_multibyte.
1712
1713 * search.c (compile_pattern_1): Don't adjust the multibyteness of
1714 the regexp pattern and the matching target. Set cp->buf.multibyte
1715 to the multibyteness of the regexp pattern. Set
1716 cp->but.target_multibyte to the multibyteness of the matching
1717 target.
1718 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
1719 FETCH_STRING_CHAR_ADVANCE.
1720 (Freplace_match): Convert unibyte chars to multibyte.
1721
1722 * syntax.c (char_quoted): Use FETCH_CHAR_AS_MULTIBYTE to convert
1723 unibyte chars to multibyte.
1724 (back_comment): Likewise.
1725 (scan_words): Likewise.
1726 (skip_chars): The arg syntaxp is deleted, and the code for
1727 handling syntaxes is moved to skip_syntaxes. Callers changed.
1728 Fix the case that the multibyteness of STRING and the current
1729 buffer doesn't match.
1730 (skip_syntaxes): New function.
1731 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
1732 SINGLE_BYTE_CHAR_P.
1733 (Fforward_comment): Use FETCH_CHAR_AS_MULTIBYTE to convert unibyte
1734 chars to multibyte.
1735 (scan_lists): Likewise.
1736 (Fbackward_prefix_chars): Likewise.
1737 (scan_sexps_forward): Likewise.
1738
1739 2002-08-23 Kenichi Handa <handa@m17n.org>
1740
1741 * xfaces.c (QCfontset): New variable.
1742 (LFACE_FONTSET): New macro.
1743 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
1744 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
1745 (Finternal_set_lisp_face_attribute): Handle QCfontset.
1746 (Finternal_get_lisp_face_attribute): Likewise.
1747 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
1748 check also LFACE_FONTSET_INDEX.
1749 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
1750 attrs[LFACE_FONT_INDEX].
1751 (syms_of_xfaces): Intern and staticpro QCfontset.
1752
1753 * dispextern.h (enum lface_attribute_index): New member
1754 LFACE_FONTSET_INDEX.
1755
1756 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
1757
1758 2002-08-21 Kenichi Handa <handa@m17n.org>
1759
1760 * coding.c (coding_set_destination): Fix coding->destination for
1761 the case converting a region.
1762 (encode_coding_utf_8): Encode eight-bit chars as single byte.
1763 (encode_coding_object): Fix coding->dst_pos and
1764 coding->dst_pos_byte for the case converting a region.
1765
1766 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
1767
1768 * character.h (BYTE8_STRING): New macro.
1769
1770 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
1771
1772 2002-08-20 Kenichi Handa <handa@m17n.org>
1773
1774 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
1775 characters by octal form.
1776
1777 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
1778
1779 * buffer.h (_fetch_multibyte_char_len): Extern deleted.
1780 (FETCH_MULTIBYTE_CHAR): Don't use _fetch_multibyte_char_len.
1781 (BUF_FETCH_MULTIBYTE_CHAR): Likewise.
1782 (FETCH_CHAR_AS_MULTIBYTE): New macro.
1783
1784 * casetab.c (set_canon, set_identity, shuffle): Simplified.
1785
1786 * casefiddle.c (casify_object): Simplified. Handle the case that
1787 the case conversion change the byte length.
1788 (casify_region): Likewise
1789
1790 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New
1791 macros.
1792
1793 * character.c (_fetch_multibyte_char_len): This variable deleted.
1794 (syms_of_character): Setup Vprintable_chars.
1795
1796 * editfns.c (Fchar_equal): Fix for the unibyte case.
1797 (Finsert_byte): New function.
1798 (syms_of_editfns): Defsubr it.
1799
1800 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
1801 of direct code 0x3ffff.
1802
1803 * search.c (Freplace_match): Fix for the unibyte case.
1804
1805 2002-08-19 Kenichi Handa <handa@m17n.org>
1806
1807 * lread.c (safe_to_load_p): Fix the logic.
1808
1809 * syntax.c (scan_words): Don't treat characters belonging to
1810 different scripts as constituting a word.
1811
1812 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1813
1814 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not
1815 script.
1816
1817 * emacs.c (main): In the case of --unibyte, instead of aborting on
1818 finding non-empty buffer, make it unibyte.
1819
1820 2002-08-18 Kenichi Handa <handa@m17n.org>
1821
1822 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
1823 to create a fontset.
1824
1825 2002-08-18 Dave Love <fx@gnu.org>
1826
1827 * character.c (Funibyte_char_to_multibyte): Doc fix.
1828
1829 * xfns.c [HAVE_STDLIB_H]: Fix last change.
1830
1831 2002-08-15 Kenichi Handa <handa@m17n.org>
1832
1833 * fontset.c (fontset_add): Make the type `int'.
1834 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
1835
1836 * character.c (unibyte_char_to_multibyte): Refer to
1837 charset_unibyte, not charset_primary.
1838 (multibyte_char_to_unibyte): Likewise.
1839 (Funibyte_char_to_multibyte): Likewise.
1840
1841 * charset.h: (charset_unibyte): Extern it instead of
1842 charset_primary.
1843
1844 * charset.c (charset_unibyte): Renamed from charset_primary.
1845 (Funibyte_charset): Renamed from Fprimary_charset.
1846 (Fset_unibyte_charset): Renamed from Fset_primary_charset.
1847 (syms_of_charset): Adjusted for the above changes.
1848
1849 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
1850 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
1851 it->multibyte_p is zero.
1852
1853 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1854 Extern deleted.
1855
1856 2002-08-08 Kenichi Handa <handa@m17n.org>
1857
1858 * coding.c (Fdefine_coding_system_internal): Fix category setting
1859 for a coding system of type iso-2022.
1860
1861 2002-08-02 Kenichi Handa <handa@m17n.org>
1862
1863 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET
1864 -1.
1865
1866 2002-08-01 Kenichi Handa <handa@m17n.org>
1867
1868 * syntax.c (Vnext_word_boundary_function_table): New variable.
1869 (syms_of_syntax): Declare it as a Lisp variable.
1870 (scan_words): Call functions in Vnext_word_boundary_function_table
1871 if any.
1872
1873 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
1874
1875 * fontset.c (fs_load_font): If fontp->charset is not negative,
1876 return fontp without setting its members.
1877
1878 2002-07-31 Dave Love <fx@gnu.org>
1879
1880 * config.in: Generated with autoheader.
1881
1882 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
1883
1884 * m/sparc.h (HAVE_ALLOCA): Delete.
1885
1886 * s/irix6-5.h: Don't include strings.h.
1887 (bcopy, bzero, bcmp): Don't undef.
1888
1889 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
1890
1891 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
1892 (TIOCSIGSEND): Don't test IRIX6.
1893 (bcopy, bzero, bcmp): Define conditionally.
1894
1895 2002-07-31 Kenichi Handa <handa@m17n.org>
1896
1897 * buffer.c (Qas, Qmake, Qto): New variables.
1898 (Fset_buffer_multibyte): New optional arg METHOD. Caller changed.
1899 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
1900
1901 * callproc.c (Fcall_process): Don't call insert_1_both directly if
1902 we are inserting a process output into a multibyte buffer.
1903
1904 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
1905 multibyte_char_to_unibyte.
1906
1907 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
1908 by the primary charset, make it eight-bit char.
1909 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
1910
1911 * charset.c: (charset_eight_bit, Qeight_bit_control): New
1912 variables.
1913 (charset_8_bit__control, charset_8_bit_graphic,
1914 Qeight_bit_control, Qeight_bit_graphic): These variables deleted.
1915 (define_charset_internal): New function.
1916 (syms_of_charset): Call define_charset_internal for pre-defined
1917 charsets.
1918
1919 * charset.h (charset_8_bit): Extern it.
1920
1921 * coding.c (make_conversion_work_buffer): Adjusted for the change
1922 of Fset_buffer_multibyte.
1923 (encode_coding_raw_text): Increment p0 in the loop.
1924
1925 * lisp.h (Fset_buffer_multibyte): Prototype adjusted.
1926
1927 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjusted
1928 for the change of Fset_buffer_multibyte.
1929
1930 * fns.c (Fstring_to_multibyte): New function.
1931 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
1932
1933 2002-07-30 Dave Love <fx@gnu.org>
1934
1935 * xfns.c (x_put_x_image): Declare args.
1936
1937 * xfaces.c (font_name_registry, choose_face_font): Delete unused
1938 vars.
1939 (try_font_list): Declare an arg.
1940
1941 * xdisp.c (message2_nolog, set_message): Declare an arg.
1942
1943 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
1944
1945 * syntax.c (scan_sexps_forward): Declare an arg.
1946
1947 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
1948 Declare an arg.
1949
1950 * lisp.h (Fnew_fontset): Declare.
1951
1952 * keymap.c (push_key_description): Call CHARACTERP correctly.
1953
1954 * fontset.c (fontset_add): Declare args. Call make_number
1955 correctly.
1956 (face_for_char): Delete unused vars.
1957 (Fset_fontset_font): Doc fix. Delete unused vars.
1958
1959 * doc.c (Fsubstitute_command_keys): Delete unused vars.
1960
1961 * composite.c (update_compositions): Declare arg.
1962
1963 * cm.c (calccost, cmgoto): Declare args.
1964
1965 * charset.c: Remove `emacs' conditional. Doc fixes.
1966 (map_char_table_for_charset): Declare.
1967
1968 * character.c (syms_of_character) <translation-table-vector>: Doc
1969 fix.
1970
1971 * ccl.c: Remove `emacs' conditional. Include hash table stuff
1972 from trunk.
1973
1974 2002-07-26 Kenichi Handa <handa@m17n.org>
1975
1976 The following changes are to allow specifying multiple font
1977 patterns for a character range (specified by script or charset).
1978
1979 * Makefile.in (abbrev.o): Depend on syntax.h.
1980 (xfaces.o): Depend on charset.h.
1981
1982 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
1983 SINGLE_BYTE_CHAR_P.
1984
1985 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
1986
1987 * character.h (Vchar_script_table): Extern it.
1988
1989 * character.c (Vscript_alist): This variable deleted.
1990 (Vchar_script_table, Qchar_script_table): New variable.
1991 (syms_of_character): Declare Vchar_script_table as a lisp variable
1992 and initialize it.
1993
1994 * chartab.c (Fmake_char_table): Doc fixed. If PURPOSE doesn't
1995 have property char-table-extra-slots, make no extra slot.
1996
1997 * dispextern.h (struct face): Member `charset' deleted.
1998 (FACE_SUITABLE_FOR_CHAR_P): Use ASCII_CHAR_P, not
1999 SINGLE_BYTE_CHAR_P.
2000 (FACE_FOR_CHAR): Likewise.
2001 (choose_face_font, lookup_non_ascii_face, font_name_registry): Add
2002 prototypes
2003 (lookup_face, lookup_named_face, lookup_derived_face): Prototype
2004 fixed.
2005 (generate_ascii_font_name): Renamed from generate_ascii_font.
2006
2007 * fontset.h (get_font_repertory_func): New prototype.
2008 (make_fontset_for_ascii_face, fs_load_font): Prototypes fixed.
2009 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
2010
2011 * fontset.c (Qprepend, Qappend): New variables.
2012 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): These macros deleted.
2013 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
2014 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
2015 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
2016 (fontset_ref_and_range, fontset_add, reorder_font_vector)
2017 (load_font_get_repertory): New functions.
2018 (fontset_set): This function deleted.
2019 (fontset_face): New arg FACE. Return face ID, not face.
2020 Completely re-written to handle new fontset structure. Caller
2021 changed.
2022 (free_face_fontset): Use ASET istead of AREF (X) = Y.
2023 (face_for_char): Don't call lookup_face.
2024 (make_fontset_for_ascii_face): New arg FACE.
2025 (fs_load_font): New arg CHARSET_ID. Don't check
2026 Vfont_encoding_alist here.
2027 (find_font_encoding): New function.
2028 (list_fontsets): Use STRINGP, not ! NILP.
2029 (accumulate_script_ranges): New function.
2030 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
2031 re-written to handle new fontset structure.
2032 (Ffontset_font): Return a copy of element.
2033 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
2034 docstring of font-encoding-alist.
2035
2036 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
2037 (Fset_fotset_font): Fix arguments to 5.
2038
2039 * msdos.c (XMenuActivate): Adjuted for the change of
2040 lookup_derived_face.
2041
2042 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
2043 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
2044 (highlight_trailing_whitespace): Adjusted for the change of
2045 lookup_named_face.
2046
2047 * xfaces.c: Include charset.h.
2048 (load_face_font): Argument C deleted. Caller changed.
2049 (generate_ascii_font_name): Renamed from generate_ascii_font.
2050 (font_name_registry): New function.
2051 (cache_face): Store ascii faces before non-ascii faces in buckets.
2052 (lookup_face): Arguments C and BASE_FACE deleted. Caller changed.
2053 Lookup only ascii faces.
2054 (lookup_non_ascii_face): New function.
2055 (lookup_named_face): Argument C deleted. Caller changed.
2056 (lookup_derived_face): Argument C deleted. Caller changed.
2057 (try_font_list): New arg PATTERN. Caller changed. If PATTERN is
2058 a string, just call font_list with it.
2059 (choose_face_font): Arguments FACE and C deleted. New arg
2060 FONT_SPEC. Caller changed.
2061 (realize_face): Arguments C and BASE_FACE deleted. Caller
2062 (realize_x_face): Likewise.
2063 (realize_non_ascii_face): New function.
2064 (realize_x_face): Call load_face_font here.
2065 (realize_tty_face): Argument C deleted. Caller changed.
2066 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
2067 get a face ID.
2068 (dump_realized_face): Don't print charset of FACE.
2069
2070 * xfns.c (x_set_font): Always call x_new_fontset and
2071 store_frame_parameter.
2072 (Fx_create_frame): Call x_new_fontset, not x_new_font.
2073 (syms_of_xfns): Set get_font_repertory_func to
2074 x_get_font_repertory.
2075
2076 * xterm.h (x_get_font_repertory): Extern it.
2077
2078 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
2079 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
2080 it->multibyte_p is zero.
2081 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
2082 (x_new_fontset): If FONTSETNAME doesn't match any existing
2083 fontsets, create a new one.
2084 (x_get_font_repertory): New function.
2085
2086 2002-07-25 Kenichi Handa <handa@m17n.org>
2087
2088 * coding.c (Ffind_coding_systems_region_internal): Detect an
2089 ASCII only string correctly.
2090
2091 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
2092 version is 0.
2093
2094 2002-07-24 Kenichi Handa <handa@m17n.org>
2095
2096 * lread.c: Include "coding.h".
2097 (Qget_emacs_mule_file_char, Qload_force_doc_strings,
2098 load_each_byte, unread_char): New variables.
2099 (readchar_backlog): This variable deleted.
2100 (readchar): Return a character unless load_each_byte is nonzero.
2101 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
2102 cons. If unread_char is not -1, simply return it.
2103 (unreadchar): Handle the case that readcharfun is
2104 Qget_emacs_mule_file_char or a cons. Set unread_char if
2105 necessary.
2106 (read_multibyte): This function deleted.
2107 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
2108 (read_emacs_mule_char): New functions.
2109 (Fload): Even if the file doesn't have the extention ".elc", if
2110 safe_to_load_p returns a positive version number, assume that the
2111 file contains bytecompiled code. If the version is less than 22,
2112 load the file while decoding multibyte sequences by emacs-mule.
2113 (readevalloop): Don't use readchar_backlog.
2114 (Fread): Likewise. Pay attention to the case that STREAM is a
2115 cons.
2116 (Fread_from_string): Pay attention to the case that STREAM is a
2117 cons.
2118 (read_escape): The arg BYTEREP deleted.
2119 (read1): Set load_each_byte to 1 temporarily while handling
2120 #@NUMBER. Don't call read_multibyte.
2121 (read_vector): Call Fread with a cons. If readcharfun is
2122 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
2123 (read_list): If doc_reference is 2, make the cdr part string as
2124 unibyte.
2125 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
2126 and Qload_force_doc_strings.
2127
2128 2002-07-23 Kenichi Handa <handa@m17n.org>
2129
2130 * xdisp.c (face_before_or_after_it_pos): Call
2131 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
2132
2133 2002-07-22 Kenichi Handa <handa@m17n.org>
2134
2135 * character.h (TRAILING_CODE_P): New macro.
2136 (MAYBE_UNIFY_CHAR): Adjusted for the change of Funify_charset.
2137 (string_char_with_unification): Fix prototype.
2138 (Vscript_alist): Extern it.
2139
2140 * character.c (Vscript_alist): New variable.
2141 (string_char_with_unification): Add `const' to local variables.
2142 (str_as_unibyte): Likewise.
2143 (string_escape_byte8): Likewise.
2144 (syms_of_character): Declare script-alist as a Lisp variable.
2145
2146 * charset.h (Vcharset_ordered_list): Extern it.
2147 (charset_ordered_list_tick): Extern it.
2148 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
2149 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
2150 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
2151 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros
2152 (Funify_charset): Adjusted for the change of Funify_charset.
2153
2154 * charset.c (charset_ordered_list_tick): New variable.
2155 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
2156 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
2157 deunify intead of unify a charset.
2158 (string_xstring_p): Add `const' to local variables.
2159 (find_charsets_in_text): Add `const' to arguemnts and local
2160 variables.
2161 (encode_char): Adjusted for the change of Funify_charset. Fix
2162 detecting of invalid code.
2163 (Fset_charset_priority): Increment charset_ordered_list_tick.
2164 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
2165 and TO_CODE.
2166
2167 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
2168 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Macros
2169 deleted. Callers changed to use
2170 EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
2171 (decode_coding_ccl): Add `const' to local variables.
2172 (consume_chars): Likewise.
2173 (Ffind_coding_systems_region_internal): Likewise.
2174 (Fcheck_coding_systems_region): Likewise.
2175
2176 * print.c (print_object): Use octal form for printing the
2177 contents of a bool vector.
2178
2179 2002-07-18 Dave Love <fx@gnu.org>
2180
2181 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
2182 <version == 20>: Refuse to load.
2183
2184 2002-07-17 Dave Love <fx@gnu.org>
2185
2186 * fns.c: Move coding.h.
2187 (Qcodeset, Qdays, Qmonths): New.
2188 (concat): Use CHARACTERP instead of INTERGERP.
2189 (Flocale_codeset): Deleted.
2190 (Flanginfo): New function.
2191 (syms_of_fns): Changed accordingly.
2192
2193 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
2194
2195 2002-07-16 Dave Love <fx@gnu.org>
2196
2197 * casetab.c (init_casetab_once, init_casetab_once): Fix
2198 CHAR_TABLE_SET call.
2199
2200 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
2201
2202 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
2203
2204 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
2205 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
2206 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
2207
2208 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
2209
2210 * coding.c (ENCODE_DESIGNATION, decode_eol)
2211 (make_conversion_work_buffer, code_conversion_restore)
2212 (Fdefine_coding_system_internal): Convert Lisp types.
2213 (code_conversion_restore): Use EQ, not ==.
2214 (Fencode_coding_string): Fix code_convert_string call.
2215
2216 * coding.h (code_convert_region): Fix prototype.
2217
2218 * dispextern.h (redraw_frame, redraw_garbaged_frames): Removed.
2219
2220 * fontset.c (fontset_ref, fontset_set, fs_load_font)
2221 (Ffontset_info): Convert Lisp types.
2222
2223 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
2224
2225 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
2226
2227 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
2228
2229 * chartab.c: Include "...h", not <...h> in some cases.
2230
2231 * callproc.c (Fcall_process): Remove unused variables.
2232
2233 2002-07-12 Dave Love <fx@gnu.org>
2234
2235 * coding.c (Fset_coding_system_priority): Allow null arg list.
2236
2237 2002-07-03 Dave Love <fx@gnu.org>
2238
2239 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
2240 (Fself_insert_and_exit): Use CHARACTERP.
2241
2242 * callproc.c (Fcall_process): Remove unused vars.
2243
2244 * xterm.c (XTread_socket): Add extra dead keysyms.
2245
2246 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
2247
2248 * dispextern.h: Remove prototypes for redraw_frame,
2249 redraw_garbaged_frames.
2250
2251 * cmds.c (Fself_insert_command): Use CHARACTERP.
2252
2253 * chartab.c (make_sub_char_table): Remove unused var.
2254 (Fset_char_table_default, Fmap_char_table): Doc fix.
2255
2256 * keymap.c (access_keymap): Remove generic char code.
2257 (push_key_description): Use CHARACTERP.
2258
2259 2002-07-01 Dave Love <fx@gnu.org>
2260
2261 * charset.c: Doc fixes.
2262 (Funify_charset): Extra checking.
2263
2264 2002-06-24 Dave Love <fx@gnu.org>
2265
2266 * lread.c: Remove some unused variables.
2267 (safe_to_load_p): If safe, return the magic number version byte.
2268 (Fload): Maybe use load-with-code-conversion.
2269
2270 2002-06-12 Kenichi Handa <handa@m17n.org>
2271
2272 * category.c (Fmodify_category_entry): Don't modify the contents
2273 of category_set for characters out of the range. Avoid
2274 unnecessary modification.
2275
2276 * character.h (MAYBE_UNIFY_CHAR): Adjusted for the change of
2277 Vchar_unify_table. The default value of the table is now nil.
2278
2279 * character.c (syms_of_character): Setup Vchar_width_table for
2280 eight-bit-control and raw-byte chars.
2281
2282 * charset.h (enum define_charset_arg_index): Delete
2283 charset_arg_parents and add charset_arg_subset and
2284 charset_arg_superset.
2285 (enum charset_attr_index): Delete charset_parents and add
2286 charset_subset and charset_superset.
2287 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
2288 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
2289 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Macros deleted.
2290 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
2291 (CHARSET_SUPERSET): New macros.
2292 (charset_work): Extern it.
2293 (ENCODE_CHAR): Use charset_work.
2294 (CHAR_CHARSET_P): Adjusted for the change of encoder format.
2295 (map_charset_chars): Extern it.
2296
2297 * charset.c (load_charset_map): Set the default value of encoder
2298 and deunifier char-tables to nil.
2299 (map_charset_chars): Argument changed. Callers changed. Use
2300 map_char_table_for_charset instead of map_char_table.
2301 (Fmap_charset_chars): New optional args from_code and to_code.
2302 (Fdefine_charset_internal): Adjusted for the change of
2303 `define-charset' (:parents -> :subset or :superset).
2304 (charset_work): New variable.
2305 (encode_char): Adjusted for the change of
2306 Fdefine_charset_internal.
2307 (syms_of_charset): Likewise.
2308 (Ffind_charset_string): Setup the vector `charsets' correctly.
2309
2310 * chartab.c (sub_char_table_ref_and_range): New arg defalt. Fix
2311 the previous change.
2312 (char_table_ref_and_range): Adjusted for the above change.
2313 (map_sub_char_table_for_charset): New function.
2314 (map_char_table_for_charset): New function.
2315
2316 * keymap.c (describe_vector): Handle a char-table directly here.
2317 (describe_char_table): Deleted.
2318
2319 * lisp.h (map_charset_chars): Deleted.
2320
2321 2002-06-11 Dave Love <fx@gnu.org>
2322
2323 * fns.c (count_combining): Comment out (unused).
2324 (Flocale_codeset): New.
2325 (syms_of_fns): Defsubr it.
2326
2327 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
2328 (size_t): Removed.
2329
2330 2002-06-06 Dave Love <fx@gnu.org>
2331
2332 * Makefile.in (chartab.o): Depend on charset.h
2333
2334 2002-06-03 Kenichi Handa <handa@m17n.org>
2335
2336 * character.c (syms_of_character): Set the default value of
2337 Vprintable_chars to Qnil.
2338
2339 2002-05-31 Dave Love <fx@gnu.org>
2340
2341 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
2342
2343 2002-05-31 Kenichi Handa <handa@m17n.org>
2344
2345 * charset.c (load_charset_map): Handle the case that from < to
2346 correctly.
2347
2348 * coding.c (encode_coding_emacs_mule): Pay attention to raw-8-bit
2349 chars.
2350 (encode_coding_iso_2022): Likewise.
2351 (encode_coding_sjis): Likewise.
2352 (encode_coding_big5): Likewise.
2353 (encode_coding_charset): Likewise.
2354
2355 2002-05-30 Kenichi Handa <handa@m17n.org>
2356
2357 * Makefile.in (lisp): Change chinese.elc to chinese.el. They are
2358 not bytecompiled now.
2359 (shortlisp): Likewise.
2360
2361 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
2362 (charset_jisx0208): New variables.
2363 (Fdefine_charset_internal): Setup them if appropriate.
2364 (init_charset_once): Initialize them to -1.
2365
2366 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978,
2367 charset_jisx0208): Extern them.
2368
2369 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro
2370 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
2371 (CODING_ISO_FLAG_FULL_SUPPORT): Macro definition changed.
2372 (setup_iso_safe_charsets): Fix arguemtns to Fassq.
2373 (DECODE_DESIGNATION): Pay attention to CODING_ISO_FLAG_USE_ROMAN
2374 and CODING_ISO_FLAG_USE_OLDJIS.
2375 (ENCODE_ISO_CHARACTER_DIMENSION1): Likewise.
2376 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
2377 (encode_coding_iso_2022): Change the 1st arg to
2378 ENCODE_ISO_CHARACTER to a variable.
2379
2380 2002-05-29 Kenichi Handa <handa@m17n.org>
2381
2382 * charset.h (enum define_charset_arg_index): New enums
2383 charset_arg_min_code and charset_arg_max_code.
2384 (struct charset): New member char_index_offset.
2385
2386 * charset.c (CODE_POINT_TO_INDEX): Take charset->char_index_offset
2387 into account.
2388 (INDEX_TO_CODE_POINT): Likewise.
2389 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
2390 args[charset_arg_max_code]. Setup charset.char_index_offset.
2391 (syms_of_charset): Fix args to Fdefine_charset_internal.
2392
2393 2002-05-27 Dave Love <fx@gnu.org>
2394
2395 * coding.c (decode_coding_utf_8): Reject overlong sequences.
2396
2397 2002-05-26 Dave Love <fx@gnu.org>
2398
2399 * coding.c: Doc fixes.
2400 (Fcoding_system_aliases): Fix return value.
2401 (Qmac): Remove (duplicated) definition.
2402
2403 2002-05-25 Dave Love <fx@gnu.org>
2404
2405 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
2406 functions.
2407
2408 * character.c (Fstring): Doc fix.
2409
2410 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
2411
2412 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
2413 ids.
2414 (font-encoding-alist): Doc fix.
2415
2416 2002-05-24 Dave Love <fx@gnu.org>
2417
2418 * term.c (costs_set): Declare static, non-initialized for pcc.
2419 (encode_terminal_code): Remove ensued var.
2420
2421 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
2422 for K&R.
2423
2424 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
2425
2426 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
2427 (suffixes): Moved out of make_subsidiaries for K&R.
2428
2429 * charset.c (map_charset_chars): Fix c_function declaration for
2430 K&R.
2431
2432 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
2433
2434 2002-05-23 Dave Love <fx@gnu.org>
2435
2436 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
2437
2438 * category.c (Fmodify_category_entry): Doc fix. Remove unused
2439 vars.
2440
2441 2002-05-23 Yong Lu <lyongu@asia-infonet.com>
2442
2443 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
2444
2445 * coding.c (Fdefine_coding_system_internal): Fix previous change.
2446 (decode_coding_charset): Workaround for the bug of GCC 2.96.
2447
2448 2002-05-23 Kenichi Handa <handa@m17n.org>
2449
2450 * Makefile.in (lisp): Change cyrillic.elc to cyrillic.el,
2451 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
2452 (shortlisp): Likewise.
2453
2454 2002-05-22 Kenichi Handa <handa@m17n.org>
2455
2456 * coding.c (decode_coding_charset): Adjusted for the change of
2457 Fdefine_coding_system_internal.
2458 (Fdefine_coding_system_internal): For a coding system of
2459 `charset' type, store a list of charset IDs in
2460 `charset_attr_charset_valids' element of coding attributes.
2461
2462 * charset.c (Fmake_char): Fix previous change.
2463
2464 2002-05-21 Kenichi Handa <handa@m17n.org>
2465
2466 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
2467 (emacs_mule_char): New arg src. Delete arg `composition'. Caller
2468 changed. Handle 2-byte and 3-byte charsets correctly.
2469 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Renamed from
2470 DECODE_EMACS_MULE_COMPOSITION_RULE. Caller changed.
2471 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
2472 (DECODE_EMACS_MULE_21_COMPOSITION): Call
2473 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
2474 sequence.
2475 (decode_coding_emacs_mule): Handle composition correctly. Rewind
2476 `src' and `consumed_chars' correctly before calling
2477 emacs_mule_char.
2478 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
2479 and alt&rule composition.
2480 (decode_coding_iso_2022): Handle composition correctly.
2481 (init_coding_once): Setup emacs_mule_bytes for private charsets.
2482
2483 * charset.c (Fdefine_charset_internal): Fix bug for the case of
2484 re-defining a charset. If the charset has :emacs-mule-id, setup
2485 emacs_mule_bytes.
2486 (Fmake_char): If CODE1 is nil, use the minimum code of the
2487 charset.
2488
2489 2002-05-20 Kenichi Handa <handa@m17n.org>
2490
2491 * coding.c (encode_coding_iso_2022): If coding requires safe
2492 encoding, produce a character specified by
2493 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
2494 (encode_coding_sjis): Likewise.
2495 (encode_coding_big5): Likewise.
2496 (encode_coding_charset): Likewise.
2497
2498 2002-05-17 Dave Love <fx@gnu.org>
2499
2500 * xterm.c (XSetIMValues): Declare.
2501
2502 * process.c: Conditionally include sys/wait.h, pty.h.
2503
2504 * print.c (print_object): Fix print format for 64-bit
2505 systems.
2506
2507 * keyboard.c (modify_event_symbol): Fix print format for 64-bit
2508 systems.
2509
2510 * buffer.c (emacs_strerror): Declare.
2511 (MMAP_ALLOCATED_P, mmap_enlarge, syms_of_buffer): Import changes
2512 from trunk.
2513
2514 * fontset.c (Fclear_face_cache): Declare.
2515 (accumulate_font_info): Commented-out (unused).
2516 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
2517 variables.
2518
2519 * character.h (string_escape_byte8): Declare.
2520
2521 * charset.c (load_charset_map, load_charset_map_from_file): Remove
2522 unused vars.
2523 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
2524 (Fmap_charset_chars): Doc fix.
2525
2526 * coding.c (Vchar_coding_system_table, Qchar_coding_system):
2527 Removed.
2528 (Fset_coding_system_priority, Fset_coding_system_priority)
2529 (Fdefine_coding_system_internal): Doc fix.
2530
2531 2002-05-16 Dave Love <fx@gnu.org>
2532
2533 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
2534
2535 2002-05-16 Kenichi Handa <handa@m17n.org>
2536
2537 * character.c (string_escape_byte8): Make multibyte string with
2538 correct size.
2539
2540 * charset.c (Fmake_char): Delete unnecessary code.
2541
2542 2002-05-14 Kenichi Handa <handa@m17n.org>
2543
2544 * xfns.c (x_encode_text): Allocate coding.destination here, and
2545 call encode_coding_object with dst_object Qnil.
2546
2547 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
2548 multibyte form correctly.
2549
2550 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
2551 against Vfont_encoding_alist.
2552
2553 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
2554 handling of charset list.
2555 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
2556 (decode_coding_object): Move point to coding->dst_pos before
2557 calling post-read-conversion function.
2558 (encode_coding_object): Give correct arguments to
2559 pre-write-conversion. Ignore the return value of
2560 pre-write-conversion function. Pay attention to the case that
2561 pre-write-conversion changes the current buffer. If dst_object is
2562 Qt, even if coding->src_bytes is zero, allocate at least one byte
2563 to coding->destination.
2564
2565 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
2566
2567 * charset.c (Fmake_char): Make it more backward compatible.
2568 (Fmap_charset_chars): Fix docstring.
2569
2570 2002-05-13 Dave Love <fx@gnu.org>
2571
2572 * coding.c: Doc fixes.
2573 (Fdefine_coding_system_alias): Use names, not symbols, in
2574 coding-system-alist.
2575
2576 2002-05-13 Kenichi Handa <handa@m17n.org>
2577
2578 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
2579 of calling free_realized_face.
2580
2581 2002-05-10 Yong Lu <lyongu@asia-infonet.com>
2582
2583 * charset.c (load_charset_map): Fix previous change.
2584 (read_hex): Don't treat SPC as a comment starter.
2585 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return
2586 -1.
2587 (Fdecode_char): Fix typo.
2588
2589 2002-05-10 Kenichi Handa <handa@m17n.org>
2590
2591 * charset.h (struct charset): New member `code_space_mask'.
2592
2593 * coding.c (coding_set_source): Delete the local variable
2594 beg_byte.
2595 (encode_coding_charset): Delete the local variable charset.
2596 (Fdefine_coding_system_internal): Likewise.
2597 (Fdefine_coding_system_internal): Setup
2598 attrs[coding_attr_charset_valids] correctly.
2599
2600 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
2601 member to check if CODE is valid or not.
2602 (Fdefine_charset_internal): Initialize `code_space_mask' member.
2603 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
2604 is within the range of charset->min_code and carset->max_code.
2605
2606 2002-05-09 Dave Love <fx@gnu.org>
2607
2608 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
2609
2610 * dispextern.h (generate_ascii_font): Fix return type.
2611
2612 * xfaces.c (generate_ascii_font): Fix arg declaration.
2613
2614 * coding.c (coding_inherit_eol_type)
2615 (Fset_terminal_coding_system_internal)
2616 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
2617
2618 2002-05-08 Kenichi Handa <handa@m17n.org>
2619
2620 * coding.c (decode_coding_charset, encode_coding_charset): Handle
2621 multiple charsets correctly.
2622
2623 2002-05-07 Kenichi Handa <handa@m17n.org>
2624
2625 * search.c (boyer_moore): Fix handling of mulitbyte character
2626 translation.
2627
2628 * xdisp.c (display_mode_element): When the variable `elt' is
2629 changed, update `this' and `lisp_string'.
2630
2631 2002-05-07 Kenichi Handa <handa@m17n.org>
2632
2633 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
2634
2635 * callproc.c (Fcall_process): Be sure to give the current buffer
2636 to decode_coding_c_string. Update PT and PT_BYTE after the
2637 insertion.
2638
2639 * charset.c (struct charset_map_entries): New struct.
2640 (load_charset_map): Renamed from parse_charset_map. New args
2641 entries and n_entries. Caller changed.
2642 (load_charset_map_from_file): Renamed from load_charset_map.
2643 Caller changed. New arg control_flag. Call load_charset_map at
2644 the tail.
2645 (load_charset_map_from_vector): New function.
2646 (Fdefine_charset_internal): Setup charset.compact_codes_p.
2647 (encode_char): If the charset is compact, change a character index
2648 to a code point.
2649
2650 * coding.c (coding_alloc_by_making_gap): Check the case that the
2651 source and destination are the same correctly.
2652 (decode_coding_raw_text): Set coding->consumed_char and
2653 coding->consumed to 0.
2654 (produce_chars): If coding->chars_at_source is nonzero, update
2655 coding->consumed_char and coding->consumed before calling
2656 alloc_destination.
2657 (Fdefine_coding_system_alias): Register ALIAS in
2658 Vcoding_system_alist.
2659 (syms_of_coding): Define `no-convesion' coding system at the tail.
2660
2661 * fileio.c (Finsert_file_contents): Set coding_system instead of
2662 val. If the current buffer is multibyte, always call
2663 decode_coding_gap.
2664
2665 * xfaces.c (try_font_list): Give higher priority to fontset's
2666 family than face's family.
2667
2668 2002-04-18 Kenichi Handa <handa@m17n.org>
2669
2670 * callproc.c (Fcall_process): Be sure to give the current buffer
2671 to decode_coding_c_string.
2672
2673 * xfaces.c (try_font_list): Give a family specified in a fontset
2674 higher priority than a family specified in a face.
2675
2676 2002-04-09 Kenichi Handa <handa@m17n.org>
2677
2678 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
2679 Fix arguments to insert_from_buffer.
2680
2681 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
2682
2683 2002-03-11 Kenichi Handa <handa@m17n.org>
2684
2685 * coding.c (produce_chars): Set the variable `multibytep' correctly.
2686 (decode_coding_gap): Set coding->dst_multibyte correctly.
2687
2688 2002-03-07 Kenichi Handa <handa@m17n.org>
2689
2690 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
2691 (decode_coding_utf_16): Fix converting high and low bytes to
2692 code-point.
2693 (encode_coding_utf_16): Substitute coding->default_char for
2694 non-Unicode characters.
2695 (decode_coding): Don't call record_insert here.
2696 (setup_coding_system): Initialize `surrogate' of
2697 coding->spec.utf_16 to 0.
2698 (EMIT_ONE_BYTE): Fix for multibyte case.
2699
2700 * insdel.c (insert_from_gap): Call record_insert.
2701
2702 2002-03-04 Kenichi Handa <handa@m17n.org>
2703
2704 * casefiddle.c (casify_region): Fix multibyte case.
2705
2706 * character.c (c_string_width): Add return type `int'.
2707 (char_string_with_unification): Arg ADVANCED deleted.
2708
2709 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
2710 (CHAR_STRING): Adjusted for the change of
2711 char_string_with_unification.
2712 (CHAR_STRING_ADVANCE): Make it do-while statement.
2713
2714 * chartab.c (sub_char_table_set_range): Optimized for the case
2715 DEPTH == 3. Add workaround code for a GCC optimization bug.
2716
2717 * charset.c (parse_charset_map): Remove an unused variable.
2718
2719 * coding.c: Delete unused variables.
2720
2721 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
2722 earlier. If inserted is zero and the coding system doesn't
2723 require flushing, don't call decode_coding_gap.
2724
2725 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
2726
2727 2002-03-01 Kenichi Handa <handa@m17n.org>
2728
2729 The following changes are for using Unicode as an internal
2730 character model, and use UTF-8 format for buffer/string
2731 representation.
2732
2733 * .gdbinit (xchartable): Adjusted for the change of char table
2734 structure.
2735 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
2736
2737 * Makefile.in (obj): Add character.o and chartab.o.
2738 (lisp, shortlisp): Remove utf-8.elc:
2739 (*.o): For many files, change dependency on charset.h to
2740 character.h, and add dependency on character.h.
2741 (character.o, chartab.o): New targets.
2742
2743 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c,
2744 doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c,
2745 w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
2746 of "charset.h".
2747
2748 * dired.c, filelock.c: Include "character.h".
2749
2750 * alloc.c: Include "character.h" instead of "charset.h".
2751 (Fmake_char_table): Moved to chartab.c.
2752 (make_sub_char_table): Likewise.
2753 (syms_of_alloc): Remove defsubr for Smake_char_table.
2754
2755 * buffer.c: Include "character.h" instead of "charset.h", don't
2756 include "coding.h".
2757 (Fset_buffer_multibyte): Adjuted for UTF-8.
2758
2759 * buffer.h: EXFUN Fbuffer_live_p.
2760
2761 * callproc.c: Include "character.h" instead of "charset.h".
2762 (Fcall_process): Big change for the new code-conversion APIs.
2763
2764 * casetab.c: Include "character.h" instead of "charset.h".
2765 (set_canon, set_identity, shuffle): Adjusted for the new
2766 map_char_table spec.
2767 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
2768 accessing the char table structure.
2769
2770 * chartab.c: New file that implements char table.
2771
2772 * category.c: Include "character.h".
2773 (copy_category_entry): New function.
2774 (copy_category_table): Call map_char_table and copy_category_entry.
2775 (Fmake_category_table): Initialize all top-vel slots.
2776 (char_category_set): New function.
2777 (modify_lower_category_set): Deleted.
2778 (Fmodify_category_entry): Call char_table_ref_and_range.
2779
2780 * category.h (CATEGORY_SET): Just call char_category_set.
2781
2782 * ccl.c: Include "character.h".
2783 (Qccl, Qcclp): New variables.
2784 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
2785 it's less than 256.
2786 (CCL_WRITE_MULTIBYTE_CHAR): Deleted.
2787 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjusted for the change of SRC
2788 and DST type.
2789 (ccl_driver): Types of arguments changed. Code adjusted for that.
2790 (Fccl_execute, Fccl_execute_on_string): Adjusted for the change of
2791 ccl_driver.
2792 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
2793
2794 * ccl.h (struct ccl_program): Members eol_type and multibyte
2795 deleted. New members src_multibyte, dst_multibyte, consumed, and
2796 produced.
2797 (struct ccl_spec): Members decoder and encoder deleted. New
2798 memeber ccl.
2799 (CODING_SPEC_CCL_PROGRAM): New macro.
2800 (ccl_driver): Prototype updated.
2801 (Qccl, Qcclp, Fccl_program_p): Extern them.
2802 (CHECK_CCL_PROGRAM): New macro.
2803
2804 * character.c, character.h, chartab.c: New files.
2805
2806 * charset.c: Mostly re-written. Character and multibyte sequence
2807 handling codes are moved to character.c.
2808
2809 * charset.h: Mostly re-written. Character and multibyte sequence
2810 handling codes are moved to character.h.
2811
2812 * coding.c, coding.h: Mostly re-written.
2813
2814 * composite.c: Include "character.h" instead of "charset.h".
2815 (CHAR_WIDTH): Moved to character.h.
2816 (HASH_KEY, HASH_VALUE): Deleted.
2817
2818 * composite.h (enum composition_method): Order of enumeration
2819 symbols changed.
2820
2821 * data.c: Include "character.h" instead of "charset.h".
2822 (Faref): Call CHAR_TABLE_REF for a char table.
2823 (Faset): Call CHAR_TABLE_SET for a char table.
2824
2825 * dispextern.h (free_realized_face, check_face_attribytes,
2826 generate_ascii_font): Extern them.
2827 (free_realized_multibyte_face): Extern deleted.
2828
2829 * disptab.h (DISP_CHAR_VECTOR): Adjusted for the change of char
2830 table structure.
2831
2832 * editfns.c: Include "character.h" instead of "charset.h".
2833 (Fchar_to_string): Always call CHAR_STRING.
2834
2835 * emacs.c (main): Call init_charset_once, init_charset,
2836 syms_of_chartab, and syms_of_character.
2837
2838 * fileio.c: Include "character.h" instead of "charset.h".
2839 (Finsert_file_contents): Big change for the new code-conversion
2840 API.
2841 (choose_write_coding_system): Likewise.
2842 (Fwrite_region): Likewise.
2843 (build_annotations_2): Deleted.
2844 (e_write): Big change for the new code-conversion API.
2845
2846 * fns.c: Include "character.h" instead of "charset.h".
2847 (copy_sub_char_table): Moved to chartab.c.
2848 (Fcopy_sequence): Call copy_char_table for a char table.
2849 (concat): Delete codes calling count_multibyte.
2850 (string_char_to_byte): Adjusted for the new multibyte form.
2851 (string_byte_to_char): Likewise.
2852 (internal_equal): Adjusted for the change of char table structure.
2853 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent,
2854 Fchar_table_extra_slot, Fset_char_table_extra_slot,
2855 Fchar_table_range, Fset_char_table_range, Fset_char_table_default,
2856 char_table_translate, optimize_sub_char_table,
2857 Foptimize_char_table, map_char_table, Fmap_char_table): Moved to
2858 chartab.c.
2859 (char_table_ref_and_index): Deleted.
2860 (HASH_KEY, HASH_VALUE): Moved to lisp.h.
2861 (Fmd5): Call preferred_coding_system instead of accessing
2862 Vcoding_category_list. Adjusted for the new code-conversion API.
2863 (syms_of_fns): Defsubr for char table related functions moved to
2864 chartab.c.
2865
2866 * fontset.c: Mostly re-written.
2867
2868 * fontset.h (struct font_info): Type of the member encoding_type
2869 changed.
2870 (enum FONT_SPEC_INDEX): New enum.
2871 (fontset_font_pattern, fs_load_font): Prototype updated.
2872 (FS_LOAD_FONT): Adjusted for the change of fs_load_font.
2873
2874 * indent.c: Include "character.h" instead of "charset.h".
2875 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of
2876 WIDTH_BY_CHAR_HEAD.
2877
2878 * insdel.c: Include "character.h" instead of "charset.h".
2879 (copy_text): Don't refer to Vnonascii_translation_table.
2880 (insert_from_gap): New function.
2881
2882 * keyboard.c: Include "character.h" instead of "charset.h".
2883 (command_loop_1): Never call direct_output_forward_char before
2884 a non-ASCII character.
2885 (read_char): If Vkeyboard_translate_table is a char table, always
2886 translated a character.
2887
2888 * keymap.c: Include "character.h".
2889 (store_in_keymap): Handle the case that IDX is a cons.
2890 (Fdefine_key): Handle the case that KEY is a cons and the car part
2891 is also a cons (range).
2892 (push_key_description): Adjusted for the new character code.
2893 (describe_vector): Call describe_char_table for a char table.
2894 (describe_char_table): New function.
2895
2896 * keymap.h (describe_char_table): Extern it.
2897
2898 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
2899 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
2900 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS,
2901 SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
2902 Deleted.
2903 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjusted for the new char table
2904 structure.
2905 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
2906 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2,
2907 CHARTAB_SIZE_BITS_3): New macros.
2908 (chartab_size): Extern it.
2909 (struct Lisp_Char_Table): Re-designed.
2910 (struct Lisp_Sub_Char_Table): New structure.
2911 (HASH_KEY, HASH_VALUE): Moved from fns.c.
2912 (CHARACTERBITS): Defined as 22.
2913 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the above change.
2914 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
2915 (GC_SUB_CHAR_TABLE_P): New macro.
2916 (Fencode_coding_string, Fdecode_coding_string): EXFUN Updated.
2917 (code_convert_string_norecord): Extern deleted.
2918 (init_character_once, syms_of_character, init_charset,
2919 syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
2920
2921 * lread.c: Include "character.h".
2922 (read_multibyte): New arg NBYTES.
2923 (read_escape): The meaning of returned *BYTEREP changed.
2924 (to_multibyte): Deleted.
2925 (read1): Adjuted the handling of char table and string.
2926
2927 * print.c: Include "character.h" instead of "charset.h".
2928 (print_string): Convert 8-bit raw bytes to octal form by
2929 string_escape_byte8.
2930 (print_object): Adjusted for the new multibyte form. Print 8-bit
2931 raw bytes always in octal form. Handle sub char table correctly.
2932
2933 * process.c: Include "character.h" instead of "charset.h".
2934 (read_process_output): Adjusted for the new code-conversion API.
2935 (send_process): Likewise.
2936
2937 * puresize.h (BASE_PURESIZE): Increased.
2938
2939 * regex.c: Include "character.h" instead of "charset.h".
2940 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
2941 (regex_compile): Accept a range whose starting and ending
2942 character have different leading bytes.
2943 (analyse_first): Adjusted for the above change.
2944
2945 * search.c: Include "character.h" instead of "charset.h".
2946 (search_buffer, boyer_moore): Adjusted for the new multibyte form.
2947 (Freplace_match): Adjusted for the change of
2948 multibyte_char_to_unibyte.
2949
2950 * syntax.c: Include "character.h" instead of "charset.h".
2951 (syntax_parent_lookup): Deleted.
2952 (Fmodify_syntax_entry): Accept a cons as CHAR.
2953 (skip_chars): Adjusted for the new multibyte form.
2954 (init_syntax_once): Call char_table_set_range instead of directly
2955 accessing the structure of a char table.
2956
2957 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
2958 (SYNTAX_ENTRY_FOLLOW_PARENT): Macro deleted.
2959 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
2960 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
2961
2962 * term.c: Include "buffer.h" and "character.h".
2963 (encode_terminal_code): Adjusted for the new code-conversion API.
2964 (write_glyphs): Likewise.
2965 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
2966
2967 * w32term.c (x_new_font): Adjusted for the change of FS_LOAD_FONT.
2968
2969 * xdisp.c: Include "character.h".
2970 (get_next_display_element): Adjusted for the new multibyte form.
2971 (disp_char_vector): Adjusted for the new char table structure.
2972 (decode_mode_spec_coding): Adjusted for the new structure of
2973 coding system.
2974 (decode_mode_spec): Adjusted for the new code-conversion API.
2975
2976 * xfaces.c: Include "character.h" instead of "charset.h".
2977 (load_face_font): Adjusted for the change of choose_face_font and
2978 FS_LOAD_FONT.
2979 (generate_ascii_font): New function.
2980 (set_lface_from_font_name): Adjusted for the change of
2981 FS_LOAD_FONT.
2982 (set_font_frame_param): Adjusted for the change of
2983 choose_face_font.
2984 (free_realized_face): Make it public.
2985 (free_realized_faces_for_fontset): Renamed from
2986 free_realized_multibyte_face. Free also faces realized for ASCII.
2987 (choose_face_font): Argments changed. Adjusted for the change of
2988 fontset_font_pattern and FS_LOAD_FONT.
2989
2990 * xfns.c: Include "character.h".
2991 (x_encode_text): Adjusted for the new code-conversion API.
2992
2993 * xselect.c: Don't include "charset.h".
2994 (selection_data_to_lisp_data): Adjusted for the new code
2995 covnersion API.
2996
2997 * xterm.c: Include "character.h".
2998 (x_encode_char): New argument CHARSET. Caller changed.
2999 (x_get_char_face_and_encoding): Call ENCODE_CHAR instead of
3000 SPLIT_CHAR.
3001 (x_get_glyph_face_and_encoding): Likewise.
3002 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
3003 CHAR_WIDTH instead of CHARSET_WIDTH.
3004 (XTread_socket): Adjusted for the new code-conversion API.
3005 (x_new_font): Adjusted for the change of FS_LOAD_FONT.
3006 (x_load_font): Adjusted for the change of struct font.
3007
3008 ;; Local Variables:
3009 ;; coding: iso-2022-7bit
3010 ;; End:
3011
3012 Copyright (C) 2002 Free Software Foundation, Inc.
3013 Copying and distribution of this file, with or without modification,
3014 are permitted provided the copyright notice and this notice are preserved.
3015
3016 ;;; arch-tag: 1bff38bd-2030-46ae-9d18-f15e6006b665