1 2000-02-02 MORIOKA Tomohiko <tomo@m17n.org>
3 * mule-charset.c (Fdefine_char): Fix problem when new code-point
4 format is used without `ucs' property.
5 (Fdecode_char): Fix problem with GR representation.
6 (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
7 `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
9 2000-01-28 MORIOKA Tomohiko <tomo@etl.go.jp>
11 * mule-charset.c (make_builtin_char): New function.
12 (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
13 (Fset_charset_mapping_table): Modify for new representation of
15 (Fdecode_char): New function.
16 (syms_of_mule_charset): Add new builtin function `decode-char' in
19 * char-ucs.h (make_builtin_char): New prototype.
20 (DECODE_CHAR): New inline function.
21 (MAKE_CHAR): Use `DECODE_CHAR'.
23 2000-01-28 MORIOKA Tomohiko <tomo@m17n.org>
25 * text-coding.c (parse_charset_conversion_specs): Use
26 `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
28 (iso2022_designate): Likewise.
30 * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
31 `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
33 * mule-charset.c (Vcharset_ucs): New variable.
34 (print_charset): Change design; use `CHARSET_CHARS' and
35 `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
36 (make_charset): Change signature to specify `chars' and
37 `dimension' instead of `type'.
38 (range_charset_code_point): Modify for 256^n-set.
39 (encode_builtin_char_1): Encode as `ucs' in default.
40 (Fmake_charset): Modify for `make_charset'.
41 (Fmake_reverse_direction_charset): Likewise.
42 (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
44 (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
47 * char-ucs.h (Vcharset_ucs): New variable.
48 (LEADING_BYTE_UCS): New macro.
49 (struct Lisp_Charset): Delete `type'; change type of `dimension'
50 and `chars' to `unsigned short' from `unsigned int'.
51 (CHARSET_TYPE): Deleted.
52 (XCHARSET_TYPE): Deleted.
54 2000-01-27 MORIOKA Tomohiko <tomo@m17n.org>
56 * mule-charset.c (charset_code_point): Moved to char-ucs.h.
58 * char-ucs.h (charset_code_point): Moved from mule-charset.c.
59 (ENCODE_CHAR): New macro.
61 2000-01-26 MORIOKA Tomohiko <tomo@etl.go.jp>
63 * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
64 to 0.14 (Kawachi-Katakami).
66 2000-01-26 MORIOKA Tomohiko <tomo@etl.go.jp>
68 * text-coding.c (char_encode_shift_jis): Modify for
70 (char_encode_iso2022): Likewise.
72 * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
73 (integer) instead of list of <Lisp_Object>s (integers) as the
74 format of code-point of a coded-charset.
75 (range_charset_code_point): Return <int> instead of <Lisp_Object>.
76 (encode_builtin_char_1): New function; delete
78 (charset_code_point): Return <int> instead of <Lisp_Object>.
79 (Fsplit_char): Don't use `SPLIT_CHAR'.
81 * char-ucs.h (encode_builtin_char_1): New prototype; delete
82 prototype for `split_builtin_char'.
83 (range_charset_code_point): Return <int> instead of <Lisp_Object>.
84 (charset_code_point): Likewise.
85 (encode_char_1): New inline function; delete `SPLIT_CHAR'.
86 (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
88 2000-01-20 MORIOKA Tomohiko <tomo@m17n.org>
90 * mule-charset.c (complex_vars_of_mule_charset): Don't define
91 `japanese-jisx0208-1990' in non-UTF-2000 Mule.
93 2000-01-11 MORIOKA Tomohiko <tomo@etl.go.jp>
95 * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
97 * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
98 (MAX_CHAR_OBS_94x94): Deleted.
100 2000-01-11 MORIOKA Tomohiko <tomo@etl.go.jp>
102 * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
104 * char-ucs.h (MAX_CHAR_BMP): New macro.
106 2000-01-10 MORIOKA Tomohiko <tomo@etl.go.jp>
108 * text-coding.c: Sync with r21-2-24.
110 2000-01-08 MORIOKA Tomohiko <tomo@etl.go.jp>
112 * file-coding.c: Modify for UTF-2000.
114 2000-01-18 MORIOKA Tomohiko <tomo@etl.go.jp>
116 * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
119 2000-01-15 MORIOKA Tomohiko <tomo@etl.go.jp>
121 * mule-charset.c (split_builtin_char): Delete builtin support for
123 (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
124 BMP area in builtin representation.
126 * char-ucs.h (MAKE_CHAR): Delete builtin support for
127 `Vcharset_katakana_jisx0201'.
129 1999-12-24 MORIOKA Tomohiko <tomo@etl.go.jp>
131 * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
132 (Qisolated): New variable.
133 (Qinitial): New variable.
134 (Qmedial): New variable.
135 (Qfinal): New variable.
136 (Qvertical): New variable.
137 (Qsmall): New variable.
138 (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
139 `Qvertical' and `Qsmall'.
140 (Qmojikyo_pj_[1 .. 21]): New variable.
141 (syms_of_mule_charset): Add new symbols `isolated', `initial',
142 `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
143 (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
146 1999-11-23 MORIOKA Tomohiko <tomo@etl.go.jp>
148 * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
149 (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
150 (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
152 1999-11-18 MORIOKA Tomohiko <tomo@etl.go.jp>
154 * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
155 (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
157 (Qjapanese_jisx0208_1990): New variable.
158 (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
159 (complex_vars_of_mule_charset): Add new coded-charset
160 `japanese-jisx0208-1990'.
162 * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
163 (MIN_CHAR_JIS_X0208_1990): New macro.
164 (MAX_CHAR_JIS_X0208_1990): New macro.
166 1999-11-16 MORIOKA Tomohiko <tomo@urania.m17n.org>
168 * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
169 coded-charset is not found.
171 1999-11-16 MORIOKA Tomohiko <tomo@urania.m17n.org>
173 * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
174 (Fdefine_char): Use `Fmake_char'.
176 1999-11-15 MORIOKA Tomohiko <tomo@urania.m17n.org>
178 * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
179 (Vcharset_hiragana_jisx0208): Deleted.
180 (Vcharset_katakana_jisx0208): Deleted.
181 (Qideograph_daikanwa): New variable.
182 (Qhiragana_jisx0208): Deleted.
183 (Qkatakana_jisx0208): Deleted.
184 (split_builtin_char): Split `ideograph-daikanwa'.
185 (Fsplit_char): New implementation for UTF-2000.
186 (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
187 delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
188 (complex_vars_of_mule_charset): Add new coded-charset
189 `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
192 * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
193 (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
194 (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
195 (MIN_CHAR_DAIKANWA): New macro.
196 (MAX_CHAR_DAIKANWA): New macro.
198 1999-11-15 MORIOKA Tomohiko <tomo@urania.m17n.org>
200 * data.c (Fstring_to_number): Don't recognize floating point if
203 1999-11-15 MORIOKA Tomohiko <tomo@urania.m17n.org>
205 * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
207 1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
209 * mule-charset.c (Qsquare): New variable.
210 (to_char_code): Add `Qsquare'.
211 (syms_of_mule_charset): Add new symbol `square'.
213 1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
215 * mule-charset.c (Qcircle): New variable.
216 (to_char_code): Add `Qcircle'.
217 (syms_of_mule_charset): Add new symbol `circle'.
219 1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
221 * mule-charset.c (Qfont): New variable.
222 (to_char_code): Add `Qfont'.
223 (syms_of_mule_charset): Add new symbol `font'.
225 1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
227 * mule-charset.c (Qsub): New variable.
228 (to_char_code): Add `Qsub'.
229 (syms_of_mule_charset): Add new symbol `sub'.
231 1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
233 * mule-charset.c (Fput_char_attribute): Convert each element of
234 VALUE to GL position if ATTRIBUTE is a GR-set,
236 1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
238 * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
239 coded-charset is a GR-set.
241 1999-11-13 MORIOKA Tomohiko <tomo@urania.m17n.org>
243 * mule-charset.c (Fput_char_attribute): Check each element of
244 VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
246 1999-11-13 MORIOKA Tomohiko <tomo@urania.m17n.org>
248 * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
250 (Qethiopic_ucs): New variable in UTF-2000.
251 (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
252 (complex_vars_of_mule_charset): Add new coded-charset
253 `ethiopic-ucs' in UTF-2000.
255 * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
256 (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
258 (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
260 (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
262 1999-11-13 MORIOKA Tomohiko <tomo@etl.go.jp>
264 * mule-charset.c (Fset_charset_mapping_table): Fix problem with
267 1999-11-12 MORIOKA Tomohiko <tomo@urania.m17n.org>
269 * mule-charset.c (Vcharacter_variant_table): New variable.
270 (Q_ucs): New variable.
271 (Fchar_variants): New function.
272 (Fput_char_attribute): Register `->ucs' value to
273 `Vcharacter_variant_table'.
274 (syms_of_mule_charset): Add new function `char-variants' and new
276 (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
278 1999-11-12 MORIOKA Tomohiko <tomo@urania.m17n.org>
280 * mule-charset.c (get_char_code_table): Allow negative character
282 (put_char_code_table): Likewise.
283 (Vcharacter_composition_table): New variable.
284 (Q_decomposition): New variable.
285 (Qwide): New variable.
286 (Qnarrow): New variable.
287 (Qcompat): New variable.
288 (QnoBreak): New variable.
289 (Qsuper): New variable.
290 (Qfraction): New variable.
291 (to_char_code): New function.
292 (Fget_composite_char): New function.
293 (Fput_char_attribute): Register `->decomposition' value to
294 `Vcharacter_composition_table'.
295 (syms_of_mule_charset): Add new function `get-composite-char', new
296 symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
297 `super' and `fraction'.
298 (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
300 1999-11-12 MORIOKA Tomohiko <tomo@urania.m17n.org>
302 * mule-charset.c (Fchar_attribute_alist): Check the argument is a
303 character; copy the return value.
305 1999-11-12 MORIOKA Tomohiko <tomo@etl.go.jp>
307 * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
309 * mule-charset.c (range_charset_code_point): Must use make_int.
310 (split_builtin_char): New function.
312 1999-11-12 MORIOKA Tomohiko <tomo@etl.go.jp>
314 * mule-charset.c (char_byte_table): Change name from
315 "char-code-table" to "char-byte-table".
316 (mark_char_code_table): New function.
317 (char_code_table_equal): New function.
318 (char_code_table_hash): New function.
319 (char_code_table_description): New constant.
320 (char_code_table): New type.
321 (make_char_code_table): New function.
322 (copy_char_code_table): New function.
323 (get_char_code_table): Modify for `char_code_table' type.
324 (put_char_code_table): Likewise.
325 (vars_of_mule_charset): Update `utf-2000-version' to 0.12
328 * char-ucs.h (char_code_table): New type.
329 (XCHAR_CODE_TABLE): New macro.
330 (XSETCHAR_CODE_TABLE): New macro.
331 (CHAR_CODE_TABLE_P): New macro.
332 (GC_CHAR_CODE_TABLE_P): New macro.
333 (struct Lisp_Char_Code_Table): New structure.
335 1999-11-09 MORIOKA Tomohiko <tomo@etl.go.jp>
337 * mule-charset.c (Fmake_charset): Setup byte_offset for
340 1999-11-09 MORIOKA Tomohiko <tomo@urania.m17n.org>
342 * mule-charset.c (Fdefine_char): Fix problem with non-UCS
345 1999-11-09 MORIOKA Tomohiko <tomo@etl.go.jp>
347 * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
350 1999-11-09 MORIOKA Tomohiko <tomo@etl.go.jp>
352 * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
353 charset, it is regarded as a charset.
354 (put_char_attribute): New function in UTF-2000.
355 (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
356 charset, mapping-table of the charset is modified.
357 (Fdefine_char): New function in UTF-2000.
358 (Fset_charset_mapping_table): Use `put_char_attribute' instead of
359 `Fput_char_attribute'.
360 (syms_of_mule_charset): Add new function `define-char' and new
361 symbol `ucs' in UTF-2000.
362 (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
364 1999-10-29 MORIOKA Tomohiko <tomo@etl.go.jp>
366 * mule-charset.c (Fcharset_name): Define `byte_offset' in
367 non-UTF-2000 configuration.
369 1999-10-29 MORIOKA Tomohiko <tomo@etl.go.jp>
371 * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
372 not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
374 * mule-charset.c (mark_charset): `cs->encoding_table' has been
376 (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
377 (Fset_charset_mapping_table): Likewise.
379 * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
380 (CHARSET_ENCODING_TABLE): Delete.
381 (XCHARSET_ENCODING_TABLE): Delete.
382 (charset_code_point): New interface.
384 1999-10-29 MORIOKA Tomohiko <tomo@etl.go.jp>
386 * text-coding.c (char_encode_iso2022): Use `charset_code_point'
387 instead of `charset_get_byte1' and `charset_get_byte2'.
389 * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
390 (charset_get_byte2): Deleted.
392 1999-10-28 MORIOKA Tomohiko <tomo@etl.go.jp>
394 * char-ucs.h (SPLIT_CHAR): New inline function.
395 (breakup_char_1): Use `SPLIT_CHAR'.
397 * mule-charset.c (range_charset_code_point): New function.
398 (charset_code_point): New function.
400 * char-ucs.h (range_charset_code_point): New interface.
401 (breakup_char_1): Use `range_charset_code_point'.
403 1999-10-27 MORIOKA Tomohiko <tomo@etl.go.jp>
405 * mule-charset.c (Fmake_charset): Delete unused local variable
408 * char-ucs.h (Vcharacter_attribute_table): New extern variable.
409 (breakup_char_1): Find a charset and code-point in
410 `Vcharacter_attribute_table'.
412 1999-10-27 MORIOKA Tomohiko <tomo@etl.go.jp>
414 * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
417 1999-10-25 MORIOKA Tomohiko <tomo@etl.go.jp>
419 * mule-charset.c (Vcharacter_attribute_table): New variable.
420 (Fchar_attribute_alist): New function.
421 (Fget_char_attribute): New function.
422 (Fput_char_attribute): New function.
423 (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
425 (syms_of_mule_charset): Add new function `char-attribute-alist',
426 `get-char-attribute' and `put-char-attribute'.
427 (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
429 1999-10-19 MORIOKA Tomohiko <tomo@etl.go.jp>
431 * mule-charset.c (Fmake_charset): Just use
432 `get_unallocated_leading_byte'.
434 * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
435 sets; don't use final-byte based number for private sets.
437 1999-10-12 MORIOKA Tomohiko <tomo@etl.go.jp>
439 * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
442 1999-10-12 MORIOKA Tomohiko <tomo@etl.go.jp>
444 * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
447 1999-10-11 MORIOKA Tomohiko <tomo@urania.m17n.org>
449 * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
450 of `CHAR_LEADING_BYTE' in UTF-2000.
452 * insdel.c (find_charsets_in_bufbyte_string): Use
453 `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
454 (find_charsets_in_emchar_string): Likewise.
456 * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
457 `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
459 * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
460 (CHAR_CHARSET_ID): New macro.
462 1999-10-11 MORIOKA Tomohiko <tomo@urania.m17n.org>
464 * chartab.c (get_char_table): Don't use type `Charset_ID' for
465 charset-id - MIN_LEADING_BYTE.
466 (put_char_table): Likewise.
468 1999-10-11 MORIOKA Tomohiko <tomo@urania.m17n.org>
470 * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
471 (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
472 (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
473 (CHARSET_ID_OFFSET): New macro.
474 (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
475 (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
476 (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
477 (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
479 (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
481 (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
482 (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
483 (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
484 (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
485 (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
487 1999-10-11 MORIOKA Tomohiko <tomo@urania.m17n.org>
489 * mule-charset.c (next_allocated_leading_byte): New variable in
491 (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
492 (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
493 (get_unallocated_leading_byte): Simply use
494 `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
495 (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
498 * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
499 (MAX_LEADING_BYTE_PRIVATE): New macro.
500 (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
501 (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
503 1999-10-11 MORIOKA Tomohiko <tomo@urania.m17n.org>
505 * mule-charset.c (Fmake_charset): Allocate final-byte based
506 charset-id for 94-set, 96-set and 94x94-set.
508 1999-10-11 MORIOKA Tomohiko <tomo@etl.go.jp>
510 * mule-charset.c (char_byte_table_equal): Fill braces to avoid
512 (Fmake_charset): Likewise.
513 (complex_vars_of_mule_charset): Modify the font registry of
514 `ucs-bmp' not to match `Ethiopic-Unicode'.
516 1999-10-10 MORIOKA Tomohiko <tomo@urania.m17n.org>
518 * mule-charset.c (complex_vars_of_mule_charset): Add font
519 registory of `ucs-bmp'.
521 1999-10-10 MORIOKA Tomohiko <tomo@urania.m17n.org>
523 * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
524 coded-charsets in `default-coded-charset-priority-list' when
525 breaking up a character.
527 * mule-charset.c (Vcharset_latin_viscii): New variable.
528 (Qlatin_viscii): New variable.
529 (make_charset): Don't use `decoding_table'.
530 (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
532 (Fset_charset_mapping_table): New implementation.
533 (syms_of_mule_charset): Add new symbol `latin-viscii'.
534 (complex_vars_of_mule_charset): Set `graphic' attribute of charset
535 `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
536 `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
537 of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
538 charset `latin_viscii'.
540 * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
541 (CHARSET_TYPE_94X94): Change to 1 from 2.
542 (CHARSET_TYPE_96): Change to 2 from 1.
543 (CHARSET_TYPE_128): New macro.
544 (CHARSET_TYPE_128X128): Change to 5 from 4.
545 (CHARSET_TYPE_256): New macro.
546 (CHARSET_TYPE_256X256): Change to 7 from 5.
547 (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
549 1999-10-10 MORIOKA Tomohiko <tomo@urania.m17n.org>
551 * text-coding.c (char_encode_shift_jis): Refer
552 `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
553 `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
555 * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
556 (char_byte_table_equal): New function in UTF-2000.
557 (char_byte_table_hash): New function in UTF-2000.
558 (char_byte_table_description): New constant in UTF-2000.
559 (char_byte_table): New type in UTF-2000.
560 (make_char_byte_table): New function in UTF-2000.
561 (copy_char_byte_table): New function in UTF-2000.
562 (make_char_code_table): New macro in UTF-2000.
563 (get_char_code_table): New function in UTF-2000.
564 (put_char_code_table): New function in UTF-2000.
565 (mark_charset): Mark `cs->encoding_table' in UTF-2000.
566 (charset_description): Add setting in UTF-2000.
567 (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
568 `CHARSET_TO_BYTE1_TABLE(cs)'.
569 (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
570 instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
571 (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
572 instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
573 (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
574 instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
575 `CHARSET_TO_BYTE2_TABLE(cs)'.
577 * char-ucs.h (char_byte_table): New type.
578 (XCHAR_BYTE_TABLE): New macro.
579 (XSETCHAR_BYTE_TABLE): New macro.
580 (CHAR_BYTE_TABLE_P): New macro.
581 (GC_CHAR_BYTE_TABLE_P): New macro.
582 (struct Lisp_Char_Byte_Table): New structure.
583 (get_char_code_table): New interface.
584 (Emchar_to_byte_table): Deleted.
585 (get_byte_from_character_table): Deleted.
586 (struct Lisp_Charset): Add `encoding_table'; delete
587 `to_byte1_table' and `to_byte2_table'.
588 (CHARSET_ENCODING_TABLE): New macro.
589 (CHARSET_TO_BYTE1_TABLE): Deleted.
590 (CHARSET_TO_BYTE2_TABLE): Deleted.
591 (XCHARSET_ENCODING_TABLE): New macro.
592 (XCHARSET_TO_BYTE1_TABLE): Deleted.
593 (XCHARSET_TO_BYTE2_TABLE): Deleted.
595 1999-10-07 MORIOKA Tomohiko <tomo@etl.go.jp>
597 * mule-charset.c (syms_of_mule_charset): Delete charset alias
598 `vietnamese-viscii-*'.
600 1999-10-07 MORIOKA Tomohiko <tomo@etl.go.jp>
602 * mule-charset.c (Qvietnamese_viscii_lower): New variable.
603 (Qvietnamese_viscii_upper): New variable.
604 (Fdefine_charset_alias): New function.
605 (syms_of_mule_charset): Add new function `define-charset-alias'.
606 (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
607 `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
610 1999-10-04 MORIOKA Tomohiko <tomo@etl.go.jp>
612 * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
613 (MAX_CHAR_OBS_94x94): New macro.
614 (breakup_char_1): Support obsolete XEmacs-UCS private code space
617 * mule-charset.c (put_byte_from_character_table): Change unit size
619 (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
621 (Fmake_reverse_direction_charset): Modify dummy argument of
622 `make_charset' for non-UTF-2000 environment.
624 1999-10-03 MORIOKA Tomohiko <tomo@urania.m17n.org>
626 * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
628 * mule-charset.c (destroy_byte_from_character_table): New macro.
629 (latin_jisx0201_to_ucs): Deleted.
630 (latin_iso8859_2_to_ucs): Deleted.
631 (latin_iso8859_3_to_ucs): Deleted.
632 (latin_iso8859_4_to_ucs): Deleted.
633 (latin_iso8859_9_to_ucs): Deleted.
634 (latin_viscii_lower_to_ucs): Deleted.
635 (latin_viscii_upper_to_ucs): Deleted.
636 (mark_charset): Mark `cs->decoding_table'.
637 (Fcharset_mapping_table): Fix DOC-string.
638 (Fset_charset_mapping_table): New function.
639 (syms_of_mule_charset): Add nwe function
640 `set-charset-mapping-table'.
641 (complex_vars_of_mule_charset): Don't setup and use
644 1999-10-01 MORIOKA Tomohiko <tomo@urania.m17n.org>
646 * char-ucs.h (MAKE_CHAR): Check the result for range-represented
649 1999-09-30 MORIOKA Tomohiko <tomo@urania.m17n.org>
651 * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
652 (Vcharset_katakana_jisx0208): New variable.
653 (Qhiragana_jisx0208): New variable.
654 (Qkatakana_jisx0208): New variable.
655 (make_charset): Add new argument `byte_offset'.
656 (charset_get_byte1): Modify for new coded-charset definition; use
657 `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
658 `XCHARSET_BYTE_OFFSET'.
659 (Fmake_charset): Modify for `make_charset'.
660 (Fmake_reverse_direction_charset): Likewise.
661 (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
663 (complex_vars_of_mule_charset): Modify for `make_charset'; quote
664 `.' in font registry of charset `katakana-jisx0201',
665 `latin-jisx0201', `vietnamese-viscii-lower' and
666 `vietnamese-viscii-upper'; modify DOC-string of charset
667 `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
668 registry of charset `japanese-jisx0208' not to use font for JIS
669 X0208:1990; add new charset `hiragana-jisx0208' and
672 * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
673 (LEADING_BYTE_KATAKANA_JISX0208): New macro.
674 (struct Lisp_Charset): Add `byte_offset'.
675 (CHARSET_BYTE_OFFSET): New macro.
676 (XCHARSET_UCS_MIN): New macro.
677 (XCHARSET_UCS_MAX): New macro.
678 (XCHARSET_CODE_OFFSET): New macro.
679 (XCHARSET_BYTE_OFFSET): New macro.
680 (MIN_CHAR_HIRAGANA): New macro.
681 (MAX_CHAR_HIRAGANA): New macro.
682 (MIN_CHAR_KATAKANA): New macro.
683 (MAX_CHAR_KATAKANA): New macro.
684 (MAKE_CHAR): Modify for new coded-charset definition; use
685 `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
686 `XCHARSET_BYTE_OFFSET'.
688 1999-09-27 MORIOKA Tomohiko <tomo@etl.go.jp>
690 * mule-charset.c (CHAR96): Deleted.
691 (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
693 (latin_iso8859_2_to_ucs): Likewise.
694 (latin_iso8859_3_to_ucs): Likewise.
695 (latin_iso8859_4_to_ucs): Likewise.
696 (latin_iso8859_9_to_ucs): Likewise.
697 (latin_viscii_lower_to_ucs): Likewise.
698 (latin_viscii_upper_to_ucs): Likewise.
699 (latin_tcvn5712_to_ucs): Commented out.
700 (make_charset): Change type of argument `decoding_table' from
701 <Emchar*> to <Lisp_Object> [vector of characters].
702 (Fmake_charset): Modify for `make_charset'.
703 (Fmake_reverse_direction_charset): Likewise.
704 (Fcharset_mapping_table): New function in UTF-2000.
705 (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
707 (complex_vars_of_mule_charset): Modify for type change of
708 `*_to_ucs'; modify for `make_charset'.
710 * char-ucs.h (struct Lisp_Charset): Change type of
711 `decoding_table' from <Emchar*> to <Lisp_Object>.
712 (MAKE_CHAR): Modify for new specification of `decoding_table'.
714 1999-09-23 MORIOKA Tomohiko <tomo@etl.go.jp>
716 * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
717 error with non-UTF-2000-Mule.
719 1999-09-21 MORIOKA Tomohiko <tomo@etl.go.jp>
721 * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
723 (Vcharset_chinese_cns11643_4): Likewise.
724 (Vcharset_chinese_cns11643_5): Likewise.
725 (Vcharset_chinese_cns11643_6): Likewise.
726 (Vcharset_chinese_cns11643_7): Likewise.
727 (Qchinese_cns11643_3): Likewise.
728 (Qchinese_cns11643_4): Likewise.
729 (Qchinese_cns11643_5): Likewise.
730 (Qchinese_cns11643_6): Likewise.
731 (Qchinese_cns11643_7): Likewise.
732 (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
733 `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
734 and `chinese-cns11643-7' to lisp/mule/chinese.el.
735 (complex_vars_of_mule_charset): Likewise.
737 1999-09-18 MORIOKA Tomohiko <tomo@etl.go.jp>
739 * mule-charset.c (charset_get_byte1): Fix bug about 94- and
741 (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
742 CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
744 1999-09-17 MORIOKA Tomohiko <tomo@etl.go.jp>
746 * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
748 (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
749 (breakup_char_1): Likewise.
751 * text-coding.c (char_encode_iso2022): Keep designated charsets if
752 one of them includes the specified character.
754 1999-09-14 MORIOKA Tomohiko <tomo@etl.go.jp>
756 * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
758 1999-09-14 MORIOKA Tomohiko <tomo@etl.go.jp>
760 * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
762 1999-09-14 MORIOKA Tomohiko <tomo@etl.go.jp>
764 * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
765 definition for non-UTF-2000 Mule.
766 (latin_iso8859_3_to_ucs): Likewise.
767 (latin_iso8859_4_to_ucs): Likewise.
768 (latin_iso8859_9_to_ucs): Likewise.
769 (latin_jisx0201_to_ucs): Likewise.
770 (MIN_CHAR_THAI): Likewise.
771 (MAX_CHAR_THAI): Likewise.
772 (MIN_CHAR_GREEK): Likewise.
773 (MAX_CHAR_GREEK): Likewise.
774 (MIN_CHAR_HEBREW): Likewise.
775 (MAX_CHAR_HEBREW): Likewise.
776 (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
777 (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
778 (MIN_CHAR_CYRILLIC): Likewise.
779 (MAX_CHAR_CYRILLIC): Likewise.
781 1999-09-14 MORIOKA Tomohiko <tomo@etl.go.jp>
783 * char-ucs.h (breakup_char_1): Use
784 `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
785 thai-tis620 and katakana-jisx0201 area.
787 1999-09-13 MORIOKA Tomohiko <tomo@urania.m17n.org>
789 * char-ucs.h (breakup_char_1): Use
790 `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
793 * text-coding.c (reset_encoding_stream): Fixed.
794 (char_encode_ucs4): Delete `& 255'.
796 * char-ucs.h (breakup_char_1): Use
797 `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
799 1999-09-13 MORIOKA Tomohiko <tomo@urania.m17n.org>
801 * file-coding.c (Fmake_coding_system): Don't set up
802 `codesys->fixed.size'.
803 (encode_coding_no_conversion): Don't refer
804 `str->codesys->fixed.size'.
806 1999-09-13 MORIOKA Tomohiko <tomo@urania.m17n.org>
808 * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
809 (latin_a_char_to_byte1): Deleted.
810 (latin_a_char_to_byte2): Deleted.
812 1999-09-13 MORIOKA Tomohiko <tomo@urania.m17n.org>
814 * mule-charset.c (make_charset): Add new argument `ucs_min',
815 `ucs_max' and `code_offset'.
816 (charset_get_byte1): New implementation [delete specific charset
817 depended implementations].
818 (Fmake_charset): Modify for `make_charset'.
819 (Fmake_reverse_direction_charset): Likewise.
820 (complex_vars_of_mule_charset): Likewise.
822 * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
824 (CHARSET_UCS_MIN): New macro.
825 (CHARSET_UCS_MAX): New macro.
826 (CHARSET_CODE_OFFSET): New macro.
827 (MAKE_CHAR): Delete charset depended definitions [except
830 1999-09-13 MORIOKA Tomohiko <tomo@etl.go.jp>
832 * char-ucs.h (breakup_char_1): Use
833 `Vdefault_coded_charset_priority_list' for C0-Controls,
834 Basic-Latin, C1-Controls and Latin-1-Supplement area.
836 1999-09-13 MORIOKA Tomohiko <tomo@urania.m17n.org>
838 * char-ucs.h (charset_get_byte1): New function.
839 (XCHARSET_GET_BYTE1): Deleted.
840 (charset_get_byte2): New function.
841 (XCHARSET_GET_BYTE2): Deleted.
842 (Vdefault_coded_charset_priority_list): New external variable.
843 (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
844 `Vdefault_preferred_coded_charset_list'.
846 * mule-charset.c (charset_get_byte1): New function.
847 (charset_get_byte2): New function.
848 (Vdefault_coded_charset_priority_list): New variable.
849 (vars_of_mule_charset): Add new variable
850 `default-coded-charset-priority-list'.
852 1999-09-12 MORIOKA Tomohiko <tomo@urania.m17n.org>
854 * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
855 (XCHARSET_GET_BYTE2): New inline function.
856 (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
857 `XCHARSET_GET_BYTE2'.
859 1999-09-12 MORIOKA Tomohiko <tomo@urania.m17n.org>
861 * mule-charset.c (make_charset): Initialize
862 `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
863 NULL if table is not defined.
865 1999-09-11 MORIOKA Tomohiko <tomo@urania.m17n.org>
867 * text-coding.c (char_encode_shift_jis): Use
868 `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
869 `ucs_to_latin_jisx0201'.
871 * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
872 (ucs_to_latin_iso8859_2): Deleted.
873 (ucs_to_latin_iso8859_3): Deleted.
874 (ucs_to_latin_iso8859_4): Deleted.
875 (ucs_to_latin_iso8859_9): Deleted.
876 (ucs_to_latin_viscii_lower): Deleted.
877 (ucs_to_latin_viscii_upper): Deleted.
878 (ucs_to_latin_tcvn5712): Deleted.
879 (make_charset): Add new argument `decoding_table'; set up
880 `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
881 `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
882 `decoding_table' is defined in UTF-2000.
883 (Fmake_charset): Modify for `make_charset'.
884 (Fmake_reverse_direction_charset): Likewise.
885 (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
886 and `GENERATE_96_SET'.
888 * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
889 (ucs_to_latin_jisx0201): Deleted.
890 (latin_iso8859_2_to_ucs): Deleted.
891 (ucs_to_latin_iso8859_2): Deleted.
892 (latin_iso8859_3_to_ucs): Deleted.
893 (ucs_to_latin_iso8859_3): Deleted.
894 (latin_iso8859_4_to_ucs): Deleted.
895 (ucs_to_latin_iso8859_4): Deleted.
896 (latin_iso8859_9_to_ucs): Deleted.
897 (ucs_to_latin_iso8859_9): Deleted.
898 (latin_viscii_lower_to_ucs): Deleted.
899 (ucs_to_latin_viscii_lower): Deleted.
900 (latin_viscii_upper_to_ucs): Deleted.
901 (ucs_to_latin_viscii_upper): Deleted.
902 (struct Lisp_Charset): Renamed `encoding_table' to
903 `to_byte1_table'; add `to_byte2_table'.
904 (CHARSET_DECODING_TABLE): New macro.
905 (CHARSET_TO_BYTE1_TABLE): New macro.
906 (CHARSET_TO_BYTE2_TABLE): New macro.
907 (XCHARSET_DECODING_TABLE): New macro.
908 (XCHARSET_TO_BYTE1_TABLE): New macro.
909 (XCHARSET_TO_BYTE2_TABLE): New macro.
910 (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
912 (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
913 don't use `ucs_to_*' tables.
915 1999-09-11 MORIOKA Tomohiko <tomo@urania.m17n.org>
917 * text-coding.c (Fmake_coding_system): Don't set up
918 `codesys->fixed.size'.
919 (encode_coding_no_conversion): Use `if' instead of `switch'.
921 * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
923 1999-09-11 MORIOKA Tomohiko <tomo@etl.go.jp>
925 * mule-charset.c (make_charset): Delete argument `rep_bytes'.
926 (Fmake_charset): Modify for `make_charset'.
927 (Fmake_reverse_direction_charset): Likewise.
928 (complex_vars_of_mule_charset): Likewise.
930 1999-09-11 MORIOKA Tomohiko <tomo@etl.go.jp>
932 * text-coding.c (char_encode_shift_jis): Use table
933 `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
935 1999-09-11 MORIOKA Tomohiko <tomo@etl.go.jp>
937 * text-coding.c (text_encode_generic): Use `if' instead of
939 (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
942 1999-09-10 MORIOKA Tomohiko <tomo@etl.go.jp>
944 * text-coding.c (encode_coding_sjis): Deleted.
945 (char_encode_shift_jis): New function.
946 (char_finish_shift_jis): New function.
947 (reset_encoding_stream): Set up `encode_char' and `finish' for
948 `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
949 (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
950 (char_encode_utf8): Treat `eol_type'.
952 1999-09-10 MORIOKA Tomohiko <tomo@etl.go.jp>
954 * file-coding.c (decode_coding_iso2022): Use
955 `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
957 1999-09-10 MORIOKA Tomohiko <tomo@etl.go.jp>
959 * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
962 1999-09-10 MORIOKA Tomohiko <tomo@etl.go.jp>
964 * char-lb.h (CHAR_COLUMNS): New macro.
966 1999-09-09 MORIOKA Tomohiko <tomo@etl.go.jp>
968 * text-coding.c (char_encode_ucs4): New function.
969 (char_finish_ucs4): New function.
970 (encode_coding_ucs4): Deleted.
971 (mule_encode): Use generic encoder for `CODESYS_UCS4'.
972 (text_encode_generic): Delete local variable `charset' and `half'.
973 (ucs_to_mule_table): Deleted.
974 (mule_to_ucs_table): Deleted.
975 (Fset_ucs_char): Deleted.
976 (ucs_to_char): Deleted.
977 (Fucs_char): Deleted.
978 (Fset_char_ucs): Deleted.
979 (Fchar_ucs): Deleted.
980 (decode_ucs4): Deleted.
981 (mule_char_to_ucs4): Deleted.
982 (encode_ucs4): Deleted.
983 (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
984 (decode_coding_utf8): Likewise.
985 (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
986 (char_encode_iso2022): Fixed.
987 (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
988 `Fset_char_ucs' and `Fchar_ucs'.
989 (complex_vars_of_file_coding): Don't initialize
992 * objects-tty.c (tty_initialize_font_instance): Don't use
995 * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
998 * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
999 instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1001 * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
1002 instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1003 (emchar_string_displayed_columns): Likewise.
1005 * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
1006 `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1007 (string_column_at_point): Likewise.
1008 (Fmove_to_column): Likewise.
1010 * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
1011 `encoding_table' and `decoding_table'.
1012 (CHARSET_REP_BYTES): Deleted.
1013 (XCHARSET_REP_BYTES): Deleted.
1014 (XCHARSET_COLUMNS): Deleted.
1015 (CHAR_COLUMNS): New macro.
1016 (lookup_composite_char): Deleted unconditionally.
1017 (composite_char_string): Likewise.
1019 1999-09-09 MORIOKA Tomohiko <tomo@etl.go.jp>
1021 * char-ucs.h (Emchar_to_byte_table): New type.
1022 (get_byte_from_character_table): New function interface.
1023 (Vcharset_latin_jisx0201): New variable.
1024 (latin_jisx0201_to_ucs): New variable.
1025 (ucs_to_latin_jisx0201): New variable.
1026 (Vcharset_latin_iso8859_2): New variable.
1027 (latin_iso8859_2_to_ucs): New variable.
1028 (ucs_to_latin_iso8859_2): New variable.
1029 (Vcharset_latin_iso8859_3): New variable.
1030 (latin_iso8859_3_to_ucs): New variable.
1031 (ucs_to_latin_iso8859_3): New variable.
1032 (Vcharset_latin_iso8859_4): New variable.
1033 (latin_iso8859_4_to_ucs): New variable.
1034 (ucs_to_latin_iso8859_4): New variable.
1035 (Vcharset_latin_iso8859_9): New variable.
1036 (latin_iso8859_9_to_ucs): New variable.
1037 (ucs_to_latin_iso8859_9): New variable.
1038 (Vcharset_latin_viscii_lower): New variable.
1039 (latin_viscii_lower_to_ucs): New variable.
1040 (ucs_to_latin_viscii_lower): New variable.
1041 (Vcharset_latin_viscii_upper): New variable.
1042 (latin_viscii_upper_to_ucs): New variable.
1043 (ucs_to_latin_viscii_upper): New variable.
1044 (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
1045 (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
1046 (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
1047 (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
1048 `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
1049 `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
1050 (breakup_char_1): Use `ucs_to_latin_iso8859_2',
1051 `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
1052 `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
1053 `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
1055 * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
1056 (Vcharset_latin_viscii_upper): New variable.
1057 (make_byte_from_character_table): New function.
1058 (put_byte_from_character_table): New function.
1059 (get_byte_from_character_table): New function.
1060 (CHAR96): New macro.
1061 (ucs_to_latin_jisx0201): New variable.
1062 (latin_jisx0201_to_ucs): New variable.
1063 (ucs_to_latin_iso8859_2): New variable.
1064 (latin_iso8859_2_to_ucs): New variable.
1065 (ucs_to_latin_iso8859_3): New variable.
1066 (latin_iso8859_3_to_ucs): New variable.
1067 (ucs_to_latin_iso8859_4): New variable.
1068 (latin_iso8859_4_to_ucs): New variable.
1069 (ucs_to_latin_iso8859_9): New variable.
1070 (latin_iso8859_9_to_ucs): New variable.
1071 (ucs_to_latin_viscii_lower): New variable.
1072 (latin_viscii_lower_to_ucs): New variable.
1073 (ucs_to_latin_viscii_upper): New variable.
1074 (latin_viscii_upper_to_ucs): New variable.
1075 (ucs_to_latin_tcvn5712): New variable.
1076 (latin_tcvn5712_to_ucs): New variable.
1077 (Qlatin_viscii_lower): New variable.
1078 (Qlatin_viscii_upper): New variable.
1079 (syms_of_mule_charset): Set up new symbol
1080 `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
1081 (complex_vars_of_mule_charset): Set up new charset
1082 `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
1083 `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
1084 `ucs_to_<CHARSET>' tables.
1086 1999-09-08 MORIOKA Tomohiko <tomo@etl.go.jp>
1088 * text-coding.c: New file.
1090 1999-09-07 MORIOKA Tomohiko <tomo@etl.go.jp>
1092 * mule-charset.c (Fmake_char): Fix problem of 256-set.
1094 * char-ucs.h (Vcharset_ucs_bmp): New variable.
1095 (MAKE_CHAR): Modify for `ucs-bmp'.
1096 (breakup_char_1): Return `ucs-bmp' and code point of BMP for
1097 non-MULE characters of BMP.
1099 1999-09-06 MORIOKA Tomohiko <tomo@etl.go.jp>
1101 * mule-charset.c (vars_of_mule_charset):
1102 Update `utf-2000-version' to 0.6.
1104 1999-09-05 MORIOKA Tomohiko <tomo@urania.m17n.org>
1107 - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
1108 - Include character.h for `CHAR_ASCII_P'.
1110 * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
1112 * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
1113 (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
1115 * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
1116 (BYTE_C0_P): Likewise.
1117 (BYTE_C1_P): Likewise.
1118 (Lstream_get_emchar_1): Likewise.
1119 (Lstream_fput_emchar): Likewise.
1120 (Lstream_funget_emchar): Likewise.
1121 (copy_internal_to_external): Likewise.
1122 (copy_external_to_internal): Likewise.
1124 * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
1125 (BYTE_C0_P): Likewise.
1126 (BYTE_C1_P): Likewise.
1127 (Lstream_get_emchar_1): Likewise.
1128 (Lstream_fput_emchar): Likewise.
1129 (Lstream_funget_emchar): Likewise.
1130 (copy_internal_to_external): Likewise.
1131 (copy_external_to_internal): Likewise.
1133 * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
1134 (REP_BYTES_BY_FIRST_BYTE): Likewise.
1136 * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
1137 (BYTE_ASCII_P): Moved to mb-1byte.h.
1139 1999-09-04 MORIOKA Tomohiko <tomo@urania.m17n.org>
1141 * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
1143 * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
1144 (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
1145 (VALID_CHARPTR_P): Moved to mb-*byte.h.
1146 (VALIDATE_CHARPTR_BACKWARD): Likewise.
1147 (VALIDATE_CHARPTR_FORWARD): Likewise.
1148 (simple_charptr_emchar): Moved to mb-multibyte.h.
1149 (simple_set_charptr_emchar): Likewise.
1150 (simple_charptr_copy_char): Likewise.
1151 (non_ascii_charptr_emchar): Likewise.
1152 (non_ascii_set_charptr_emchar): Likewise.
1153 (non_ascii_charptr_copy_char): Likewise.
1154 (charptr_emchar): Moved to mb-*byte.h.
1155 (set_charptr_emchar): Likewise.
1156 (charptr_copy_char): Likewise.
1158 * mb-1byte.h, mb-multibyte.h: New files.
1160 1999-09-03 MORIOKA Tomohiko <tomo@urania.m17n.org>
1162 * mb-utf-8.h (MULTIBYTE): New macro.
1163 (MAX_EMCHAR_LEN): Moved from buffer.h.
1164 (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
1166 * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
1168 * mb-lb.h, multibyte.h: New files.
1170 * char-1byte.h (Charset_ID): Moved from buffer.h.
1171 (MIN_LEADING_BYTE): Likewise.
1172 (LEADING_BYTE_ASCII): Likewise.
1173 (NUM_LEADING_BYTES): Likewise.
1174 (CHARSETP): Likewise.
1175 (CHARSET_BY_LEADING_BYTE): Likewise.
1176 (XCHARSET_LEADING_BYTE): Likewise.
1177 (XCHARSET_GRAPHIC): Likewise.
1178 (XCHARSET_COLUMNS): Likewise.
1179 (XCHARSET_DIMENSION): Likewise.
1180 (CHAR_CHARSET): Likewise.
1181 (CHAR_LEADING_BYTE): Likewise.
1182 (BREAKUP_CHAR): Likewise.
1183 (Vcharset_ascii): Likewise.
1185 * buffer.h: Include multibyte.h unconditionally.
1186 (VALID_CHARPTR_P): Moved to multibyte.h.
1187 (ASSERT_VALID_CHARPTR): Likewise.
1188 (REAL_INC_CHARPTR): Likewise.
1189 (REAL_INC_CHARBYTIND): Likewise.
1190 (REAL_DEC_CHARPTR): Likewise.
1191 (INC_CHARPTR): Likewise.
1192 (INC_CHARBYTIND): Likewise.
1193 (DEC_CHARPTR): Likewise.
1194 (VALIDATE_CHARPTR_BACKWARD): Likewise.
1195 (VALIDATE_CHARPTR_FORWARD): Likewise.
1196 (charptr_n_addr): Likewise.
1197 (MAX_EMCHAR_LEN): Moved to mb-*.h.
1198 (simple_charptr_emchar): Moved to multibyte.h.
1199 (simple_set_charptr_emchar): Likewise.
1200 (simple_charptr_copy_char): Likewise.
1201 (non_ascii_charptr_emchar): Likewise.
1202 (non_ascii_set_charptr_emchar): Likewise.
1203 (non_ascii_charptr_copy_char): Likewise.
1204 (charptr_emchar): Likewise.
1205 (set_charptr_emchar): Likewise.
1206 (charptr_copy_char): Likewise.
1207 (charptr_emchar_n): Likewise.
1208 (Charset_ID): Moved to char-1byte.h.
1209 (Vcharset_ascii): Likewise.
1210 (CHAR_CHARSET): Likewise.
1211 (CHAR_LEADING_BYTE): Likewise.
1212 (LEADING_BYTE_ASCII): Likewise.
1213 (NUM_LEADING_BYTES): Likewise.
1214 (MIN_LEADING_BYTE): Likewise.
1215 (CHARSETP): Likewise.
1216 (CHARSET_BY_LEADING_BYTE): Likewise.
1217 (XCHARSET_LEADING_BYTE): Likewise.
1218 (XCHARSET_GRAPHIC): Likewise.
1219 (XCHARSET_COLUMNS): Likewise.
1220 (XCHARSET_DIMENSION): Likewise.
1221 (BREAKUP_CHAR): Likewise.
1223 1999-09-02 MORIOKA Tomohiko <tomo@urania.m17n.org>
1225 * character.h: Add document about interface for characters.
1227 * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
1228 (MAKE_CHAR): Delete comment about
1229 `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
1230 `FIELD2_TO_PRIVATE_LEADING_BYTE'.
1231 (BREAKUP_CHAR): Modify name of arguments.
1232 (CHAR_CHARSET): Modify name of argument.
1234 * buffer.h: Delete document about Emchar accessors.
1236 1999-09-02 MORIOKA Tomohiko <tomo@urania.m17n.org>
1238 * character.h (CHAR_INTP): Moved from buffer.h
1239 (CHAR_OR_CHAR_INTP): Likewise.
1240 (XCHAR_OR_CHAR_INT): Likewise.
1241 (CHECK_CHAR_COERCE_INT): Likewise.
1243 * buffer.h (CHAR_INTP): Moved to character.h
1244 (CHAR_OR_CHAR_INTP): Likewise.
1245 (XCHAR_OR_CHAR_INT): Likewise.
1246 (CHECK_CHAR_COERCE_INT): Likewise.
1248 1999-09-02 MORIOKA Tomohiko <tomo@urania.m17n.org>
1251 - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
1252 - Include char-1byte.h, char-lb.h or char-ucs.h.
1254 * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
1256 * buffer.h: Include character unconditionally.
1257 (valid_char_p): Moved to char-*.h.
1258 (non_ascii_valid_char_p): Moved to char-lb.h.
1260 * char-1byte.h, char-lb.h, char-ucs.h: New files.
1262 1999-09-02 MORIOKA Tomohiko <tomo@urania.m17n.org>
1264 * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
1265 in UTF-2000 because it is not ported yet and not to use
1266 `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
1267 `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
1268 `FIELD1_TO_PRIVATE_LEADING_BYTE'.
1270 * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
1271 (CHAR_ASCII_P): Moved from character.h.
1273 * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
1274 (CHAR_ASCII_P): Likewise.
1275 (CHAR_FIELD1_MASK): Deleted.
1276 (CHAR_FIELD2_MASK): Deleted.
1277 (CHAR_FIELD3_MASK): Deleted.
1278 (MAX_CHAR_BASIC_LATIN): New macro.
1279 (CHAR_FIELD1): Deleted.
1280 (CHAR_FIELD2_INTERNAL): Deleted.
1281 (CHAR_FIELD3_INTERNAL): Deleted.
1282 (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
1283 (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
1284 (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
1285 (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
1286 (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
1287 (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
1288 (MIN_CHAR_FIELD2_PRIVATE): Deleted.
1289 (MAX_CHAR_FIELD2_PRIVATE): Deleted.
1290 (MIN_CHAR_FIELD1_PRIVATE): Deleted.
1291 (MAX_CHAR_FIELD1_PRIVATE): Deleted.
1292 (MULE_CHAR_PRIVATE_OFFSET): Deleted.
1293 (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
1294 (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
1295 (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
1296 (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
1297 (MIN_CHAR_COMPOSITION): Deleted.
1298 (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
1299 `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
1301 1999-09-02 MORIOKA Tomohiko <tomo@m17n.org>
1303 * buffer.h: Include mb-utf-8.h in UTF-2000.
1305 * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
1307 * mb-utf-8.h: New file.
1309 1999-09-02 MORIOKA Tomohiko <tomo@etl.go.jp>
1311 * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
1314 * mule-charset.h, buffer.h (Charset_ID): New type.
1316 1999-09-01 MORIOKA Tomohiko <tomo@etl.go.jp>
1318 * mule-canna.c (c2mu): Use `MAKE_CHAR',
1319 `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
1320 instead of `MULE_CHAR_PRIVATE_OFFSET',
1321 `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
1322 and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
1323 (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
1325 * character.h (Vcharset_japanese_jisx0212): New variable
1328 1999-09-01 MORIOKA Tomohiko <tomo@etl.go.jp>
1330 * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
1331 (charset_by_attributes): Delete array about direction.
1332 (latin_a_char_to_charset): New variable in UTF-2000.
1333 (latin_a_char_to_byte1): New variable in UTF-2000.
1334 (latin_a_char_to_byte2): New variable in UTF-2000.
1335 (Qucs_bmp): New variable.
1336 (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
1338 (next_allocated_2_byte_leading_byte): Likewise.
1339 (non_ascii_set_charptr_emchar): Likewise.
1340 (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
1341 `CHARSET_TYPE_256X256' in UTF-2000; modify for
1342 `charset_by_attributes'.
1343 (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
1344 (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
1345 and `CHARSET_BY_LEADING_BYTE'.
1346 (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
1347 `utf-2000-version' to `vars_of_mule_charset'.
1348 (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
1349 define `leading-code-private-11' in UTF-2000; move setting of
1350 `utf-2000-version' from `syms_of_mule_charset'.
1351 (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
1354 * character.h (Charset_ID): New type.
1355 (LEADING_BYTE_UCS_BMP): New macro.
1356 (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
1357 (CHARSET_ID_OFFSET_94): New macro.
1358 (MIN_CHARSET_ID_PRIVATE_94): New macro.
1359 (MAX_CHARSET_ID_PRIVATE_94): New macro.
1360 (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
1362 (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
1363 (LEADING_BYTE_LATIN_JISX0201): Likewise.
1364 (CHARSET_ID_OFFSET_96): New macro.
1365 (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
1366 CHARSET_ID_OFFSET_96 and final-byte.
1367 (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
1368 (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
1369 (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
1370 (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
1371 (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
1372 (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
1373 (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
1374 (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
1375 (LEADING_BYTE_THAI_TIS620): Likewise.
1376 (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
1377 (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
1378 (CHARSET_ID_OFFSET_94x94): New macro.
1379 (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
1380 CHARSET_ID_OFFSET_94x94 and final-byte.
1381 (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
1382 (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
1383 (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
1384 (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
1385 (LEADING_BYTE_CHINESE_GB2312): Likewise.
1386 (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
1387 (LEADING_BYTE_KOREAN_KSC5601): Likewise.
1388 (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
1389 (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
1390 (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
1391 (LEADING_BYTE_KOREAN_KPS9566): Likewise.
1392 (CHARSET_TYPE_128X128): New macro.
1393 (CHARSET_TYPE_256X256): New macro.
1394 (XCHARSET_PRIVATE_P): Delete unconditionally.
1395 (charset_by_attributes): Delete array about direction.
1396 (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
1397 (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
1398 (MIN_CHAR_94): New macro.
1399 (MAX_CHAR_94): New macro.
1400 (MIN_CHAR_96): New macro.
1401 (MAX_CHAR_96): New macro.
1402 (MIN_CHAR_94x94): New macro.
1403 (MAX_CHAR_94x94): New macro.
1404 (MIN_CHAR_96x96): New macro.
1405 (MAX_CHAR_96x96): New macro.
1406 (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
1407 (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1408 (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
1410 (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
1411 (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
1412 (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
1413 (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
1414 (MAX_CHAR_PRIVATE_TYPE9N): Changed.
1415 (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
1416 `XCHARSET_LEADING_BYTE' to make code-point.
1417 (latin_a_char_to_charset): New variable.
1418 (latin_a_char_to_byte1): New variable.
1419 (latin_a_char_to_byte2): New variable.
1420 (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
1421 Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
1422 `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
1424 * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
1425 instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
1426 (find_charsets_in_emchar_string): Likewise.
1427 (vars_of_insdel): Don't define local variable `i' in UTF-2000.
1429 * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
1431 (decode_coding_iso2022): Likewise.
1433 * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
1436 * redisplay.c (redisplay_text_width_emchar_string): Use
1437 `Charset_ID' instead of `unsigned char'.
1438 (redisplay_frame_text_width_string): Likewise.
1440 * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
1443 * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
1444 instead of `unsigned char'.
1445 (face_cachel_charset_font_metric_info): Likewise.
1447 * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
1448 (get_non_ascii_char_table_value): Likewise.
1449 (get_char_table): Likewise.
1450 (put_char_table): Likewise.
1451 (map_over_other_charset): Likewise.
1452 (map_char_table): Likewise.
1454 * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
1455 instead of `unsigned char'.
1457 1999-08-31 MORIOKA Tomohiko <tomo@etl.go.jp>
1459 * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
1460 (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
1462 * mule-charset.c (leading_code_private_11): Don't define in
1465 * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
1466 in UTF-2000 because it is not ported yet and not to use
1467 `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
1469 1999-08-30 MORIOKA Tomohiko <tomo@etl.go.jp>
1471 * character.h (LEADING_BYTE_COMPOSITE): Deleted.
1473 1999-08-29 MORIOKA Tomohiko <tomo@etl.go.jp>
1475 * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
1478 * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
1479 of unsigned char to store leading-byte.
1481 * chartab.c (get_non_ascii_char_table_value): Don't use
1482 `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
1484 * file-coding.c (encode_coding_big5): Delete bogus implementation
1487 * character.h (LEADING_BYTE_*): Delete definition for
1489 (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
1490 (LEADING_BYTE_PREFIX_P): Deleted.
1491 (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
1492 (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
1493 (BUFBYTE_LEADING_BYTE_P): Deleted.
1494 (CHARSET_PRIVATE_P): Deleted unconditionally.
1495 (rep_bytes_by_first_byte): Deleted unconditionally.
1496 (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
1497 (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
1498 (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1499 (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
1500 (CHAR_FIELD2): Deleted.
1501 (CHAR_FIELD3): Deleted.
1502 (MAKE_CHAR): Delete definition for non-UTF-2000.
1503 (BREAKUP_CHAR_1_UNSAFE): Deleted.
1504 (breakup_char_1): New implementation.
1505 (CHAR_CHARSET): Use `BREAKUP_CHAR'.
1506 (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
1508 1999-08-29 MORIOKA Tomohiko <tomo@etl.go.jp>
1510 * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
1513 1999-08-28 MORIOKA Tomohiko <tomo@etl.go.jp>
1515 * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
1516 (CHARSET_PRIVATE_P): Likewise.
1517 (XCHARSET_PRIVATE_P): Likewise.
1518 (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
1520 * file-coding.c (encode_coding_ucs4): Delete bogus implement in
1522 (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
1524 1999-08-28 MORIOKA Tomohiko <tomo@etl.go.jp>
1526 * character.h (LEADING_BYTE_*): Changed in UTF2000.
1527 (NUM_LEADING_BYTES): Changed from 128 to 256.
1528 (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1529 (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
1531 (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1533 * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
1535 (Vcharset_chinese_cns11643_4): New variable in UTF2000.
1536 (Vcharset_chinese_cns11643_5): New variable in UTF2000.
1537 (Vcharset_chinese_cns11643_6): New variable in UTF2000.
1538 (Vcharset_chinese_cns11643_7): New variable in UTF2000.
1539 (Qchinese_cns11643_3): New variable in UTF2000.
1540 (Qchinese_cns11643_4): New variable in UTF2000.
1541 (Qchinese_cns11643_5): New variable in UTF2000.
1542 (Qchinese_cns11643_6): New variable in UTF2000.
1543 (Qchinese_cns11643_7): New variable in UTF2000.
1544 (syms_of_mule_charset): Define `chinese-cns11643-3',
1545 `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1546 and `chinese-cns11643-7' in UTF2000.
1547 (vars_of_mule_charset): Initialize
1548 next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
1550 (complex_vars_of_mule_charset): Setup charset
1551 `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
1552 `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
1554 1999-08-27 MORIOKA Tomohiko <tomo@etl.go.jp>
1556 * mule-charset.c: Move setting for `leading-code-private-11' from
1557 `syms_of_mule_charset' to `vars_of_mule_charset'.
1559 1999-08-27 MORIOKA Tomohiko <tomo@etl.go.jp>
1561 * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
1562 and `NUM_LEADING_BYTES' in assert.
1564 1999-08-27 MORIOKA Tomohiko <tomo@etl.go.jp>
1566 * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
1568 (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
1569 `NUM_LEADING_BYTES' instead of 128.
1571 1999-08-26 MORIOKA Tomohiko <tomo@etl.go.jp>
1573 * mule-charset.h (charset_by_leading_byte): Use
1574 `NUM_LEADING_BYTES' instead of 128.
1575 (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
1577 * mule-charset.c (charset_by_leading_byte): Use
1578 `NUM_LEADING_BYTES' instead of 128.
1579 (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
1581 * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
1584 1999-08-25 MORIOKA Tomohiko <tomo@etl.go.jp>
1586 * mule-charset.c (syms_of_mule_charset): Update to
1589 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
1591 * file-coding.c (encode_coding_sjis): New implementation for
1592 UTF2000. (decode_coding_sjis): Ditto.
1594 1999-06-17 MORIOKA Tomohiko <tomo@etl.go.jp>
1596 * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
1597 Don't define in UTF2000.
1599 * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
1602 * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1603 mule-ccl.c, lstream.h, buffer.h: Include character.h in every
1606 1999-06-17 MORIOKA Tomohiko <tomo@etl.go.jp>
1608 * config.h.in (CHAR_IS_UCS4): New macro.
1610 * mule-charset.c (rep_bytes_by_first_byte): Modify for
1611 conventional MULE representation.
1612 (syms_of_mule_charset): Update to 0.3 (Imamiya).
1614 * mule-charset.h: Reverted to original.
1616 * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1617 mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
1618 "mule-charset.h" if CHAR_IS_UCS4 is defined.
1620 * character.h: New file.
1622 * file-coding.c (Fmake_coding_system): Set 1 to
1623 `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
1625 (encode_coding_no_conversion): New implementation for UTF2000.
1627 * file-coding.h (struct Lisp_Coding_System): Add new member
1630 1999-06-16 MORIOKA Tomohiko <tomo@etl.go.jp>
1632 * file-coding.c (decode_coding_iso2022): Code-point arguments of
1633 `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
1634 (encode_coding_iso2022): New implementation for UTF2000.
1636 1999-06-15 MORIOKA Tomohiko <tomo@etl.go.jp>
1638 * mule-canna.c (c2mu): New implementation for UTF2000.
1641 1999-06-15 MORIOKA Tomohiko <tomo@etl.go.jp>
1643 * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
1645 1999-06-15 MORIOKA Tomohiko <tomo@etl.go.jp>
1647 * file-coding.c (reset_encoding_stream): Set 0 to
1648 `str->iso2022.current_char_boundary' in UTF2000.
1649 (encode_utf8): Don't define in UTF2000.
1650 (encode_coding_utf8): New implementation for UTF-8 representation
1652 (complex_vars_of_file_coding): Define coding-system `utf-8'.
1654 1999-06-15 MORIOKA Tomohiko <tomo@etl.go.jp>
1656 * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
1658 * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
1660 (REP_BYTES_BY_FIRST_BYTE): Likewise.
1662 * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
1664 * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
1665 local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
1666 as UTF-8 in UTF2000.
1667 (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
1668 (non_ascii_valid_char_p): Don't define in UTF2000.
1669 (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
1670 (Lstream_get_emchar_1): Likewise.
1671 (utf-2000-version): New variable in UTF2000.
1673 * lread.c (read_escape): Add new reader `u'.
1675 * insdel.c (three_to_one_table): Don't define in UTF2000.
1676 (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
1677 `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1679 (bytind_to_bufpos_func): Likewise.
1680 (buffer_mule_signal_inserted_region): Likewise.
1681 (vars_of_insdel): Don't initialize `three_to_one_table'.
1682 (init_buffer_text): Use `buf->text->mule_size' instead of
1683 `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1686 * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
1687 UTF-8 representation in UTF2000.
1688 (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
1689 (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
1690 (decode_coding_iso2022): Don't define local variable `lb' in
1691 UTF2000; don't use LEADING_BYTE in UTF2000; use
1692 `DECODE_ADD_UCS_CHAR' in UTF2000.
1693 (convert_to_external_format): Decode as UTF-8 in UTF2000.
1695 * config.h.in (UTF2000): New macro.
1697 * buffer.h (struct buffer_text): Add new member `mule_size' and
1698 don't add `mule_shifter' and `mule_three_p' in UTF2000.
1699 (valid_char_p): Return always 1 in UTF2000.
1700 (MAX_EMCHAR_LEN): 6 in UTF2000.
1701 (three_to_one_table): Don't define in UTF2000.
1702 (real_bufpos_to_bytind): Modify for UTF-8 representation in
1704 (real_bytind_to_bufpos): Likewise.
1706 * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
1708 1999-06-10 MORIOKA Tomohiko <tomo@etl.go.jp>
1710 * mule-charset.c (rep_bytes_by_first_byte): Modified for character
1711 representation change.
1712 (Vutf_2000_version): New variable.
1713 (leading_code_private_11): New variable.
1714 (syms_of_mule_charset): Add new variables `utf-2000-version' and
1715 `leading-code-private-11'.
1717 * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
1718 (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
1719 (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
1720 (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
1721 (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
1722 (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
1723 (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
1724 (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
1725 (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
1726 (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
1727 (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
1728 (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
1729 (MIN_CHAR_GREEK): New macro.
1730 (MAX_CHAR_GREEK): New macro.
1731 (MIN_CHAR_CYRILLIC): New macro.
1732 (MAX_CHAR_CYRILLIC): New macro.
1733 (MIN_CHAR_HEBREW): New macro.
1734 (MAX_CHAR_HEBREW): New macro.
1735 (MIN_CHAR_THAI): New macro.
1736 (MAX_CHAR_THAI): New macro.
1737 (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
1738 (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
1739 (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
1740 (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
1741 (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
1742 (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
1743 (CHAR_FIELD2): New inline function.
1744 (CHAR_FIELD3): New inline function.
1745 (MULE_CHAR_PRIVATE_OFFSET): New macro.
1746 (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
1747 (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
1748 (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
1749 (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
1750 (MIN_CHAR_COMPOSITION): Likewise.
1751 (CHAR_LEADING_BYTE): Modified for character representation change.
1752 (MAKE_CHAR): Likewise.
1754 * lisp.h (Vcharset_latin_iso8859_1): New variable.
1755 (Vcharset_greek_iso8859_7): Likewise.
1756 (Vcharset_cyrillic_iso8859_5): Likewise.
1757 (Vcharset_hebrew_iso8859_8): Likewise.
1758 (Vcharset_thai_tis620): Likewise.
1759 (Vcharset_katakana_jisx0201): Likewise.
1761 2000-01-18 Martin Buchholz <martin@xemacs.org>
1763 * XEmacs 21.2.27 is released.
1765 2000-01-18 Martin Buchholz <martin@xemacs.org>
1767 * glyphs-eimage.c (struct tiff_error_struct):
1769 (tiff_warning_func):
1770 #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
1775 * unexec.c: Remove vestigial Lucid C code.
1780 Remove declarations of errno and strerror().
1782 * eval.c (Fbacktrace): Small Purify-cation. Fix docstring.
1784 * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
1786 2000-01-16 Martin Buchholz <martin@xemacs.org>
1788 * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
1791 2000-01-14 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
1796 Change enum eol_type to eol_type_t.
1798 2000-01-17 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
1800 * gui.c (get_gui_callback): Check cons before accessing car.
1802 2000-01-17 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
1804 * specifier.h (XSPECIFIER_TYPE): Add error checking version.
1805 (XSETSPECIFIER_TYPE): Ditto.
1807 2000-01-17 Didier Verna <didier@xemacs.org>
1809 * redisplay.c (generate_fstring_runes): compute string size in
1810 characters, not bytes.
1812 2000-01-09 Hrvoje Niksic <hniksic@iskon.hr>
1814 * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
1816 2000-01-14 Hrvoje Niksic <hniksic@iskon.hr>
1818 * print.c (print_error_message): Call print_prepare().
1820 2000-01-14 Martin Buchholz <martin@xemacs.org>
1822 * .dbxrc: Renamed from dbxrc.
1824 * events.c (event_to_character):
1825 Use `assert (foo)' instead of `if (!foo) abort()'
1827 * .gdbinit (xtype): Add documentation.
1828 * .gdbinit (check-temacs): New function.
1829 * .gdbinit (check-xemacs): New function.
1830 * dbxrc (check-xemacs): New function.
1831 * dbxrc (check-xemacs): New function.
1833 2000-01-14 Andy Piper <andy@xemacs.org>
1835 * glyphs-widget.c (widget_query_geometry): Make sure that we
1836 calculate default dimensions correctly.
1838 2000-01-13 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1840 * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
1842 * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
1843 pdump_wire'd variable.
1845 * emacs.c: (main_1): Conditionalized calls to
1846 reinit_vars_of_scrollbar_x and reinit_vars_of_module.
1848 2000-01-13 Martin Buchholz <martin@xemacs.org>
1850 * window.c (Fset_window_configuration):
1851 * sysdep.c (_start):
1852 * input-method-motif.c (res):
1853 * event-Xt.c (Xt_process_to_emacs_event):
1854 Simple compiler warning fixes.
1856 * bytecode.c (funcall_compiled_function): Use the original
1857 function symbol on the backtrace list in preference to the
1858 compiled_function object in error messages.
1860 2000-01-13 Andy Piper <andy@xemacs.org>
1862 * glyphs-x.c (update_widget_face): Make sure we update the widget
1863 background as well as foreground.
1865 2000-01-13 Andy Piper <andy@xemacs.org>
1867 * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
1868 fields to subwindow.
1869 (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
1870 (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
1871 (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
1872 (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
1874 * glyphs-widget.c (check_valid_tab_orientation): new function.
1875 (initialize_widget_image_instance): zero orientation and
1877 (widget_instantiate): pick up orientation.
1878 (tab_control_query_geometry): return appropriate values for
1881 * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
1882 appropriate creation flags for left, right and bottom tabs.
1884 * s/cygwin32.h: add tab definitions.
1886 2000-01-12 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
1888 * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
1889 frame upon hiding a subwindow.
1890 (mswindows_button_instantiate): Changed the push button style to
1892 (mswindows_button_instantiate): Removed button BS_NOTIFY
1894 (mswindows_button_instantiate): Removed redundant check for
1895 a disabled gui item.
1896 (mswindows_button_instantiate): Made use of WS_TABSTOP
1897 consistent: "operable" controls (edit, button, tree, scroll) have
1898 this style, "display-only" ones (static, progress gauge) do
1899 not. This style is currently ignored by XEmacs though. Also,
1900 removed the WS_EX_CONTROLPARENT style - it is not for children,
1901 it is for their parents!
1902 (mswindows_edit_field_instantiate): Ditto.
1903 (mswindows_progress_gauge_instantiate): Ditto.
1904 (mswindows_tree_view_instantiate): Ditto.
1905 (mswindows_tab_control_instantiate): Ditto.
1906 (mswindows_scrollbar_instantiate): Ditto.
1907 (mswindows_combo_box_instantiate): Ditto.
1908 (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
1909 style to the "clip" window.
1910 (mswindows_button_instantiate): Removed compilation warning by
1911 equally typing terms of the ?: operator.
1913 2000-01-12 Didier Verna <didier@xemacs.org>
1915 * redisplay.c (generate_fstring_runes): new parameter holding the
1916 last modeline-format extent.
1917 (add_glyph_to_fstring_db_runes): new parameter holding the glyph
1918 extent, fill the glyph block with it.
1919 (generate_fstring_runes): handle these parameters.
1920 (generate_formatted_string_db): ditto.
1922 * keymap.c (get_relevant_keymaps): retreive the keymaps from the
1923 glyphs'extents in the modeline.
1925 1999-01-11 Mike Woolley <mike@bulsara.com>
1927 * ntheap.c: Reduced the reserved heap space from 1Gb down to
1928 256Mb, as a workaround for the non-starting problem many people
1931 2000-01-06 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
1933 * console-tty.c (Fset_console_tty_output_coding_system):
1934 Force redrawing tty frame.
1936 2000-01-10 Didier Verna <didier@xemacs.org>
1938 * redisplay.c (generate_fstring_runes): fix size computation bug.
1940 2000-01-09 William M. Perry <wmperry@aventail.com>
1942 * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
1944 2000-01-09 Andy Piper <andy@xemacs.org>
1946 * glyphs-msw.c: index -> i to avoid shadows.
1947 (xbm_create_bitmap_from_data): make static.
1948 (check_valid_string_or_int): deleted.
1949 (mswindows_control_wnd_proc): message -> msg to avoid shadows.
1951 * glyphs-x.c (x_update_subwindow): remove unused args.
1953 * glyphs.c (glyph_image_instance): return the thing. Don't set the
1954 back pointer - this is done in allocate_image_instance.
1955 (query_string_font): return Qnil to make the compiler happy.
1956 (unmap_subwindow): set to ~0 to make the compiler happy.
1957 (glyph_query_geometry): comment out until used.
1958 (glyph_layout): ditto.
1960 2000-01-09 Hrvoje Niksic <hniksic@iskon.hr>
1962 * insdel.c (signal_after_change): Remove extraneous unbind_to().