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