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