comparison src/ChangeLog.22 @ 89483:2f877ed80fa6

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Mon, 08 Sep 2003 12:53:41 +0000
parents
children c7f742ad46b6
comparison
equal deleted inserted replaced
88123:375f2633d815 89483:2f877ed80fa6
1 2003-07-09 Kenichi Handa <handa@m17n.org>
2
3 * coding.c (decode_coding_sjis): Check bytes more rigidly.
4
5 2003-06-26 Kenichi Handa <handa@m17n.org>
6
7 * fileio.c (choose_write_coding_system): Return a decided coding
8 system.
9 (Fwrite_region): Set Vlast_coding_system_used to the return value
10 of choose_write_coding_system.
11
12 2003-06-06 Kenichi Handa <handa@m17n.org>
13
14 * charset.c (Fset_charset_priority): Pay attention to duplicated
15 arguments.
16
17 * coding.c (QCcategory): New variable.
18 (syms_of_coding): Defsym it. Set all elements of
19 Vcoding_category_table and their symbol values.
20 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
21 coding-category-XXX, and coding-category-list.
22 (Fdefine_coding_system_internal): Add category in the plist.
23
24 2003-06-05 Kenichi Handa <handa@m17n.org>
25
26 * callproc.c (Fcall_process): Handle carryover correctly.
27
28 * coding.c (decode_coding_iso_2022): Fix handling of invalid
29 bytes.
30 (raw_text_coding_system): Check NILP (coding_system).
31 (coding_inherit_eol_type): Check NILP (coding_system) and
32 NILP (parent).
33 (consume_chars): Fix for the case of raw-text.
34
35 * process.c (read_process_output): Handle carryover correctly.
36
37 2003-06-02 Dave Love <fx@gnu.org>
38
39 * regex.c (re_search_2): Fix last change.
40
41 2003-05-30 Kenichi Handa <handa@m17n.org>
42
43 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
44 target_multibyte. Even in a unibyte case, return a converted
45 multibyte char.
46 (GET_CHAR_AFTER): New macro.
47 (PATFETCH): Translate via multibyte char.
48 (HANDLE_UNIBYTE_RANGE): Delete this macro.
49 (SETUP_MULTIBYTE_RANGE): New macro.
50 (regex_compile): Setup compiled code so that its multibyteness
51 matches that of a target. Fix the handling of "[X-YZ]" using
52 SETUP_MULTIBYTE_RANGE.
53 (analyse_first) <charset>: For filling fastmap for all multibyte
54 characters, don't check by BASE_LEADING_CODE_P.
55 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
56 the same as RE_MULTIBYTE_P (bufp) now.
57 (mutually_exclusive_p): Check by (! multibyte ||
58 IS_REAL_ASCII (c)).
59 (TARGET_CHAR_AND_LENGTH): Delete this macro.
60 (TRANSLATE_VIA_MULTIBYTE): New macro.
61 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
62 It is the same as RE_MULTIBYTE_P (bufp) now.
63 <exactn>: Translate via multibyte.
64 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
65 translate it.
66 <charset, charset_not>: Fetch a character by
67 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
68 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
69 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
70 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
71 by GET_CHAR_AFTER.
72 (bcmp_translate): Likewise.
73
74 * search.c (compile_pattern): Check the member target_multibyte,
75 not the member multibyte of buf.
76
77 * lread.c (read1): While reading a string, set force_singlebyte
78 and force_multibyte correctly.
79
80 * charset.c (Fset_unibyte_charset): Fix setting up of
81 unibyte_to_multibyte_table.
82 (init_charset_once): Likewise.
83
84 2003-05-29 Kenichi Handa <handa@m17n.org>
85
86 * coding.c (setup_coding_system): If coding has
87 post-read-conversion or pre-write-conversion, set
88 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
89 respectively.
90 (decode_coding_gap): Run post-read-conversion if any.
91
92 * fileio.c (Finsert_file_contents): Even if we read into a
93 unibyte buffer, check if we must decode the result or not.
94
95 2003-05-29 Kenichi Handa <handa@m17n.org>
96
97 * coding.c (make_conversion_work_buffer): Change the work buffer
98 name to the same one as that of Emacs 21.
99
100 2003-05-28 Kenichi Handa <handa@m17n.org>
101
102 * coding.h (make_conversion_work_buffer): Prototype adjusted.
103 (code_conversion_restore): Don't extern it.
104
105 * coding.c (detected_mask): Delete unused variable.
106 (decode_coding_iso_2022): Pay attention to the byte sequence of
107 CTEXT extended segment, and retain those bytes as is.
108 (decode_coding_ccl): Delete unused variable `valids'.
109 (setup_coding_system): Delete unused variable `category'.
110 (consume_chars): Delete unused variable `category'. Make it work
111 for non-multibyte case.
112 (make_conversion_work_buffer): Argument changed.
113 (saved_coding): Delete unused variable.
114 (code_conversion_restore): Don't check saved_coding->destination.
115 (code_conversion_save): New function.
116 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
117 instead of record_unwind_protect.
118 (decode_coding_object, encode_coding_object): Likewise. Recover
119 PT.
120 (detect_coding_system): Delete unused variable `mask'.
121 (Fdefine_coding_system_internal): Delete unsed vaiable id;
122
123 * fileio.c (kill_workbuf_unwind): New function.
124 (Finsert_file_contents): On replacing, call
125 make_conversion_work_buffer with correct args, and call
126 record_unwind_protect with the first arg kill_workbuf_unwind.
127
128 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
129
130 2003-05-20 Kenichi Handa <handa@m17n.org>
131
132 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not
133 FONTSET_NAME.
134 (fontset_add): Fix for the case that TO is less than TO1.
135 (Ffontset_info): Don't use fallback fontset on checking the
136 default fontset.
137 (dump_fontset): New function for debugging.
138
139 * coding.c (Fdefine_coding_system_internal): Fix for the case that
140 coding_type is Qcharset.
141
142 2003-05-07 Kenichi Handa <handa@m17n.org>
143
144 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
145 (map_char_table): Don't inherit the value from the parent on
146 initializing VAL. Adjusted for the above change.
147
148 2003-05-06 Kenichi Handa <handa@m17n.org>
149
150 * coding.c (Qsignature, Qendian): Delete these variables.
151 (syms_of_coding): Don't initialize them.
152 (CATEGORY_MASK_UTF_16_AUTO): New macro.
153 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
154 detect_info->found.
155 (decode_coding_utf_16): Don't detect BOM here.
156 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
157 is NOT utf_16_without_bom.
158 (setup_coding_system): For a coding system of type utf-16, check
159 if the attribute :endian is Qbig or not (not nil or not), and set
160 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
161 (detect_coding): If coding type is utf-16 and BOM detection is
162 required, detect it.
163 (Fdefine_coding_system_internal): For a coding system of type
164 utf-16, check if the attribute :endian is Qbig or not (not nil or
165 not).
166
167 2003-05-06 Kenichi Handa <handa@m17n.org>
168
169 * coding.c (coding_set_source): Fix for the case that the current
170 buffer is different from coding->src_object.
171 (decode_coding_object): Don't use the conversion work buffer if
172 DST_OBJECT is a buffer.
173
174 2003-05-04 Dave Love <fx@gnu.org>
175
176 * lread.c (read_emacs_mule_char) [len==2]: Index
177 emacs_mule_charset correctly.
178
179 2003-02-16 Dave Love <fx@gnu.org>
180
181 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
182 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
183 (Fdecode_big5_char, Fencode_big5_char): Deleted. (Big5 no longer
184 treated specially.)
185 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
186 (detected_mask): Remove Big5 bits.
187
188 2003-04-09 Kenichi Handa <handa@m17n.org>
189
190 The following changes are to make the font rescaling facility
191 compatible with Emacs 21.
192
193 * xfaces.c (Vface_font_rescale_alist): Renamed from
194 Vface_resizing_fonts.
195 (struct font_name): Rename member resizing_ratio to rescale_ratio.
196 (font_rescale_ratio): Renamed from font_resizing_ratio.
197 (split_font_name): Set font->rescale_ratio.
198 (better_font_p): Pay attention to font->rescale_ratio.
199 (build_scalable_font_name): Likewise. Change RESX, and RESY
200 fields.
201 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp
202 variable.
203
204 2003-03-28 Kenichi Handa <handa@m17n.org>
205
206 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
207 (Qutf_16_le): Remove these variables.
208 (syms_of_coding): Don't DEFSYM them.
209 (decode_coding_utf_16): Fix handling of BOM.
210 (encode_coding_utf_16): Fix handling of BOM.
211
212 2003-03-14 Kenichi Handa <handa@m17n.org>
213
214 * fileio.c (Finsert_file_contents): On replacing, before decoding
215 the file into the work buffer, set point of the work buffer to the
216 end.
217
218 2003-02-13 Dave Love <fx@gnu.org>
219
220 * coding.c (Fcheck_coding_systems_region): Fix type errors.
221
222 2003-02-04 Dave Love <fx@gnu.org>
223
224 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
225 and fix C types.
226
227 2003-01-31 Kenichi Handa <handa@m17n.org>
228
229 * xdisp.c (SKIP_GLYPHS): New macro.
230 (set_cursor_from_row): Pay attention to string display properties.
231
232 * category.c (copy_category_entry): Fix for the case that RANGE
233 is an integer.
234
235 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
236
237 * w32term.c (w32_encode_char): Call ccl_driver with the last arg
238 Qnil.
239
240 2003-01-30 Kenichi Handa <handa@m17n.org>
241
242 * charset.c (Fcharset_id_internal): New function.
243 (syms_of_charset): Defsubr it.
244
245 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
246 with the last arg charset_list acquired from coding.
247 (Fdefine_coding_system_internal): For ccl-based coding system, fix
248 the attribute coding_attr_ccl_valids.
249
250 * coding.h (enum define_coding_ccl_arg_index): Set the first
251 member coding_arg_ccl_decoder to coding_arg_max.
252
253 * ccl.h (ccl_driver): Prototype adjusted.
254
255 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
256 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
257 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
258 (Fccl_execute): Call ccl_driver with the last arg Qnil.
259 (Fccl_execute_on_string): Likewise.
260
261 2003-01-11 Kenichi Handa <handa@m17n.org>
262
263 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
264 call encode_char.
265
266 * charset.c (encode_char): Fix handling of methods SUBSET and
267 SUPERSET.
268
269 * xterm.c (x_new_fontset): Fix previous change.
270
271 2003-01-10 Dave Love <fx@gnu.org>
272
273 * composite.c (syms_of_composite): Make composition_hash_table
274 weak.
275
276 2003-01-10 Kenichi Handa <handa@m17n.org>
277
278 * dispextern.h (check_face_attributes, generate_ascii_font_name)
279 (font_name_registry): Don't extern them.
280 (split_font_name_into_vector, build_font_name_from_vector): Extern
281 them.
282
283 * fontset.h (Qfontset): Don't extern it.
284 (new_fontset_from_font_name): Extern it.
285
286 * fontset.c: Give 8 extra slots to fontset objects.
287 (Qfontset_info): New variable.
288 (syms_of_fontset): Defsym it.
289 (FONTSET_FALLBACK): New macro.
290 (fontset_face): Try also the default fontset.
291 (make_fontset): Realize a fallback fontset from the default
292 fontset.
293 (generate_ascii_font_name): Moved from xfaces.c. Rewritten by
294 using split_font_name_into_vector and build_font_name_from_vector.
295 (Fset_fontset_font): Access the elements of font_spec by enum
296 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
297 name by using split_font_name_into_vector.
298 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
299 generate a proper font name from the fontset name. Update
300 Vfontset_alias_alist.
301 (n_auto_fontsets): New variable.
302 (new_fontset_from_font_name): New function.
303 (Ffont_info): Store the information about fonts generated from the
304 default fontset in the first extra slot of the returned
305 char-table.
306
307 * xfaces.c (generate_ascii_font_name): Moved to fontset.c.
308 (font_name_registry): Function deleted.
309 (split_font_name_into_vector): New function.
310 (build_font_name_from_vector): New function.
311 (font_list): The argument REGISTRY is now a list of registry
312 names.
313 (choose_face_font): If we are choosing an ASCII font, and ATTRS
314 specifies an explicit font name, return the name as is. Make a
315 list of registy names.
316
317 * xfns.c (x_set_font, x_create_tip_frame): Adjusted to the change
318 of x_new_fontset.
319 (Fx_create_frame): Don't call x_new_fontset here. Just use
320 x_list_fonts to check the existence of fonts.
321
322 * xterm.h (x_new_fontset): Prototype adjusted.
323
324 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
325 string. Use new_fontset_from_font_name to create a fontset from a
326 font name.
327
328 2003-01-07 Dave Love <fx@gnu.org>
329
330 * Makefile.in: Fix some dependencies.
331
332 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
333 set it to nil before returning.
334
335 * composite.c (update_compositions): Fix type error.
336
337 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
338
339 2003-01-07 Kenichi Handa <handa@etl.go.jp>
340
341 * xterm.c (x_new_font): Optimize for the case that the font is
342 already set for the frame.
343
344 2003-01-06 Kenichi Handa <handa@m17n.org>
345
346 * chartab.c (char_table_ascii): Check if the char table contents
347 is sub-char-table or not.
348 (char_table_set): Fix argument to char_table_ascii.
349 (char_table_set_range): Likewise.
350
351 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
352 (detect_coding_utf_8, detect_coding_utf_16)
353 (detect_coding_emacs_mule, detect_coding_iso_2022)
354 (detect_coding_sjis, detect_coding_big5)
355 (detect_coding_ccl, detect_coding_charset): Change argument MASK
356 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
357 sequence is valid in this coding system. Callers changed.
358 (MAX_ANNOTATION_LENGTH): New macro.
359 (ADD_ANNOTATION_DATA): New macro.
360 (ADD_COMPOSITION_DATA): Argument changed. Callers changed. Call
361 ADD_ANNOTATION_DATA. The format of annotation data changed.
362 (ADD_CHARSET_DATA): New macro.
363 (emacs_mule_char): New argument ID. Callers changed.
364 (decode_coding_emacs_mule, decode_coding_iso_2022)
365 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
366 Produce charset annotation data in coding->charbuf.
367 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
368 to charset annotation data in coding->charbuf.
369 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
370 coding->common_flags if the coding system is iso-2022 based and
371 uses designation.
372 (produce_composition): Adjusted for the new annotation data
373 format.
374 (produce_charset): New function.
375 (produce_annotation): Handle charset annotation.
376 (handle_composition_annotation, handle_charset_annotation): New
377 functions.
378 (consume_chars): Handle charset annotation. Utilize the above two
379 functions.
380 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
381 buffer, get the deleted text as a string and set
382 coding->src_object to that string.
383 (detect_coding, detect_coding_system): Use the new struct
384 coding_detection_info.
385
386 * coding.h (struct coding_detection_info): New structure.
387 (struct coding_system): Prototype of the member `detector'
388 adjusted.
389 (CODING_ANNOTATE_CHARSET_MASK): New macro.
390
391 2003-01-06 Kenichi Handa <handa@etl.go.jp>
392
393 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
394
395 2003-01-03 Dave Love <fx@gnu.org>
396
397 * keymap.c (apropos_predicate, apropos_accumulate): Declare
398 static.
399 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
400 to new local and nullify apropos_accumulate before returning.
401 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
402
403 2002-12-05 Kenichi Handa <handa@m17n.org>
404
405 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
406 correctly.
407
408 2002-11-26 Dave Love <fx@gnu.org>
409
410 * fns.c (Flanginfo): Call synchronize_system_time_locale.
411
412 2002-11-07 Kenichi Handa <handa@m17n.org>
413
414 The following changes are to make character composition happen
415 automatically on displaying.
416
417 * Makefile.in (lisp, shortlisp): Add composite.elc
418
419 * composite.h (Qauto_composed, Vauto_composition_function,
420 Qauto_composition_function): Extern them.
421
422 * composite.c (Vcomposition_function_table,
423 Qcomposition_function_table): Delete variables.
424 (Qauto_composed, Vauto_composition_function,
425 Qauto_composition_function): New variables.
426 (run_composition_function): Don't call
427 compose-chars-after-function.
428 (update_compositions): Clear `auto-composed' text property.
429 (compose_chars_in_text): Delete this function.
430 (syms_of_composite): Staticpro Qauto_composed and
431 Qauto_composition_function. Declare Vauto_composition_function as
432 a Lisp variable.
433
434 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
435
436 * xdisp.c (it_props): Add an entry for Qauto_composed.
437 (handle_auto_composed_prop): New function.
438
439 * xselect.c (selection_data_to_lisp_data): Don't call
440 compose_chars_in_text.
441
442 2002-11-06 Dave Love <fx@gnu.org>
443
444 * keyboard.c (read_char): Modify checking around use of
445 Vkeyboard_translate_table.
446
447 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
448 and fix C types.
449
450 2002-11-06 Kenichi Handa <handa@m17n.org>
451
452 * coding.c (decode_coding_utf_8): When eol_type is Qdos, handle
453 the case that the last byte is '\r' correctly.
454 (decode_coding_emacs_mule): Likewise.
455 (decode_coding_iso_2022): Likewise.
456 (decode_coding_sjis): Likewise.
457 (decode_coding_big5): Likewise.
458 (decode_coding_charset): Likewise.
459 (produce_chars): Likewise.
460 (decode_coding): Flushing out the unprocessed data correctly.
461 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of
462 coding->mode.
463
464 2002-10-31 Dave Love <fx@gnu.org>
465
466 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
467 XK_ISO... case.
468 (xaw_scroll_callback): Revert last change.
469
470 2002-10-30 Kenichi Handa <handa@m17n.org>
471
472 * charset.c (Fset_charset_priority): Update
473 Viso_2022_charset_list.
474
475 2002-10-29 Kenichi Handa <handa@m17n.org>
476
477 * xfaces.c (Vface_resizing_fonts): New variable.
478 (struct font_name): New member `resizing_ratio'.
479 (font_resizing_ratio): New function.
480 (split_font_name): Set font->resizing_ratio.
481 (better_font_p): Pay attention to font->resizing_ratio.
482 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
483 RESX, and RESY fields.
484 (try_alternative_families): Try scalable fonts if
485 Vscalable_fonts_allowed is not Qt.
486 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
487
488 2002-10-29 Dave Love <fx@gnu.org>
489
490 * xterm.c (xaw_scroll_callback): Cast correctly.
491
492 2002-10-28 Dave Love <fx@gnu.org>
493
494 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
495 (lispy_kana_keys): Comment out.
496 (make_lispy_event) [XK_kana_A]: Comment out.
497
498 * xterm.c (xaw_scroll_callback): Cast call_data.
499 (XTread_socket): Deal with ASCII keysyms.
500 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
501
502 2002-10-27 Dave Love <fx@gnu.org>
503
504 * xterm.c (Vx_keysym_table): New.
505 (syms_of_xterm): Initialize it.
506 (XTread_socket): Use it.
507 From head: Eliminate incorrect optimization that tried to avoid
508 decoding the output of X*LookupString.
509 (x_get_font_repertory): Delete charset declaration.
510
511 2002-10-16 Kenichi Handa <handa@m17n.org>
512
513 * coding.c (detect_coding): Fix previous change.
514 (detect_coding_charset): If only ASCII bytes are found, return 0.
515 (detect_coding_system): Fix previous change.
516 (Fdefine_coding_system_internal): Setup CODING_ATTR_ASCII_COMPAT
517 (attrs) correctly.
518
519 2002-10-15 Dave Love <fx@gnu.org>
520
521 * coding.c (Fcheck_coding_system): Doc fix.
522
523 * editfns.c (Finsert_byte): Return a proper value.
524
525 2002-10-14 Kenichi Handa <handa@etl.go.jp>
526
527 * coding.c (decode_coding): Fix args to translate_chars. Pay
528 attention to Vstandard_translation_table_for_decode.
529 (encode_coding): Fix args to translate_chars. Pay attention to
530 Vstandard_translation_table_for_encode.
531
532 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
533 SINGLE_BYTE_CHAR_P.
534
535 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
536 not by SINGLE_BYTE_CHAR_P.
537
538 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
539 SINGLE_BYTE_CHAR_P.
540
541 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
542 SINGLE_BYTE_CHAR_P.
543
544 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
545 by SINGLE_BYTE_CHAR_P.
546
547 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
548 SINGLE_BYTE_CHAR_P.
549
550 2002-10-14 Dave Love <fx@gnu.org>
551
552 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
553
554 2002-10-10 Dave Love <fx@gnu.org>
555
556 * fns.c (Flanginfo): Fix typo.
557
558 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
559
560 2002-10-10 Kenichi Handa <handa@m17n.org>
561
562 * coding.c (detect_coding_utf_8): Check incomplete byte sequence.
563 Don't update *mask when correctly detected.
564 (detect_coding_utf_16): Likewise.
565 (detect_coding_emacs_mule): Likewise.
566 (detect_coding_iso_2022): Likewise.
567 (detect_coding_sjis): Likewise.
568 (detect_coding_big5): Likewise.
569 (detect_coding_ccl): Likewise.
570 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
571 (detect_eol): Delete the argument CODING, and add the argument
572 CATEGORY.
573 (detect_coding): Adjusted for the changes above.
574 (detect_coding_system): Likewise.
575
576 2002-10-09 Kenichi Handa <handa@m17n.org>
577
578 * character.c (char_string): Renamed from
579 char_string_with_unification. Pay attention to
580 CHAR_MODIFIER_MASK.
581 (string_char): Renamed from string_char.
582
583 * character.h (CHAR_STRING): Call char_string if C is greater than
584 MAX_3_BYTE_CHAR.
585 (CHAR_STRING_ADVANCE): Likewise.
586 (STRING_CHAR): Call string_char instead of
587 string_char_with_unification.
588 (STRING_CHAR_AND_LENGTH): Likewise.
589 (STRING_CHAR_ADVANCE): Likewise.
590
591 2002-10-09 Dave Love <fx@gnu.org>
592
593 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
594
595 2002-10-07 Kenichi Handa <handa@m17n.org>
596
597 * keymap.c (push_key_description): Pay attention to
598 force_multibyte.
599
600 * regex.c (re_search_2): Fix for the case of unibyte buffer.
601
602 2002-10-06 Dave Love <fx@gnu.org>
603
604 * charset.c (define_charset_internal): Rename `supprementary'.
605
606 * Makefile.in (lisp, shortlisp): Remove latin-N.
607
608 2002-10-05 Dave Love <fx@gnu.org>
609
610 * xfns.c (x_window, x_window): Use use_xim.
611
612 * xterm.c (use_xim): Initialize.
613 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
614 (x_term_init): Maybe set use_xim.
615
616 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
617
618 2002-10-01 Kenichi Handa <handa@m17n.org>
619
620 * search.c (search_buffer): Fix case-fold-search of multibyte
621 characters.
622 (boyer_moore): Rename the last argument to char_high_bits.
623
624 2002-09-27 Kenichi Handa <handa@etl.go.jp>
625
626 * xdisp.c (display_string): Fix for the case of zero width glyph.
627
628 * xfns.c (x_set_font): Change the error message of the case that
629 x_new_fontset returns Qt.
630
631 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
632 (Finternal_set_lisp_face_attribute): Use signal_error for the
633 error of invalid fontset.
634
635 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
636 fontset, return Qt.
637
638 2002-09-19 Kenichi Handa <handa@etl.go.jp>
639
640 * regex.c (re_search_2): Fix previous change.
641
642 2002-09-18 Kenichi Handa <handa@etl.go.jp>
643
644 * syntax.c (skip_syntaxes): Fix previous change.
645
646 2002-09-13 Kenichi Handa <handa@etl.go.jp>
647
648 * syntax.c (skip_chars): Fix previous change.
649 (skip_syntaxes): Fix previous change.
650
651 2002-09-06 Dave Love <fx@gnu.org>
652
653 * config.in: Restore it.
654
655 2002-09-05 Dave Love <fx@gnu.org>
656
657 * config.in: Removed (now auto-generated).
658
659 * s/usg5-4.h: Fix last change.
660
661 * unexelf.c (unexec): Make .got handling not SGI-specific.
662
663 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
664
665 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
666
667 * keyboard.c (read_key_sequence): Fix type error.
668
669 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
670 type error.
671
672 * fontset.c (fontset_add): Return Lisp_Object.
673
674 2002-09-03 Dave Love <fx@gnu.org>
675
676 * charset.h (charset_ordered_list_tick): Declare extern.
677
678 2002-09-03 Kenichi Handa <handa@etl.go.jp>
679
680 The following changes (and some of 2002-08-20 changes of mine) are
681 for handling syntax, category, and case conversion for unibyte
682 characters by converting them to multibyte on the fly. With these
683 changes, we don't have to setup syntax and case tables for unibyte
684 characters in each language environment.
685
686 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
687 multibyte if necessary.
688
689 * bytecode.c (Fbyte_code): Likewise.
690
691 * character.h (LEADING_CODE_LATIN_1_MIN)
692 (LEADING_CODE_LATIN_1_MAX): New macros.
693 (unibyte_to_multibyte_table): Extern it.
694 (unibyte_char_to_multibyte): New macro.
695 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
696 (CHAR_LEADING_CODE): New macro.
697 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
698
699 * character.c (unibyte_to_multibyte_table): New variable.
700 (unibyte_char_to_multibyte): Move to character.h and defined as
701 macro.
702 (multibyte_char_to_unibyte): If C is an eight-bit character,
703 convert it to the corresponding byte value.
704
705 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
706 not 1, singals an error. Update the elements of
707 unibyte_to_multibyte_table.
708 (init_charset_once): Initialize unibyte_to_multibyte_table.
709 (syms_of_charset): Define the charset `iso-8859-1'.
710
711 * casefiddle.c (casify_object): Fix previous change.
712
713 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
714 as is without converting it to unibyte. In a unibyte buffer,
715 convert C to multibyte before checking the syntax.
716
717 * lisp.h (unibyte_char_to_multibyte): Extern deleted.
718
719 * minibuf.c (Fminibuffer_complete_word): Use the macro
720 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
721
722 * regex.h (struct re_pattern_buffer): New member target_multibyte.
723
724 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
725 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
726 that is zero, convert an eight-bit char to multibyte.
727 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
728 non-emacs case.
729 (PATFETCH): Convert an eight-bit char to multibyte.
730 (HANDLE_UNIBYTE_RANGE): New macro.
731 (regex_compile): Setup the compiled pattern for multibyte chars
732 even if the given regex string is unibyte. Use PATFETCH_RAW
733 instead of PATFETCH in many places. To handle `charset'
734 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
735 only for ASCII chars.
736 (analyse_first) <exactn>: Simplified because the compiled pattern
737 is multibyte.
738 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
739 <charset>: Use CHAR_LEADING_CODE to get leading codes.
740 <categoryspec>: If multibyte, setup fastmap only for ASCII chars
741 here.
742 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
743 multibyte always 1.
744 (re_search_2) In emacs, set the locale variable multibyte to 1,
745 otherwise to 0. New local variable target_multibyte. Check it
746 to decide the multibyteness of STR1 and STR2. If
747 target_multibyte is zero, convert unibyte chars to multibyte
748 before translating and checking fastmap.
749 (TARGET_CHAR_AND_LENGTH): New macro.
750 (re_match_2_internal): In emacs, set the locale variable multibyte
751 to 1, otherwise to 0. New local variable target_multibyte. Check
752 it to decide the multibyteness of STR1 and STR2. Use
753 TARGET_CHAR_AND_LENGTH to fetch a character from D.
754 <charset, charset_not>: If multibyte is nonzero, check fastmap
755 only for ASCII chars. Call bcmp_translate with
756 target_multibyte, not with multibyte.
757 <begline>: Declare the local variable C as `unsigned'.
758 (bcmp_translate): Change the last arg name to target_multibyte.
759
760 * search.c (compile_pattern_1): Don't adjust the multibyteness of
761 the regexp pattern and the matching target. Set cp->buf.multibyte
762 to the multibyteness of the regexp pattern. Set
763 cp->but.target_multibyte to the multibyteness of the matching
764 target.
765 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
766 FETCH_STRING_CHAR_ADVANCE.
767 (Freplace_match): Convert unibyte chars to multibyte.
768
769 * syntax.c (char_quoted): Use FETCH_CHAR_AS_MULTIBYTE to convert
770 unibyte chars to multibyte.
771 (back_comment): Likewise.
772 (scan_words): Likewise.
773 (skip_chars): The arg syntaxp is deleted, and the code for
774 handling syntaxes is moved to skip_syntaxes. Callers changed.
775 Fix the case that the multibyteness of STRING and the current
776 buffer doesn't match.
777 (skip_syntaxes): New function.
778 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
779 SINGLE_BYTE_CHAR_P.
780 (Fforward_comment): Use FETCH_CHAR_AS_MULTIBYTE to convert unibyte
781 chars to multibyte.
782 (scan_lists): Likewise.
783 (Fbackward_prefix_chars): Likewise.
784 (scan_sexps_forward): Likewise.
785
786 2002-08-23 Kenichi Handa <handa@etl.go.jp>
787
788 * xfaces.c (QCfontset): New variable.
789 (LFACE_FONTSET): New macro.
790 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
791 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
792 (Finternal_set_lisp_face_attribute): Handle QCfontset.
793 (Finternal_get_lisp_face_attribute): Likewise.
794 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
795 check also LFACE_FONTSET_INDEX.
796 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
797 attrs[LFACE_FONT_INDEX].
798 (syms_of_xfaces): Intern and staticpro QCfontset.
799
800 * dispextern.h (enum lface_attribute_index): New member
801 LFACE_FONTSET_INDEX.
802
803 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
804
805 2002-08-21 Kenichi Handa <handa@etl.go.jp>
806
807 * coding.c (coding_set_destination): Fix coding->destination for
808 the case converting a region.
809 (encode_coding_utf_8): Encode eight-bit chars as single byte.
810 (encode_coding_object): Fix coding->dst_pos and
811 coding->dst_pos_byte for the case converting a region.
812
813 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
814
815 * character.h (BYTE8_STRING): New macro.
816
817 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
818
819 2002-08-20 Kenichi Handa <handa@etl.go.jp>
820
821 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
822 characters by octal form.
823
824 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
825
826 * buffer.h (_fetch_multibyte_char_len): Extern deleted.
827 (FETCH_MULTIBYTE_CHAR): Don't use _fetch_multibyte_char_len.
828 (BUF_FETCH_MULTIBYTE_CHAR): Likewise.
829 (FETCH_CHAR_AS_MULTIBYTE): New macro.
830
831 * casetab.c (set_canon, set_identity, shuffle): Simplified.
832
833 * casefiddle.c (casify_object): Simplified. Handle the case that
834 the case conversion change the byte length.
835 (casify_region): Likewise
836
837 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New
838 macros.
839
840 * character.c (_fetch_multibyte_char_len): This variable deleted.
841 (syms_of_character): Setup Vprintable_chars.
842
843 * editfns.c (Fchar_equal): Fix for the unibyte case.
844 (Finsert_byte): New function.
845 (syms_of_editfns): Defsubr it.
846
847 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
848 of direct code 0x3ffff.
849
850 * search.c (Freplace_match): Fix for the unibyte case.
851
852 2002-08-19 Kenichi Handa <handa@etl.go.jp>
853
854 * lread.c (safe_to_load_p): Fix the logic.
855
856 * syntax.c (scan_words): Don't treat characters belonging to
857 different scripts as constituting a word.
858
859 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
860
861 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not
862 script.
863
864 * emacs.c (main): In the case of --unibyte, instead of aborting on
865 finding non-empty buffer, make it unibyte.
866
867 2002-08-18 Kenichi Handa <handa@etl.go.jp>
868
869 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
870 to create a fontset.
871
872 2002-08-18 Dave Love <fx@gnu.org>
873
874 * character.c (Funibyte_char_to_multibyte): Doc fix.
875
876 * xfns.c [HAVE_STDLIB_H]: Fix last change.
877
878 2002-08-15 Kenichi Handa <handa@etl.go.jp>
879
880 * fontset.c (fontset_add): Make the type `int'.
881 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
882
883 * character.c (unibyte_char_to_multibyte): Refer to
884 charset_unibyte, not charset_primary.
885 (multibyte_char_to_unibyte): Likewise.
886 (Funibyte_char_to_multibyte): Likewise.
887
888 * charset.h: (charset_unibyte): Extern it instead of
889 charset_primary.
890
891 * charset.c (charset_unibyte): Renamed from charset_primary.
892 (Funibyte_charset): Renamed from Fprimary_charset.
893 (Fset_unibyte_charset): Renamed from Fset_primary_charset.
894 (syms_of_charset): Adjusted for the above changes.
895
896 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
897 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
898 it->multibyte_p is zero.
899
900 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
901 Extern deleted.
902
903 2002-08-08 Kenichi Handa <handa@etl.go.jp>
904
905 * coding.c (Fdefine_coding_system_internal): Fix category setting
906 for a coding system of type iso-2022.
907
908 2002-08-02 Kenichi Handa <handa@etl.go.jp>
909
910 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET
911 -1.
912
913 2002-08-01 Kenichi Handa <handa@etl.go.jp>
914
915 * syntax.c (Vnext_word_boundary_function_table): New variable.
916 (syms_of_syntax): Declare it as a Lisp variable.
917 (scan_words): Call functions in Vnext_word_boundary_function_table
918 if any.
919
920 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
921
922 * fontset.c (fs_load_font): If fontp->charset is not negative,
923 return fontp without setting its members.
924
925 2002-07-31 Dave Love <fx@gnu.org>
926
927 * config.in: Generated with autoheader.
928
929 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
930
931 * m/sparc.h (HAVE_ALLOCA): Delete.
932
933 * s/irix6-5.h: Don't include strings.h.
934 (bcopy, bzero, bcmp): Don't undef.
935
936 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
937
938 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
939 (TIOCSIGSEND): Don't test IRIX6.
940 (bcopy, bzero, bcmp): Define conditionally.
941
942 2002-07-31 Kenichi Handa <handa@etl.go.jp>
943
944 * buffer.c (Qas, Qmake, Qto): New variables.
945 (Fset_buffer_multibyte): New optional arg METHOD. Caller changed.
946 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
947
948 * callproc.c (Fcall_process): Don't call insert_1_both directly if
949 we are inserting a process output into a multibyte buffer.
950
951 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
952 multibyte_char_to_unibyte.
953
954 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
955 by the primary charset, make it eight-bit char.
956 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
957
958 * charset.c: (charset_eight_bit, Qeight_bit_control): New
959 variables.
960 (charset_8_bit__control, charset_8_bit_graphic,
961 Qeight_bit_control, Qeight_bit_graphic): These variables deleted.
962 (define_charset_internal): New function.
963 (syms_of_charset): Call define_charset_internal for pre-defined
964 charsets.
965
966 * charset.h (charset_8_bit): Extern it.
967
968 * coding.c (make_conversion_work_buffer): Adjusted for the change
969 of Fset_buffer_multibyte.
970 (encode_coding_raw_text): Increment p0 in the loop.
971
972 * lisp.h (Fset_buffer_multibyte): Prototype adjusted.
973
974 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjusted
975 for the change of Fset_buffer_multibyte.
976
977 * fns.c (Fstring_to_multibyte): New function.
978 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
979
980 2002-07-30 Dave Love <fx@gnu.org>
981
982 * xfns.c (x_put_x_image): Declare args.
983
984 * xfaces.c (font_name_registry, choose_face_font): Delete unused
985 vars.
986 (try_font_list): Declare an arg.
987
988 * xdisp.c (message2_nolog, set_message): Declare an arg.
989
990 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
991
992 * syntax.c (scan_sexps_forward): Declare an arg.
993
994 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
995 Declare an arg.
996
997 * lisp.h (Fnew_fontset): Declare.
998
999 * keymap.c (push_key_description): Call CHARACTERP correctly.
1000
1001 * fontset.c (fontset_add): Declare args. Call make_number
1002 correctly.
1003 (face_for_char): Delete unused vars.
1004 (Fset_fontset_font): Doc fix. Delete unused vars.
1005
1006 * doc.c (Fsubstitute_command_keys): Delete unused vars.
1007
1008 * composite.c (update_compositions): Declare arg.
1009
1010 * cm.c (calccost, cmgoto): Declare args.
1011
1012 * charset.c: Remove `emacs' conditional. Doc fixes.
1013 (map_char_table_for_charset): Declare.
1014
1015 * character.c (syms_of_character) <translation-table-vector>: Doc
1016 fix.
1017
1018 * ccl.c: Remove `emacs' conditional. Include hash table stuff
1019 from trunk.
1020
1021 2002-07-26 Kenichi Handa <handa@etl.go.jp>
1022
1023 The following changes are to allow specifying multiple font
1024 patterns for a character range (specified by script or charset).
1025
1026 * Makefile.in (abbrev.o): Depend on syntax.h.
1027 (xfaces.o): Depend on charset.h.
1028
1029 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
1030 SINGLE_BYTE_CHAR_P.
1031
1032 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
1033
1034 * character.h (Vchar_script_table): Extern it.
1035
1036 * character.c (Vscript_alist): This variable deleted.
1037 (Vchar_script_table, Qchar_script_table): New variable.
1038 (syms_of_character): Declare Vchar_script_table as a lisp variable
1039 and initialize it.
1040
1041 * chartab.c (Fmake_char_table): Doc fixed. If PURPOSE doesn't
1042 have property char-table-extra-slots, make no extra slot.
1043
1044 * dispextern.h (struct face): Member `charset' deleted.
1045 (FACE_SUITABLE_FOR_CHAR_P): Use ASCII_CHAR_P, not
1046 SINGLE_BYTE_CHAR_P.
1047 (FACE_FOR_CHAR): Likewise.
1048 (choose_face_font, lookup_non_ascii_face, font_name_registry): Add
1049 prototypes
1050 (lookup_face, lookup_named_face, lookup_derived_face): Prototype
1051 fixed.
1052 (generate_ascii_font_name): Renamed from generate_ascii_font.
1053
1054 * fontset.h (get_font_repertory_func): New prototype.
1055 (make_fontset_for_ascii_face, fs_load_font): Prototypes fixed.
1056 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
1057
1058 * fontset.c (Qprepend, Qappend): New variables.
1059 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): These macros deleted.
1060 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
1061 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
1062 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
1063 (fontset_ref_and_range, fontset_add, reorder_font_vector)
1064 (load_font_get_repertory): New functions.
1065 (fontset_set): This function deleted.
1066 (fontset_face): New arg FACE. Return face ID, not face.
1067 Completely re-written to handle new fontset structure. Caller
1068 changed.
1069 (free_face_fontset): Use ASET istead of AREF (X) = Y.
1070 (face_for_char): Don't call lookup_face.
1071 (make_fontset_for_ascii_face): New arg FACE.
1072 (fs_load_font): New arg CHARSET_ID. Don't check
1073 Vfont_encoding_alist here.
1074 (find_font_encoding): New function.
1075 (list_fontsets): Use STRINGP, not ! NILP.
1076 (accumulate_script_ranges): New function.
1077 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
1078 re-written to handle new fontset structure.
1079 (Ffontset_font): Return a copy of element.
1080 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
1081 docstring of font-encoding-alist.
1082
1083 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
1084 (Fset_fotset_font): Fix arguments to 5.
1085
1086 * msdos.c (XMenuActivate): Adjuted for the change of
1087 lookup_derived_face.
1088
1089 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
1090 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1091 (highlight_trailing_whitespace): Adjusted for the change of
1092 lookup_named_face.
1093
1094 * xfaces.c: Include charset.h.
1095 (load_face_font): Argument C deleted. Caller changed.
1096 (generate_ascii_font_name): Renamed from generate_ascii_font.
1097 (font_name_registry): New function.
1098 (cache_face): Store ascii faces before non-ascii faces in buckets.
1099 (lookup_face): Arguments C and BASE_FACE deleted. Caller changed.
1100 Lookup only ascii faces.
1101 (lookup_non_ascii_face): New function.
1102 (lookup_named_face): Argument C deleted. Caller changed.
1103 (lookup_derived_face): Argument C deleted. Caller changed.
1104 (try_font_list): New arg PATTERN. Caller changed. If PATTERN is
1105 a string, just call font_list with it.
1106 (choose_face_font): Arguments FACE and C deleted. New arg
1107 FONT_SPEC. Caller changed.
1108 (realize_face): Arguments C and BASE_FACE deleted. Caller
1109 (realize_x_face): Likewise.
1110 (realize_non_ascii_face): New function.
1111 (realize_x_face): Call load_face_font here.
1112 (realize_tty_face): Argument C deleted. Caller changed.
1113 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
1114 get a face ID.
1115 (dump_realized_face): Don't print charset of FACE.
1116
1117 * xfns.c (x_set_font): Always call x_new_fontset and
1118 store_frame_parameter.
1119 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1120 (syms_of_xfns): Set get_font_repertory_func to
1121 x_get_font_repertory.
1122
1123 * xterm.h (x_get_font_repertory): Extern it.
1124
1125 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
1126 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
1127 it->multibyte_p is zero.
1128 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1129 (x_new_fontset): If FONTSETNAME doesn't match any existing
1130 fontsets, create a new one.
1131 (x_get_font_repertory): New function.
1132
1133 2002-07-25 Kenichi Handa <handa@etl.go.jp>
1134
1135 * coding.c (Ffind_coding_systems_region_internal): Detect an
1136 ASCII only string correctly.
1137
1138 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
1139 version is 0.
1140
1141 2002-07-24 Kenichi Handa <handa@etl.go.jp>
1142
1143 * lread.c: Include "coding.h".
1144 (Qget_emacs_mule_file_char, Qload_force_doc_strings,
1145 load_each_byte, unread_char): New variables.
1146 (readchar_backlog): This variable deleted.
1147 (readchar): Return a character unless load_each_byte is nonzero.
1148 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
1149 cons. If unread_char is not -1, simply return it.
1150 (unreadchar): Handle the case that readcharfun is
1151 Qget_emacs_mule_file_char or a cons. Set unread_char if
1152 necessary.
1153 (read_multibyte): This function deleted.
1154 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
1155 (read_emacs_mule_char): New functions.
1156 (Fload): Even if the file doesn't have the extention ".elc", if
1157 safe_to_load_p returns a positive version number, assume that the
1158 file contains bytecompiled code. If the version is less than 22,
1159 load the file while decoding multibyte sequences by emacs-mule.
1160 (readevalloop): Don't use readchar_backlog.
1161 (Fread): Likewise. Pay attention to the case that STREAM is a
1162 cons.
1163 (Fread_from_string): Pay attention to the case that STREAM is a
1164 cons.
1165 (read_escape): The arg BYTEREP deleted.
1166 (read1): Set load_each_byte to 1 temporarily while handling
1167 #@NUMBER. Don't call read_multibyte.
1168 (read_vector): Call Fread with a cons. If readcharfun is
1169 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1170 (read_list): If doc_reference is 2, make the cdr part string as
1171 unibyte.
1172 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
1173 and Qload_force_doc_strings.
1174
1175 2002-07-23 Kenichi Handa <handa@etl.go.jp>
1176
1177 * xdisp.c (face_before_or_after_it_pos): Call
1178 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
1179
1180 2002-07-22 Kenichi Handa <handa@etl.go.jp>
1181
1182 * character.h (TRAILING_CODE_P): New macro.
1183 (MAYBE_UNIFY_CHAR): Adjusted for the change of Funify_charset.
1184 (string_char_with_unification): Fix prototype.
1185 (Vscript_alist): Extern it.
1186
1187 * character.c (Vscript_alist): New variable.
1188 (string_char_with_unification): Add `const' to local variables.
1189 (str_as_unibyte): Likewise.
1190 (string_escape_byte8): Likewise.
1191 (syms_of_character): Declare script-alist as a Lisp variable.
1192
1193 * charset.h (Vcharset_ordered_list): Extern it.
1194 (charset_ordered_list_tick): Extern it.
1195 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
1196 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
1197 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
1198 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros
1199 (Funify_charset): Adjusted for the change of Funify_charset.
1200
1201 * charset.c (charset_ordered_list_tick): New variable.
1202 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
1203 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
1204 deunify intead of unify a charset.
1205 (string_xstring_p): Add `const' to local variables.
1206 (find_charsets_in_text): Add `const' to arguemnts and local
1207 variables.
1208 (encode_char): Adjusted for the change of Funify_charset. Fix
1209 detecting of invalid code.
1210 (Fset_charset_priority): Increment charset_ordered_list_tick.
1211 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
1212 and TO_CODE.
1213
1214 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1215 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Macros
1216 deleted. Callers changed to use
1217 EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
1218 (decode_coding_ccl): Add `const' to local variables.
1219 (consume_chars): Likewise.
1220 (Ffind_coding_systems_region_internal): Likewise.
1221 (Fcheck_coding_systems_region): Likewise.
1222
1223 * print.c (print_object): Use octal form for printing the
1224 contents of a bool vector.
1225
1226 2002-07-18 Dave Love <fx@gnu.org>
1227
1228 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
1229 <version == 20>: Refuse to load.
1230
1231 2002-07-17 Dave Love <fx@gnu.org>
1232
1233 * fns.c: Move coding.h.
1234 (Qcodeset, Qdays, Qmonths): New.
1235 (concat): Use CHARACTERP instead of INTERGERP.
1236 (Flocale_codeset): Deleted.
1237 (Flanginfo): New function.
1238 (syms_of_fns): Changed accordingly.
1239
1240 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
1241
1242 2002-07-16 Dave Love <fx@gnu.org>
1243
1244 * casetab.c (init_casetab_once, init_casetab_once): Fix
1245 CHAR_TABLE_SET call.
1246
1247 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
1248
1249 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
1250
1251 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
1252 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
1253 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
1254
1255 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
1256
1257 * coding.c (ENCODE_DESIGNATION, decode_eol)
1258 (make_conversion_work_buffer, code_conversion_restore)
1259 (Fdefine_coding_system_internal): Convert Lisp types.
1260 (code_conversion_restore): Use EQ, not ==.
1261 (Fencode_coding_string): Fix code_convert_string call.
1262
1263 * coding.h (code_convert_region): Fix prototype.
1264
1265 * dispextern.h (redraw_frame, redraw_garbaged_frames): Removed.
1266
1267 * fontset.c (fontset_ref, fontset_set, fs_load_font)
1268 (Ffontset_info): Convert Lisp types.
1269
1270 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
1271
1272 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
1273
1274 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
1275
1276 * chartab.c: Include "...h", not <...h> in some cases.
1277
1278 * callproc.c (Fcall_process): Remove unused variables.
1279
1280 2002-07-12 Dave Love <fx@gnu.org>
1281
1282 * coding.c (Fset_coding_system_priority): Allow null arg list.
1283
1284 2002-07-03 Dave Love <fx@gnu.org>
1285
1286 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
1287 (Fself_insert_and_exit): Use CHARACTERP.
1288
1289 * callproc.c (Fcall_process): Remove unused vars.
1290
1291 * xterm.c (XTread_socket): Add extra dead keysyms.
1292
1293 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
1294
1295 * dispextern.h: Remove prototypes for redraw_frame,
1296 redraw_garbaged_frames.
1297
1298 * cmds.c (Fself_insert_command): Use CHARACTERP.
1299
1300 * chartab.c (make_sub_char_table): Remove unused var.
1301 (Fset_char_table_default, Fmap_char_table): Doc fix.
1302
1303 * keymap.c (access_keymap): Remove generic char code.
1304 (push_key_description): Use CHARACTERP.
1305
1306 2002-07-01 Dave Love <fx@gnu.org>
1307
1308 * charset.c: Doc fixes.
1309 (Funify_charset): Extra checking.
1310
1311 2002-06-24 Dave Love <fx@gnu.org>
1312
1313 * lread.c: Remove some unused variables.
1314 (safe_to_load_p): If safe, return the magic number version byte.
1315 (Fload): Maybe use load-with-code-conversion.
1316
1317 2002-06-12 Kenichi Handa <handa@etl.go.jp>
1318
1319 * category.c (Fmodify_category_entry): Don't modify the contents
1320 of category_set for characters out of the range. Avoid
1321 unnecessary modification.
1322
1323 * character.h (MAYBE_UNIFY_CHAR): Adjusted for the change of
1324 Vchar_unify_table. The default value of the table is now nil.
1325
1326 * character.c (syms_of_character): Setup Vchar_width_table for
1327 eight-bit-control and raw-byte chars.
1328
1329 * charset.h (enum define_charset_arg_index): Delete
1330 charset_arg_parents and add charset_arg_subset and
1331 charset_arg_superset.
1332 (enum charset_attr_index): Delete charset_parents and add
1333 charset_subset and charset_superset.
1334 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
1335 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1336 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Macros deleted.
1337 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
1338 (CHARSET_SUPERSET): New macros.
1339 (charset_work): Extern it.
1340 (ENCODE_CHAR): Use charset_work.
1341 (CHAR_CHARSET_P): Adjusted for the change of encoder format.
1342 (map_charset_chars): Extern it.
1343
1344 * charset.c (load_charset_map): Set the default value of encoder
1345 and deunifier char-tables to nil.
1346 (map_charset_chars): Argument changed. Callers changed. Use
1347 map_char_table_for_charset instead of map_char_table.
1348 (Fmap_charset_chars): New optional args from_code and to_code.
1349 (Fdefine_charset_internal): Adjusted for the change of
1350 `define-charset' (:parents -> :subset or :superset).
1351 (charset_work): New variable.
1352 (encode_char): Adjusted for the change of
1353 Fdefine_charset_internal.
1354 (syms_of_charset): Likewise.
1355 (Ffind_charset_string): Setup the vector `charsets' correctly.
1356
1357 * chartab.c (sub_char_table_ref_and_range): New arg defalt. Fix
1358 the previous change.
1359 (char_table_ref_and_range): Adjusted for the above change.
1360 (map_sub_char_table_for_charset): New function.
1361 (map_char_table_for_charset): New function.
1362
1363 * keymap.c (describe_vector): Handle a char-table directly here.
1364 (describe_char_table): Deleted.
1365
1366 * lisp.h (map_charset_chars): Deleted.
1367
1368 2002-06-11 Dave Love <fx@gnu.org>
1369
1370 * fns.c (count_combining): Comment out (unused).
1371 (Flocale_codeset): New.
1372 (syms_of_fns): Defsubr it.
1373
1374 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1375 (size_t): Removed.
1376
1377 2002-06-06 Dave Love <fx@gnu.org>
1378
1379 * Makefile.in (chartab.o): Depend on charset.h
1380
1381 2002-06-03 Kenichi Handa <handa@etl.go.jp>
1382
1383 * character.c (syms_of_character): Set the default value of
1384 Vprintable_chars to Qnil.
1385
1386 2002-05-31 Dave Love <fx@gnu.org>
1387
1388 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
1389
1390 2002-05-31 Kenichi Handa <handa@etl.go.jp>
1391
1392 * charset.c (load_charset_map): Handle the case that from < to
1393 correctly.
1394
1395 * coding.c (encode_coding_emacs_mule): Pay attention to raw-8-bit
1396 chars.
1397 (encode_coding_iso_2022): Likewise.
1398 (encode_coding_sjis): Likewise.
1399 (encode_coding_big5): Likewise.
1400 (encode_coding_charset): Likewise.
1401
1402 2002-05-30 Kenichi Handa <handa@etl.go.jp>
1403
1404 * Makefile.in (lisp): Change chinese.elc to chinese.el. They are
1405 not bytecompiled now.
1406 (shortlisp): Likewise.
1407
1408 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
1409 (charset_jisx0208): New variables.
1410 (Fdefine_charset_internal): Setup them if appropriate.
1411 (init_charset_once): Initialize them to -1.
1412
1413 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978,
1414 charset_jisx0208): Extern them.
1415
1416 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro
1417 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1418 (CODING_ISO_FLAG_FULL_SUPPORT): Macro definition changed.
1419 (setup_iso_safe_charsets): Fix arguemtns to Fassq.
1420 (DECODE_DESIGNATION): Pay attention to CODING_ISO_FLAG_USE_ROMAN
1421 and CODING_ISO_FLAG_USE_OLDJIS.
1422 (ENCODE_ISO_CHARACTER_DIMENSION1): Likewise.
1423 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
1424 (encode_coding_iso_2022): Change the 1st arg to
1425 ENCODE_ISO_CHARACTER to a variable.
1426
1427 2002-05-29 Kenichi Handa <handa@etl.go.jp>
1428
1429 * charset.h (enum define_charset_arg_index): New enums
1430 charset_arg_min_code and charset_arg_max_code.
1431 (struct charset): New member char_index_offset.
1432
1433 * charset.c (CODE_POINT_TO_INDEX): Take charset->char_index_offset
1434 into account.
1435 (INDEX_TO_CODE_POINT): Likewise.
1436 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
1437 args[charset_arg_max_code]. Setup charset.char_index_offset.
1438 (syms_of_charset): Fix args to Fdefine_charset_internal.
1439
1440 2002-05-27 Dave Love <fx@gnu.org>
1441
1442 * coding.c (decode_coding_utf_8): Reject overlong sequences.
1443
1444 2002-05-26 Dave Love <fx@gnu.org>
1445
1446 * coding.c: Doc fixes.
1447 (Fcoding_system_aliases): Fix return value.
1448 (Qmac): Remove (duplicated) definition.
1449
1450 2002-05-25 Dave Love <fx@gnu.org>
1451
1452 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
1453 functions.
1454
1455 * character.c (Fstring): Doc fix.
1456
1457 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
1458
1459 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
1460 ids.
1461 (font-encoding-alist): Doc fix.
1462
1463 2002-05-24 Dave Love <fx@gnu.org>
1464
1465 * term.c (costs_set): Declare static, non-initialized for pcc.
1466 (encode_terminal_code): Remove ensued var.
1467
1468 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
1469 for K&R.
1470
1471 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
1472
1473 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1474 (suffixes): Moved out of make_subsidiaries for K&R.
1475
1476 * charset.c (map_charset_chars): Fix c_function declaration for
1477 K&R.
1478
1479 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
1480
1481 2002-05-23 Dave Love <fx@gnu.org>
1482
1483 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
1484
1485 * category.c (Fmodify_category_entry): Doc fix. Remove unused
1486 vars.
1487
1488 2002-05-23 Yong Lu <lyongu@asia-infonet.com>
1489
1490 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
1491
1492 * coding.c (Fdefine_coding_system_internal): Fix previous change.
1493 (decode_coding_charset): Workaround for the bug of GCC 2.96.
1494
1495 2002-05-23 Kenichi Handa <handa@etl.go.jp>
1496
1497 * Makefile.in (lisp): Change cyrillic.elc to cyrillic.el,
1498 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
1499 (shortlisp): Likewise.
1500
1501 2002-05-22 Kenichi Handa <handa@etl.go.jp>
1502
1503 * coding.c (decode_coding_charset): Adjusted for the change of
1504 Fdefine_coding_system_internal.
1505 (Fdefine_coding_system_internal): For a coding system of
1506 `charset' type, store a list of charset IDs in
1507 `charset_attr_charset_valids' element of coding attributes.
1508
1509 * charset.c (Fmake_char): Fix previous change.
1510
1511 2002-05-21 Kenichi Handa <handa@etl.go.jp>
1512
1513 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1514 (emacs_mule_char): New arg src. Delete arg `composition'. Caller
1515 changed. Handle 2-byte and 3-byte charsets correctly.
1516 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Renamed from
1517 DECODE_EMACS_MULE_COMPOSITION_RULE. Caller changed.
1518 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
1519 (DECODE_EMACS_MULE_21_COMPOSITION): Call
1520 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
1521 sequence.
1522 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1523 `src' and `consumed_chars' correctly before calling
1524 emacs_mule_char.
1525 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
1526 and alt&rule composition.
1527 (decode_coding_iso_2022): Handle composition correctly.
1528 (init_coding_once): Setup emacs_mule_bytes for private charsets.
1529
1530 * charset.c (Fdefine_charset_internal): Fix bug for the case of
1531 re-defining a charset. If the charset has :emacs-mule-id, setup
1532 emacs_mule_bytes.
1533 (Fmake_char): If CODE1 is nil, use the minimum code of the
1534 charset.
1535
1536 2002-05-20 Kenichi Handa <handa@etl.go.jp>
1537
1538 * coding.c (encode_coding_iso_2022): If coding requires safe
1539 encoding, produce a character specified by
1540 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
1541 (encode_coding_sjis): Likewise.
1542 (encode_coding_big5): Likewise.
1543 (encode_coding_charset): Likewise.
1544
1545 2002-05-17 Dave Love <fx@gnu.org>
1546
1547 * xterm.c (XSetIMValues): Declare.
1548
1549 * process.c: Conditionally include sys/wait.h, pty.h.
1550
1551 * print.c (print_object): Fix print format for 64-bit
1552 systems.
1553
1554 * keyboard.c (modify_event_symbol): Fix print format for 64-bit
1555 systems.
1556
1557 * buffer.c (emacs_strerror): Declare.
1558 (MMAP_ALLOCATED_P, mmap_enlarge, syms_of_buffer): Import changes
1559 from trunk.
1560
1561 * fontset.c (Fclear_face_cache): Declare.
1562 (accumulate_font_info): Commented-out (unused).
1563 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
1564 variables.
1565
1566 * character.h (string_escape_byte8): Declare.
1567
1568 * charset.c (load_charset_map, load_charset_map_from_file): Remove
1569 unused vars.
1570 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
1571 (Fmap_charset_chars): Doc fix.
1572
1573 * coding.c (Vchar_coding_system_table, Qchar_coding_system):
1574 Removed.
1575 (Fset_coding_system_priority, Fset_coding_system_priority)
1576 (Fdefine_coding_system_internal): Doc fix.
1577
1578 2002-05-16 Dave Love <fx@gnu.org>
1579
1580 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
1581
1582 2002-05-16 Kenichi Handa <handa@etl.go.jp>
1583
1584 * character.c (string_escape_byte8): Make multibyte string with
1585 correct size.
1586
1587 * charset.c (Fmake_char): Delete unnecessary code.
1588
1589 2002-05-14 Kenichi Handa <handa@etl.go.jp>
1590
1591 * xfns.c (x_encode_text): Allocate coding.destination here, and
1592 call encode_coding_object with dst_object Qnil.
1593
1594 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
1595 multibyte form correctly.
1596
1597 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
1598 against Vfont_encoding_alist.
1599
1600 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
1601 handling of charset list.
1602 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
1603 (decode_coding_object): Move point to coding->dst_pos before
1604 calling post-read-conversion function.
1605 (encode_coding_object): Give correct arguments to
1606 pre-write-conversion. Ignore the return value of
1607 pre-write-conversion function. Pay attention to the case that
1608 pre-write-conversion changes the current buffer. If dst_object is
1609 Qt, even if coding->src_bytes is zero, allocate at least one byte
1610 to coding->destination.
1611
1612 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
1613
1614 * charset.c (Fmake_char): Make it more backward compatible.
1615 (Fmap_charset_chars): Fix docstring.
1616
1617 2002-05-13 Dave Love <fx@gnu.org>
1618
1619 * coding.c: Doc fixes.
1620 (Fdefine_coding_system_alias): Use names, not symbols, in
1621 coding-system-alist.
1622
1623 2002-05-13 Kenichi Handa <handa@etl.go.jp>
1624
1625 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
1626 of calling free_realized_face.
1627
1628 2002-05-10 Yong Lu <lyongu@asia-infonet.com>
1629
1630 * charset.c (load_charset_map): Fix previous change.
1631 (read_hex): Don't treat SPC as a comment starter.
1632 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return
1633 -1.
1634 (Fdecode_char): Fix typo.
1635
1636 2002-05-10 Kenichi Handa <handa@etl.go.jp>
1637
1638 * charset.h (struct charset): New member `code_space_mask'.
1639
1640 * coding.c (coding_set_source): Delete the local variable
1641 beg_byte.
1642 (encode_coding_charset): Delete the local variable charset.
1643 (Fdefine_coding_system_internal): Likewise.
1644 (Fdefine_coding_system_internal): Setup
1645 attrs[coding_attr_charset_valids] correctly.
1646
1647 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
1648 member to check if CODE is valid or not.
1649 (Fdefine_charset_internal): Initialize `code_space_mask' member.
1650 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
1651 is within the range of charset->min_code and carset->max_code.
1652
1653 2002-05-09 Dave Love <fx@gnu.org>
1654
1655 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
1656
1657 * dispextern.h (generate_ascii_font): Fix return type.
1658
1659 * xfaces.c (generate_ascii_font): Fix arg declaration.
1660
1661 * coding.c (coding_inherit_eol_type)
1662 (Fset_terminal_coding_system_internal)
1663 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
1664
1665 2002-05-08 Kenichi Handa <handa@etl.go.jp>
1666
1667 * coding.c (decode_coding_charset, encode_coding_charset): Handle
1668 multiple charsets correctly.
1669
1670 2002-05-07 Kenichi Handa <handa@etl.go.jp>
1671
1672 * search.c (boyer_moore): Fix handling of mulitbyte character
1673 translation.
1674
1675 * xdisp.c (display_mode_element): When the variable `elt' is
1676 changed, update `this' and `lisp_string'.
1677
1678 2002-05-07 Kenichi Handa <handa@etl.go.jp>
1679
1680 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
1681
1682 * callproc.c (Fcall_process): Be sure to give the current buffer
1683 to decode_coding_c_string. Update PT and PT_BYTE after the
1684 insertion.
1685
1686 * charset.c (struct charset_map_entries): New struct.
1687 (load_charset_map): Renamed from parse_charset_map. New args
1688 entries and n_entries. Caller changed.
1689 (load_charset_map_from_file): Renamed from load_charset_map.
1690 Caller changed. New arg control_flag. Call load_charset_map at
1691 the tail.
1692 (load_charset_map_from_vector): New function.
1693 (Fdefine_charset_internal): Setup charset.compact_codes_p.
1694 (encode_char): If the charset is compact, change a character index
1695 to a code point.
1696
1697 * coding.c (coding_alloc_by_making_gap): Check the case that the
1698 source and destination are the same correctly.
1699 (decode_coding_raw_text): Set coding->consumed_char and
1700 coding->consumed to 0.
1701 (produce_chars): If coding->chars_at_source is nonzero, update
1702 coding->consumed_char and coding->consumed before calling
1703 alloc_destination.
1704 (Fdefine_coding_system_alias): Register ALIAS in
1705 Vcoding_system_alist.
1706 (syms_of_coding): Define `no-convesion' coding system at the tail.
1707
1708 * fileio.c (Finsert_file_contents): Set coding_system instead of
1709 val. If the current buffer is multibyte, always call
1710 decode_coding_gap.
1711
1712 * xfaces.c (try_font_list): Give higher priority to fontset's
1713 family than face's family.
1714
1715 2002-04-18 Kenichi Handa <handa@etl.go.jp>
1716
1717 * callproc.c (Fcall_process): Be sure to give the current buffer
1718 to decode_coding_c_string.
1719
1720 * xfaces.c (try_font_list): Give a family specified in a fontset
1721 higher priority than a family specified in a face.
1722
1723 2002-04-09 Kenichi Handa <handa@etl.go.jp>
1724
1725 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
1726 Fix arguments to insert_from_buffer.
1727
1728 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
1729
1730 2002-03-11 Kenichi Handa <handa@etl.go.jp>
1731
1732 * coding.c (produce_chars): Set the variable `multibytep' correctly.
1733 (decode_coding_gap): Set coding->dst_multibyte correctly.
1734
1735 2002-03-07 Kenichi Handa <handa@etl.go.jp>
1736
1737 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1738 (decode_coding_utf_16): Fix converting high and low bytes to
1739 code-point.
1740 (encode_coding_utf_16): Substitute coding->default_char for
1741 non-Unicode characters.
1742 (decode_coding): Don't call record_insert here.
1743 (setup_coding_system): Initialize `surrogate' of
1744 coding->spec.utf_16 to 0.
1745 (EMIT_ONE_BYTE): Fix for multibyte case.
1746
1747 * insdel.c (insert_from_gap): Call record_insert.
1748
1749 2002-03-04 Kenichi Handa <handa@etl.go.jp>
1750
1751 * casefiddle.c (casify_region): Fix multibyte case.
1752
1753 * character.c (c_string_width): Add return type `int'.
1754 (char_string_with_unification): Arg ADVANCED deleted.
1755
1756 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1757 (CHAR_STRING): Adjusted for the change of
1758 char_string_with_unification.
1759 (CHAR_STRING_ADVANCE): Make it do-while statement.
1760
1761 * chartab.c (sub_char_table_set_range): Optimized for the case
1762 DEPTH == 3. Add workaround code for a GCC optimization bug.
1763
1764 * charset.c (parse_charset_map): Remove an unused variable.
1765
1766 * coding.c: Delete unused variables.
1767
1768 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
1769 earlier. If inserted is zero and the coding system doesn't
1770 require flushing, don't call decode_coding_gap.
1771
1772 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
1773
1774 2002-03-01 Kenichi Handa <handa@etl.go.jp>
1775
1776 The following changes are for using Unicode as an internal
1777 character model, and use UTF-8 format for buffer/string
1778 representation.
1779
1780 * .gdbinit (xchartable): Adjusted for the change of char table
1781 structure.
1782 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
1783
1784 * Makefile.in (obj): Add character.o and chartab.o.
1785 (lisp, shortlisp): Remove utf-8.elc:
1786 (*.o): For many files, change dependency on charset.h to
1787 character.h, and add dependency on character.h.
1788 (character.o, chartab.o): New targets.
1789
1790 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c,
1791 doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c,
1792 w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
1793 of "charset.h".
1794
1795 * dired.c, filelock.c: Include "character.h".
1796
1797 * alloc.c: Include "character.h" instead of "charset.h".
1798 (Fmake_char_table): Moved to chartab.c.
1799 (make_sub_char_table): Likewise.
1800 (syms_of_alloc): Remove defsubr for Smake_char_table.
1801
1802 * buffer.c: Include "character.h" instead of "charset.h", don't
1803 include "coding.h".
1804 (Fset_buffer_multibyte): Adjuted for UTF-8.
1805
1806 * buffer.h: EXFUN Fbuffer_live_p.
1807
1808 * callproc.c: Include "character.h" instead of "charset.h".
1809 (Fcall_process): Big change for the new code-conversion APIs.
1810
1811 * casetab.c: Include "character.h" instead of "charset.h".
1812 (set_canon, set_identity, shuffle): Adjusted for the new
1813 map_char_table spec.
1814 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
1815 accessing the char table structure.
1816
1817 * chartab.c: New file that implements char table.
1818
1819 * category.c: Include "character.h".
1820 (copy_category_entry): New function.
1821 (copy_category_table): Call map_char_table and copy_category_entry.
1822 (Fmake_category_table): Initialize all top-vel slots.
1823 (char_category_set): New function.
1824 (modify_lower_category_set): Deleted.
1825 (Fmodify_category_entry): Call char_table_ref_and_range.
1826
1827 * category.h (CATEGORY_SET): Just call char_category_set.
1828
1829 * ccl.c: Include "character.h".
1830 (Qccl, Qcclp): New variables.
1831 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
1832 it's less than 256.
1833 (CCL_WRITE_MULTIBYTE_CHAR): Deleted.
1834 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjusted for the change of SRC
1835 and DST type.
1836 (ccl_driver): Types of arguments changed. Code adjusted for that.
1837 (Fccl_execute, Fccl_execute_on_string): Adjusted for the change of
1838 ccl_driver.
1839 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
1840
1841 * ccl.h (struct ccl_program): Members eol_type and multibyte
1842 deleted. New members src_multibyte, dst_multibyte, consumed, and
1843 produced.
1844 (struct ccl_spec): Members decoder and encoder deleted. New
1845 memeber ccl.
1846 (CODING_SPEC_CCL_PROGRAM): New macro.
1847 (ccl_driver): Prototype updated.
1848 (Qccl, Qcclp, Fccl_program_p): Extern them.
1849 (CHECK_CCL_PROGRAM): New macro.
1850
1851 * character.c, character.h, chartab.c: New files.
1852
1853 * charset.c: Mostly re-written. Character and multibyte sequence
1854 handling codes are moved to character.c.
1855
1856 * charset.h: Mostly re-written. Character and multibyte sequence
1857 handling codes are moved to character.h.
1858
1859 * coding.c, coding.h: Mostly re-written.
1860
1861 * composite.c: Include "character.h" instead of "charset.h".
1862 (CHAR_WIDTH): Moved to character.h.
1863 (HASH_KEY, HASH_VALUE): Deleted.
1864
1865 * composite.h (enum composition_method): Order of enumeration
1866 symbols changed.
1867
1868 * data.c: Include "character.h" instead of "charset.h".
1869 (Faref): Call CHAR_TABLE_REF for a char table.
1870 (Faset): Call CHAR_TABLE_SET for a char table.
1871
1872 * dispextern.h (free_realized_face, check_face_attribytes,
1873 generate_ascii_font): Extern them.
1874 (free_realized_multibyte_face): Extern deleted.
1875
1876 * disptab.h (DISP_CHAR_VECTOR): Adjusted for the change of char
1877 table structure.
1878
1879 * editfns.c: Include "character.h" instead of "charset.h".
1880 (Fchar_to_string): Always call CHAR_STRING.
1881
1882 * emacs.c (main): Call init_charset_once, init_charset,
1883 syms_of_chartab, and syms_of_character.
1884
1885 * fileio.c: Include "character.h" instead of "charset.h".
1886 (Finsert_file_contents): Big change for the new code-conversion
1887 API.
1888 (choose_write_coding_system): Likewise.
1889 (Fwrite_region): Likewise.
1890 (build_annotations_2): Deleted.
1891 (e_write): Big change for the new code-conversion API.
1892
1893 * fns.c: Include "character.h" instead of "charset.h".
1894 (copy_sub_char_table): Moved to chartab.c.
1895 (Fcopy_sequence): Call copy_char_table for a char table.
1896 (concat): Delete codes calling count_multibyte.
1897 (string_char_to_byte): Adjusted for the new multibyte form.
1898 (string_byte_to_char): Likewise.
1899 (internal_equal): Adjusted for the change of char table structure.
1900 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent,
1901 Fchar_table_extra_slot, Fset_char_table_extra_slot,
1902 Fchar_table_range, Fset_char_table_range, Fset_char_table_default,
1903 char_table_translate, optimize_sub_char_table,
1904 Foptimize_char_table, map_char_table, Fmap_char_table): Moved to
1905 chartab.c.
1906 (char_table_ref_and_index): Deleted.
1907 (HASH_KEY, HASH_VALUE): Moved to lisp.h.
1908 (Fmd5): Call preferred_coding_system instead of accessing
1909 Vcoding_category_list. Adjusted for the new code-conversion API.
1910 (syms_of_fns): Defsubr for char table related functions moved to
1911 chartab.c.
1912
1913 * fontset.c: Mostly re-written.
1914
1915 * fontset.h (struct font_info): Type of the member encoding_type
1916 changed.
1917 (enum FONT_SPEC_INDEX): New enum.
1918 (fontset_font_pattern, fs_load_font): Prototype updated.
1919 (FS_LOAD_FONT): Adjusted for the change of fs_load_font.
1920
1921 * indent.c: Include "character.h" instead of "charset.h".
1922 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of
1923 WIDTH_BY_CHAR_HEAD.
1924
1925 * insdel.c: Include "character.h" instead of "charset.h".
1926 (copy_text): Don't refer to Vnonascii_translation_table.
1927 (insert_from_gap): New function.
1928
1929 * keyboard.c: Include "character.h" instead of "charset.h".
1930 (command_loop_1): Never call direct_output_forward_char before
1931 a non-ASCII character.
1932 (read_char): If Vkeyboard_translate_table is a char table, always
1933 translated a character.
1934
1935 * keymap.c: Include "character.h".
1936 (store_in_keymap): Handle the case that IDX is a cons.
1937 (Fdefine_key): Handle the case that KEY is a cons and the car part
1938 is also a cons (range).
1939 (push_key_description): Adjusted for the new character code.
1940 (describe_vector): Call describe_char_table for a char table.
1941 (describe_char_table): New function.
1942
1943 * keymap.h (describe_char_table): Extern it.
1944
1945 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
1946 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1947 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS,
1948 SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
1949 Deleted.
1950 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjusted for the new char table
1951 structure.
1952 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1953 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2,
1954 CHARTAB_SIZE_BITS_3): New macros.
1955 (chartab_size): Extern it.
1956 (struct Lisp_Char_Table): Re-designed.
1957 (struct Lisp_Sub_Char_Table): New structure.
1958 (HASH_KEY, HASH_VALUE): Moved from fns.c.
1959 (CHARACTERBITS): Defined as 22.
1960 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjusted for the above change.
1961 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
1962 (GC_SUB_CHAR_TABLE_P): New macro.
1963 (Fencode_coding_string, Fdecode_coding_string): EXFUN Updated.
1964 (code_convert_string_norecord): Extern deleted.
1965 (init_character_once, syms_of_character, init_charset,
1966 syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
1967
1968 * lread.c: Include "character.h".
1969 (read_multibyte): New arg NBYTES.
1970 (read_escape): The meaning of returned *BYTEREP changed.
1971 (to_multibyte): Deleted.
1972 (read1): Adjuted the handling of char table and string.
1973
1974 * print.c: Include "character.h" instead of "charset.h".
1975 (print_string): Convert 8-bit raw bytes to octal form by
1976 string_escape_byte8.
1977 (print_object): Adjusted for the new multibyte form. Print 8-bit
1978 raw bytes always in octal form. Handle sub char table correctly.
1979
1980 * process.c: Include "character.h" instead of "charset.h".
1981 (read_process_output): Adjusted for the new code-conversion API.
1982 (send_process): Likewise.
1983
1984 * puresize.h (BASE_PURESIZE): Increased.
1985
1986 * regex.c: Include "character.h" instead of "charset.h".
1987 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
1988 (regex_compile): Accept a range whose starting and ending
1989 character have different leading bytes.
1990 (analyse_first): Adjusted for the above change.
1991
1992 * search.c: Include "character.h" instead of "charset.h".
1993 (search_buffer, boyer_moore): Adjusted for the new multibyte form.
1994 (Freplace_match): Adjusted for the change of
1995 multibyte_char_to_unibyte.
1996
1997 * syntax.c: Include "character.h" instead of "charset.h".
1998 (syntax_parent_lookup): Deleted.
1999 (Fmodify_syntax_entry): Accept a cons as CHAR.
2000 (skip_chars): Adjusted for the new multibyte form.
2001 (init_syntax_once): Call char_table_set_range instead of directly
2002 accessing the structure of a char table.
2003
2004 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
2005 (SYNTAX_ENTRY_FOLLOW_PARENT): Macro deleted.
2006 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
2007 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
2008
2009 * term.c: Include "buffer.h" and "character.h".
2010 (encode_terminal_code): Adjusted for the new code-conversion API.
2011 (write_glyphs): Likewise.
2012 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
2013
2014 * w32term.c (x_new_font): Adjusted for the change of FS_LOAD_FONT.
2015
2016 * xdisp.c: Include "character.h".
2017 (get_next_display_element): Adjusted for the new multibyte form.
2018 (disp_char_vector): Adjusted for the new char table structure.
2019 (decode_mode_spec_coding): Adjusted for the new structure of
2020 coding system.
2021 (decode_mode_spec): Adjusted for the new code-conversion API.
2022
2023 * xfaces.c: Include "character.h" instead of "charset.h".
2024 (load_face_font): Adjusted for the change of choose_face_font and
2025 FS_LOAD_FONT.
2026 (generate_ascii_font): New function.
2027 (set_lface_from_font_name): Adjusted for the change of
2028 FS_LOAD_FONT.
2029 (set_font_frame_param): Adjusted for the change of
2030 choose_face_font.
2031 (free_realized_face): Make it public.
2032 (free_realized_faces_for_fontset): Renamed from
2033 free_realized_multibyte_face. Free also faces realized for ASCII.
2034 (choose_face_font): Argments changed. Adjusted for the change of
2035 fontset_font_pattern and FS_LOAD_FONT.
2036
2037 * xfns.c: Include "character.h".
2038 (x_encode_text): Adjusted for the new code-conversion API.
2039
2040 * xselect.c: Don't include "charset.h".
2041 (selection_data_to_lisp_data): Adjusted for the new code
2042 covnersion API.
2043
2044 * xterm.c: Include "character.h".
2045 (x_encode_char): New argument CHARSET. Caller changed.
2046 (x_get_char_face_and_encoding): Call ENCODE_CHAR instead of
2047 SPLIT_CHAR.
2048 (x_get_glyph_face_and_encoding): Likewise.
2049 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
2050 CHAR_WIDTH instead of CHARSET_WIDTH.
2051 (XTread_socket): Adjusted for the new code-conversion API.
2052 (x_new_font): Adjusted for the change of FS_LOAD_FONT.
2053 (x_load_font): Adjusted for the change of struct font.
2054
2055 ;; Local Variables:
2056 ;; coding: iso-2022-7bit
2057 ;; End:
2058
2059 Copyright (C) 2002 Free Software Foundation, Inc.
2060 Copying and distribution of this file, with or without modification,
2061 are permitted provided the copyright notice and this notice are preserved.