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