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