0844f3f376f4148b618f54caf724b3ed776912f1
[chise/xemacs-chise.git] / src / ChangeLog
1 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4         to 0.16.
5
6 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
9         variable.
10         (Qmorohashi_daikanwa): New variable.
11         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
12         for `morohashi-daikanwa' attribute.
13         (Fget_char_attribute): Likewise.
14         (Fput_char_attribute): Likewise.
15         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
16         has the same value of `ideograph-daikanwa'.
17         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
18         (vars_of_mule_charset): Setup
19         `Vcharacter_morohashi_daikanwa_table'.
20
21 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
22
23         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
24         attributes.
25         (add_charset_to_list_mapper): Add `key' instead of
26         `XCHARSET_NAME (value)' to return aliases.
27
28 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
29
30         * mule-charset.c (Vcharacter_ideographic_radical_table): New
31         variable.
32         (Vcharacter_ideographic_strokes_table): New variable.
33         (Qideographic_radical): New variable.
34         (Qideographic_strokes): New variable.
35         (Fchar_attribute_alist): Use
36         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
37         attribute; use `Vcharacter_ideographic_strokes_table' for
38         `ideographic-strokes' attribute.
39         (Fget_char_attribute): Likewise.
40         (Fput_char_attribute): Likewise.
41         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
42         `ideographic-strokes'.
43         (vars_of_mule_charset): Setup
44         `Vcharacter_ideographic_radical_table' and
45         `Vcharacter_ideographic_strokes_table'.
46
47 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
48
49         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
50         (Qtotal_strokes): New variable.
51         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
52         `total-strokes' attribute.
53         (Fget_char_attribute): Likewise.
54         (Fput_char_attribute): Likewise.
55         (syms_of_mule_charset): Add new symbol `total-strokes'.
56         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
57
58 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
59
60         * mule-charset.c (Vcharacter_decomposition_table): New variable.
61         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
62         are found.
63         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
64         `->decomposition' attribute.
65         (Fput_char_attribute): Likewise.
66         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
67
68 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
69
70         * mule-charset.c (decoding_table_check_elements): New function.
71         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
72
73 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * mule-charset.c (Fset_charset_mapping_table): Use
76         `put_char_ccs_code_point'.
77
78 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
79
80         * mule-charset.c (decoding_table_put_char): New inline function.
81         (put_char_ccs_code_point): Use `decoding_table_put_char'.
82
83 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
84
85         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
86         (XCHARSET_BYTE_SIZE): New macro.
87         (decoding_table_remove_char): New inline function.
88         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
89         `decoding_table_remove_char'.
90         (remove_char_ccs): Use `decoding_table_remove_char'.
91         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
92
93 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
94
95         * mule-charset.c (Vcharacter_name_table): New variable.
96         (Qname): New variable.
97         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
98         attribute.
99         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
100         `Vcharacter_name_table' for `name' attribute.
101         (Fremove_char_attribute): Use function `remove_char_ccs'.
102         (put_char_ccs_code_point): New function.
103         (remove_char_ccs): New function.
104         (syms_of_mule_charset): Add new symbol `name'.
105         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
106
107 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
108
109         * mule-charset.c (make_byte_table): Add new argument `older'.
110         (make_char_id_table): Likewise.
111         (copy_char_id_table): Comment out because it is not used.
112         (put_char_id_table): Modify for `make_byte_table'.
113         (Fput_char_attribute): Make encoding_table as older object;
114         inherit older bit of `Vcharacter_composition_table'.
115         (mark_charset): Don't mark `cs->encoding_table'.
116         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
117         normal object; make `Vcharacter_composition_table' as an older
118         object; delete staticpro for `Vcharacter_composition_table'; make
119         `Vcharacter_variant_table' as a normal object.
120
121         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
122         (mark_object): Don't check older object in UTF-2000.
123
124         * lrecord.h (struct lrecord_header): Add new member `older' in
125         UTF-2000.
126         (set_lheader_implementation): Setup `SLI_header->older' in
127         UTF-2000.
128         (set_lheader_older_implementation): New macro in UTF-2000.
129         (OLDER_RECORD_P): New macro in UTF-2000.
130         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
131         (alloc_older_lcrecord): New prototype in UTF-2000.
132         (alloc_older_lcrecord_type): New macro in UTF-2000.
133
134 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * mule-charset.c (byte_table_description): Use
137         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
138         (char_id_table_description): Delete bogus `, 1'.
139         (Fget_char_attribute): Refer encoding_table of each coded-charset
140         to get value of coded-charset attribute of a character.
141         (Fput_char_attribute): Use `make_older_vector' instead of
142         `make_vector'; use encoding_table of each coded-charset to store
143         value of coded-charset attribute of a character.
144         (Fremove_char_attribute): Use encoding_table of each coded-charset
145         to store value of coded-charset attribute of a character.
146         (mark_charset): Mark `cs->encoding_table'; don't mark
147         `cs->decoding_table'.
148         (charset_description): Add description of new member
149         `encoding_table'.
150         (make_charset): Initialize `encoding_table'.
151
152         * char-ucs.h (struct Lisp_Charset): Add new member
153         `encoding_table'.
154         (CHARSET_ENCODING_TABLE): New macro.
155         (XCHARSET_ENCODING_TABLE): New macro.
156         (charset_code_point): New implementation.
157         (encode_char_1): Likewise.
158
159         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
160         (disksave_object_finalization_1): Call finalizers of
161         `all_older_lcrecords' in UTF-2000.
162         (make_older_vector): New function in UTF-2000.
163         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
164         UTF-2000.
165
166         * lisp.h (make_older_vector): New prototype in UTF-2000.
167
168 2000-05-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
169
170         * unexelf.c: Sync up with Emacs 20.6.90 to fix problem with most
171         current development versions of binutils.
172
173 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
174
175         * lrecord.h (enum lrecord_type): Rename
176         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
177
178         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
179         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
180         `get_char_code_table'.
181
182         * mule-charset.c (mark_char_id_table): Renamed from
183         `mark_char_code_table'.
184         (char_id_table_equal): Renamed from `char_code_table_equal'.
185         (char_id_table_hash): Renamed from `char_code_table_hash'.
186         (make_char_id_table): Renamed from `make_char_code_table'.
187         (copy_char_id_table): Renamed from `copy_char_code_table'.
188         (get_char_id_table): Renamed from `get_char_code_table'.
189         (put_char_id_table): Renamed from `put_char_code_table'.
190         (to_char_id): Renamed from `to_char_code'.
191
192         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
193         `Lisp_Char_Code_Table'.
194         (char_id_table): Renamed from `char_code_table'.
195         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
196         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
197         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
198         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
199         (get_char_id_table): Renamed from `get_char_code_table'.
200
201 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * lrecord.h (enum lrecord_type): Rename
204         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
205
206         * mule-charset.c (mark_byte_table): Renamed from
207         `mark_char_byte_table'.
208         (byte_table_equal): Renamed from `char_byte_table_equal'.
209         (byte_table_hash): Renamed from `byte_table_hash'.
210         (make_byte_table): Renamed from `make_byte_table'.
211         (copy_byte_table): Renamed from `copy_char_byte_table'.
212
213         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
214         `Lisp_Char_Byte_Table'.
215         (byte_table): Renamed from `char_byte_table'.
216         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
217         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
218         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
219         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
220
221 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
222
223         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
224         (dfc_convert_to_internal_format): Likewise.
225         
226         * text-coding.c (Fcoding_system_canonical_name_p): New function.
227         * text-coding.c (Fcoding_system_alias_p): New function.
228         * text-coding.c (Fcoding_system_aliasee): New function.
229         * text-coding.c (append_suffix_to_symbol): New function.
230         * text-coding.c (dangling_coding_system_alias_p): New function.
231         * text-coding.c (Ffind_coding_system):
232         * text-coding.c (Fcopy_coding_system):
233         * text-coding.c (encode_coding_no_conversion):
234         * text-coding.c (syms_of_file_coding):
235         * text-coding.c (vars_of_file_coding):
236         Rewrite coding system alias code.
237         Allow nested aliases, like symbolic links.
238         Allow redefinition of coding system aliases.
239         Prevent existence of dangling coding system aliases.
240         Eliminate convert_to_external_format.
241         Eliminate convert_to_internal_format.
242         
243         * text-coding.c: Change enum eol_type to eol_type_t.
244
245 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
248         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
249
250         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
251         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
252
253 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
254
255         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
256         `ideograph-daikanwa'.
257
258         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
259         (Vcharset_ucs_bmp): Likewise.
260         (Vcharset_mojikyo): Add new extern variable definition.
261         (Vcharset_latin_iso8859_2): Deleted because it is not used.
262         (Vcharset_latin_iso8859_3): Likewise.
263         (Vcharset_latin_iso8859_4): Likewise.
264         (Vcharset_latin_iso8859_9): Likewise.
265         (Vcharset_latin_viscii_lower): Likewise.
266         (Vcharset_latin_viscii_upper): Likewise.
267         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
268         `mojikyo' code-point is used to decode.
269         (encode_char_2): New function [to convert `mojikyo' code-point to
270         Mojikyo font encoding].
271         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
272         (breakup_char_1): Likewise.
273         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
274
275 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
276
277         * text-coding.c (Fmake_coding_system): Add document about
278         `disable-composition' property.
279
280 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
281
282         * text-coding.c (Qdisable_composition): New variable; delete
283         `Qcomposite'.
284         (Fmake_coding_system): Add new property `disable-composite';
285         delete property `composite'.
286         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
287         instead of `!CODING_SYSTEM_COMPOSITE'.
288         (syms_of_file_coding): Add new symbol `disable-composition';
289         delete symbol `composite'.
290
291         * file-coding.h (struct Lisp_Coding_System): Add
292         `disable_composition'; delete `enable_composition'.
293         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
294         `CODING_SYSTEM_COMPOSITE'.
295         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
296         `XCODING_SYSTEM_COMPOSITE'.
297
298 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
299
300         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
301         to 0.15.
302
303 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
304
305         * text-coding.c (Qcomposite): New variable.
306         (Fmake_coding_system): Add new property `composite'.
307         (struct decoding_stream): Add `combined_char_count',
308         `combined_chars' and `combining_table' in UTF-2000.
309         (COMPOSE_FLUSH_CHARS): New macro.
310         (COMPOSE_ADD_CHAR): New macro.
311         (reset_decoding_stream): Reset `str->combined_char_count' and
312         `str->combining_table' in UTF-2000.
313         (decode_coding_iso2022): Modify for character-decomposition.
314         (syms_of_file_coding): Add new symbol `composite'.
315
316 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
317
318         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
319         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
320         of `Vcharacter_composition_table' if `->decomposition' property
321         has only 1 element.
322         (Qlatin_tcvn5712): New variable.
323         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
324         (complex_vars_of_mule_charset): Add new coded-charset
325         `latin-tcvn5712'.
326
327         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
328
329 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * file-coding.h (struct Lisp_Coding_System): Add
332         `enable_composition'.
333         (CODING_SYSTEM_COMPOSITE): New macro.
334         (XCODING_SYSTEM_COMPOSITE): New macro.
335
336 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
337
338         * mule-canna.c (c2mu): Fix problem with UTF-2000.
339
340 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
341
342         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
343         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
344
345 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
346
347         * mule-charset.c (Vcharset_mojikyo): New variable.
348         (Fdefine_char): Don't use coded-charset which does not have
349         non-builtin character range to allocate character-id.
350         (Qmojikyo): New variable.
351         (syms_of_mule_charset): Add new symbol `mojikyo'.
352         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
353
354         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
355         (LEADING_BYTE_MOJIKYO): New macro.
356         (MIN_CHAR_MOJIKYO): New macro.
357         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
358         (MAX_CHAR_MOJIKYO): New macro.
359
360 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
361
362         * mule-charset.c (remove_char_attribute): Fixed.
363
364 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
365
366         * mule-charset.c (remove_char_attribute): New function.
367         (Fremove_char_attribute): New function.
368         (encode_builtin_char_1): Comment out builtin-support for
369         greek-iso8859-7 and cyrillic-iso8859-5.
370         (Fdecode_char): Check `code' is an integer.
371         (syms_of_mule_charset): Add `remove-char-attribute'.
372         (MIN_CHAR_GREEK): Deleted.
373         (MAX_CHAR_GREEK): Likewise.
374         (MIN_CHAR_CYRILLIC): Likewise.
375         (MAX_CHAR_CYRILLIC): Likewise.
376         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
377         MAX_CHAR_GREEK for `greek-iso8859-7'.
378
379         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
380         (MAX_CHAR_GREEK): Likewise.
381         (MIN_CHAR_CYRILLIC): Likewise.
382         (MAX_CHAR_CYRILLIC): Likewise.
383
384 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
385
386         * mule-charset.c (Fdefine_char): Fix problem when new code-point
387         format is used without `ucs' property.
388         (Fdecode_char): Fix problem with GR representation.
389         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
390         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
391
392 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
393
394         * mule-charset.c (make_builtin_char): New function.
395         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
396         (Fset_charset_mapping_table): Modify for new representation of
397         code-point.
398         (Fdecode_char): New function.
399         (syms_of_mule_charset): Add new builtin function `decode-char' in
400         UTF-2000.
401
402         * char-ucs.h (make_builtin_char): New prototype.
403         (DECODE_CHAR): New inline function.
404         (MAKE_CHAR): Use `DECODE_CHAR'.
405
406 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
407
408         * text-coding.c (parse_charset_conversion_specs): Use
409         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
410         `XCHARSET_TYPE'.
411         (iso2022_designate): Likewise.
412
413         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
414         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
415
416         * mule-charset.c (Vcharset_ucs): New variable.
417         (print_charset): Change design; use `CHARSET_CHARS' and
418         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
419         (make_charset): Change signature to specify `chars' and
420         `dimension' instead of `type'.
421         (range_charset_code_point): Modify for 256^n-set.
422         (encode_builtin_char_1): Encode as `ucs' in default.
423         (Fmake_charset): Modify for `make_charset'.
424         (Fmake_reverse_direction_charset): Likewise.
425         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
426         UTF-2000.
427         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
428         for `make_charset'.
429
430         * char-ucs.h (Vcharset_ucs): New variable.
431         (LEADING_BYTE_UCS): New macro.
432         (struct Lisp_Charset): Delete `type'; change type of `dimension'
433         and `chars' to `unsigned short' from `unsigned int'.
434         (CHARSET_TYPE): Deleted.
435         (XCHARSET_TYPE): Deleted.
436
437 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
438
439         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
440
441         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
442         (ENCODE_CHAR): New macro.
443
444 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
445
446         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
447         to 0.14 (Kawachi-Katakami).
448
449 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
450
451         * text-coding.c (char_encode_shift_jis): Modify for
452         `charset_code_point'.
453         (char_encode_iso2022): Likewise.
454
455         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
456         (integer) instead of list of <Lisp_Object>s (integers) as the
457         format of code-point of a coded-charset.
458         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
459         (encode_builtin_char_1): New function; delete
460         `split_builtin_char'.
461         (charset_code_point): Return <int> instead of <Lisp_Object>.
462         (Fsplit_char): Don't use `SPLIT_CHAR'.
463
464         * char-ucs.h (encode_builtin_char_1): New prototype; delete
465         prototype for `split_builtin_char'.
466         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
467         (charset_code_point): Likewise.
468         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
469         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
470
471 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
472
473         * mule-charset.c (complex_vars_of_mule_charset): Don't define
474         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
475
476 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
477
478         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
479
480         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
481         (MAX_CHAR_OBS_94x94): Deleted.
482
483 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
484
485         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
486
487         * char-ucs.h (MAX_CHAR_BMP): New macro.
488
489 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
490
491         * text-coding.c: Sync with r21-2-24.
492
493 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
494
495         * file-coding.c: Modify for UTF-2000.
496
497 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
498
499         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
500         to 0.13 (Takaida).
501
502 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
503
504         * mule-charset.c (split_builtin_char): Delete builtin support for
505         `katakana-jisx0201'.
506         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
507         BMP area in builtin representation.
508
509         * char-ucs.h (MAKE_CHAR): Delete builtin support for
510         `Vcharset_katakana_jisx0201'.
511
512 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
513
514         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
515         (Qisolated): New variable.
516         (Qinitial): New variable.
517         (Qmedial): New variable.
518         (Qfinal): New variable.
519         (Qvertical): New variable.
520         (Qsmall): New variable.
521         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
522         `Qvertical' and `Qsmall'.
523         (Qmojikyo_pj_[1 .. 21]): New variable.
524         (syms_of_mule_charset): Add new symbols `isolated', `initial',
525         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
526         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
527         .. 21]'.
528
529 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
530
531         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
532         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
533         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
534
535 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
536
537         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
538         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
539         BMP.
540         (Qjapanese_jisx0208_1990): New variable.
541         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
542         (complex_vars_of_mule_charset): Add new coded-charset
543         `japanese-jisx0208-1990'.
544
545         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
546         (MIN_CHAR_JIS_X0208_1990): New macro.
547         (MAX_CHAR_JIS_X0208_1990): New macro.
548
549 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
550
551         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
552         coded-charset is not found.
553
554 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
555
556         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
557         (Fdefine_char): Use `Fmake_char'.
558
559 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
560
561         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
562         (Vcharset_hiragana_jisx0208): Deleted.
563         (Vcharset_katakana_jisx0208): Deleted.
564         (Qideograph_daikanwa): New variable.
565         (Qhiragana_jisx0208): Deleted.
566         (Qkatakana_jisx0208): Deleted.
567         (split_builtin_char): Split `ideograph-daikanwa'.
568         (Fsplit_char): New implementation for UTF-2000.
569         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
570         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
571         (complex_vars_of_mule_charset): Add new coded-charset
572         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
573         `katakana-jisx0208'.
574
575         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
576         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
577         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
578         (MIN_CHAR_DAIKANWA): New macro.
579         (MAX_CHAR_DAIKANWA): New macro.
580
581 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
582
583         * data.c (Fstring_to_number): Don't recognize floating point if
584         base is not 10.
585
586 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
587
588         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
589
590 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
591
592         * mule-charset.c (Qsquare): New variable.
593         (to_char_code): Add `Qsquare'.
594         (syms_of_mule_charset): Add new symbol `square'.
595
596 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
597
598         * mule-charset.c (Qcircle): New variable.
599         (to_char_code): Add `Qcircle'.
600         (syms_of_mule_charset): Add new symbol `circle'.
601
602 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
603
604         * mule-charset.c (Qfont): New variable.
605         (to_char_code): Add `Qfont'.
606         (syms_of_mule_charset): Add new symbol `font'.
607
608 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
609
610         * mule-charset.c (Qsub): New variable.
611         (to_char_code): Add `Qsub'.
612         (syms_of_mule_charset): Add new symbol `sub'.
613
614 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
615
616         * mule-charset.c (Fput_char_attribute): Convert each element of
617         VALUE to GL position if ATTRIBUTE is a GR-set,
618
619 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
620
621         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
622         coded-charset is a GR-set.
623
624 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
625
626         * mule-charset.c (Fput_char_attribute): Check each element of
627         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
628
629 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
630
631         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
632         UTF-2000.
633         (Qethiopic_ucs): New variable in UTF-2000.
634         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
635         (complex_vars_of_mule_charset): Add new coded-charset
636         `ethiopic-ucs' in UTF-2000.
637
638         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
639         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
640         9)'.
641         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
642         10)'.
643         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
644
645 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
646
647         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
648         `ascii'.
649
650 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
651
652         * mule-charset.c (Vcharacter_variant_table): New variable.
653         (Q_ucs): New variable.
654         (Fchar_variants): New function.
655         (Fput_char_attribute): Register `->ucs' value to
656         `Vcharacter_variant_table'.
657         (syms_of_mule_charset): Add new function `char-variants' and new
658         symbol `->ucs'.
659         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
660
661 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
662
663         * mule-charset.c (get_char_code_table): Allow negative character
664         code.
665         (put_char_code_table): Likewise.
666         (Vcharacter_composition_table): New variable.
667         (Q_decomposition): New variable.
668         (Qwide): New variable.
669         (Qnarrow): New variable.
670         (Qcompat): New variable.
671         (QnoBreak): New variable.
672         (Qsuper): New variable.
673         (Qfraction): New variable.
674         (to_char_code): New function.
675         (Fget_composite_char): New function.
676         (Fput_char_attribute): Register `->decomposition' value to
677         `Vcharacter_composition_table'.
678         (syms_of_mule_charset): Add new function `get-composite-char', new
679         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
680         `super' and `fraction'.
681         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
682
683 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
684
685         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
686         character; copy the return value.
687
688 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
689
690         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
691
692         * mule-charset.c (range_charset_code_point): Must use make_int.
693         (split_builtin_char): New function.
694
695 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
696
697         * mule-charset.c (char_byte_table): Change name from
698         "char-code-table" to "char-byte-table".
699         (mark_char_code_table): New function.
700         (char_code_table_equal): New function.
701         (char_code_table_hash): New function.
702         (char_code_table_description): New constant.
703         (char_code_table): New type.
704         (make_char_code_table): New function.
705         (copy_char_code_table): New function.
706         (get_char_code_table): Modify for `char_code_table' type.
707         (put_char_code_table): Likewise.
708         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
709         (Kashiwara).
710
711         * char-ucs.h (char_code_table): New type.
712         (XCHAR_CODE_TABLE): New macro.
713         (XSETCHAR_CODE_TABLE): New macro.
714         (CHAR_CODE_TABLE_P): New macro.
715         (GC_CHAR_CODE_TABLE_P): New macro.
716         (struct Lisp_Char_Code_Table): New structure.
717
718 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
719
720         * mule-charset.c (Fmake_charset): Setup byte_offset for
721         {94|96}^n-set.
722
723 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
724
725         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
726         character.
727
728 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
729
730         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
731         is found.
732
733 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
734
735         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
736         charset, it is regarded as a charset.
737         (put_char_attribute): New function in UTF-2000.
738         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
739         charset, mapping-table of the charset is modified.
740         (Fdefine_char): New function in UTF-2000.
741         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
742         `Fput_char_attribute'.
743         (syms_of_mule_charset): Add new function `define-char' and new
744         symbol `ucs' in UTF-2000.
745         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
746
747 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
748
749         * mule-charset.c (Fcharset_name): Define `byte_offset' in
750         non-UTF-2000 configuration.
751
752 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
753
754         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
755         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
756
757         * mule-charset.c (mark_charset): `cs->encoding_table' has been
758         deleted.
759         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
760         (Fset_charset_mapping_table): Likewise.
761
762         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
763         (CHARSET_ENCODING_TABLE): Delete.
764         (XCHARSET_ENCODING_TABLE): Delete.
765         (charset_code_point): New interface.
766
767 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
768
769         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
770         instead of `charset_get_byte1' and `charset_get_byte2'.
771
772         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
773         (charset_get_byte2): Deleted.
774
775 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
776
777         * char-ucs.h (SPLIT_CHAR): New inline function.
778         (breakup_char_1): Use `SPLIT_CHAR'.
779
780         * mule-charset.c (range_charset_code_point): New function.
781         (charset_code_point): New function.
782
783         * char-ucs.h (range_charset_code_point): New interface.
784         (breakup_char_1): Use `range_charset_code_point'.
785
786 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
787
788         * mule-charset.c (Fmake_charset): Delete unused local variable
789         `code_offset'.
790
791         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
792         (breakup_char_1): Find a charset and code-point in
793         `Vcharacter_attribute_table'.
794
795 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
796
797         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
798         to 0.10 (Yao).
799
800 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
801
802         * mule-charset.c (Vcharacter_attribute_table): New variable.
803         (Fchar_attribute_alist): New function.
804         (Fget_char_attribute): New function.
805         (Fput_char_attribute): New function.
806         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
807         too.
808         (syms_of_mule_charset): Add new function `char-attribute-alist',
809         `get-char-attribute' and `put-char-attribute'.
810         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
811
812 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
813
814         * mule-charset.c (Fmake_charset): Just use
815         `get_unallocated_leading_byte'.
816
817         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
818         sets; don't use final-byte based number for private sets.
819
820 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
821
822         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
823         integer.
824
825 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
826
827         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
828         to 0.9.
829
830 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
831
832         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
833         of `CHAR_LEADING_BYTE' in UTF-2000.
834
835         * insdel.c (find_charsets_in_bufbyte_string): Use
836         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
837         (find_charsets_in_emchar_string): Likewise.
838
839         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
840         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
841
842         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
843         (CHAR_CHARSET_ID): New macro.
844
845 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
846
847         * chartab.c (get_char_table): Don't use type `Charset_ID' for
848         charset-id - MIN_LEADING_BYTE.
849         (put_char_table): Likewise.
850
851 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
852
853         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
854         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
855         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
856         (CHARSET_ID_OFFSET): New macro.
857         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
858         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
859         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
860         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
861         4).
862         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
863         5).
864         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
865         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
866         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
867         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
868         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
869
870 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
871
872         * mule-charset.c (next_allocated_leading_byte): New variable in
873         UTF-2000.
874         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
875         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
876         (get_unallocated_leading_byte): Simply use
877         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
878         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
879         UTF-2000.
880
881         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
882         (MAX_LEADING_BYTE_PRIVATE): New macro.
883         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
884         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
885
886 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
887
888         * mule-charset.c (Fmake_charset): Allocate final-byte based
889         charset-id for 94-set, 96-set and 94x94-set.
890
891 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
892
893         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
894         ambiguous `else'.
895         (Fmake_charset): Likewise.
896         (complex_vars_of_mule_charset): Modify the font registry of
897         `ucs-bmp' not to match `Ethiopic-Unicode'.
898
899 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
900
901         * mule-charset.c (complex_vars_of_mule_charset): Add font
902         registory of `ucs-bmp'.
903
904 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
905
906         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
907         coded-charsets in `default-coded-charset-priority-list' when
908         breaking up a character.
909
910         * mule-charset.c (Vcharset_latin_viscii): New variable.
911         (Qlatin_viscii): New variable.
912         (make_charset): Don't use `decoding_table'.
913         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
914         byte_offset.
915         (Fset_charset_mapping_table): New implementation.
916         (syms_of_mule_charset): Add new symbol `latin-viscii'.
917         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
918         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
919         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
920         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
921         charset `latin_viscii'.
922
923         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
924         (CHARSET_TYPE_94X94): Change to 1 from 2.
925         (CHARSET_TYPE_96): Change to 2 from 1.
926         (CHARSET_TYPE_128): New macro.
927         (CHARSET_TYPE_128X128): Change to 5 from 4.
928         (CHARSET_TYPE_256): New macro.
929         (CHARSET_TYPE_256X256): Change to 7 from 5.
930         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
931
932 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
933
934         * text-coding.c (char_encode_shift_jis): Refer
935         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
936         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
937
938         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
939         (char_byte_table_equal): New function in UTF-2000.
940         (char_byte_table_hash): New function in UTF-2000.
941         (char_byte_table_description): New constant in UTF-2000.
942         (char_byte_table): New type in UTF-2000.
943         (make_char_byte_table): New function in UTF-2000.
944         (copy_char_byte_table): New function in UTF-2000.
945         (make_char_code_table): New macro in UTF-2000.
946         (get_char_code_table): New function in UTF-2000.
947         (put_char_code_table): New function in UTF-2000.
948         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
949         (charset_description): Add setting in UTF-2000.
950         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
951         `CHARSET_TO_BYTE1_TABLE(cs)'.
952         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
953         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
954         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
955         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
956         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
957         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
958         `CHARSET_TO_BYTE2_TABLE(cs)'.
959
960         * char-ucs.h (char_byte_table): New type.
961         (XCHAR_BYTE_TABLE): New macro.
962         (XSETCHAR_BYTE_TABLE): New macro.
963         (CHAR_BYTE_TABLE_P): New macro.
964         (GC_CHAR_BYTE_TABLE_P): New macro.
965         (struct Lisp_Char_Byte_Table): New structure.
966         (get_char_code_table): New interface.
967         (Emchar_to_byte_table): Deleted.
968         (get_byte_from_character_table): Deleted.
969         (struct Lisp_Charset): Add `encoding_table'; delete
970         `to_byte1_table' and `to_byte2_table'.
971         (CHARSET_ENCODING_TABLE): New macro.
972         (CHARSET_TO_BYTE1_TABLE): Deleted.
973         (CHARSET_TO_BYTE2_TABLE): Deleted.
974         (XCHARSET_ENCODING_TABLE): New macro.
975         (XCHARSET_TO_BYTE1_TABLE): Deleted.
976         (XCHARSET_TO_BYTE2_TABLE): Deleted.
977
978 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
979
980         * mule-charset.c (syms_of_mule_charset): Delete charset alias
981         `vietnamese-viscii-*'.
982
983 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
984
985         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
986         (Qvietnamese_viscii_upper): New variable.
987         (Fdefine_charset_alias): New function.
988         (syms_of_mule_charset): Add new function `define-charset-alias'.
989         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
990         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
991         `latin-viscii-*'.
992
993 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
994
995         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
996         (MAX_CHAR_OBS_94x94): New macro.
997         (breakup_char_1): Support obsolete XEmacs-UCS private code space
998         for 94x94 sets.
999
1000         * mule-charset.c (put_byte_from_character_table): Change unit size
1001         from 128 to 256.
1002         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
1003         not defined.
1004         (Fmake_reverse_direction_charset): Modify dummy argument of
1005         `make_charset' for non-UTF-2000 environment.
1006
1007 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1008
1009         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
1010
1011         * mule-charset.c (destroy_byte_from_character_table): New macro.
1012         (latin_jisx0201_to_ucs): Deleted.
1013         (latin_iso8859_2_to_ucs): Deleted.
1014         (latin_iso8859_3_to_ucs): Deleted.
1015         (latin_iso8859_4_to_ucs): Deleted.
1016         (latin_iso8859_9_to_ucs): Deleted.
1017         (latin_viscii_lower_to_ucs): Deleted.
1018         (latin_viscii_upper_to_ucs): Deleted.
1019         (mark_charset): Mark `cs->decoding_table'.
1020         (Fcharset_mapping_table): Fix DOC-string.
1021         (Fset_charset_mapping_table): New function.
1022         (syms_of_mule_charset): Add nwe function
1023         `set-charset-mapping-table'.
1024         (complex_vars_of_mule_charset): Don't setup and use
1025         `latin_*_to_ucs'.
1026
1027 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1028
1029         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
1030         charset.
1031
1032 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1033
1034         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
1035         (Vcharset_katakana_jisx0208): New variable.
1036         (Qhiragana_jisx0208): New variable.
1037         (Qkatakana_jisx0208): New variable.
1038         (make_charset): Add new argument `byte_offset'.
1039         (charset_get_byte1): Modify for new coded-charset definition; use
1040         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1041         `XCHARSET_BYTE_OFFSET'.
1042         (Fmake_charset): Modify for `make_charset'.
1043         (Fmake_reverse_direction_charset): Likewise.
1044         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
1045         `katakana-jisx0208'.
1046         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
1047         `.'  in font registry of charset `katakana-jisx0201',
1048         `latin-jisx0201', `vietnamese-viscii-lower' and
1049         `vietnamese-viscii-upper'; modify DOC-string of charset
1050         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
1051         registry of charset `japanese-jisx0208' not to use font for JIS
1052         X0208:1990; add new charset `hiragana-jisx0208' and
1053         `katakana-jisx0208'.
1054
1055         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
1056         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
1057         (struct Lisp_Charset): Add `byte_offset'.
1058         (CHARSET_BYTE_OFFSET): New macro.
1059         (XCHARSET_UCS_MIN): New macro.
1060         (XCHARSET_UCS_MAX): New macro.
1061         (XCHARSET_CODE_OFFSET): New macro.
1062         (XCHARSET_BYTE_OFFSET): New macro.
1063         (MIN_CHAR_HIRAGANA): New macro.
1064         (MAX_CHAR_HIRAGANA): New macro.
1065         (MIN_CHAR_KATAKANA): New macro.
1066         (MAX_CHAR_KATAKANA): New macro.
1067         (MAKE_CHAR): Modify for new coded-charset definition; use
1068         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1069         `XCHARSET_BYTE_OFFSET'.
1070
1071 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1072
1073         * mule-charset.c (CHAR96): Deleted.
1074         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
1075         <Lisp_Object>.
1076         (latin_iso8859_2_to_ucs): Likewise.
1077         (latin_iso8859_3_to_ucs): Likewise.
1078         (latin_iso8859_4_to_ucs): Likewise.
1079         (latin_iso8859_9_to_ucs): Likewise.
1080         (latin_viscii_lower_to_ucs): Likewise.
1081         (latin_viscii_upper_to_ucs): Likewise.
1082         (latin_tcvn5712_to_ucs): Commented out.
1083         (make_charset): Change type of argument `decoding_table' from
1084         <Emchar*> to <Lisp_Object> [vector of characters].
1085         (Fmake_charset): Modify for `make_charset'.
1086         (Fmake_reverse_direction_charset): Likewise.
1087         (Fcharset_mapping_table): New function in UTF-2000.
1088         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
1089         UTF-2000.
1090         (complex_vars_of_mule_charset): Modify for type change of
1091         `*_to_ucs'; modify for `make_charset'.
1092
1093         * char-ucs.h (struct Lisp_Charset): Change type of
1094         `decoding_table' from <Emchar*> to <Lisp_Object>.
1095         (MAKE_CHAR): Modify for new specification of `decoding_table'.
1096
1097 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1098
1099         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
1100         error with non-UTF-2000-Mule.
1101
1102 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
1103
1104         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
1105         in lisp again].
1106         (Vcharset_chinese_cns11643_4): Likewise.
1107         (Vcharset_chinese_cns11643_5): Likewise.
1108         (Vcharset_chinese_cns11643_6): Likewise.
1109         (Vcharset_chinese_cns11643_7): Likewise.
1110         (Qchinese_cns11643_3): Likewise.
1111         (Qchinese_cns11643_4): Likewise.
1112         (Qchinese_cns11643_5): Likewise.
1113         (Qchinese_cns11643_6): Likewise.
1114         (Qchinese_cns11643_7): Likewise.
1115         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
1116         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1117         and `chinese-cns11643-7' to lisp/mule/chinese.el.
1118         (complex_vars_of_mule_charset): Likewise.
1119
1120 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1121
1122         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
1123         96-set.
1124         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
1125         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
1126
1127 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1128
1129         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
1130         0xFF60.
1131         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
1132         (breakup_char_1): Likewise.
1133
1134         * text-coding.c (char_encode_iso2022): Keep designated charsets if
1135         one of them includes the specified character.
1136
1137 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1138
1139         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
1140
1141 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1142
1143         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
1144
1145 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1146
1147         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
1148         definition for non-UTF-2000 Mule.
1149         (latin_iso8859_3_to_ucs): Likewise.
1150         (latin_iso8859_4_to_ucs): Likewise.
1151         (latin_iso8859_9_to_ucs): Likewise.
1152         (latin_jisx0201_to_ucs): Likewise.
1153         (MIN_CHAR_THAI): Likewise.
1154         (MAX_CHAR_THAI): Likewise.
1155         (MIN_CHAR_GREEK): Likewise.
1156         (MAX_CHAR_GREEK): Likewise.
1157         (MIN_CHAR_HEBREW): Likewise.
1158         (MAX_CHAR_HEBREW): Likewise.
1159         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
1160         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
1161         (MIN_CHAR_CYRILLIC): Likewise.
1162         (MAX_CHAR_CYRILLIC): Likewise.
1163
1164 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1165
1166         * char-ucs.h (breakup_char_1): Use
1167         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
1168         thai-tis620 and katakana-jisx0201 area.
1169
1170 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1171
1172         * char-ucs.h (breakup_char_1): Use
1173         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
1174         area.
1175
1176         * text-coding.c (reset_encoding_stream): Fixed.
1177         (char_encode_ucs4): Delete `& 255'.
1178
1179         * char-ucs.h (breakup_char_1): Use
1180         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
1181
1182 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1183
1184         * file-coding.c (Fmake_coding_system): Don't set up
1185         `codesys->fixed.size'.
1186         (encode_coding_no_conversion): Don't refer
1187         `str->codesys->fixed.size'.
1188
1189 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1190
1191         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
1192         (latin_a_char_to_byte1): Deleted.
1193         (latin_a_char_to_byte2): Deleted.
1194
1195 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1196
1197         * mule-charset.c (make_charset): Add new argument `ucs_min',
1198         `ucs_max' and `code_offset'.
1199         (charset_get_byte1): New implementation [delete specific charset
1200         depended implementations].
1201         (Fmake_charset): Modify for `make_charset'.
1202         (Fmake_reverse_direction_charset): Likewise.
1203         (complex_vars_of_mule_charset): Likewise.
1204
1205         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
1206         `code_offset'.
1207         (CHARSET_UCS_MIN): New macro.
1208         (CHARSET_UCS_MAX): New macro.
1209         (CHARSET_CODE_OFFSET): New macro.
1210         (MAKE_CHAR): Delete charset depended definitions [except
1211         katakana-jisx0201].
1212
1213 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1214
1215         * char-ucs.h (breakup_char_1): Use
1216         `Vdefault_coded_charset_priority_list' for C0-Controls,
1217         Basic-Latin, C1-Controls and Latin-1-Supplement area.
1218
1219 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1220
1221         * char-ucs.h (charset_get_byte1): New function.
1222         (XCHARSET_GET_BYTE1): Deleted.
1223         (charset_get_byte2): New function.
1224         (XCHARSET_GET_BYTE2): Deleted.
1225         (Vdefault_coded_charset_priority_list): New external variable.
1226         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
1227         `Vdefault_preferred_coded_charset_list'.
1228
1229         * mule-charset.c (charset_get_byte1): New function.
1230         (charset_get_byte2): New function.
1231         (Vdefault_coded_charset_priority_list): New variable.
1232         (vars_of_mule_charset): Add new variable
1233         `default-coded-charset-priority-list'.
1234
1235 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1236
1237         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
1238         (XCHARSET_GET_BYTE2): New inline function.
1239         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
1240         `XCHARSET_GET_BYTE2'.
1241
1242 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1243
1244         * mule-charset.c (make_charset): Initialize
1245         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
1246         NULL if table is not defined.
1247
1248 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1249
1250         * text-coding.c (char_encode_shift_jis): Use
1251         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
1252         `ucs_to_latin_jisx0201'.
1253
1254         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
1255         (ucs_to_latin_iso8859_2): Deleted.
1256         (ucs_to_latin_iso8859_3): Deleted.
1257         (ucs_to_latin_iso8859_4): Deleted.
1258         (ucs_to_latin_iso8859_9): Deleted.
1259         (ucs_to_latin_viscii_lower): Deleted.
1260         (ucs_to_latin_viscii_upper): Deleted.
1261         (ucs_to_latin_tcvn5712): Deleted.
1262         (make_charset): Add new argument `decoding_table'; set up
1263         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
1264         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
1265         `decoding_table' is defined in UTF-2000.
1266         (Fmake_charset): Modify for `make_charset'.
1267         (Fmake_reverse_direction_charset): Likewise.
1268         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
1269         and `GENERATE_96_SET'.
1270
1271         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
1272         (ucs_to_latin_jisx0201): Deleted.
1273         (latin_iso8859_2_to_ucs): Deleted.
1274         (ucs_to_latin_iso8859_2): Deleted.
1275         (latin_iso8859_3_to_ucs): Deleted.
1276         (ucs_to_latin_iso8859_3): Deleted.
1277         (latin_iso8859_4_to_ucs): Deleted.
1278         (ucs_to_latin_iso8859_4): Deleted.
1279         (latin_iso8859_9_to_ucs): Deleted.
1280         (ucs_to_latin_iso8859_9): Deleted.
1281         (latin_viscii_lower_to_ucs): Deleted.
1282         (ucs_to_latin_viscii_lower): Deleted.
1283         (latin_viscii_upper_to_ucs): Deleted.
1284         (ucs_to_latin_viscii_upper): Deleted.
1285         (struct Lisp_Charset): Renamed `encoding_table' to
1286         `to_byte1_table'; add `to_byte2_table'.
1287         (CHARSET_DECODING_TABLE): New macro.
1288         (CHARSET_TO_BYTE1_TABLE): New macro.
1289         (CHARSET_TO_BYTE2_TABLE): New macro.
1290         (XCHARSET_DECODING_TABLE): New macro.
1291         (XCHARSET_TO_BYTE1_TABLE): New macro.
1292         (XCHARSET_TO_BYTE2_TABLE): New macro.
1293         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
1294         tables.
1295         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
1296         don't use `ucs_to_*' tables.
1297
1298 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1299
1300         * text-coding.c (Fmake_coding_system): Don't set up
1301         `codesys->fixed.size'.
1302         (encode_coding_no_conversion): Use `if' instead of `switch'.
1303
1304         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
1305
1306 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1307
1308         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
1309         (Fmake_charset): Modify for `make_charset'.
1310         (Fmake_reverse_direction_charset): Likewise.
1311         (complex_vars_of_mule_charset): Likewise.
1312
1313 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1314
1315         * text-coding.c (char_encode_shift_jis): Use table
1316         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
1317
1318 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1319
1320         * text-coding.c (text_encode_generic): Use `if' instead of
1321         `switch'.
1322         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
1323         decode JIS-Latin.
1324
1325 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1326
1327         * text-coding.c (encode_coding_sjis): Deleted.
1328         (char_encode_shift_jis): New function.
1329         (char_finish_shift_jis): New function.
1330         (reset_encoding_stream): Set up `encode_char' and `finish' for
1331         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
1332         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
1333         (char_encode_utf8): Treat `eol_type'.
1334
1335 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1336
1337         * file-coding.c (decode_coding_iso2022): Use
1338         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
1339
1340 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1341
1342         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1343         to 0.7 (Hirano).
1344
1345 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1346
1347         * char-lb.h (CHAR_COLUMNS): New macro.
1348
1349 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1350
1351         * text-coding.c (char_encode_ucs4): New function.
1352         (char_finish_ucs4): New function.
1353         (encode_coding_ucs4): Deleted.
1354         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
1355         (text_encode_generic): Delete local variable `charset' and `half'.
1356         (ucs_to_mule_table): Deleted.
1357         (mule_to_ucs_table): Deleted.
1358         (Fset_ucs_char): Deleted.
1359         (ucs_to_char): Deleted.
1360         (Fucs_char): Deleted.
1361         (Fset_char_ucs): Deleted.
1362         (Fchar_ucs): Deleted.
1363         (decode_ucs4): Deleted.
1364         (mule_char_to_ucs4): Deleted.
1365         (encode_ucs4): Deleted.
1366         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
1367         (decode_coding_utf8): Likewise.
1368         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
1369         (char_encode_iso2022): Fixed.
1370         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
1371         `Fset_char_ucs' and `Fchar_ucs'.
1372         (complex_vars_of_file_coding): Don't initialize
1373         `ucs_to_mule_table'.
1374
1375         * objects-tty.c (tty_initialize_font_instance): Don't use
1376         `XCHARSET_COLUMNS'.
1377
1378         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
1379         UTF-2000.
1380
1381         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
1382         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1383
1384         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
1385         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1386         (emchar_string_displayed_columns): Likewise.
1387
1388         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
1389         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1390         (string_column_at_point): Likewise.
1391         (Fmove_to_column): Likewise.
1392
1393         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
1394         `encoding_table' and `decoding_table'.
1395         (CHARSET_REP_BYTES): Deleted.
1396         (XCHARSET_REP_BYTES): Deleted.
1397         (XCHARSET_COLUMNS): Deleted.
1398         (CHAR_COLUMNS): New macro.
1399         (lookup_composite_char): Deleted unconditionally.
1400         (composite_char_string): Likewise.
1401
1402 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1403
1404         * char-ucs.h (Emchar_to_byte_table): New type.
1405         (get_byte_from_character_table): New function interface.
1406         (Vcharset_latin_jisx0201): New variable.
1407         (latin_jisx0201_to_ucs): New variable.
1408         (ucs_to_latin_jisx0201): New variable.
1409         (Vcharset_latin_iso8859_2): New variable.
1410         (latin_iso8859_2_to_ucs): New variable.
1411         (ucs_to_latin_iso8859_2): New variable.
1412         (Vcharset_latin_iso8859_3): New variable.
1413         (latin_iso8859_3_to_ucs): New variable.
1414         (ucs_to_latin_iso8859_3): New variable.
1415         (Vcharset_latin_iso8859_4): New variable.
1416         (latin_iso8859_4_to_ucs): New variable.
1417         (ucs_to_latin_iso8859_4): New variable.
1418         (Vcharset_latin_iso8859_9): New variable.
1419         (latin_iso8859_9_to_ucs): New variable.
1420         (ucs_to_latin_iso8859_9): New variable.
1421         (Vcharset_latin_viscii_lower): New variable.
1422         (latin_viscii_lower_to_ucs): New variable.
1423         (ucs_to_latin_viscii_lower): New variable.
1424         (Vcharset_latin_viscii_upper): New variable.
1425         (latin_viscii_upper_to_ucs): New variable.
1426         (ucs_to_latin_viscii_upper): New variable.
1427         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
1428         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
1429         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
1430         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
1431         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
1432         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
1433         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
1434         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
1435         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
1436         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
1437
1438         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
1439         (Vcharset_latin_viscii_upper): New variable.
1440         (make_byte_from_character_table): New function.
1441         (put_byte_from_character_table): New function.
1442         (get_byte_from_character_table): New function.
1443         (CHAR96): New macro.
1444         (ucs_to_latin_jisx0201): New variable.
1445         (latin_jisx0201_to_ucs): New variable.
1446         (ucs_to_latin_iso8859_2): New variable.
1447         (latin_iso8859_2_to_ucs): New variable.
1448         (ucs_to_latin_iso8859_3): New variable.
1449         (latin_iso8859_3_to_ucs): New variable.
1450         (ucs_to_latin_iso8859_4): New variable.
1451         (latin_iso8859_4_to_ucs): New variable.
1452         (ucs_to_latin_iso8859_9): New variable.
1453         (latin_iso8859_9_to_ucs): New variable.
1454         (ucs_to_latin_viscii_lower): New variable.
1455         (latin_viscii_lower_to_ucs): New variable.
1456         (ucs_to_latin_viscii_upper): New variable.
1457         (latin_viscii_upper_to_ucs): New variable.
1458         (ucs_to_latin_tcvn5712): New variable.
1459         (latin_tcvn5712_to_ucs): New variable.
1460         (Qlatin_viscii_lower): New variable.
1461         (Qlatin_viscii_upper): New variable.
1462         (syms_of_mule_charset): Set up new symbol
1463         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
1464         (complex_vars_of_mule_charset): Set up new charset
1465         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
1466         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
1467         `ucs_to_<CHARSET>' tables.
1468
1469 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1470
1471         * text-coding.c: New file.
1472
1473 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1474
1475         * mule-charset.c (Fmake_char): Fix problem of 256-set.
1476
1477         * char-ucs.h (Vcharset_ucs_bmp): New variable.
1478         (MAKE_CHAR): Modify for `ucs-bmp'.
1479         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
1480         non-MULE characters of BMP.
1481
1482 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
1483
1484         * mule-charset.c (vars_of_mule_charset):
1485         Update `utf-2000-version' to 0.6.
1486
1487 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1488
1489         * lstream.h:
1490         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
1491         - Include character.h for `CHAR_ASCII_P'.
1492
1493         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
1494
1495         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
1496         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
1497
1498         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
1499         (BYTE_C0_P): Likewise.
1500         (BYTE_C1_P): Likewise.
1501         (Lstream_get_emchar_1): Likewise.
1502         (Lstream_fput_emchar): Likewise.
1503         (Lstream_funget_emchar): Likewise.
1504         (copy_internal_to_external): Likewise.
1505         (copy_external_to_internal): Likewise.
1506
1507         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
1508         (BYTE_C0_P): Likewise.
1509         (BYTE_C1_P): Likewise.
1510         (Lstream_get_emchar_1): Likewise.
1511         (Lstream_fput_emchar): Likewise.
1512         (Lstream_funget_emchar): Likewise.
1513         (copy_internal_to_external): Likewise.
1514         (copy_external_to_internal): Likewise.
1515
1516         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
1517         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1518
1519         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
1520         (BYTE_ASCII_P): Moved to mb-1byte.h.
1521
1522 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1523
1524         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
1525
1526         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
1527         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
1528         (VALID_CHARPTR_P): Moved to mb-*byte.h.
1529         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1530         (VALIDATE_CHARPTR_FORWARD): Likewise.
1531         (simple_charptr_emchar): Moved to mb-multibyte.h.
1532         (simple_set_charptr_emchar): Likewise.
1533         (simple_charptr_copy_char): Likewise.
1534         (non_ascii_charptr_emchar): Likewise.
1535         (non_ascii_set_charptr_emchar): Likewise.
1536         (non_ascii_charptr_copy_char): Likewise.
1537         (charptr_emchar): Moved to mb-*byte.h.
1538         (set_charptr_emchar): Likewise.
1539         (charptr_copy_char): Likewise.
1540
1541         * mb-1byte.h, mb-multibyte.h: New files.
1542
1543 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1544
1545         * mb-utf-8.h (MULTIBYTE): New macro.
1546         (MAX_EMCHAR_LEN): Moved from buffer.h.
1547         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
1548
1549         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
1550
1551         * mb-lb.h, multibyte.h: New files.
1552
1553         * char-1byte.h (Charset_ID): Moved from buffer.h.
1554         (MIN_LEADING_BYTE): Likewise.
1555         (LEADING_BYTE_ASCII): Likewise.
1556         (NUM_LEADING_BYTES): Likewise.
1557         (CHARSETP): Likewise.
1558         (CHARSET_BY_LEADING_BYTE): Likewise.
1559         (XCHARSET_LEADING_BYTE): Likewise.
1560         (XCHARSET_GRAPHIC): Likewise.
1561         (XCHARSET_COLUMNS): Likewise.
1562         (XCHARSET_DIMENSION): Likewise.
1563         (CHAR_CHARSET): Likewise.
1564         (CHAR_LEADING_BYTE): Likewise.
1565         (BREAKUP_CHAR): Likewise.
1566         (Vcharset_ascii): Likewise.
1567
1568         * buffer.h: Include multibyte.h unconditionally.
1569         (VALID_CHARPTR_P): Moved to multibyte.h.
1570         (ASSERT_VALID_CHARPTR): Likewise.
1571         (REAL_INC_CHARPTR): Likewise.
1572         (REAL_INC_CHARBYTIND): Likewise.
1573         (REAL_DEC_CHARPTR): Likewise.
1574         (INC_CHARPTR): Likewise.
1575         (INC_CHARBYTIND): Likewise.
1576         (DEC_CHARPTR): Likewise.
1577         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1578         (VALIDATE_CHARPTR_FORWARD): Likewise.
1579         (charptr_n_addr): Likewise.
1580         (MAX_EMCHAR_LEN): Moved to mb-*.h.
1581         (simple_charptr_emchar): Moved to multibyte.h.
1582         (simple_set_charptr_emchar): Likewise.
1583         (simple_charptr_copy_char): Likewise.
1584         (non_ascii_charptr_emchar): Likewise.
1585         (non_ascii_set_charptr_emchar): Likewise.
1586         (non_ascii_charptr_copy_char): Likewise.
1587         (charptr_emchar): Likewise.
1588         (set_charptr_emchar): Likewise.
1589         (charptr_copy_char): Likewise.
1590         (charptr_emchar_n): Likewise.
1591         (Charset_ID): Moved to char-1byte.h.
1592         (Vcharset_ascii): Likewise.
1593         (CHAR_CHARSET): Likewise.
1594         (CHAR_LEADING_BYTE): Likewise.
1595         (LEADING_BYTE_ASCII): Likewise.
1596         (NUM_LEADING_BYTES): Likewise.
1597         (MIN_LEADING_BYTE): Likewise.
1598         (CHARSETP): Likewise.
1599         (CHARSET_BY_LEADING_BYTE): Likewise.
1600         (XCHARSET_LEADING_BYTE): Likewise.
1601         (XCHARSET_GRAPHIC): Likewise.
1602         (XCHARSET_COLUMNS): Likewise.
1603         (XCHARSET_DIMENSION): Likewise.
1604         (BREAKUP_CHAR): Likewise.
1605
1606 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1607
1608         * character.h: Add document about interface for characters.
1609
1610         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
1611         (MAKE_CHAR): Delete comment about
1612         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
1613         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
1614         (BREAKUP_CHAR): Modify name of arguments.
1615         (CHAR_CHARSET): Modify name of argument.
1616
1617         * buffer.h: Delete document about Emchar accessors.
1618
1619 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1620
1621         * character.h (CHAR_INTP): Moved from buffer.h
1622         (CHAR_OR_CHAR_INTP): Likewise.
1623         (XCHAR_OR_CHAR_INT): Likewise.
1624         (CHECK_CHAR_COERCE_INT): Likewise.
1625
1626         * buffer.h (CHAR_INTP): Moved to character.h
1627         (CHAR_OR_CHAR_INTP): Likewise.
1628         (XCHAR_OR_CHAR_INT): Likewise.
1629         (CHECK_CHAR_COERCE_INT): Likewise.
1630
1631 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1632
1633         * character.h:
1634         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
1635         - Include char-1byte.h, char-lb.h or char-ucs.h.
1636
1637         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
1638
1639         * buffer.h: Include character unconditionally.
1640         (valid_char_p): Moved to char-*.h.
1641         (non_ascii_valid_char_p): Moved to char-lb.h.
1642
1643         * char-1byte.h, char-lb.h, char-ucs.h: New files.
1644
1645 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1646
1647         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
1648         in UTF-2000 because it is not ported yet and not to use
1649         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
1650         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
1651         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
1652
1653         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
1654         (CHAR_ASCII_P): Moved from character.h.
1655
1656         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
1657         (CHAR_ASCII_P): Likewise.
1658         (CHAR_FIELD1_MASK): Deleted.
1659         (CHAR_FIELD2_MASK): Deleted.
1660         (CHAR_FIELD3_MASK): Deleted.
1661         (MAX_CHAR_BASIC_LATIN): New macro.
1662         (CHAR_FIELD1): Deleted.
1663         (CHAR_FIELD2_INTERNAL): Deleted.
1664         (CHAR_FIELD3_INTERNAL): Deleted.
1665         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
1666         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
1667         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
1668         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
1669         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
1670         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
1671         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
1672         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
1673         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
1674         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
1675         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
1676         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
1677         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
1678         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
1679         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
1680         (MIN_CHAR_COMPOSITION): Deleted.
1681         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
1682         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
1683
1684 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
1685
1686         * buffer.h: Include mb-utf-8.h in UTF-2000.
1687
1688         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
1689
1690         * mb-utf-8.h: New file.
1691
1692 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
1693
1694         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
1695         instead of `int'.
1696
1697         * mule-charset.h, buffer.h (Charset_ID): New type.
1698
1699 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1700
1701         * mule-canna.c (c2mu): Use `MAKE_CHAR',
1702         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
1703         instead of `MULE_CHAR_PRIVATE_OFFSET',
1704         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
1705         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
1706         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
1707
1708         * character.h (Vcharset_japanese_jisx0212): New variable
1709         definition.
1710
1711 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1712
1713         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
1714         (charset_by_attributes): Delete array about direction.
1715         (latin_a_char_to_charset): New variable in UTF-2000.
1716         (latin_a_char_to_byte1): New variable in UTF-2000.
1717         (latin_a_char_to_byte2): New variable in UTF-2000.
1718         (Qucs_bmp): New variable.
1719         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
1720         `Bufbyte'.
1721         (next_allocated_2_byte_leading_byte): Likewise.
1722         (non_ascii_set_charptr_emchar): Likewise.
1723         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
1724         `CHARSET_TYPE_256X256' in UTF-2000; modify for
1725         `charset_by_attributes'.
1726         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
1727         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
1728         and `CHARSET_BY_LEADING_BYTE'.
1729         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
1730         `utf-2000-version' to `vars_of_mule_charset'.
1731         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
1732         define `leading-code-private-11' in UTF-2000; move setting of
1733         `utf-2000-version' from `syms_of_mule_charset'.
1734         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
1735         UTF-2000.
1736
1737         * character.h (Charset_ID): New type.
1738         (LEADING_BYTE_UCS_BMP): New macro.
1739         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
1740         (CHARSET_ID_OFFSET_94): New macro.
1741         (MIN_CHARSET_ID_PRIVATE_94): New macro.
1742         (MAX_CHARSET_ID_PRIVATE_94): New macro.
1743         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
1744         final-byte.
1745         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
1746         (LEADING_BYTE_LATIN_JISX0201): Likewise.
1747         (CHARSET_ID_OFFSET_96): New macro.
1748         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
1749         CHARSET_ID_OFFSET_96 and final-byte.
1750         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
1751         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
1752         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
1753         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
1754         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
1755         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
1756         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
1757         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
1758         (LEADING_BYTE_THAI_TIS620): Likewise.
1759         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
1760         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
1761         (CHARSET_ID_OFFSET_94x94): New macro.
1762         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
1763         CHARSET_ID_OFFSET_94x94 and final-byte.
1764         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
1765         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
1766         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
1767         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
1768         (LEADING_BYTE_CHINESE_GB2312): Likewise.
1769         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
1770         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
1771         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
1772         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
1773         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
1774         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
1775         (CHARSET_TYPE_128X128): New macro.
1776         (CHARSET_TYPE_256X256): New macro.
1777         (XCHARSET_PRIVATE_P): Delete unconditionally.
1778         (charset_by_attributes): Delete array about direction.
1779         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
1780         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
1781         (MIN_CHAR_94): New macro.
1782         (MAX_CHAR_94): New macro.
1783         (MIN_CHAR_96): New macro.
1784         (MAX_CHAR_96): New macro.
1785         (MIN_CHAR_94x94): New macro.
1786         (MAX_CHAR_94x94): New macro.
1787         (MIN_CHAR_96x96): New macro.
1788         (MAX_CHAR_96x96): New macro.
1789         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
1790         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1791         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
1792         - 32)'.
1793         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
1794         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
1795         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
1796         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
1797         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
1798         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
1799         `XCHARSET_LEADING_BYTE' to make code-point.
1800         (latin_a_char_to_charset): New variable.
1801         (latin_a_char_to_byte1): New variable.
1802         (latin_a_char_to_byte2): New variable.
1803         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
1804         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
1805         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
1806
1807         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
1808         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
1809         (find_charsets_in_emchar_string): Likewise.
1810         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
1811
1812         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
1813         `int'.
1814         (decode_coding_iso2022): Likewise.
1815
1816         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
1817         of `unsigned char'.
1818
1819         * redisplay.c (redisplay_text_width_emchar_string): Use
1820         `Charset_ID' instead of `unsigned char'.
1821         (redisplay_frame_text_width_string): Likewise.
1822
1823         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
1824         `unsigned char'.
1825
1826         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
1827         instead of `unsigned char'.
1828         (face_cachel_charset_font_metric_info): Likewise.
1829
1830         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
1831         (get_non_ascii_char_table_value): Likewise.
1832         (get_char_table): Likewise.
1833         (put_char_table): Likewise.
1834         (map_over_other_charset): Likewise.
1835         (map_char_table): Likewise.
1836
1837         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
1838         instead of `unsigned char'.
1839
1840 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
1841
1842         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
1843         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
1844
1845         * mule-charset.c (leading_code_private_11): Don't define in
1846         UTF-2000.
1847
1848         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
1849         in UTF-2000 because it is not ported yet and not to use
1850         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
1851
1852 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
1853
1854         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
1855
1856 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1857
1858         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
1859         in UTF-2000.
1860
1861         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
1862         of unsigned char to store leading-byte.
1863
1864         * chartab.c (get_non_ascii_char_table_value): Don't use
1865         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
1866
1867         * file-coding.c (encode_coding_big5): Delete bogus implementation
1868         in UTF2000.
1869
1870         * character.h (LEADING_BYTE_*): Delete definition for
1871         non-UTF-2000.
1872         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
1873         (LEADING_BYTE_PREFIX_P): Deleted.
1874         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
1875         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
1876         (BUFBYTE_LEADING_BYTE_P): Deleted.
1877         (CHARSET_PRIVATE_P): Deleted unconditionally.
1878         (rep_bytes_by_first_byte): Deleted unconditionally.
1879         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
1880         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
1881         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1882         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
1883         (CHAR_FIELD2): Deleted.
1884         (CHAR_FIELD3): Deleted.
1885         (MAKE_CHAR): Delete definition for non-UTF-2000.
1886         (BREAKUP_CHAR_1_UNSAFE): Deleted.
1887         (breakup_char_1): New implementation.
1888         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
1889         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
1890
1891 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1892
1893         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
1894         condition.
1895
1896 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1897
1898         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
1899         (CHARSET_PRIVATE_P): Likewise.
1900         (XCHARSET_PRIVATE_P): Likewise.
1901         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
1902
1903         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
1904         UTF2000.
1905         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
1906
1907 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1908
1909         * character.h (LEADING_BYTE_*): Changed in UTF2000.
1910         (NUM_LEADING_BYTES): Changed from 128 to 256.
1911         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1912         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
1913         UTF2000.
1914         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1915
1916         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
1917         UTF2000.
1918         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
1919         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
1920         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
1921         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
1922         (Qchinese_cns11643_3): New variable in UTF2000.
1923         (Qchinese_cns11643_4): New variable in UTF2000.
1924         (Qchinese_cns11643_5): New variable in UTF2000.
1925         (Qchinese_cns11643_6): New variable in UTF2000.
1926         (Qchinese_cns11643_7): New variable in UTF2000.
1927         (syms_of_mule_charset): Define `chinese-cns11643-3',
1928         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1929         and `chinese-cns11643-7' in UTF2000.
1930         (vars_of_mule_charset): Initialize
1931         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
1932         + 1 in UTF2000.
1933         (complex_vars_of_mule_charset): Setup charset
1934         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
1935         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
1936
1937 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1938
1939         * mule-charset.c: Move setting for `leading-code-private-11' from
1940         `syms_of_mule_charset' to `vars_of_mule_charset'.
1941
1942 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1943
1944         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
1945         and `NUM_LEADING_BYTES' in assert.
1946
1947 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1948
1949         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
1950         instead of 128.
1951         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
1952         `NUM_LEADING_BYTES' instead of 128.
1953
1954 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1955
1956         * mule-charset.h (charset_by_leading_byte): Use
1957         `NUM_LEADING_BYTES' instead of 128.
1958         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
1959
1960         * mule-charset.c (charset_by_leading_byte): Use
1961         `NUM_LEADING_BYTES' instead of 128.
1962         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
1963
1964         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
1965         128.
1966
1967 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1968
1969         * mule-charset.c (syms_of_mule_charset): Update to
1970         0.4 (Shin-Imamiya).
1971
1972 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
1973
1974         * file-coding.c (encode_coding_sjis): New implementation for
1975         UTF2000.  (decode_coding_sjis): Ditto.
1976
1977 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1978
1979         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
1980         Don't define in UTF2000.
1981
1982         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
1983         defined.
1984
1985         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1986         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
1987         MULE.
1988
1989 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1990
1991         * config.h.in (CHAR_IS_UCS4): New macro.
1992
1993         * mule-charset.c (rep_bytes_by_first_byte): Modify for
1994         conventional MULE representation.
1995         (syms_of_mule_charset): Update to 0.3 (Imamiya).
1996
1997         * mule-charset.h: Reverted to original.
1998
1999         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2000         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
2001         "mule-charset.h" if CHAR_IS_UCS4 is defined.
2002
2003         * character.h: New file.
2004
2005         * file-coding.c (Fmake_coding_system): Set 1 to
2006         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
2007         defined.
2008         (encode_coding_no_conversion): New implementation for UTF2000.
2009
2010         * file-coding.h (struct Lisp_Coding_System): Add new member
2011         `fixed.size'.
2012
2013 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
2014
2015         * file-coding.c (decode_coding_iso2022): Code-point arguments of
2016         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
2017         (encode_coding_iso2022): New implementation for UTF2000.
2018
2019 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2020
2021         * mule-canna.c (c2mu): New implementation for UTF2000.
2022         (m2c): Likewise.
2023
2024 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2025
2026         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
2027
2028 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2029
2030         * file-coding.c (reset_encoding_stream): Set 0 to
2031         `str->iso2022.current_char_boundary' in UTF2000.
2032         (encode_utf8): Don't define in UTF2000.
2033         (encode_coding_utf8): New implementation for UTF-8 representation
2034         of UTF2000.
2035         (complex_vars_of_file_coding): Define coding-system `utf-8'.
2036
2037 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2038
2039         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
2040
2041         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
2042         UTF2000.
2043         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2044
2045         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
2046
2047         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
2048         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
2049         as UTF-8 in UTF2000.
2050         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
2051         (non_ascii_valid_char_p): Don't define in UTF2000.
2052         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
2053         (Lstream_get_emchar_1): Likewise.
2054         (utf-2000-version): New variable in UTF2000.
2055
2056         * lread.c (read_escape): Add new reader `u'.
2057
2058         * insdel.c (three_to_one_table): Don't define in UTF2000.
2059         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
2060         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2061         UTF2000.
2062         (bytind_to_bufpos_func): Likewise.
2063         (buffer_mule_signal_inserted_region): Likewise.
2064         (vars_of_insdel): Don't initialize `three_to_one_table'.
2065         (init_buffer_text): Use `buf->text->mule_size' instead of
2066         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2067         UTF2000.
2068
2069         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
2070         UTF-8 representation in UTF2000.
2071         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
2072         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
2073         (decode_coding_iso2022): Don't define local variable `lb' in
2074         UTF2000; don't use LEADING_BYTE in UTF2000; use
2075         `DECODE_ADD_UCS_CHAR' in UTF2000.
2076         (convert_to_external_format): Decode as UTF-8 in UTF2000.
2077
2078         * config.h.in (UTF2000): New macro.
2079
2080         * buffer.h (struct buffer_text): Add new member `mule_size' and
2081         don't add `mule_shifter' and `mule_three_p' in UTF2000.
2082         (valid_char_p): Return always 1 in UTF2000.
2083         (MAX_EMCHAR_LEN): 6 in UTF2000.
2084         (three_to_one_table): Don't define in UTF2000.
2085         (real_bufpos_to_bytind): Modify for UTF-8 representation in
2086         UTF2000.
2087         (real_bytind_to_bufpos): Likewise.
2088
2089         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
2090
2091 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2092
2093         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
2094         representation change.
2095         (Vutf_2000_version): New variable.
2096         (leading_code_private_11): New variable.
2097         (syms_of_mule_charset): Add new variables `utf-2000-version' and
2098         `leading-code-private-11'.
2099
2100         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
2101         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
2102         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
2103         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
2104         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
2105         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
2106         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
2107         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
2108         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
2109         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
2110         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
2111         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
2112         (MIN_CHAR_GREEK): New macro.
2113         (MAX_CHAR_GREEK): New macro.
2114         (MIN_CHAR_CYRILLIC): New macro.
2115         (MAX_CHAR_CYRILLIC): New macro.
2116         (MIN_CHAR_HEBREW): New macro.
2117         (MAX_CHAR_HEBREW): New macro.
2118         (MIN_CHAR_THAI): New macro.
2119         (MAX_CHAR_THAI): New macro.
2120         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
2121         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
2122         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
2123         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
2124         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
2125         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
2126         (CHAR_FIELD2): New inline function.
2127         (CHAR_FIELD3): New inline function.
2128         (MULE_CHAR_PRIVATE_OFFSET): New macro.
2129         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
2130         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
2131         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
2132         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
2133         (MIN_CHAR_COMPOSITION): Likewise.
2134         (CHAR_LEADING_BYTE): Modified for character representation change.
2135         (MAKE_CHAR): Likewise.
2136
2137         * lisp.h (Vcharset_latin_iso8859_1): New variable.
2138         (Vcharset_greek_iso8859_7): Likewise.
2139         (Vcharset_cyrillic_iso8859_5): Likewise.
2140         (Vcharset_hebrew_iso8859_8): Likewise.
2141         (Vcharset_thai_tis620): Likewise.
2142         (Vcharset_katakana_jisx0201): Likewise.
2143
2144 2000-05-01  Martin Buchholz <martin@xemacs.org>
2145
2146         * XEmacs 21.2.33 is released.
2147
2148 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
2149
2150         * make-src-depend: Allow dots in header file name.
2151
2152 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
2153
2154         * mule-charset.h (struct charset_lookup): Add
2155         next_allocated_1_byte_leading_byte and
2156         next_allocated_2_byte_leading_byte.
2157         * mule-charset.c: Move above two variables so that those values
2158         will be dumped.
2159
2160 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
2161
2162         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
2163         when string length is zero.
2164         (find_charsets_in_emchar_string): Ditto.
2165
2166 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
2167
2168         * lisp.h: extern Qdialog and Qmenubar.
2169
2170         * gui-x.c: added events.h.
2171                 also fixed typo which made the file uncompilable.
2172
2173         * general.c: Added Qmenubar and Qdialog
2174
2175 2000-04-28  Ben Wing  <ben@xemacs.org>
2176
2177         * frame-msw.c (mswindows_init_frame_1):
2178         * frame-msw.c (mswindows_mark_frame):
2179         * event-msw.c (mswindows_enqueue_dispatch_event):
2180         * console-msw.h:
2181         * console-msw.h (struct mswindows_frame):
2182         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
2183         there are now three hash tables for callbacks.
2184         mswindows_enqueue_dispatch_event is no longer static.
2185         
2186         * dialog-x.c (maybe_run_dbox_text_callback):
2187         * dialog-x.c (dbox_descriptor_to_widget_value):
2188         switch to new cons3 form for callbacks.
2189         
2190         * glyphs-msw.c (mswindows_register_gui_item):
2191         * glyphs-msw.c (mswindows_widget_instantiate):
2192         * glyphs-msw.c (add_tree_item):
2193         * glyphs-msw.c (add_tab_item):
2194         new image instance parameter, so it can be passed to callback-ex.
2195         respect :callback-ex as well as :callback.
2196         
2197         * glyphs-widget.c (VALID_GUI_KEYWORDS):
2198         add :callback-ex.
2199         
2200         * glyphs.c (print_image_instance):
2201         prettify, e.g. now prints widget type.
2202         
2203         * gui-x.h:
2204         certain funs have new image instance parameter.
2205         
2206         * gui.c:
2207         * gui.c (get_gui_callback):
2208         * gui.c (gui_item_add_keyval_pair):
2209         * gui.c (gui_item_init):
2210         * gui.c (gui_add_item_keywords_to_plist):
2211         * gui.c (mark_gui_item):
2212         * gui.c (gui_item_hash):
2213         * gui.c (gui_item_equal):
2214         * gui.c (copy_gui_item):
2215         * gui.c (syms_of_gui):
2216         recognize callback-ex in a number of places.
2217         also, fix the annoying "can't get out of yes-no dialog" bug.
2218         
2219         * gui.h:
2220         * gui.h (struct Lisp_Gui_Item):
2221         recognize callback-ex in a number of places.
2222
2223         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
2224         new parameter in button_item_to_widget_value.
2225         
2226         * glyphs-x.c (x_update_widget):
2227         * glyphs-x.c (x_button_instantiate):
2228         * glyphs-x.c (x_button_update):
2229         * glyphs-x.c (x_progress_gauge_instantiate):
2230         * glyphs-x.c (x_edit_field_instantiate):
2231         * glyphs-x.c (x_combo_box_instantiate):
2232         * glyphs-x.c (x_tab_control_instantiate):
2233         * glyphs-x.c (x_label_instantiate):
2234         new image instance parameter in various places.
2235         
2236         * event-Xt.c:
2237         * event-Xt.c (enqueue_Xt_dispatch_event):
2238         this fun gets exported.
2239         
2240         * gui-msw.c:
2241         * gui-msw.c (mswindows_handle_gui_wm_command):
2242         handle both :callback and :callback-ex, and generate our own
2243         event because it's one of the callback-ex arguments.
2244         
2245         * gui-x.c:
2246         * gui-x.c (popup_selection_callback):
2247         handle both :callback and :callback-ex, and generate our own
2248         event because it's one of the callback-ex arguments.
2249         * gui-x.c (button_item_to_widget_value):
2250         * gui-x.c (gui_items_to_widget_values_1):
2251         * gui-x.c (gui_item_children_to_widget_values):
2252         * gui-x.c (gui_items_to_widget_values):
2253         new image instance parameter in various places.
2254
2255         * fns.c (Freplace_list):
2256         fix small typo in doc string.
2257         
2258         * lisp.h:
2259         declare enqueue_Xt_dispatch_event.
2260
2261 2000-04-28  Ben Wing  <ben@xemacs.org>
2262
2263         * buffer.c:
2264         * buffer.c (Frecord_buffer):
2265         * buffer.c (syms_of_buffer):
2266         delete record-buffer-hook.
2267         
2268         * fns.c:
2269         * fns.c (Freplace_list):
2270         * fns.c (syms_of_fns):
2271         new primitive replace-list.
2272         
2273         * frameslots.h:
2274         slot for old buffer-alist.
2275         
2276         * lisp.h:
2277         exfun replace-list.
2278         
2279         * redisplay.c:
2280         * redisplay.c (redisplay_frame):
2281         * redisplay.c (syms_of_redisplay):
2282         * redisplay.c (vars_of_redisplay):
2283         new hook buffer-list-changed-hook.
2284         call it.
2285
2286 2000-04-27  Ben Wing  <ben@xemacs.org>
2287
2288         * extents.h: extern in_modeline_generation.
2289
2290         * redisplay.c (generate_formatted_string_db): set
2291         in_modeline_generation.
2292
2293         * extents.c (extent_changed_for_redisplay): don't mark redisplay
2294         flags if in modeline generation.  otherwise frame-modified-tick
2295         is ticked far too often.
2296         Declare in_modeline_generation.
2297
2298 2000-04-26  Ben Wing  <ben@xemacs.org>
2299
2300         * emacs.c (vars_of_emacs): document quick-build "error-checking"
2301         option.
2302         (vars_of_emacs): add quick-build as an error-checking option.
2303         A bit kludgy, but there doesn't seem much point in creating
2304         a real var for this.
2305
2306         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
2307
2308 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2309
2310         * redisplay.h (struct display_line): Add a new variable,
2311         line_continuation.
2312
2313         * redisplay.c (create_text_block): Set dl->line_continuation if
2314         the line continues.
2315         (create_string_text_block): Ditto.
2316         (regenerate_window_incrementally): Use line_continuation instead
2317         of searching continuation glyph.
2318         (add_margin_runes): Call add_glyph_rune.
2319         (add_glyph_rune): Handle margin glyph.
2320
2321 2000-04-20  Martin Buchholz  <martin@xemacs.org>
2322
2323         * filelock.c (fill_in_lock_file_name): 
2324         ANSIfy.
2325         Check for IS_ANY_SEP instead of '/'.
2326         (lock_file_1): 
2327         Avoid generating gratuitous garbage.  Call user_login_name() directly.
2328         Never check errno without first seeing that system call failed.
2329         (unlock_file): Add GCPRO.
2330         (Flock_buffer): Fix docstring.
2331         (Ffile_locked_p): Fix docstring.  Add GCPRO.
2332
2333 2000-04-19  Martin Buchholz  <martin@xemacs.org>
2334
2335         * sysdep.c (get_pty_max_bytes): 
2336         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
2337         strings longer than 252 bytes.
2338
2339         * md5.c: Unconditionally include ANSI header <limits.h>
2340
2341         * glyphs-x.c (convert_EImage_to_XImage): 
2342         * lisp-union.h (union Lisp_Object): 
2343         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
2344
2345 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
2346
2347         * filelock.c (current_lock_owner): Remove unused variable o, p.
2348
2349 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
2350
2351         * callint.c: Remove multiply defined symbol Qlet
2352         (syms_of_callint): ditto.
2353
2354 2000-04-14  Andy Piper  <andy@xemacs.org>
2355
2356         * general.c (syms_of_general): add last-command, this-command, let
2357         and funcall.
2358
2359         * lisp.h: declare various symbols.
2360
2361         * glyphs.h: declare Qwidget_callback_current_channel;
2362
2363         * glyphs-widget.c (syms_of_glyphs_widget): add
2364         Qgui_callback_current_channel.
2365         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
2366
2367         * gui-msw.c (mswindows_handle_gui_wm_command): bind
2368         widget-callback-current-channel when invoking the interactive
2369         arg. Also bind last-command and next-command when invoking the
2370         widget updates.
2371         * gui-x.c (popup_selection_callback): ditto.
2372
2373         * gui.c (get_gui_callback): massage args so that we are always
2374         calling eval. This allows us to add our own variable bindings
2375         outside.
2376
2377         * glyphs-x.c (x_button_instantiate): use
2378         gui_items_to_widget_values since this is GC safe.
2379         (x_progress_gauge_instantiate): ditto.
2380         (x_edit_field_instantiate): ditto.
2381         (x_label_instantiate): ditto.
2382
2383         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
2384         (emacs_Xt_event_widget_focus_out): new function
2385         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
2386         focus.
2387         (emacs_Xt_event_add_widget_actions): new function. add focus
2388         functions as actions.
2389         (init_event_Xt_late): use it.
2390
2391 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
2392
2393         * event-stream.c (Fdispatch_event): Doc fix.
2394
2395 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
2396
2397         * postgresql.c: Remove all references to PQsetenv*.
2398
2399         * postgresql.h: Remove references to PGsetenvHandler object.
2400         * lrecord.h (lrecord_type): Ditto.
2401
2402 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2403
2404         * glyphs-msw.h (struct mswindows_image_instance_data): Added
2405         real_heigh and real_width members, and accessor macros for these.
2406
2407         * glyphs-msw.c (init_image_instance_geometry): New function.
2408         (init_image_instance_from_dibitmap): Use it.
2409         (mswindows_resource_instantiate): Use it.
2410         (init_image_instance_from_xbm_inline): Use it.
2411         (mswindows_initialize_image_instance_mask): Use real bitmap
2412         geometry.
2413         (mswindows_create_resized_bitmap): Ditto.
2414         (mswindows_create_resized_mask): Ditto.
2415         
2416         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
2417         and bitmap to their surface size.
2418
2419 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
2420
2421         * process-unix.c (unix_send_process): Guard against process MIA
2422         after Faccept_process_output.
2423
2424 2000-04-11  Ben Wing  <ben@xemacs.org>
2425
2426         * eval.c (unbind_to_hairy): fix brokenness introduced by
2427         nanosecond speed improvements.
2428
2429 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
2430
2431         * sunplay.c (init_device): To play sounds correctly, the device
2432         apparently needs to be initialized at least once by XEmacs.  Make
2433         it so.
2434
2435 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2436
2437         * redisplay.c (add_margin_runes): Add text image glyph
2438           handling.
2439
2440 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
2441
2442         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
2443         gcc is newer than 2.5.
2444
2445 2000-04-06  Colin Rafferty  <colin@xemacs.org>
2446
2447         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
2448         
2449         * fns.c (size_bit_vector):
2450         * alloc.c (size_vector):
2451         (make_vector_internal):
2452         (make_bit_vector_internal):
2453         (sweep_bit_vectors_1):
2454         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
2455
2456 2000-04-06  Andy Piper  <andy@xemacs.org>
2457
2458         * gmalloc.c (malloc): undo previous change.
2459         (malloc): ditto.
2460         (free): ditto.
2461         (realloc): ditto.
2462
2463 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
2464
2465         * line-number.c (buffer_line_number): Revert to former version.
2466
2467 2000-04-06  Andy Piper  <andy@xemacs.org>
2468
2469         * gmalloc.c (malloc): add error checking.
2470         (malloc): ditto.
2471         (free): ditto.
2472         (realloc): ditto.
2473
2474         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
2475         button_item_to_widget_value arg.
2476
2477         * glyphs-x.c (x_button_instantiate): add extra
2478         button_item_to_widget_value arg.
2479         (x_progress_gauge_instantiate): ditto.
2480         (x_edit_field_instantiate): ditto.
2481         (x_label_instantiate): ditto.
2482
2483         * gui-x.c (gui_items_to_widget_values_1): add extra
2484         button_item_to_widget_value arg.
2485         (button_item_to_widget_value): add extra menu_item_p arg.
2486
2487         * gui-x.h: change signature of button_item_to_widget_value.
2488
2489         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
2490         button_item_to_widget_value arg.
2491
2492 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
2493
2494         * buffer.h (struct buffer): auto_save_modified should be long.
2495
2496 2000-04-05  Andy Piper  <andy@xemacs.org>
2497
2498         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
2499         type.
2500         (button_query_geometry): give a little more room so that athena
2501         buttons fit.
2502
2503 2000-04-05  Andy Piper  <andy@xemacs.org>
2504
2505         * faces.c (complex_vars_of_faces): The widget face should inherit
2506         the font of the gui-element face.
2507
2508 2000-04-04  Andy Piper  <andy@xemacs.org>
2509
2510         * glyphs-x.c (x_button_update): new function. unconditionally
2511         update a button's state when the instance is dirty.
2512         (image_instantiator_format_create_glyphs_x): add x_button_update.
2513         (x_widget_instantiate): remove old resize cruft.
2514
2515 2000-04-02  Andy Piper  <andy@xemacs.org>
2516
2517         * frame.c (change_frame_size_1): The introduction of gutters means
2518         that we need to allow 0 as a potential frame dimension.
2519
2520 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2521
2522         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
2523         image glyph if allow_cursor.
2524         (add_hscroll_rune): Don't allow cursor to border glyph.
2525         (create_text_block): Ditto.
2526
2527         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
2528         text not in buffer.
2529         (redisplay_output_layout): Call ensure_face_cachel_complete for
2530         text image glyph.
2531
2532
2533 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2534
2535         * redisplay.c (add_glyph_rune): Adding text image as text runes.
2536
2537         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
2538         not in buffer
2539
2540         * redisplay-tty.c (tty_output_display_block): Delete the routine
2541         for text image glyph
2542         * redisplay-x.c (x_output_display_block): ditto
2543         * redisplay-msw.c (mswindows_output_display_block): ditto
2544
2545 2000-02-02  Mike Alexander  <mta@arbortext.com>
2546
2547         Note: Some of these were committed by accident as part of other
2548         patches.
2549         
2550         * regex.c (regex_compile): Avoid compiler warnings.
2551
2552         * ntproc.c (sys_spawnve): Avoid compiler warnings.
2553
2554         * nt.h: Declare term_ntproc correctly.
2555
2556         * nt.c: Remove incorrect declaration of get_home_directory which
2557         is declared correctly in lisp.h.
2558
2559         * keymap.c (get_keyelt): Avoid compiler warnings.
2560         (raw_lookup_key_mapper): Avoid compiler warnings.
2561
2562         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
2563
2564         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
2565
2566         * filemode.c (mode_string): Avoid compiler warnings.
2567
2568         * file-coding.c (Fcoding_system_aliasee): Add return statement to
2569         avoid warning.
2570
2571         * events-mod.h: Undef some things that winuser.h defines differently.
2572
2573         * data.c (Faset): Avoid compiler warnings.
2574
2575         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
2576
2577 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
2578
2579         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
2580         Fall through to simple beep on error.
2581         Replace "extern" by real header file.
2582
2583         * linuxplay.c: Use nativesound.h
2584         (play_sound_data): Return error code. Be less verbose on error.
2585
2586         * sunplay.c: Use nativesound.h
2587         (play_sound_data): Return error code. Be less verbose on error.
2588
2589         * ntplay.c: Use nativesound.h
2590         (play_sound_data): Return fake error code
2591
2592         * sgiplay.c: Use nativesound.h
2593         (play_sound_data): Return error code
2594
2595         * hpplay.c: Use nativesound.h, partially implement
2596         new error code. Break compilation until finished.
2597         (play_sound_data): error code.
2598
2599         * nativesound.h (play_sound_file): 
2600           (play_sound_data): Prototype in new header.
2601
2602 2000-03-31  Andy Piper  <andy@xemacs.org>
2603
2604         * glyphs-widget.c: (button_query_geometry): new function. Adjust
2605         for toggle and radio buttons.
2606         (image_instantiator_buttons): use it.
2607
2608 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
2609
2610         * scrollbar-x.c (x_update_vertical_scrollbar_callback): 
2611         (x_update_horizontal_scrollbar_callback): Return if no mirror was
2612         found. Scrollbar event probably belonged to some old config.
2613
2614 2000-03-31  Andy Piper  <andy@xemacs.org>
2615
2616         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
2617         than 1.
2618         (initialize_widget_image_instance): default layout to
2619         LAYOUT_HORIZONTAL rather than 0.
2620         (widget_instantiate): reverse the item list at the end rather than
2621         every iteration.
2622         (layout_layout): re-code for the border text at the front of the
2623         item list rather than at the end.
2624         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
2625         provided by the user.
2626         (widget_query_geometry): comment.
2627
2628 2000-03-30  Andy Piper  <andy@xemacs.org>
2629
2630         * glyphs-widget.c (image_instantiator_layout): allow standard
2631         widget keywords in layouts.
2632
2633         * gutter.c (output_gutter): cope with nil gutter contents.
2634
2635         * frame.c (Fset_frame_properties): add gutter docs.
2636
2637 2000-03-29  Andy Piper  <andy@xemacs.org>
2638
2639         * toolbar-msw.c (TBSTYLE_FLAT): add.
2640         (mswindows_output_toolbar): minor fiddling.
2641
2642 2000-03-29  Andy Piper  <andy@xemacs.org>
2643
2644         * gutter.c (output_gutter): force gutter size recalculation if
2645         what we are trying to display won't fit.
2646         (update_gutter_geometry): new function. A per-gutter version of
2647         update_frame_gutter_geometry.
2648         (update_frame_gutter_geometry): use it.
2649         (redraw_exposed_gutter): add extra debugging output.
2650
2651 2000-03-28  Mike Alexander  <mta@arbortext.com>
2652
2653         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
2654         (pdump_file_unmap): Implement it on Windows
2655         (pdump_file_get): Save alocated handles for pdump_file_unmap
2656
2657 2000-03-28  Andy Piper  <andy@xemacs.org>
2658
2659         * gui.c (get_gui_callback): treat Quit specially.
2660
2661 2000-03-27  Andy Piper  <andy@xemacs.org>
2662
2663         * glyphs.c (image_instantiate): be careful to check in the same
2664         way we assigned.
2665
2666 2000-03-27  Didier Verna  <didier@xemacs.org>
2667
2668         * config.h.in: define the proper SMART_INCLUDE macro.
2669         handle renaming of `foo_h_path' to `foo_h_file'.
2670
2671         * database.c: ditto.
2672
2673         * emacs.c: ditto.
2674
2675         * linuxplay.c: ditto.
2676
2677         * terminfo.c: ditto.
2678
2679         * tooltalk.h: ditto.
2680
2681 2000-03-27  Andy Piper  <andy@xemacs.org>
2682
2683         * glyphs-msw.c (mswindows_update_widget): make sure the widget
2684         gets updated whenever the face might have changed.
2685
2686 2000-03-26  Mike Alexander  <mta@arbortext.com>
2687
2688         * dumper.c (pdump_resource_free): Fix the comment.
2689
2690 2000-03-21  Olivier Galibert  <galibert@pobox.com>
2691
2692         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
2693
2694 2000-03-22  Mike Alexander  <mta@arbortext.com>
2695
2696         * dumper.c: Include Windows headers on Windows
2697         (pdump_resource_free): Add a body to the function
2698         (pdump_load): exe_name -> exe_path and add some comments.
2699
2700 2000-03-25  Mike Alexander  <mta@arbortext.com>
2701
2702         * gui.c (copy_gui_item_tree): Return a value in all cases
2703
2704 2000-03-21  Didier Verna  <didier@xemacs.org>
2705
2706         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
2707         lwlib/config.h.in.
2708         (SMART_INCLUDE): new macro.
2709         (POSTGRES_INCLUDE): new macro to include postgresql headers from
2710         the proper location.
2711
2712         * postgresql.c: use it.
2713
2714         * inline.c: ditto.
2715
2716 2000-03-24  Andy Piper  <andy@xemacs.org>
2717
2718         * gutter.c (redraw_exposed_gutters): must be "in display" when we
2719         do this.
2720
2721 2000-03-24  Andy Piper  <andy@xemacs.org>
2722
2723         * redisplay-output.c (compare_runes): use image_instance_changed
2724         to detect changes. Do not depend on glyphs_changed, only depend on
2725         dirtiness.
2726          (redisplay_output_layout): add debug messages.
2727         (compare_runes): ditto.
2728
2729         * glyphs.h: declare new functions.
2730         (struct Lisp_Image_Instance): remove percent and associated
2731         accessors.
2732
2733         * gui.h: declare new copying functions.
2734
2735         * gui.c (copy_gui_item_tree): new function.
2736         (copy_gui_item): new function.
2737         (gui_item_id_hash): revert to standard hash.
2738         (gui_item_hash): ditto.
2739         (gui_item_hash_internal): deleted.
2740         (mark_gui_item): mark value.
2741         (gui_item_add_keyval_pair): add value.
2742         (gui_item_init): ditto.
2743         (gui_add_item_keywords_to_plist): ditto.
2744         (gui_item_equal): ditto.
2745         (syms_of_gui): add Q_value.
2746
2747         * glyphs-x.c (x_progress_gauge_update): use pending items and
2748         value for setting the state.
2749         (x_update_widget): don't set items from pending here.
2750
2751         * glyphs-widget.c (update_widget): update items here.
2752         (progress_gauge_set_property): use items for storing value. Put
2753         new value in pending items.
2754
2755         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
2756         items for new value. Convert percent -> value.
2757         (mswindows_tab_control_update): don't update items here.
2758
2759         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
2760         (update_subwindow): ditto.
2761         (image_instance_changed): new function. Compare hash values and
2762         past and present widget items.
2763         (image_instantiate): We more careful about where we instantiate
2764         things.
2765         (image_instantiate): add error checking.
2766
2767         * gutter.c (syms_of_gutter): use -hook.
2768
2769 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
2770
2771         * console-tty.c (Fset_console_tty_input_coding_system): Use
2772         Qkeyboard.
2773         (Fset_console_tty_output_coding_system): Use Qterminal.
2774         (tty_init_console): Use Qkeyboard and Qterminal.
2775
2776 2000-03-21  Ben Wing  <ben@xemacs.org>
2777
2778         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
2779         From Mike Alexander <mta@arbortext.com>.
2780
2781 2000-03-21  Ben Wing  <ben@xemacs.org>
2782
2783         * event-msw.c (mswindows_need_event): Horrible kludge to fix
2784         process brokenness.  Proper implementation to come.
2785         * callproc.c:
2786         Rename call-process-internal to old-call-process-internal.
2787         New impl. in process.el.
2788
2789 2000-03-21  Martin Buchholz  <martin@xemacs.org>
2790
2791         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
2792
2793 2000-03-20  Andy Piper  <andy@xemacs.org>
2794
2795         * glyphs.c (full_list_hash): make hashes of the same elements in
2796         different orders return different values.
2797
2798 2000-03-20  Martin Buchholz <martin@xemacs.org>
2799
2800         * XEmacs 21.2.32 is released.
2801
2802 2000-03-20  Martin Buchholz  <martin@xemacs.org>
2803
2804         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
2805         (DFC_MALLOC_USE_CONVERTED_DATA):
2806         Add aliasing-safe casts to allow use with char* or unsigned char*
2807         lvalues.
2808
2809         * eldap.c (Fldap_open):
2810         (Fldap_search_basic):
2811         (Fldap_add):
2812         (Fldap_modify):
2813         Make C++-compilable.
2814         Make sure GCPRO'ed variables are initialized.
2815         Use temp variables to avoid repeated calls to Flength.
2816
2817 2000-03-16  Martin Buchholz  <martin@xemacs.org>
2818
2819         * sysfile.h:
2820         Make sure PATH_MAX is always defined.
2821         Include limits.h for PATH_MAX.
2822         Deprecate use of MAXPATHLEN.
2823
2824 2000-03-10  Martin Buchholz  <martin@xemacs.org>
2825
2826         * emacs.c: Add reinit_vars_of_fileio.
2827         * symsinit.h: Add reinit_vars_of_fileio.
2828         * fileio.c (reinit_vars_of_fileio): New.
2829         * fileio.c (Fmake_temp_name):
2830         Initialize temp_name random number from microseconds to make
2831         collisions even less likely.  Initialize always at process startup
2832         time.  (make-temp-name) used to return the same file name twice in
2833         a row when PDUMP.
2834         Random stylistic fiddling.
2835         Comment fixes.
2836
2837 2000-03-20  Andy Piper  <andy@xemacs.org>
2838
2839         * glyphs.c (image_instantiate): allow text glyphs to be
2840         instantiated in the minibuffer window.
2841
2842 2000-03-19  Andy Piper  <andy@xemacs.org>
2843
2844         * glyphs.c (image_instance_hash): be careful about which items we
2845         hash on.
2846
2847         * glyphs-widget.c (tab_control_set_property): record into pending
2848         items rather than the actual items.
2849
2850         * glyphs-x.c (x_update_widget): use pending items to update with.
2851
2852         * glyphs-msw.c (mswindows_tab_control_update): use pending items
2853         to update with.
2854
2855         * glyphs.c (mark_image_instance): mark pending items.
2856
2857         * window.c (Fset_window_configuration): record the buffer.
2858         (Fselect_window): totally revert previous change which breaks many
2859         things.
2860
2861 2000-03-18  Andy Piper  <andy@xemacs.org>
2862
2863         * glyphs-msw.c (mswindows_tab_control_update): force selected
2864         item.
2865
2866         * glyphs.c (image_instantiate): don't allow the minibuffer as a
2867         window domain cache, otherwise we get inconsistencies at
2868         startup. There is something fishy at startup which can lead to the
2869         minibuffer being the selected window when the gutter content is
2870         instantiated.
2871
2872         * gui.c (parse_gui_item_tree_list): add probably unneccessary
2873         gcpros.
2874         (parse_gui_item_tree_children): ditto.
2875         (parse_gui_item_tree_item): ditto.
2876
2877         * glyphs.c (Fupdate_widget_instances): return something.
2878
2879 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
2880
2881         * window.c (Fselect_window): Undo 2000-03-17 change.
2882
2883 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
2884
2885         * postgresql.c (Fpq_setenv): Remove this turkey when linking
2886         against v7.0 libraries.  Insta-coredump city until the postgres
2887         folks fix it.
2888
2889 2000-03-17  Andy Piper  <andy@xemacs.org>
2890
2891         * faces.c (complex_vars_of_faces): don't give the widget face an
2892         inherited background pixmap.
2893
2894         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
2895         selected item.
2896
2897         * event-stream.c (Fdispatch_non_command_events): return something.
2898
2899         * gutter.c (output_gutter): use widget face.
2900         (clear_gutter): ditto.
2901
2902         * NEWS: adjust again.
2903
2904         * window.c (Fselect_window): make sure this runs to completion to
2905         avoid oddities with Fset_window_configuration.
2906         (Fcurrent_window_configuration): in general do not save the
2907         minibuffer as the selected window.
2908
2909         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
2910
2911 2000-03-16  Olivier Galibert  <galibert@pobox.com>
2912
2913         * emacs.c (Frunning_temacs_p): Revert previous patch.
2914         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
2915
2916 2000-03-16  Andy Piper  <andy@xemacs.org>
2917
2918         * glyphs-x.c (x_tab_control_update): if no widget values then
2919         return.
2920
2921         * NEWS: update for new features.
2922
2923         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
2924         synthetic event to the native system.
2925         (reinit_vars_of_event_Xt): set force_event_pending to
2926         emacs_Xt_force_event_pending.
2927
2928         * events.h (struct event_stream): add force_event_pending.
2929
2930         * specifier.c (recompute_one_cached_specifier_in_window): add
2931         comment.
2932
2933         * redisplay.c (redisplay_frame): don't call
2934         update_frame_subwindows. Reset subwindow cachels when
2935         subwindows_changed, removing this was an optimization too far.
2936
2937         * redisplay-output.c (compare_runes): reorganize so that we catch
2938         glyph changes when we want them. Set optimize_output when this
2939         would help layouts.
2940         (redisplay_output_layout): remove frame_really_changed, use
2941         optimize_output instead.
2942
2943         * redisplay-msw.c (mswindows_output_display_block): reset
2944         optimize_output after outputting a glyph.
2945         * redisplay-x.c (x_output_display_block): ditto.
2946         * redisplay-tty.c (tty_output_display_block): ditto.
2947
2948         * gutter.c: (specifier_vars_of_gutter): use new spec changed
2949         functions.
2950         (gutter_specs_changed): do specific gutter positions.
2951         (top_gutter_specs_changed): new function. Only update the
2952         specified gutter specs.
2953         (bottom_gutter_specs_changed): ditto.
2954         (left_gutter_specs_changed): ditto.
2955         (right_gutter_specs_changed): ditto.
2956
2957         * gui.c (gui_item_hash_internal): new function, does a real hash.
2958         (gui_item_id_hash): use it.
2959         (gui_item_hash): hash the eval'ed gui_item.
2960
2961         * gui-x.c (popup_selection_callback): send an eval event to call
2962         Fupdate_widget_instances.
2963
2964         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
2965         to call Fupdate_widget_instances.
2966
2967         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
2968         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
2969
2970         * glyphs.c: (update_frame_subwindows): deleted.
2971         (Fupdate_widget_instances): new function for updating the dirty
2972         state of widgets that might have changed.
2973         (syms_of_glyphs): add Qupdate_widget_instances.
2974         (full_list_hash): hash a list completely.
2975         (image_instance_hash): use it for items and properties.
2976
2977         * frame-msw.c (mswindows_size_frame_internal): remove unused
2978         variable.
2979
2980         * faces.h (struct face_cachel): fix comment.
2981
2982         * event-stream.c (Fdispatch_non_command_events): new
2983         function. Process non-command events, forcing an event cycle
2984         beforehand.
2985         (syms_of_event_stream): declare.
2986         (event_stream_force_event_pending): new function. Force an event
2987         on the native event queue so that an event cycle will occur next
2988         time we check.
2989
2990         * event-msw.c:
2991         (struct ntpipe_shove_stream):
2992         (mswindows_enqueue_dispatch_event):
2993         (mswindows_dequeue_dispatch_event):
2994         (mswindows_cancel_dispatch_event):
2995         (mswindows_pump_outstanding_events):
2996         (mswindows_drain_windows_queue):
2997         (mswindows_handle_paint):
2998         (mswindows_wnd_proc):
2999         (mswindows_key_to_emacs_keysym):
3000         (get_process_input_waitable):
3001         (emacs_mswindows_delete_stream_pair): re-indent file.
3002         (mswindows_need_event): do not process further fds if the windows
3003         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
3004         fixes the 100% cpu problem.
3005         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
3006
3007 2000-03-15  Olivier Galibert  <galibert@pobox.com>
3008
3009         * alloc.h: New.
3010         * dumper.h: New.
3011         * dumper.c: New.
3012
3013         * emacs.c: Moved dump file searching to dumper.c.
3014         (Frunning_temacs_p): Fixed.
3015
3016         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
3017         last_lrecord_type_index_assigned.
3018
3019 2000-02-20  Olivier Galibert  <galibert@pobox.com>
3020
3021         * symsinit.h: Added reinit parameter to init_console_stream
3022         declaration.
3023
3024         * lisp.h: Added file parameter to pdump_load declaration.
3025
3026         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
3027         support.  Added dump file searching.
3028
3029         * config.h.in: Added EMACS_PROGNAME.
3030
3031         * console-stream.c (init_console_stream): Fix reinitialisation
3032         when running from temacs.
3033
3034         * alloc.c (pdump): Add id support.
3035         (pdump_load): Add file parameter and signature/id support.
3036
3037         * Makefile.in.in: Add full pdump support.
3038
3039 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
3040
3041         * postgresql.c: Update documentation to reflect latest code
3042         status.
3043         (print_result): Show tuple counts in printed representation when
3044         appropriate.
3045         (Fpq_put_nbytes): MULE-ize.
3046         (Fpq_get_line_async): Ditto.
3047
3048 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
3049
3050         * postgresql.c (Fpq_lo_import): Fix return value.
3051         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
3052
3053 2000-03-13  Ben Wing  <ben@xemacs.org>
3054
3055         * alloc.c (pdump_load):
3056         Fix compile warning under mswin.
3057
3058 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
3059
3060         * postgresql.c: Mule-ization, bug fixes.
3061         Use PG_CODING to encapsulate coding system name changes.
3062         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
3063         (pg-coding-system): Create.
3064
3065         (Fpq_conn_defaults): Mule-ize.
3066         (Fpq_connectdb): Mule-ize & bug fix.
3067         (Fpq_connect_start): Mule-ize.
3068         (Fpq_set_client_encoding): Mule-ize.
3069         (Fpq_finish): Document `DEAD' connection status.
3070         (Fpq_clear): Ditto.
3071         (Fpq_pgconn): Mule-ize.
3072         (Fpq_exec): Mule-ize & bug fix.
3073         (Fpq_send_query): Ditto.
3074         (Fpq_get_result): Ditto.
3075         (Fpq_res_status): Mule-ize.
3076         (Fpq_result_error_message): Mule-ize.
3077         (Fpq_ntuples): fix comments.
3078         (Fpq_fname): Mule-ize.
3079         (Fpq_fnumber): Mule-ize.
3080         (Fpq_ftype): fix comments.
3081         (Fpq_get_value): Mule-ize.
3082         (Fpq_cmd_status): Ditto.
3083         (Fpq_cmd_tuples): Ditto.
3084         (Fpq_oid_value): Ditto.
3085         (Fpq_notifies): Ditto.
3086         (Fpq_lo_import): Ditto.
3087         (Fpq_lo_export): Ditto.
3088         (Fpq_get_line): Ditto.
3089         (Fpq_put_line): Mule-ize and bug fix.
3090         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
3091
3092 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
3093
3094         * postgresql.c (vars_of_postgresql): Mule-ize.
3095         (Fpq_conn_defaults): Ditto.
3096
3097 2000-03-12  Ben Wing  <ben@xemacs.org>
3098
3099         * alloc.c (Fmake_byte_code):
3100         * alloc.c (debug_string_purity_print):
3101         * alloc.c (pdump_backtrace):
3102         * alloc.c (pdump_get_indirect_count):
3103         * alloc.c (pdump_register_sub):
3104         * alloc.c (pdump_register_object):
3105         * alloc.c (pdump_register_struct):
3106         * alloc.c (pdump_dump_data):
3107         * alloc.c (pdump_reloc_one):
3108         Minor cleanups.
3109
3110         * console-msw.c:
3111         * console-msw.c (GetConsoleHwnd):
3112         * console-msw.c (msw_hide_console):
3113         * console-msw.c (msw_show_console):
3114         * console-msw.c (msw_ensure_console_buffered):
3115         * console-msw.c (msw_output_console_string):
3116         * console-msw.c (console_type_create_mswindows):
3117
3118         a) Added functions to manipulate the console window for use with
3119         shell support.
3120
3121         b) Added support for writing text to the console, which is now
3122         used under Windows when xemacs is not being run non-interactively,
3123         to write text that would otherwise be destined for stdout because
3124         under these circumstances, text written to stdout tends to
3125         disappear and not be seen.
3126
3127         * console-msw.h:
3128         * event-Xt.c:
3129         * event-Xt.c (x_event_to_emacs_event):
3130         * event-Xt.c (describe_event_window):
3131         * events-mod.h (XEMACS_MOD_CONTROL):
3132         * events.c:
3133         * events.c (Fmake_event):
3134         * events.c (character_to_event):
3135         * events.c (event_to_character):
3136         * events.c (format_event_object):
3137         * events.c (Fevent_modifiers):
3138         * events.h:
3139         * events.h (struct key_data):
3140         * events.h (struct button_data):
3141         * events.h (struct misc_user_data):
3142         * frame-x.c (Fcde_start_drag_internal):
3143         * frame-x.c (Foffix_start_drag_internal):
3144         * gpmevent.c (Freceive_gpm_event):
3145         * keymap.c:
3146         * keymap.c (bucky_sym_to_bucky_bit):
3147         * keymap.c (control_meta_superify):
3148         * keymap.c (make_key_description):
3149         * keymap.c (keymap_lookup_directly):
3150         * keymap.c (create_bucky_submap):
3151         * keymap.c (keymap_store):
3152         * keymap.c (define_key_check_and_coerce_keysym):
3153         * keymap.c (define_key_parser):
3154         * keymap.c (define_key_alternate_name):
3155         * keymap.c (Fdefine_key):
3156         * keymap.c (raw_lookup_key_mapper):
3157         * keymap.c (struct map_keymap_unsorted_closure):
3158         * keymap.c (map_keymap_unsorted_mapper):
3159         * keymap.c (map_keymap_sort_predicate):
3160         * keymap.c (map_keymap_sorted):
3161         * keymap.c (accessible_keymaps_mapper_1):
3162         * keymap.c (where_is_recursive_mapper):
3163         * keymap.c (describe_map_mapper):
3164         * keymap.c (describe_map_sort_predicate):
3165         * keymap.c (describe_map):
3166         * keymap.c (complex_vars_of_keymap):
3167         And a number of other files, the key modifier preprocessor
3168         constants that xemacs uses have names that conflict with constants
3169         defined under MS Windows for other purposes, so they were renamed
3170         to begin with the prefix XEMACS_. The variables that hold such
3171         modifiers were changed to consistently be of type int to fix
3172         various compile warnings.
3173
3174         * console.c (complex_vars_of_console):
3175         * device.c:
3176         * device-msw.c:
3177         * device-msw.c (mswindows_finish_init_device):
3178         * device-msw.c (msw_get_workspace_coords):
3179         * device-msw.c (mswindows_device_system_metrics):
3180         and various other files, added support for a new
3181         device property called offset-workspace which returns the position
3182         of the upper left corner of the workspace area and goes along with
3183         the existing size-workspace property.
3184
3185         * dialog-msw.c:
3186         * dialog-msw.c (push_bufbyte_string_as_unicode):
3187         * dialog-msw.c (mswindows_popup_dialog_box):
3188         Added support for XEmacs-style accelerator specifications in
3189         button text.  Note: I didn't add support for this under X Windows,
3190         and somebody needs to do this.
3191
3192         * dialog.c:
3193         * dialog.c (Fpopup_dialog_box):
3194         Documented the support for accelerators that was just mentioned.
3195
3196         editfns.c (get_home_directory): Changed behavior under Windows
3197         when HOME not defined; former behavior was irretrievably broken.
3198
3199         * emacs.c:
3200         * emacs.c (main_1):
3201         * emacs.c (main):
3202         * minibuf.c (clear_echo_area_internal):
3203         * minibuf.c (echo_area_append):
3204         * print.c:
3205         * print.c (std_handle_out_external):
3206         * print.c (std_handle_out_va):
3207         * print.c (fatal):
3208         * print.c (write_string_to_stdio_stream):
3209         * print.c (output_string):
3210         * print.c (debug_print):
3211         * print.c (debug_backtrace):
3212         * print.c (debug_short_backtrace):
3213         Cleaned up the code that prints text to stdout so that this can be
3214         changed to output into a console window instead under MS Windows,
3215         as described above.
3216
3217         * eval.c:
3218         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
3219         * eval.c (internal_catch):
3220         * eval.c (unwind_to_catch):
3221         * eval.c (throw_or_bomb_out):
3222         * eval.c (condition_case_1):
3223         * eval.c (signal_1):
3224         * eval.c (check_error_state_sanity):
3225         * eval.c (call_with_suspended_errors_1):
3226         * eval.c (call_with_suspended_errors):
3227         * eval.c (reinit_vars_of_eval):
3228         Added code to catch throw loops and check for a pesky bug that may
3229         be gone now.
3230
3231         * event-msw.c:
3232         * event-msw.c (key_needs_default_processing_p):
3233         * event-msw.c (mswindows_wnd_proc):
3234         * event-msw.c (mswindows_modifier_state):
3235         * event-msw.c (emacs_mswindows_quit_p):
3236         * event-msw.c (vars_of_event_mswindows):
3237         a) Added support for using the alt key to select menu items as is
3238         standard under MS Windows.  This is controlled using the variable
3239         menu-accelerator-enabled, just like under X Windows.  There is an
3240         option on the options menu to turn this support on.  I really
3241         think that it should be on by default under Windows, but I'm not
3242         going to make this change yet.
3243
3244         b)  Added support for dynamic display size changes under Windows.
3245
3246         * event-stream.c:
3247         * event-stream.c (maybe_echo_keys):
3248         * event-stream.c (Fnext_event):
3249         * event-stream.c (command_builder_find_leaf):
3250         * event-stream.c (lookup_command_event):
3251         * event-stream.c (execute_command_event):
3252         * event-stream.c (pre_command_hook):
3253         * event-stream.c (post_command_hook):
3254         * event-stream.c (syms_of_event_stream):
3255         * event-stream.c (vars_of_event_stream):
3256         * event-stream.c (complex_vars_of_event_stream):
3257         * events.h (struct command_builder):
3258
3259         a) Tried to clean up a little bit the horribly written x-specific
3260         accelerator code that crept into this file.  I moved this code
3261         into menubar-x.c where it belongs. I also needed to move the
3262         command builder structure into the file events.h because it is
3263         accessed directly by this accelerator code.  What I didn't do, but
3264         which should be done at some point, is to properly abstract this
3265         code using device methods instead of the kludgy way that it
3266         currently hooks into the event code.
3267
3268         b) Added the lisp variables this-command-properties and
3269         last-command- properties, which should be used to synchronize two
3270         adjacent commands in preference to playing games with the variable
3271         this-command, which is typically what happens.
3272
3273         c) Added some slightly nasty code to hook into the lisp support
3274         for shifted- motion-key selection.  This is actually necessary for
3275         somewhat complicated reasons, which are described in
3276         simple.el. (NB: I think the proper thing would be to have the code
3277         that calls the pre and post command hooks also call out to generic
3278         lisp functions in simple.el, where all built-in stuff could be
3279         added.  I will think about this more.)
3280
3281         * event-unixoid.c (poll_fds_for_input):
3282         * lread.c (readchar):
3283         * redisplay-tty.c (tty_clear_frame):
3284         * redisplay-x.c (x_get_gc):
3285         * signal.c (interrupt_signal):
3286         And a whole bunch of other files: fixed up places that printed
3287         directly to stderr to instead call the function stderr_out so that
3288         the changes I made under Windows work correctly.
3289
3290         * filemode.c (mode_string):
3291         Warning fixes.
3292
3293         * frame-msw.c:
3294         * frame-msw.c (mswindows_size_frame_internal):
3295         Fixed the computation of frame size and position to keep the frame
3296         within the workspace area, rather than within the physical
3297         dimensions of the screen, so that the frame doesn't overlap window
3298         manager decorations, such as the start menu and toolbar, typically
3299         at the bottom of the screen.
3300
3301         * frame.c (vars_of_frame):
3302         Changed the default frame title format under MS Windows to consist
3303         of buffername-XEmacs, which is standard under MS Windows.  I think
3304         it might be a good idea to change this everywhere because I think
3305         it is superior to the current frame title format, but this is the
3306         kind of change that is likely to cause some people to get annoyed,
3307         so I'm not making it.
3308
3309         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
3310
3311         * gui-msw.c (mswindows_handle_gui_wm_command):
3312         Fixed compile warnings.
3313
3314         * gui-x.c:
3315         * gui-x.c (strdup_and_add_accel):
3316         * gui-x.c (button_item_to_widget_value):
3317         * gui-x.h:
3318         Added code to automatically put an accelerator onto the beginning
3319         of menu items that don't have one as is now the standard, and is
3320         described more later.  Also fixed things so that the menu item
3321         name can be an evaluated expression, again a new standard.
3322
3323         * gui.c:
3324         * gui.c (gui_item_add_keyval_pair):
3325         * gui.c (make_gui_item_from_keywords_internal):
3326         * gui.c (gui_add_item_keywords_to_plist):
3327         * gui.c (gui_item_accelerator):
3328         * gui.c (gui_name_accelerator):
3329         * gui.c (gui_item_included_p):
3330         * gui.c (gui_item_display_flush_left):
3331         * gui.c (gui_item_display_flush_right):
3332         * gui.c (parse_gui_item_tree_item):
3333         * gui.c (parse_gui_item_tree_children):
3334         * gui.c (parse_gui_item_tree_list):
3335         Mule-ized.  Cleanup.  GCPRO addition.
3336
3337         * line-number.c (buffer_line_number):
3338         * lisp.h:
3339         * lisp.h (EMACS_INT_MAX):
3340         Added the manifest constant EMACS_INT_MIN corresponding to the
3341         existing constant EMACS_INT_MAX.  This is partially to fix compile
3342         warnings under Windows, and partly for cleanliness.
3343
3344         * menubar-msw.c:
3345         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
3346         * menubar-msw.c (msw_translate_menu_or_dialog_item):
3347         * menubar-msw.c (displayable_menu_item):
3348         * menubar-msw.c (populate_menu_add_item):
3349         * menubar-msw.c (populate_or_checksum_helper):
3350         * menubar-msw.c (populate_menu):
3351         * menubar-msw.c (update_frame_menubar_maybe):
3352         * menubar-msw.c (prune_menubar):
3353         * menubar-msw.c (msw_char_is_accelerator):
3354         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
3355         * menubar-msw.c (mswindows_handle_wm_command):
3356         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
3357         * menubar-msw.c (mswindows_handle_wm_initmenu):
3358         * menubar-msw.c (mswindows_update_frame_menubars):
3359         * menubar-msw.c (mswindows_free_frame_menubars):
3360         * menubar-msw.c (mswindows_popup_menu):
3361         Fixed a bug in handling accelerators where an extra character
3362         would be displayed in the menu item.  Also generalized the
3363         function displayable_menu_item because it is now used by the
3364         dialog box code as well.  And finally, added code in the functions
3365         that create the menubar to extract a list of accelerators for the
3366         top level menubar, which is used in the event code to determine
3367         whether a particular alt-key combination should be used to invoke
3368         a menu item, or should be passed through to access the standard
3369         XEmacs keymap binding for this key combination.
3370
3371         Much needed GCPROing.
3372
3373         * menubar-x.c:
3374         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
3375         * menubar-x.c (menu_item_descriptor_to_widget_value):
3376         * menubar-x.c (restore_in_menu_callback):
3377         * menubar-x.c (x_popup_menu):
3378         * menubar-x.c (menu_move_up):
3379         * menubar-x.c (menu_move_down):
3380         * menubar-x.c (menu_move_left):
3381         * menubar-x.c (menu_move_right):
3382         * menubar-x.c (menu_select_item):
3383         * menubar-x.c (command_builder_operate_menu_accelerator):
3384         * menubar-x.c (menu_accelerator_junk_on_error):
3385         * menubar-x.c (command_builder_find_menu_accelerator):
3386         * menubar-x.c (Faccelerate_menu):
3387         * menubar.h:
3388         Moved a whole bunch of code here that was previously in
3389         event-stream.c as described above.  There is also code connected
3390         to the new standard of adding an accelerator to the beginning of
3391         menu items that don't have one as described above and below.
3392
3393         * menubar.c:
3394         * menubar.c (menu_parse_submenu_keywords):
3395         * menubar.c (Fmenu_find_real_submenu):
3396         * menubar.c (Fnormalize_menu_item_name):
3397         * menubar.c (syms_of_menubar):
3398         * menubar.c (vars_of_menubar):
3399         * menubar.c (complex_vars_of_menubar):
3400
3401         a) Cleaned up a bunch of documentation and improved it.
3402
3403         b) XEmacs now automatically adds an accelerator onto the beginning
3404         of any menu items that don't have one.  I did this because there
3405         will inevitably be some menu items on the main menubar that don't
3406         have accelerators on them because the package that adds that
3407         particular menu item hasn't yet been fixed up to have accelerators
3408         in them and it looked rather strange to have some items with and
3409         some items without accelerators, especially since even in items
3410         without accelerators, you can, at least under windows, still
3411         access the item through an accelerator corresponding to the first
3412         character in the item's name.  If people don't like this behavior,
3413         I can add a variable to turn it off optionally, but I'm not sure
3414         this is a good idea because we really do need to have accelerators
3415         on all of the menu items, and if a package doesn't like the
3416         accelerators being put on the first character, then it should put
3417         the accelerators where they belong.
3418
3419         c) I made a behavior change, which is that the descriptor that
3420         specifies the text of the menu item, which formerly was just a
3421         string, can now also be an evaluated expression.  This makes this
3422         descriptor parallel with all of the others, which could also be
3423         evaluated expressions.  This also obviates the need for the
3424         keyword :label, which was previously listed in the documentation
3425         as unimplemented, and which was for the same purpose.
3426
3427         d) GCPROing.
3428
3429         * ntproc.c:
3430         * ntproc.c (new_child):
3431         * ntproc.c (sys_spawnve):
3432         * ntproc.c (find_child_console):
3433         * ntproc.c (sys_kill):
3434         Fixed compile warnings.  By the way, this file should really go
3435         away entirely, and this will happen as soon as Kirill makes his
3436         final round of process cleanups, which affect the function
3437         call-process.
3438
3439         * process-nt.c:
3440         * process-nt.c (struct nt_process_data):
3441         * process-nt.c (find_process_from_pid):
3442         * process-nt.c (send_signal_the_nt_way):
3443         * process-nt.c (enable_child_signals):
3444         * process-nt.c (find_child_console):
3445         * process-nt.c (send_signal_the_95_way):
3446         * process-nt.c (nt_finalize_process_data):
3447         * process-nt.c (ensure_console_window_exists):
3448         * process-nt.c (nt_create_process):
3449         * process-nt.c (nt_kill_child_process):
3450         * process-nt.c (nt_kill_process_by_pid):
3451         * process-nt.c (nt_open_network_stream):
3452         * process-nt.c (vars_of_process_nt):
3453         Copied over code from Emacs 20.5 to correctly send signals to sub-
3454         processes under Windows 95.  Also added code to automatically
3455         create and hide console window when a sub-process is created under
3456         Windows 95, which obviates the need for the separate runemacs.exe
3457         executable, and finally implemented some variables that were
3458         implemented in Emacs 20.5, but previously not in XEmacs.  These
3459         include mswindows- start-process-share-console and
3460         mswindows-start-process-inherit-error-mode. (Both of these only
3461         apply to Windows 95.)
3462
3463         * regex.c (regex_compile): Fixed a compile warning.
3464
3465         * select-msw.c:
3466         * select-msw.c (mswindows_own_selection):
3467         * select-msw.c (mswindows_get_foreign_selection):
3468         * select-msw.c (mswindows_disown_selection):
3469         * select-msw.c (console_type_create_select_mswindows):
3470         * select-msw.c (syms_of_select_mswindows):
3471         Cleaned up the file and implemented the device method
3472         selection_exists_p, which had accidentally been left out.  Also
3473         removed four lisp functions that were remnants from before the
3474         time when the selection code was properly device abstracted.
3475         These functions are no longer needed because there are generic
3476         equivalents, and because they were added recently and don't exist
3477         in FSF Emacs, I don't think there's any problem with just deleting
3478         them.
3479
3480         * sysdep.c:
3481         * sysdep.c (sys_subshell):
3482         Fixed a compile warning, although in this case there's probably
3483         something wrong with this code, and it ought to be looked into
3484         more thoroughly by somebody who understands it.
3485
3486         * window.c:
3487         * window.c (Fwindow_text_area_height):
3488         * window.c (Fwindow_width):
3489         * window.c (Fwindow_full_width):
3490         * window.c (Fwindow_pixel_width):
3491         * window.c (debug_print_window):
3492         * window.c (syms_of_window):
3493         Added functions window-text-area-height and window-full-width,
3494         which are functions for returning various width and height
3495         characteristics of a window. (One of these functions is necessary
3496         for making the file dialog box work correctly, and the other one
3497         was added for completeness.)  Also added a table to the
3498         documentation for window-height which describes the entire scheme
3499         for accessing width and height characteristics of a window.
3500
3501 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3502
3503         * nt.c (fstat): Added a comment for another problem with
3504         non-encapsulated [f]stat(), reported by Adrian Aichner
3505         <aichner@ecf.teradyne.com>.
3506
3507 2000-03-11  Andy Piper  <andy@xemacs.org>
3508
3509         * window.c (make_dummy_parent): initialize subwindow instance
3510         cache.
3511         (Fset_window_configuration): zero extent_modiff.
3512
3513 2000-03-10  Andy Piper  <andy@xemacs.org>
3514
3515         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
3516         more changes can be triggered.
3517         (Fredisplay_frame): ditto.
3518         (Fredraw_device): ditto.
3519         (Fredisplay_device): ditto.
3520         (redisplay_frame): make non-static.
3521         (redisplay_frame): call update_frame_gutter_geometry outside of
3522         display proper.
3523
3524         * gutter.h: declare update_frame_gutter_geometry.
3525
3526         * redisplay.h: declare redisplay_frame.
3527
3528         * gutter.c (update_frame_gutter_geometry): move geometry changes
3529         in update_frame_gutters here. Geometry changes can only occur
3530         outside of redisplay.
3531         (update_frame_gutters): remove geometry change code.
3532         (Fredisplay_gutter_area): make sure that we are in display when we
3533         update and that we have flushed any size changes.
3534
3535 2000-03-11  Andy Piper  <andy@xemacs.org>
3536
3537         * alloc.c (pdump_dump_data): remove i & count shadows.
3538
3539 2000-02-27  Mike Alexander  <mta@arbortext.com>
3540
3541         * sysdep.h: Declare pdump_read_file
3542
3543         * sysdep.c (pdump_read_file): New function
3544
3545         * alloc.c (pdump_load): Call pdump_read_file to get the portable
3546         dump data
3547
3548 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
3549
3550         * lrecord.h: add `lrecord_type_pgsetenv'.
3551
3552 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
3553
3554         * symsinit.h: declare (vars|syms)_of* functions.
3555         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
3556
3557 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
3558
3559         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
3560
3561         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
3562         GCCs.
3563
3564         * emacs.c (main_1): Call postgres initialization code.
3565
3566         * postgresql.h: New file.  PostgreSQL RDBMS support.
3567         * postgresql.c: New file.
3568
3569 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
3570
3571         * redisplay-output.c (redisplay_output_display_block): Disable
3572         redundant code.
3573
3574 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3575
3576         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
3577         (Fcanna_henkan_next): Ditto.
3578         (Fcanna_bunsetu_henkou): Ditto.
3579         (Fcanna_henkan_kakutei): Ditto.
3580         (Fcanna_henkan_end): Ditto.
3581         (Fcanna_henkan_quit): Ditto.
3582         (Fcanna_henkan_next): Set retun value correctly.
3583         (c2mu): Use unsigned char instead of signed char.
3584
3585 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3586
3587         * emacs.c (main_1): Always call syms_of_gui.
3588         * inline.c: include gui.h
3589
3590 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3591
3592         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
3593         converted to Lisp_Object.
3594         (Qtop_bottom): New variable.
3595         (syms_of_redisplay): Initialize it.
3596         * redisplay.h (Vvisible_bell): Ditto.
3597         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
3598         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
3599         only flash top and bottom.
3600
3601 2000-03-08  Andy Piper  <andy@xemacs.org>
3602
3603         * buffer.c (Frename_buffer): record new buffer name the right way.
3604
3605 2000-03-08  Andy Piper  <andy@xemacs.org>
3606
3607         * glyphs.c (update_subwindow): increase hash depth so that widget
3608         items get picked up properly.
3609
3610         * redisplay-output.c (compare_runes): increase hash depth so that
3611         widget items get picked up properly.
3612
3613 2000-03-08  Andy Piper  <andy@xemacs.org>
3614
3615         * gutter.c (output_gutter): add some debug.
3616
3617         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
3618         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
3619         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
3620
3621         * redisplay-output.c (compare_runes): use display_hash to
3622         determine if glyphs really are not the same.
3623
3624         * glyphs.c (update_subwindow): check display_hash to see if
3625         anything really needs to be updated. If not then do
3626         nothing. Record the display_hash after updating.
3627         (image_instance_equal): compare the image_instance face also.
3628
3629 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
3630
3631         * redisplay.h: Fix comment style.
3632
3633 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3634
3635         * consle-msw.h (struct mswindows_frame):
3636         Added new member paint_pending to indicate whether a WM_PAINT
3637         magic event has been queued for this frame.
3638
3639         * event-msw.c (mswindows_drain_windows_queue):
3640         Don't queue a WM_PAINT magic event if one is already queued.
3641         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
3642
3643         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
3644
3645 2000-03-07  Didier Verna  <didier@xemacs.org>
3646
3647         * dired.c: #include `regex.h' after `sysfile.h'.
3648
3649 2000-03-06  Martin Buchholz  <martin@xemacs.org>
3650
3651         * sound.c (init_nas_sound): Fix compiler warning.
3652
3653         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
3654         (FREE_STRUCT_P):
3655         (MARK_STRUCT_AS_FREE):
3656         (MARK_STRUCT_AS_NOT_FREE):
3657         Make `gcc -fstrict-aliasing' work properly.
3658
3659 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3660
3661         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
3662         (mswindows_delete_device): Call CoUnnitialize().
3663
3664         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
3665
3666 2000-02-25    <CraigL@DyCon.com>
3667
3668         * process-nt.c: MinGW now has <shellapi.h>, but still needs
3669         <errno.h>.
3670
3671         * sysdep.c: This extern declaration for environ prevents MinGW
3672         from finding the variable in CRTDLL.DLL.
3673
3674         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
3675         windows headers.
3676         (SHGFI_EXETYPE): ..
3677         (WM_MOUSEWHEEL): ..
3678         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
3679         definitions.
3680         (MMRESULT): Removed, now defined in cygwin's windows headers.
3681         (TIMECAPS): ..
3682         (uid_t,gid_t,pid_t,ssize_t): ..
3683         (_timeb): Removed, MinGW defines both _timeb and timeb.
3684         (HAVE_H_ERRNO): Added.
3685         (HAVE_TZNAME): Added, configure is not detecting this.
3686
3687 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
3688
3689         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
3690         * syntax.c (syntax_match): Use it.
3691
3692         * cmds.c: Import auto-fill-chars from FSF Emacs.
3693         (Vauto_fill_chars): New variables.
3694         (internal_self_insert): Check Vauto_fill_chars.
3695         (vars_of_cmds):
3696         Declare auto-fill-chars as a Lisp variable and initialize it.
3697
3698 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3699
3700         * fileio.c (Fmake_symbolic_link):
3701         (Ffile_symlink_p):
3702         Run handlers even if local machine doesn't have symlinks.
3703
3704 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3705
3706         * event-msw.c (mswindows_drain_windows_queue):
3707         Don't generate paint magic events for non-XEmacs frames.
3708
3709 2000-03-05  Andy Piper  <andy@xemacs.org>
3710
3711         * redisplay.c (redisplay_frame): generate_displayable_area and
3712         friends assumes that we are not in GC, we therefore have to make
3713         sure that this doesn't happen.
3714
3715         * gutter.c (calculate_gutter_size): generate_displayable_area
3716         assumes that we are not in GC, we therefore have to make sure that
3717         this doesn't happen.
3718
3719 2000-03-05  Martin Buchholz  <martin@xemacs.org>
3720
3721         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
3722
3723 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
3724
3725         * redisplay.c (regenerate_window): Make sure we set a sane value
3726         for end_pos even if we jump out of the loop.
3727         (regenerate_window): Answer Ben's question :-).
3728         (start_end_of_last_line): Add may_error argument.
3729         (start_of_last_line):
3730         (end_of_last_line): Pass may_error = 0.
3731         (end_of_last_line_may_error): New function.
3732         (pixel_to_glyph_translation): Use it, so we don't crash in
3733         event_to_glyph.
3734
3735 2000-03-04  Andy Piper  <andy@xemacs.org>
3736
3737         * window.h (struct window): add gutter_extent_modiff.
3738
3739         * window.c (allocate_window): zero out gutter_extent_modiff.
3740
3741         * redisplay.h: declare sync_display_line_structs.
3742
3743         * redisplay.c (add_glyph_rune): add a better comment.
3744
3745         * redisplay-output.c (sync_display_line_structs): made non-static.
3746         (compare_runes): remove unneccesary glyph cachel access.
3747
3748         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
3749
3750         * gutter.c (output_gutter): don't output the gutter if extent
3751         changes only involve extents in buffers. use 4 sets of display
3752         lines.
3753         (gutter_extent_signal_changed_region_maybe): new function. Mark
3754         extents in gutters as changed.
3755         (update_frame_gutters): use 4 sets of display lines.
3756         (reset_gutter_display_lines): ditto.
3757         (free_frame_gutters): ditto.
3758         (redraw_exposed_gutter): force output of gutters.
3759
3760         * frame.h (struct frame): add 4 sets of gutter display lines.
3761
3762         * extents.c: (extent_changed_for_redisplay): signal changes to
3763         extents in strings in the gutter as well as extents in buffers.
3764
3765 2000-03-02  Andy Piper  <andy@xemacs.org>
3766
3767         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
3768
3769         * frame.c (Fmake_frame): make sure the gutters get initialized
3770         after the frame is visible.
3771         (set_frame_selected_window): re-arrange compilation macros a
3772         little.
3773         (change_frame_size_1): mark gutters changed.
3774
3775         * device.c (Fset_device_class): mark gutters changed.
3776
3777 2000-03-01  Andy Piper  <andy@xemacs.org>
3778
3779         * window.c (window_top_frame_gutter_height): deleted.
3780         (window_bottom_frame_gutter_height): ditto.
3781         (window_left_frame_gutter_height): ditto.
3782         (window_right_frame_gutter_height): ditto.
3783         (window_top_gutter_height): don't use them.
3784         (window_bottom_gutter_height): ditto.
3785         (window_left_gutter_width): ditto.
3786         (window_right_gutter_width): ditto.
3787         (Fsplit_window): ditto.
3788         (Fwindow_pixel_edges): don't use border dimensions here.
3789
3790         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
3791         (update_scrollbar_instance): ditto.
3792
3793         * redisplay.c (generate_modeline): don't take gutters into account.
3794         (generate_modeline): ditto.
3795         (redisplay_frame): small gutter display optimisation.
3796
3797         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
3798
3799         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
3800         gutters into account.
3801
3802         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
3803         for window position and type.
3804
3805         * gutter.c (get_gutter_coords): fix for frame gutters.
3806         (update_frame_gutters): update frame geometry if the gutters have
3807         changed.
3808         (init_frame_gutters): record current gutter geometries.
3809
3810         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
3811         var.
3812         (mswindows_widget_instantiate): ditto.
3813
3814         * frame.h (struct frame): add current_gutter_bounds.
3815
3816         * frame.c (change_frame_size_1): position window and minibuffer
3817         appropriately taking into account the frame gutters.
3818
3819         * frame-x.c: (x_initialize_frame_size): take into account the
3820         frame gutters.
3821
3822 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
3823
3824         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
3825
3826 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
3827
3828         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
3829
3830 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
3831
3832         * file-coding.c (reset_decoding_stream): Clear previous
3833         detection state when autodetect.
3834
3835 2000-02-29  Didier Verna  <didier@xemacs.org>
3836
3837         * extents.c (set_extent_glyph_1): don't require extents to be
3838         attached.
3839
3840 2000-02-27  Andy Piper  <andy@xemacs.org>
3841
3842         * gutter.c (Fset_default_gutter_position): don't default left and
3843         right gutter visibility to t.
3844         (Fset_default_gutter_position): run
3845         default-gutter-position-changed-hook.
3846         (syms_of_gutter): add default-gutter-position-changed-hook.
3847
3848 2000-02-26  Andy Piper  <andy@xemacs.org>
3849
3850         * specifier.c (Fmake_specifier): add gutter references.
3851
3852         * gutter.h (RAW_WINDOW_GUTTER): new macro.
3853
3854         * lisp.h: declare Fvalid_plist_p.
3855
3856         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
3857         as changed.
3858         (default_gutter_visible_p_changed_in_window): invalidate gutter as
3859         well as its visibility so that it gets reconstructed.
3860         (construct_window_gutter_spec): new function. Construct a string
3861         to be displayed in the gutter from a plist of strings. Take care
3862         to only use elements that are declared as visible.
3863         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
3864         WINDOW_GUTTER.
3865         (gutter_validate): allow plists of strings in the specifier.
3866         (gutter_specs_changed): construct the real_gutter from the gutter
3867         specs using construct_window_gutter_spec.
3868         (gutter_visible_validate): gutter-visible is a new specifier type.
3869         (Fgutter_visible_specifier_p): new function for the new specifier.
3870         (syms_of_gutter): declare gutter-visible and
3871         Fgutter_visible_specifier_p.
3872         (specifier_type_create_gutter): intitalize new gutter-visible
3873         specifier.
3874         (reinit_specifier_type_create_gutter): ditto.
3875         (specifier_vars_of_gutter): use new specifier type for gutter
3876         visibility.
3877         (init_frame_gutters): construct real_gutter correctly.
3878         (Fgutter_specifier_p): beef up documentation.
3879         (Fgutter_size_specifier_p): ditto.
3880
3881         * winslots.h: add real_gutter slots.
3882
3883 2000-02-25  Andy Piper  <andy@xemacs.org>
3884
3885         * device-msw.c: Be kind to older cygwin versions. From Raymond
3886         Toy <toy@rtp.ericsson.se>.
3887
3888         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
3889         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
3890
3891 2000-02-25  Martin Buchholz  <martin@xemacs.org>
3892
3893         * elhash.c (MARK_OBJ): Practice macro hygiene.
3894
3895 2000-02-24  Martin Buchholz  <martin@xemacs.org>
3896
3897         * miscplay.c: s/__inline__/inline/g;
3898         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
3899         (get_device_compdc): INLINE ==> static inline
3900         * *.[ch]: Change INLINE to INLINE_HEADER globally.
3901         find -name '*.h' | \
3902         xargs global-replace \
3903         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
3904
3905 2000-02-25  Andy Piper  <andy@xemacs.org>
3906
3907         * window.c (window_top_frame_gutter_height): new function.
3908         (window_top_window_gutter_height): ditto.
3909         (window_top_gutter_height): use them.
3910         (window_bottom_frame_gutter_height): new function.
3911         (window_bottom_window_gutter_height): ditto.
3912         (window_bottom_gutter_height): use them.
3913         (window_left_window_gutter_width): new function.
3914         (window_left_frame_gutter_width): ditto.
3915         (window_left_gutter_width): use them.
3916         (window_right_window_gutter_width): new function.
3917         (window_right_frame_gutter_width): ditto.
3918         (window_right_gutter_width): use them.
3919         (window_pixel_height): new function. calulate window pixel height
3920         with frame gutter involvement.
3921         (Fsplit_window): calculate new sizes taking frame gutters into
3922         account.
3923         (window_char_height_to_pixel_height): don't include frame gutters.
3924         (window_char_height): use window_pixel_height.
3925         (window_pixheight): rename from window_pixel_height.
3926         (change_window_height): use it.
3927         (window_pixel_height_to_char_height): don't include frame gutters.
3928         (window_char_width_to_pixel_width): ditto.
3929
3930 2000-02-25  Andy Piper  <andy@xemacs.org>
3931
3932         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
3933         if it is.
3934
3935 2000-02-24  Martin Buchholz  <martin@xemacs.org>
3936
3937         * alloc.c (staticpro):
3938         (staticpro_nodump):
3939         (dumpstruct):
3940         (dumpopaque):
3941         (pdump_wire):
3942         (pdump_wire_list):
3943         (compact_string_chars):
3944         (pdump_dump_wired):
3945         Convert:  if (foo) abort();  ==>  assert (! foo);
3946
3947         * eldap.c (Fldap_search_basic):
3948         (Fldap_add):
3949         (Fldap_modify):
3950         (Fldap_delete):
3951         Fix compiler warnings, and possible crashes if (random) return
3952         value were to be used.
3953
3954 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3955
3956         * device-msw.c: Workaround ResetDC failure.
3957
3958         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
3959         applying a devmode.
3960
3961         * redisplay-msw.c (get_frame_dc): Added start_page_p.
3962         (mswindows_text_width): Do not start printer page.
3963
3964         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
3965
3966         * glyphs-msw.c: Added image methods to msprinter console and
3967         msprinter-specific image instantiation.
3968
3969 2000-02-20  Mike Alexander  <mta@arbortext.com>
3970
3971         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
3972         to avoid crashes when selection-sets-clipboard is on
3973         (mswindows_own_selection): ditto
3974
3975 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3976
3977         * glyphs-msw.c:
3978         * redisplay-msw.c (get_frame_dc):
3979         (get_frame_compdc):
3980         * console-msw.h:
3981         * device-msw.c (mswindows_init_device):
3982         (mswindows_delete_device):
3983         (msprinter_init_device):
3984         (msprinter_delete_device):
3985         * frame-msw.c (mswindows_init_frame_1):
3986         (mswindows_delete_frame):
3987         (msprinter_init_frame_3):
3988         (msprinter_delete_frame): Move compatible DC to device object from
3989         frame object, for both mswindows and msprinter. Only one at a time
3990         is needed, it is a real waste to have one per frame!
3991
3992 2000-02-23  Andy Piper  <andy@xemacs.org>
3993
3994         * glyphs.c: add dynamic width and height elements.
3995         (image_instance_equal): ditto.
3996
3997         * glyphs-widget.c (widget_query_geometry): calculate width and
3998         height dynamically if required.
3999         (initialize_widget_image_instance): initialize dynamic dimensions.
4000         (widget_instantiate): pick-up dynamic dimensions.
4001
4002         * glyphs.h (struct Lisp_Image_Instance): add width and height for
4003         dynamic determination. Add appropriate macros.
4004
4005         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
4006         dimensions safe.
4007         (WINDOW_GUTTER_SIZE): ditto.
4008         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
4009
4010         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
4011         inline.
4012         (get_frame_dc): ditto.
4013
4014         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
4015         here.
4016
4017 2000-02-23  Martin Buchholz <martin@xemacs.org>
4018
4019         * XEmacs 21.2.31 is released.
4020
4021 2000-02-22  Ben Wing <ben@xemacs.org>
4022
4023         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
4024
4025 2000-02-22  Andy Piper  <andy@xemacs.org>
4026
4027         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
4028
4029 2000-02-21  Mike Sperber <mike@xemacs.org>
4030
4031         * .dbxrc:
4032         * .gdbinit:
4033         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
4034         variables.
4035
4036 2000-02-21  Mike Sperber <mike@xemacs.org>
4037
4038         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
4039
4040 2000-02-21  Martin Buchholz <martin@xemacs.org>
4041
4042         * XEmacs 21.2.30 is released.
4043
4044 2000-02-20  Martin Buchholz  <martin@xemacs.org>
4045
4046         Performance hacking.
4047         * *.c (syms_of_*):
4048         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
4049         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
4050         * emacs.c (main_1):
4051         * lisp.h (DEFUN):
4052         * console.c (DEFVAR_CONSOLE_LOCAL_1):
4053         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
4054         * symeval.h (DEFVAR_SYMVAL_FWD):
4055         * symbols.c (guts_of_unbound_marker):
4056         Make all c_readonly objects also lisp_readonly and marked for life.
4057         * lrecord.h (struct lrecord_implementation):
4058         Document flags better.
4059         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
4060         * lrecord.h (DECLARE_LRECORD):
4061         * lrecord.h (XSETRECORD):
4062         * lrecord.h (RECORDP):
4063         * lrecord.h (RECORD_TYPEP):
4064         * lrecord.h (RECORD_MARKER): New.
4065         * lrecord.h (error_check_*):
4066         * lrecord.h (CONCHECK_NONRECORD):
4067         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
4068         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
4069         * lrecord.h (set_lheader_implementation):
4070         * lrecord.h (enum lrecord_type): New.
4071         * symeval.h (SYMBOL_VALUE_MAGIC_P):
4072         * alloc.c (disksave_object_finalization_1):
4073         * alloc.c (mark_object):
4074         * alloc.c (lrecord_type_index):
4075         * alloc.c (tick_lcrecord_stats):
4076         * alloc.c (Fgarbage_collect):
4077         * alloc.c (init_alloc_once_early):
4078         * alloc.c (pdump_load):
4079         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
4080         * alloc.c (lrecord_type_index): Delete.
4081         Make lisp object type indexes be constant.
4082           Makes (byte-compile) 5% faster.
4083         Put all marker functions into their own array.
4084           Makes (garbage-collect) 5% faster.
4085         Optimize SYMBOL_VALUE_MAGIC_P.
4086           Makes (byte-compile) 2-3% faster.
4087         * config.h.in (gc_checking_assert): New.
4088         * alloc.c: Use gc_checking_assert().
4089         * .dbxrc: Make compatible with new object type implementation.
4090         * .gdbinit: Make compatible with new object type implementation.
4091         * alloc.c: Delete all symbols defined only for debugging, such as
4092         Lisp_Type_Vector and lrecord_charset.
4093
4094 2000-02-21  Andy Piper  <andy@xemacs.org>
4095
4096         * gui-msw.c (Fmswindows_shell_execute): fix file location
4097         problems.
4098
4099         * buffer.c (Fkill_buffer): remove buffer from alist buffer
4100         unshowing so that set_window_buffer doesn't undo
4101         kill_buffer_hook's hard work.
4102
4103         * glyphs-widget.c (tab_control_query_geometry): don't count the
4104         first item when calculating geometry.
4105
4106         * glyphs.c (map_subwindow): remove redundant code.
4107         (update_frame_subwindows): be more circumspect about when to
4108         update subwindows.
4109
4110         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
4111         when items haven't changed. Update faces if faces have changed as
4112         well as just the widget face.
4113         (x_tab_control_update): Update faces if faces have changed as well
4114         as just the widget face.
4115
4116 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4117
4118         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
4119         registration.
4120         (build_syscolor_string): Use mswindows_color_to_string to try to
4121         get a named color.
4122         (mswindows_device_system_metrics): Reverse the foreground and
4123         background colors so that they match the documentation.
4124
4125         * objects-msw.c: (mswindows_X_color_map): tweak some values so
4126         they match the default Windows palette.
4127         (mswindows_color_to_string): New function.
4128
4129 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4130
4131         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
4132
4133 2000-02-18  Olivier Galibert  <galibert@pobox.com>
4134
4135         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
4136         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
4137
4138         * symbols.c (init_symbols_once_early): Removed obsolete
4139         DATA_SEG_BITS related kludge.
4140         (defvar_magic): Ditto.
4141
4142         * malloc.c: Removed obsolete DATA_SEG_BITS
4143         * ralloc.c: Ditto.
4144         * mem-limits.h: Ditto.
4145
4146         * Makefile.in.in: Removed obsolete HAVE_SHM
4147         * emacs.c: Ditto.
4148
4149 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4150
4151         *  device-msw.c (mswindows_delete_device): Free DDE string
4152         handles.
4153
4154 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4155
4156         * keymap.c (get_keyelt):
4157         * unexnt.c (unexec):
4158         * vm-limit.c (memory_warnings):
4159         * ntheap.c (recreate_heap):
4160         * ntheap.h (UNINIT_PTR):
4161         * select-msw.c (Fmswindows_get_clipboard):
4162         (Fmswindows_set_clipboard):
4163         * objects-msw.h (MSWINDOWS_BAD_HFONT):
4164         * objects-msw.c:
4165         * menubar-msw.c (displayable_menu_item):
4166         * glyphs-msw.c:
4167         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
4168         * sysdep.c (sys_subshell):
4169         * process-nt.c (nt_create_process):
4170         * nt.c (normalize_filename):
4171         (dostounix_filename):
4172         (unixtodos_filename):
4173         * ntproc.c (win32_executable_type):
4174         * ntplay.c (play_sound_data_1):
4175         (play_sound_file):
4176         * editfns.c (get_home_directory):
4177         * event-msw.c (struct winsock_stream):
4178         (mswindows_dde_callback):
4179         * device-msw.c (msprinter_init_device):
4180         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
4181
4182         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
4183         mswindows_clear_toolbar were swapped!
4184
4185         * objects-msw.c:(colormap_t):
4186         (fontmap_t):
4187         * emacs.c (struct standard_args): Fixed const jumble.
4188
4189         * glyphs-widget.c (update_widget): Fixed comparison notation.
4190
4191         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
4192
4193         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
4194         __declspec(noreturn) syntax.
4195
4196 2000-02-19  Martin Buchholz  <martin@xemacs.org>
4197
4198         * eldap.c (Fldap_open):
4199         (Fldap_search_basic):
4200         (Fldap_add):
4201         (Fldap_modify):
4202         Use new coding system conversion macros.
4203
4204 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
4205
4206         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
4207
4208 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
4209
4210         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
4211         (Fldap_add, Fldap_modify, Fldap_delete): New functions
4212
4213         * eldap.c (Qadd, Qreplace): New constant symbols
4214         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
4215         interruptions by XEmacs signals
4216         Remove unnecessary calls to slow_down_interrupts and
4217         speed_up_interrupts
4218         (Fldap_search_basic): Renamed from Fldap_search_internal
4219         Added new optional parameter VERBOSE that triggers the
4220         display of progress messages
4221         Remove unnecessary calls to slow_down_interrupts and
4222         speed_up_interrupts
4223         LDAP result code analysis rewritten
4224         (Fldap_add, Fldap_modify, Fldap_delete): New functions
4225         (syms_of_eldap): Define the new symbols and functions
4226
4227
4228 2000-02-17  Martin Buchholz  <martin@xemacs.org>
4229
4230         * realpath.c: Determine PATH_MAX maximally portably.
4231
4232         * insdel.c (bytecount_to_charcount): Optimize.
4233         The function used to be optimized for entirely ASCII sequences.
4234         Now it is optimized for successive characters from the same
4235         charset.  This also wins big for _mostly_ ASCII sequences.
4236
4237         * fileio.c (Ffile_truename): convert return from realpath() using
4238         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
4239         - Rewrite GCPROing slightly.
4240
4241         * sysdep.c (sys_open): Do filename conversion, like all other
4242         sys_* functions.  Fixes bug:
4243         (let ((file-name-coding-system 'iso-8859-2))
4244            (write-region x y latin2-name))
4245         ==> writes filename using internal encoding.
4246
4247 2000-02-18  Martin Buchholz  <martin@xemacs.org>
4248
4249         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
4250         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
4251         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
4252         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
4253         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
4254         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
4255         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
4256         (CONST_IF_NOT_DEBUG): Delete.
4257         * alloc.c (this_one_is_unmarkable): Delete.
4258         (mark_object): Don't check for this_one_is_unmarkable. Use the
4259         c_readonly flag instead.
4260         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
4261
4262 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4263
4264         * event-msw.c (mswindows_drain_windows_queue):
4265         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
4266         away redundant repaint events.
4267
4268 2000-02-17  Andy Piper  <andy@xemacs.org>
4269
4270         * redisplay.h: declare mark_redisplay_structs.
4271
4272         * redisplay.c (redisplay_window):
4273         (redisplay_frame): don't check subwindows_state_changed.
4274         (mark_redisplay): mark gutters here.
4275
4276         * glyphs.c: (instantiate_image_instantiator): always layout if we
4277         haven't done so already.
4278         (allocate_image_instance): don't mark as dirty.
4279         (update_subwindow): bind inhibit_quit.
4280
4281         * gutter.c (mark_gutters): new function.
4282
4283         * glyphs-x.c (x_update_widget): Always resize to get round a
4284         widget bug.
4285
4286         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
4287         breaking absolutely everything.
4288
4289         * gutter.h: declare mark_gutters.
4290
4291 2000-02-16  Martin Buchholz <martin@xemacs.org>
4292
4293         * XEmacs 21.2.29 is released.
4294
4295 2000-02-15  Olivier Galibert  <galibert@pobox.com>
4296
4297         * fns.c (size_bit_vector): Fix computation of the size.
4298
4299 2000-02-15  Martin Buchholz  <martin@xemacs.org>
4300
4301         * *.[ch]: Change CONST to const globally.
4302         find -name '*.[ch]' | \
4303         xargs global-replace \
4304         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
4305         - Remove vestigial references to CONST_IS_LOSING
4306
4307 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4308
4309         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
4310         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
4311         events instead of dispatching them directly.
4312         (mswindows_handle_paint): New function to do repainting.
4313         (mswindows_wnd_proc):
4314         (emacs_mswindows_handle_magic_event): Call above function.
4315
4316 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4317
4318         * objects-msw.c (mswindows_create_font_variant): Return the new
4319         font handle.
4320         (initialize_font_instance): Get font metrics from the underlined
4321         variant of the font to cope with the case where the underlined
4322         font has a bigger descent.
4323
4324 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
4325
4326         * gui.c (gui_item_accelerator): Return the first underlined
4327         character in item name.
4328
4329 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4330
4331         * lisp.h: Added Qprinter.
4332
4333         * general.c (syms_of_general): Initialized it.
4334
4335         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
4336         (get_frame_dc):
4337         (get_frame_compdc): Made inline.
4338
4339         * console.h (struct console_methods): Added eject_page method.
4340
4341         * frame.h: Added FRAME_DISPLAY_P and friends.
4342         Aligned backslahes in many macros in more readable fashion.
4343         Added page_number to struct frame, and an accessor macro
4344         for it.
4345
4346         * defice.h: Added DEVICE_DISPLAY_P and friends.
4347
4348         * device.c (Fdevice_printer_p): Used these.
4349
4350         * frame.c (allocate_frame_core): Initialize page number.
4351         (Fprint_job_page_number):
4352         (Fprint_job_eject_page): Implemented.
4353
4354         * frame-msw.c (msprinter_eject_page): Added method.
4355         (msprinter_start_page): Added.
4356
4357         * window.c (Fwindow_truncated_p): Fixed docstring.
4358         (Fwindow_last_line_visible_height): Implemented.
4359
4360 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4361
4362         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
4363
4364 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
4365
4366         * syntax.c (scan_words): Always advance at least one character.
4367
4368 2000-02-13  Andy Piper  <andy@xemacs.org>
4369
4370         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
4371         to make sure the glyph is in the cachels.
4372
4373         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
4374         global image instance flag.
4375         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
4376         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
4377
4378         * glyphs.c (allocate_image_instance): set dirty bits correctly.
4379         (Fset_image_instance_property): mark layout as changed.
4380         (invalidate_glyph_geometry_maybe): mark layout as changed.
4381         (glyph_width): use new NEEDS_LAYOUT macro.
4382         (glyph_ascent): ditto.
4383         (glyph_descent): ditto.
4384         (glyph_height): ditto.
4385         (image_instance_layout): mark layout as clean after laying out.
4386         (update_subwindow): don't mark layout as clean here.
4387
4388         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
4389         should no longer be needed.
4390
4391         * glyphs-x.c (x_update_widget): sanitize asserts.
4392         (x_finalize_image_instance): sanitize assignment to widgets.
4393
4394         * glyphs-widget.c (widget_instantiate): don't need to clear the
4395         layout flag here.
4396
4397 2000-02-13  Martin Buchholz  <martin@xemacs.org>
4398
4399         * sysdep.c (getcwd): Use standard prototype.
4400         * sysdep.h (getcwd): Use standard prototype.
4401
4402         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
4403         (sequence, start, end).
4404         Remove redundant type checking.
4405         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
4406         view of `caller-protects') to avoid a crash where the real fix was
4407         found elsewhere.
4408
4409 2000-02-12  Martin Buchholz  <martin@xemacs.org>
4410
4411         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
4412
4413         * s/sol2.h: Remove feature macro initialization.
4414
4415         * alloc.c (alloc_lcrecord): Add more type checking assertions.
4416         (vector_hash): New.  Code from internal_hash.
4417         * lrecord.h:
4418         Fix up allocation subsystem comments.
4419
4420         * config.h.in: Add __EXTENSIONS__ for Solaris.
4421
4422         * systime.h (EMACS_GETTIMEOFDAY): New.
4423         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
4424         Remove Solaris-specific code.
4425         Use void* for the (ignored) second arg for gettimeofday().
4426
4427         * elhash.c (hash_table_hash): Implement it, finally.
4428         * elhash.c:  Use hashcode_t.
4429
4430         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
4431         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
4432
4433         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
4434         * fns.c (size_bit_vector):
4435         * alloc.c (size_vector):
4436         (make_vector_internal):
4437         (make_bit_vector_internal):
4438         (sweep_bit_vectors_1):
4439         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
4440
4441 2000-02-10  Martin Buchholz  <martin@xemacs.org>
4442
4443         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
4444         Include strings.h to avoid warnings for bzero and strcasecmp.
4445
4446 2000-02-10  Olivier Galibert  <galibert@pobox.com>
4447
4448         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
4449         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
4450
4451         * fns.c (size_bit_vector): New.  Declare bit vectors as a
4452         sequence.
4453
4454 2000-02-10  Olivier Galibert  <galibert@pobox.com>
4455
4456         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
4457         use a value field instead.
4458         (symbol_value_forward_forward): Use value field.
4459         (DEFVAR_SYMVAL_FWD): Use value field.
4460         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
4461         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
4462         (DEFVAR_CONST_INT): Ditto.
4463         (DEFVAR_BOOL): Ditto.
4464         (DEFVAR_CONST_BOOL): Ditto.
4465         (DEFVAR_INT_MAGIC): Ditto.
4466         (DEFVAR_BOOL_MAGIC): Ditto.
4467
4468         * symbols.c (guts_of_unbound_marker): Use value field.
4469         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
4470         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
4471
4472         * lisp.h: Declare dumpopaque and noninteractive1.
4473
4474         * alloc.c (dumpopaque): Added.
4475         (pdump_dump_opaquevec): Added.
4476         (pdump): Call pdump_dump_opaquevec to dump opaque data.
4477         (pdump_load): Reload opaque data.  Sync noninteractive1 with
4478         noninteractive.
4479
4480 2000-02-10  Andy Piper  <andy@xemacs.org>
4481
4482         * glyphs.c (image_instance_layout): if the size changes, mark it
4483         as such.
4484
4485         * redisplay-output.c (redisplay_output_layout): Update the
4486         subwindow here.
4487         (redisplay_output_subwindow): ditto.
4488
4489         * glyphs.c (update_subwindow): make sure we reset flags for
4490         layouts as well as everything else.
4491
4492         * glyphs-widget.c (layout_layout): don't need to set the instances
4493         dimensions here.
4494
4495 2000-02-09  Martin Buchholz  <martin@xemacs.org>
4496
4497         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
4498         not HAVE_DLOPEN, which is a lower-level thing.
4499
4500         * .cvsignore: Ignore gmon.out
4501
4502 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
4503
4504         * .cvsignore: Ignore portable dumper xemacs.dmp file
4505
4506 2000-02-09  Andy Piper  <andy@xemacs.org>
4507
4508         * redisplay-output.c (redisplay_output_layout): be more clever
4509         about when we output based on the changed flags.
4510
4511         * glyphs.h (struct image_instantiator_methods): add update_method.
4512         (struct Lisp_Image_Instance): add changed flags. Declare new
4513         macros for manipulating them.
4514
4515         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
4516         (image_instance_parent_glyph): find an image_instance's parent
4517         glyph or image_instance.
4518         (image_instance_layout): mark the size as changed.
4519         (set_image_instance_dirty_p): new function. mark an image
4520         instance, plus all of its parents, as dirty.
4521         (Fset_image_instance_property): use it.
4522         (Fglyph_animated_timeout_handler): use it.
4523         (update_subwindow): call update_widget and device methods for
4524         update_subwindow. Mark all changed flags as clean.
4525         (Fresize_subwindow): mark size as changed.
4526
4527         * glyphs-x.c (x_finalize_image_instance): try and detect gc
4528         failures.
4529         (x_update_subwindow): only resize subwindows here.
4530         (x_update_widget): new function. Update all changed properties of
4531         a widget.
4532         (x_resize_subwindow): deleted.
4533         (x_widget_set_property): deleted.
4534         (x_progress_gauge_set_property): deleted.
4535         (x_progress_gauge_update): new function. Implement recorded
4536         changes.
4537         (x_tab_control_update): ditto.
4538         (x_tab_control_set_property): deleted.
4539         (console_type_create_glyphs_x): declare new functions.
4540         (image_instantiator_format_create_glyphs_x): ditto.
4541
4542         * glyphs-widget.c (widget_set_property): mark text changed.
4543         (update_widget): new function. Update properties of a widget.
4544         (widget_instantiate): for layouts make sure we set their
4545         children's parent correctly.
4546         (tab_control_set_property): new function. Record changes that will
4547         take place under redisplay's control.
4548         (progress_gauge_set_property): ditto.
4549         (image_instantiator_progress_guage): declare new functions.
4550         (image_instantiator_tab_control): ditto.
4551
4552         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
4553         now.
4554         (mswindows_update_widget): new function. Update all properties on
4555         a widget that have changed.
4556         (mswindows_button_update): new function. Update a button's set
4557         state.
4558         (mswindows_tab_control_update): new function. Update the items in
4559         a tab.
4560         (mswindows_tab_control_set_property): deleted.
4561         (mswindows_progress_gauge_update): new function. Update the
4562         progress gauge's progress.
4563         (mswindows_widget_set_property): deleted. This is all done
4564         asynchronously now.
4565         (mswindows_progress_gauge_set_property): ditto.
4566         (console_type_create_glyphs_mswindows): declare new methods.
4567         (image_instantiator_format_create_glyphs_mswindows): ditto.
4568
4569         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
4570         (msprinter_set_frame_properties): ditto.
4571
4572         * console.h (struct console_methods): Add update_widget_method.
4573
4574 2000-02-09  Andy Piper  <andy@xemacs.org>
4575
4576         * gui-msw.c (Fmswindows_shell_execute): Make
4577         mswindows-shell-execute industrial strength.
4578
4579 2000-02-08  Martin Buchholz  <martin@xemacs.org>
4580
4581         * lrecord.h: Make macro argument `props' match member function `plist'.
4582         * fns.c (Fget):
4583         * fns.c (Fput):
4584         * fns.c (Fremprop):
4585         * fns.c (Fobject_plist):
4586         * alloc.c:
4587         * symbols.c:
4588         Object property list frobbing cleanup.
4589         - Allow any lisp object (compared with `eq'), not just symbols, as
4590           keys in object plists.
4591         - Move symbol plist frobbing into symbols.c, where it belongs.
4592         - Move string plist frobbing into alloc.c, where it belongs.
4593         - Everything's an lrecord now, so no need to test for symbolp, etc.
4594         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
4595
4596         * extents.c: Reorder code to remove declarations.
4597
4598         * frame.h (store_in_alist): Remove useless declaration.
4599
4600 2000-02-07  Martin Buchholz  <martin@xemacs.org>
4601
4602         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
4603         * config.h.in: Add HAVE_XCONVERTCASE.
4604
4605 2000-02-07  Andy Piper  <andy@xemacs.org>
4606
4607         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
4608         it breaks many things.
4609
4610 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
4611
4612         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
4613         actually can start a common comment type.
4614         * src/syntax.h (SYNTAX_END_P): ditto for end.
4615
4616 2000-02-07  Martin Buchholz <martin@xemacs.org>
4617
4618         * XEmacs 21.2.28 is released.
4619
4620 2000-02-06  Martin Buchholz  <martin@xemacs.org>
4621
4622         * event-Xt.c (x_keysym_to_character): New.
4623         (maybe_define_x_key_as_self_inserting_character): New.
4624         (x_has_keysym): New.
4625         Auto-define all keys on the keyboard as self-insert-key.
4626
4627 2000-02-02  Martin Buchholz  <martin@xemacs.org>
4628
4629         * menubar.c (vars_of_menubar): A small code simplification.
4630
4631         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
4632
4633         * ExternalShell.c:
4634         * ExternalClient.c:
4635         * EmacsShell-sub.c:
4636         * EmacsManager.c:
4637         * EmacsFrame.c:
4638         Use consistent style for specifying X resources.
4639
4640         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
4641         This makes (dontusethis-set-symbol-value-handler) actually usable.
4642
4643         * lrecord.h (lrecord_decription_type):
4644         * alloc.c (pdump_register_sub):
4645         (pdump_dump_data):
4646         (pdump_reloc_one):
4647         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
4648         Comply with XEmacs coding style.
4649         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
4650         args, and XD_LISP_OBJECT_ARRAY with 3 args.
4651
4652         * keymap.c (Faccessible_keymaps):
4653         Make (accessible-keymaps map "\C-h") do the Right Thing.
4654         Make (accessible-keymaps map []) do the Right Thing.
4655         Make (accessible-keymaps map "") do the Right Thing.
4656         (check_keymap_definition_loop): New function.
4657         (keymap_store_internal): Keep luser from shooting self in foot,
4658           via (define-key ctl-x-4-map "p" global-map).
4659         Remove fullness slot from struct Lisp_Keymap, since hash tables
4660         are now reliable.
4661         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
4662
4663 2000-01-30  Martin Buchholz  <martin@xemacs.org>
4664
4665         * redisplay.c (init_redisplay): Fix small memory leak.
4666         * elhash.h:
4667         * elhash.c (pdump_reorganize_hash_table):
4668         Rename from reorganize_hash_table. Change prototype.
4669         Reuse the original memory for hentries.  Save 100k.
4670         * alloc.c (PDUMP_READ): new macro.
4671         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
4672         * alloc.c: No need to #ifndef before #undef.
4673
4674         * print.c: Allow debug_print() to print readably by modifying
4675         debug_print_readably.  Use consistent variable names.
4676
4677         * .dbxrc: Try to get things to work even if stopped in a function
4678         without source available by explicitly specifying source files.
4679 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4680
4681         * unexnt.c (_start): Removed bogus code which caused loading heap
4682         from differrent executable file.
4683         Removed bogus assignment to _fmode, which caused inconsistencies.
4684
4685 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4686
4687         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
4688         Have spawnve encapsulation regard DONT_ENCAPSULATE.
4689         Do not preliminary `#define signal sigset'.
4690
4691         * systime.h: Do not prototype environ on windows nt and cygwin,
4692         this conflicts with system header.
4693
4694         * syssignal.h: Use correct define for WINDOWSNT
4695
4696         * sysdep.h: Do not prototype environ on windows nt, this conflicts
4697         with system header.
4698
4699         * sysdep.c (near start of file): Fixed commentary and rearranged
4700         ifdefs in readable order.
4701         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
4702         (start_of_text):
4703         (end_of_text):
4704         (end_of_data): Do not compile in if using PDUMP.
4705
4706         * symsinit.h: Protptyped vars_of_nt().
4707
4708         * ntproc.c (windows9x_p): Added, instead of os_subtype.
4709         (find_child_console): Use it.
4710         (sys_kill): Use it.
4711
4712         * ntheap.h: Do not extern os_subtype.
4713
4714         * ntheap.c (cache_system_info): Do not cache unneeded:
4715         nt_major_version, nt_minor_version and os_subtype.
4716         (recreate_heap): Do not compile in when PDUMPing.
4717
4718         * nt.c (geteuid and friends): Use the new varibale
4719         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
4720         (init_user_info): Removed the above mentioned hackery.
4721         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
4722         stat has been fixed in the C runtime.
4723         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
4724
4725         * file-coding.c (struct file_coding_dump): Do not define
4726         ucs_to_mule_table in the struct if not MULE.
4727         (struct struct lrecord_description fcd_description_1): Do not dump
4728         the above.
4729
4730         * emacs.c (main_1): Call vars_of_nt().
4731         (right before Fdump_emacs_data): Don't need lastfile if using both
4732         portabe dumper and system malloc.
4733
4734         * alloc.c (Fmemory_limit): Conditionalized out.
4735         (pdump): Use OPEN_BINARY for the portable dump file.
4736         (pdump_load): Ditto.
4737
4738 2000-02-02  Mike Alexander  <mta@arbortext.com>
4739
4740         * nt.c (convert_time): Set tm_isdst before calling mktime and
4741         avoid calling it at all if the compiler supports 64 bit integers.
4742         Also initialize utc_base_ft before using it.
4743
4744 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
4745
4746         * frame.c (change_frame_size_1): Take f->internal_border_width
4747         into consideration when calculating the width of the frame.
4748
4749 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4750
4751         * window.c (frame_min_height):
4752         (frame_size_valid_p):
4753         (frame_pixsize_valid_p): Added.
4754         (check_frame_size): Generalized.
4755
4756         * window.h: Prototyped the above.
4757
4758         * lisp.h:
4759         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
4760         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
4761         Deleted Vwin32_* and Vbinary_process_* unused variables.
4762
4763         * device-msw.c (msprinter_init_device): Do not get printer font
4764         list; Added DEVMODE functions.
4765
4766         * frame-msw.c: Added lots of printer code.
4767
4768         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
4769         general.c.
4770
4771         * console-msw.h: Added more msprinter device private slots.
4772
4773 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4774
4775         * event-msw.c (key_needs_default_processing_p): Added.
4776         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
4777
4778 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4779
4780         * glyphs.c (image_instance_layout): Mark image instance as clean
4781         after layout.
4782         (glyph_dirty_p): Removed redundant function.
4783         (invalidate_glyph_geometry_maybe): Added.
4784         (update_glyph_cachel_data): Call it.
4785
4786         * glyphs.h: Prototyped it.
4787
4788         * redisplay.c (add_glyph_rune): Call it.
4789         (redisplay_window): Reset glyphs cachels when frame faces has
4790         changed, thus forcing recomputation of built-in border glyphs.
4791
4792 2000-01-30  Martin Buchholz  <martin@xemacs.org>
4793
4794         * Makefile.in.in: Make portable dumper and purify play well together.
4795         Add imperfect, but better than nothing, support for pdump.
4796         Remove xemacs.dmp when temacs is re-generated.
4797         Don't ignore errors when dumping xemacs.
4798
4799         * symbols.c (maybe_call_magic_handler): Remove one magic number.
4800
4801 2000-01-28  Andy Piper  <andy@xemacs.org>
4802
4803         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
4804         (setup_normal_frame): ditto.
4805         (setup_frame_without_minibuffer): ditto.
4806         (setup_minibuffer_frame): ditto.
4807         (delete_frame_internal): ditto.
4808         (Fmake_frame_invisible): ditto.
4809         (Ficonify_frame): ditto.
4810
4811         * window.h: change Fset_window_buffer signature.
4812
4813         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
4814         (Fset_window_buffer): allow recording of buffer if the window is
4815         the selected window.
4816         (window_loop): Use new Fset_window signature.
4817
4818 2000-01-23  Daniel Pittman  <daniel@danann.net>
4819
4820         * config.h.in: Added template for `HAVE_ATHENA_3D'
4821
4822 2000-01-29  Andy Piper  <andy@xemacs.org>
4823
4824         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
4825
4826         * gutter.c (output_gutter): Don't output if the window isn't live.
4827
4828 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4829
4830         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
4831         of 01/12/00: Moved SetFocus back here where it belongs.
4832
4833 2000-01-23  Andy Piper  <andy@xemacs.org>
4834
4835         * s/cygwin32.h: declare printer things.
4836
4837 2000-01-26  Andy Piper  <andy@xemacs.org>
4838
4839         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
4840         Alexander.
4841
4842 2000-01-24  Andy Piper  <andy@xemacs.org>
4843
4844         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
4845         (mswindows_button_instantiate): Make sure glyph is a pixmap.
4846
4847         * glyphs-widget.c (widget_instantiate): Avoid shadows.
4848
4849         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
4850
4851         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
4852
4853         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
4854         (mswindows_output_display_block): Avoid local shadows.
4855
4856         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
4857         (mswindows_enqueue_mouse_button_event): ditto.
4858         (mswindows_handle_gui_wm_command): remove declaration.
4859
4860         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
4861         warnings.
4862
4863         * console-msw.h: Avoid shadows.
4864         (mswindows_get_toolbar_button_text):
4865         (emacs_mswindows_create_stream_pair):
4866         (emacs_mswindows_delete_stream_pair):
4867         (mswindows_handle_toolbar_wm_command): declare.
4868
4869         * device-msw.c (build_syscolor_string): Avoid shadows.
4870
4871 2000-01-23  Andy Piper  <andy@xemacs.org>
4872
4873         * glyphs-widget.c (widget_instantiate): reverse the items for
4874         layouts so that children are in the expected order.
4875
4876 2000-01-28  Martin Buchholz  <martin@xemacs.org>
4877
4878         * ralloc.c: safe_bcopy ==> memmove
4879         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
4880         * s/msdos.h: Remove BCOPY macros.
4881         * insdel.c (gap_right): Remove BCOPY conditional code.
4882         * insdel.c (gap_left): Remove BCOPY conditional code.
4883         XEmacs demands a working ANSI C compiler - hence memmove.
4884
4885         * regex.c (regex_compile): Remove accidental use of trigraphs.
4886
4887 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4888
4889         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
4890         event timestamp.
4891
4892 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4893
4894         * event-msw.c (mswindows_drain_windows_queue): Added the
4895         parameter.
4896         (mswindows_need_event): Commented the call to
4897         mswindows_drain_windows_queue().
4898         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
4899         only.
4900
4901         * console-msw.h: Moved a few function prototypes here from
4902         event-msw.c.
4903
4904         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
4905         parameter from unsigned short to unsigned long.
4906         (Fmswindows_shell_execute): Added return value.
4907
4908 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
4909
4910         * sysdep.c (init_system_name):
4911           process-unix.c (unix_canonicalized_host_name):
4912         Don't call freeaddrinfo() if getaddrinfo() fails.
4913
4914         * process-unix.c (unix_open_unix_network_stream):
4915         Moved the code to get a port # into address loop.
4916
4917 2000-01-27  Martin Buchholz  <martin@xemacs.org>
4918
4919         * buffer.c (reinit_vars_of_buffer):
4920         The right place to initialize conversion_in_dynarr and
4921         conversion_out_dynarr.
4922
4923         * alloc.c (pdump): Use the real open() till sys_open() is functional.
4924
4925         * process-unix.c (unix_canonicalize_host_name): Muleize.
4926         (unix_open_network_stream): Muleize.
4927
4928         * buffer.h: Fix up prototypes for ralloc.c functions.
4929
4930 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
4931         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
4932         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
4933                 instead of gethostbyname()
4934         * process-unix.c: In unix_canonicalize_host_name() and
4935                 unix_open_network_stream(), add code to use getaddrinfo()
4936                 instead of gethostbyname().
4937
4938 2000-01-27  Daniel Pittman <daniel@danann.net>
4939
4940         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
4941         libs when built with flat Athena.
4942
4943 2000-01-27  Martin Buchholz  <martin@xemacs.org>
4944
4945         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
4946         Use coding standards for function prototypes.
4947
4948 2000-01-25  Martin Buchholz  <martin@xemacs.org>
4949
4950         * dialog-msw.c (push_lisp_string_as_unicode):
4951         * doc.c (unparesseuxify_doc_string):
4952         * dired.c (Fuser_name_completion_1):
4953         * dired.c (Fuser_name_all_completions):
4954         * dired.c (free_user_cache):
4955         * dired.c (user_name_completion):
4956         * console-x.c (get_display_arg_connection):
4957         * minibuf.c (clear_echo_area_internal):
4958         * minibuf.c (echo_area_append):
4959         * eldap.c (Fldap_open):
4960         * eldap.c (Fldap_search_internal):
4961         * frame-x.c (x_set_frame_text_value):
4962         * frame-x.c (x_set_frame_properties):
4963         * frame-x.c (x_create_widgets):
4964         * redisplay-tty.c (term_get_fkeys_1):
4965         * objects-x.c (x_parse_nearest_color):
4966         * objects-x.c (x_valid_color_name_p):
4967         * objects-x.c (x_initialize_font_instance):
4968         * objects-x.c (x_list_fonts):
4969         * objects-x.c (x_find_charset_font):
4970         * tooltalk.c (Fadd_tooltalk_message_arg):
4971         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
4972         * tooltalk.c (Fadd_tooltalk_pattern_arg):
4973         * process-unix.c (unix_create_process):
4974         * ntproc.c (sys_spawnve):
4975         * sound.c (Fplay_sound_file):
4976         * sound.c (Fplay_sound):
4977         * buffer.c (init_initial_directory):
4978         * buffer.c (init_buffer):
4979         * editfns.c (init_editfns):
4980         * editfns.c (Ftemp_directory):
4981         * editfns.c (Fuser_full_name):
4982         * editfns.c (uncache_home_directory):
4983         * editfns.c (get_home_directory):
4984         * editfns.c (Fuser_home_directory):
4985         * editfns.c (Fformat_time_string):
4986         * editfns.c (Fcurrent_time_string):
4987         * gui-x.c (button_item_to_widget_value):
4988         * database.c (Fopen_database):
4989         * event-Xt.c (x_to_emacs_keysym):
4990         * event-Xt.c (x_event_to_emacs_event):
4991         * event-Xt.c (describe_event_window):
4992         * event-msw.c (mswindows_wnd_proc):
4993         * glyphs-eimage.c (jpeg_instantiate):
4994         * glyphs-eimage.c (gif_instantiate):
4995         * glyphs-eimage.c (png_instantiate):
4996         * glyphs-eimage.c (tiff_instantiate):
4997         * glyphs-x.c (xbm_instantiate_1):
4998         * glyphs-x.c (x_xbm_instantiate):
4999         * glyphs-x.c (x_xface_instantiate):
5000         * glyphs-x.c (autodetect_instantiate):
5001         * glyphs-x.c (cursor_font_instantiate):
5002         * glyphs-x.c (x_widget_instantiate):
5003         * glyphs-x.c (x_widget_set_property):
5004         * glyphs-x.c (x_widget_property):
5005         * glyphs-x.c (BUILD_GLYPH_INST):
5006         * print.c (write_string_to_stdio_stream):
5007         * print.c (output_string):
5008         * print.c (Falternate_debugging_output):
5009         * print.c (Fexternal_debugging_output):
5010         * glyphs-msw.c (extract_xpm_color_names):
5011         * glyphs-msw.c (mswindows_xpm_instantiate):
5012         * glyphs-msw.c (bmp_instantiate):
5013         * glyphs-msw.c (resource_name_to_resource):
5014         * glyphs-msw.c (mswindows_resource_instantiate):
5015         * glyphs-msw.c (xbm_instantiate_1):
5016         * glyphs-msw.c (mswindows_xbm_instantiate):
5017         * glyphs-msw.c (mswindows_xface_instantiate):
5018         * glyphs-msw.c (mswindows_widget_instantiate):
5019         * glyphs-msw.c (add_tree_item):
5020         * glyphs-msw.c (add_tab_item):
5021         * glyphs-msw.c (mswindows_combo_box_instantiate):
5022         * glyphs-msw.c (mswindows_widget_property):
5023         * glyphs-msw.c (mswindows_combo_box_property):
5024         * glyphs-msw.c (mswindows_widget_set_property):
5025         * console.c (stuff_buffered_input):
5026         * objects-msw.c (mswindows_initialize_color_instance):
5027         * objects-msw.c (mswindows_valid_color_name_p):
5028         * objects-msw.c (mswindows_list_fonts):
5029         * objects-msw.c (mswindows_font_instance_truename):
5030         * bytecode.c (optimize_compiled_function):
5031         * select-x.c (symbol_to_x_atom):
5032         * select-x.c (x_atom_to_symbol):
5033         * select-x.c (hack_motif_clipboard_selection):
5034         * select-x.c (selection_data_to_lisp_data):
5035         * select-x.c (lisp_data_to_selection_data):
5036         * select-x.c (Fx_get_cutbuffer_internal):
5037         * select-x.c (Fx_store_cutbuffer_internal):
5038         * buffer.h (TO_EXTERNAL_FORMAT): New function.
5039         * buffer.h (TO_INTERNAL_FORMAT): New function.
5040         * emacs.c (make_arg_list_1):
5041         * emacs.c (make_argc_argv):
5042         * emacs.c (main_1):
5043         * emacs.c (Fdump_emacs):
5044         * emacs.c (split_string_by_emchar_1):
5045         * file-coding.h:
5046         * lisp.h:
5047         * lstream.h:
5048         * symsinit.h:
5049         * device-x.c (x_init_device):
5050         * device-x.c (Fx_valid_keysym_name_p):
5051         * device-x.c (Fx_get_font_path):
5052         * device-x.c (Fx_set_font_path):
5053         * glyphs.c (bitmap_to_lisp_data):
5054         * glyphs.c (pixmap_to_lisp_data):
5055         * alloc.c (make_ext_string): Use coding system arguments.  Update
5056         all callers.
5057         * alloc.c (build_string):
5058         * callproc.c (child_setup):
5059         * callproc.c (init_callproc):
5060         * fileio.c (lisp_strerror):
5061         * fileio.c (directory_file_name):
5062         * fileio.c (Fexpand_file_name):
5063         * fileio.c (Ffile_truename):
5064         * fileio.c (Fsysnetunam):
5065         * fileio.c (Fdo_auto_save):
5066         * sysdep.c (sys_readdir):
5067         * tests.c: New file.  Allow adding C tests.
5068         Replace GET_* macros with a more comprehensible and flexible
5069         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
5070         Modify all calls.
5071         Any coding system can be used to do format conversion.
5072         Eliminate enum external_data_format.
5073         Eliminate convert_to_external_format.
5074         Eliminate convert_to_internal_format.
5075         Make sure file-name, keyboard, terminal, and ctext are always
5076         defined as coding systems or aliases.  Make
5077         file-name-coding-system, terminal-coding-system, and
5078         keyboard-coding-system magical variables that are equivalent to
5079         defining the corresponding coding system aliases.
5080
5081         * file-coding.c (Fcoding_system_canonical_name_p): New function.
5082         * file-coding.c (Fcoding_system_alias_p): New function.
5083         * file-coding.c (Fcoding_system_aliasee): New function.
5084         * file-coding.c (append_suffix_to_symbol): New function.
5085         * file-coding.c (dangling_coding_system_alias_p): New function.
5086         * file-coding.c (Ffind_coding_system):
5087         * file-coding.c (Fcopy_coding_system):
5088         * file-coding.c (encode_coding_no_conversion):
5089         * file-coding.c (syms_of_file_coding):
5090         * file-coding.c (vars_of_file_coding):
5091         Rewrite coding system alias code.
5092         Allow nested aliases, like symbolic links.
5093         Allow redefinition of coding system aliases.
5094         Prevent existence of dangling coding system aliases.
5095
5096         * dired.c (Fuser_name_completion_1):
5097         * dired.c (Fuser_name_all_completions):
5098         A crash would happen if user did QUIT in the middle of building
5099         user_name_cache.  Remove redundant code in mainline and unwind_protect.
5100
5101         * lisp.h:
5102         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
5103
5104         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
5105         an unsigned char *.  Update all callers.
5106
5107 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5108
5109         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
5110
5111 2000-01-25  Martin Buchholz  <martin@xemacs.org>
5112
5113         * elhash.c (hentry_description): Use more portable definition.
5114         (resize_hash_table): Initialize new hentries using
5115         xnew_array_and_zero, thereby simplifying the code.
5116
5117         * mule-charset.c (make_charset): Make sure entire object is
5118         intialized, to avoid Purify warnings.
5119
5120         * alloc.c (resize_string): Fix unlikely crash with big strings.
5121
5122 2000-01-24  Martin Buchholz  <martin@xemacs.org>
5123
5124         * realpath.c (xrealpath):
5125         Don't call getwd().
5126
5127 2000-01-25  Martin Buchholz  <martin@xemacs.org>
5128
5129         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
5130
5131 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
5132
5133         * unexelfsgi.c (unexec): Change the way we decide which segment
5134         should be extended.
5135
5136         Assumption that .bss section should be outside the PT_LOADable
5137         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
5138         it's present) is inside the 'data' segment. This would fail the
5139         test which was used to find a segment to grow and cover new
5140         heap. Instead of this assumption, I created another one - on IRIX
5141         the segment to grow should start below .bss and it's address
5142         should extent above the end of .bss. Once this segment is
5143         identified, it's grown to accommodate the new heap and new
5144         zero-length .bss section is added at the end of .data2.
5145
5146 2000-01-25  Martin Buchholz  <martin@xemacs.org>
5147
5148         * eval.c (Feval): Wrong number of arguments should use original
5149         function, not the indirect_function version of it.
5150
5151 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5152
5153         * glyphs-x.c (x_button_instantiate): Don't add image if
5154         it is not a pixmap.
5155         (x_locate_pixmap_file): Call Fexpand_file_name when file name
5156         is relative.
5157
5158 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5159
5160         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
5161         declaration.
5162         (DEFVAR_INT_MAGIC): Ditto.
5163         (DEFVAR_BOOL_MAGIC): Ditto.
5164         * glyphs.h: Reindent backslash.
5165
5166 2000-01-24  Martin Buchholz  <martin@xemacs.org>
5167
5168         * glyphs-widget.c (layout_query_geometry):
5169         (layout_layout): Use correct types for gheight, gwidth.
5170
5171 2000-01-24  Martin Buchholz  <martin@xemacs.org>
5172
5173         * EmacsManager.c (QueryGeometry): Purified.
5174
5175 2000-01-23  Martin Buchholz  <martin@xemacs.org>
5176
5177         * alloc.c (make_float): Make sure entire object is intialized, to
5178         avoid Purify warnings.
5179         (pdump_register_sub): Remove useless assignment.
5180         (pdump): Use xmalloc, not malloc.
5181         (pdump_load): Use xmalloc, not malloc.
5182
5183 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5184
5185         * callproc.c:
5186         * dired-msw.c:
5187         * fileio.c:
5188         * process-nt.c:
5189         * redisplay-msw.c:
5190         * sysdep.c: Removed redundant #include <windows.h>
5191
5192 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5193
5194         * frame.c (delete_frame_internal): Do not delete device when its
5195         implementation so declares.
5196         (delete_frame_internal): Set device selected frame to nil when
5197         last frame goes away.
5198
5199         * device-msw.c (msprinter_device_system_metrics): Implemented.
5200         (mswindows_device_system_metrics): Added 'device-dpi property.
5201
5202         * device.c: (Fdevice_printer_p): Added.
5203         Added 'offset-workspace device metric.
5204
5205         * console.h (device_metrics): Declared DM_offset_workspace.
5206
5207 2000-01-23  Martin Buchholz  <martin@xemacs.org>
5208
5209         * fileio.c (Ffile_truename): Remove pointless and confusing
5210         initialization of elen.
5211
5212         * glyphs-widget.c: Compiler warning fixes.
5213
5214 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5215
5216         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
5217         instead of a Lisp_Object as argument to make it consistent with
5218         the other LIVE_P macros.
5219         (CHECK_LIVE_PROCESS): New macro.
5220
5221         * process.c: Declare Qprocess_live_p.
5222         (Fprocess_live_p): New function.
5223         (create_process): Use PROCESS_LIVE_P.
5224         (read_process_output): Ditto.
5225         (set_process_filter): Ditto.
5226         (Fdelete_process): Ditto.
5227         (kill_buffer_processes): Ditto
5228         (process_send_signal): Use CHECK_LIVE_PROCESS.
5229         (Fprocess_input_coding_system): Check whether process is still
5230         alive (fix PR#1061).
5231         (Fprocess_output_coding_system): Ditto.
5232         (Fprocess_coding_system): Ditto.
5233         (Fset_process_input_coding_system): Ditto.
5234         (Fset_process_output_coding_system): Ditto.
5235
5236 2000-01-23  Andy Piper  <andy@xemacs.org>
5237
5238         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
5239         layout and widget.
5240
5241         * glyphs.c (mark_image_instance): take into account changed
5242         image_instance format.
5243         (image_instance_equal): ditto.
5244         (image_instance_hash): ditto.
5245
5246         * glyphs-widget.c (widget_instantiate): Incorporate layout
5247         instantiation here. Delay layout of the layout until later.
5248         (layout_instantiate): deleted.
5249         (layout_query_geometry): new function. get the geometry of a
5250         layout.
5251         (layout_layout): layout a layout dynamically.
5252         (image_instantiator_widget): New function - splitting up
5253         image_instantiator_format_create_glyphs_widget for netwinder
5254         compilation.
5255         (image_instantiator_buttons):
5256         (image_instantiator_edit_fields):
5257         (image_instantiator_combo_box):
5258         (image_instantiator_scrollbar):
5259         (image_instantiator_progress_guage):
5260         (image_instantiator_tree_view):
5261         (image_instantiator_tab_control):
5262         (image_instantiator_labels):
5263         (image_instantiator_layout): ditto.
5264         (image_instantiator_format_create_glyphs_widget): Call preceeding
5265         functions.
5266
5267 2000-01-22  Martin Buchholz  <martin@xemacs.org>
5268
5269         * process.c (Fset_process_coding_system):
5270         * device-x.c (Fx_keysym_hash_table):
5271         Docstring fixes.
5272
5273         * lstream.c (Lstream_write): Return documented value, not 0.
5274
5275         * fileio.c (directory_file_name):
5276         (Fsubstitute_in_file_name):
5277         (Fsubstitute_insert_file_contents_internal):
5278         (Fwrite_region_internal):
5279         * emacs.c:
5280         * sysdep.c:
5281         * getloadavg.c:
5282         * systty.h:
5283         Remove vestigial APOLLO-conditional code.
5284
5285 2000-01-21  Martin Buchholz  <martin@xemacs.org>
5286
5287         * getpagesize.h: Add guard macros.
5288         * libsst.h: Add guard macros.
5289         * libst.h: Add guard macros.
5290         * line-number.h: Add guard macros.
5291         * ndir.h: Add guard macros.
5292         * sysfloat.h: Add guard macros.
5293         * sysfile.h: Add guard macros.
5294         * sysproc.h: Add guard macros.
5295         * syswait.h: Add guard macros.
5296         * xintrinsic.h: Add guard macros.
5297         * xintrinsicp.h: Add guard macros.
5298         * xmmanager.h: Add guard macros.
5299         * xmmanagerp.h: Add guard macros.
5300         * xmprimitive.h: Add guard macros.
5301         * xmu.h: Add guard macros.
5302         * gpmevent.h: Add copyright statement. Add guard macros.
5303         * miscplay.h: Add guard macros.
5304         * *.h: Use consistent C-standards-approved guard macro names.
5305
5306         * opaque.c (make_opaque): Switch parameter order.
5307         * opaque.h (make_opaque): Switch parameter order.
5308         Update all callers.
5309         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
5310
5311         * config.h.in (type_checking_assert): Added.
5312         (bufpos_checking_assert): Added.
5313
5314 2000-01-21  Martin Buchholz  <martin@xemacs.org>
5315
5316         * alloc.c: Harmless pdump changes.
5317         - Use countof().
5318         - spell alignment correctly.
5319         * sysdep.c: Use countof()
5320
5321 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5322
5323         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
5324         initially_selected_for_input() console method, default to 0.
5325         (semi_canonicalize_console_connection): Try to delegate to
5326         canonicalize_console_connection if no such console method.
5327         (canonicalize_console_connection): Vice versa.
5328         (print_console): Do not print nil connection.
5329
5330         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
5331         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
5332         (XDEVIMPF_FRAMELESS_OK): Added.
5333         (CONSOLE_INHERITS_METHOD): Added.
5334
5335         * console-msw.c (mswindows_canonicalize_console_connection):
5336         Added.
5337         (mswindows_canonicalize_device_connection): Added.
5338
5339         * console-msw.h (struct msprinter_device): Added this struct and
5340         accessor macros.
5341         (mswindows_device): Made fontlist a lisp object.
5342
5343         * device.c (semi_canonicalize_device_connection):  Try to delegate
5344         to canonicalize_device_connection if no such console method.
5345         (canonicalize_device_connection): Vice versa.
5346         (print_device): Do not print nil connection.
5347
5348         * device-msw.c (mswindows_init_device): Call InitCommonControls
5349         when have widgets.
5350         (mswindows_delete_device): Removed fontlist deallocation.
5351         (mswindows_mark_device): Added.
5352
5353         * events.c (event_equal): Added abort() at unreached code.
5354         (event_hash): Ditto.
5355
5356         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
5357         fallback tags of Windows devices.
5358
5359         * general.c (syms_of_general): Initialized Qmsprinter.
5360
5361         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
5362         of fallback tags of Windows devices.
5363
5364         * lisp.h: Declared Qmsprinter.
5365
5366         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
5367         of strings.
5368         (mswindows_list_fonts): Ditto.
5369         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
5370         that it can be used by both mswindows and msprinter devices.
5371         (initialize_font_instance): Added.
5372         (mswindows_initialize_font_instance): Use it.
5373         (msprinter_initialize_font_instance): Added.
5374
5375         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
5376         and implementation flags check.
5377         (redisplay_without_hooks): Changed the call to the above.
5378         (Fredraw_device): Ditto.
5379         (Fredisplay_device): Ditto.
5380
5381         * redisplay-msw.c (get_frame_dc): Implemented.
5382         (get_frame_compdc): Implemented.
5383         (many functions): Use the two functions above to get device
5384         contexts, ether for a window or a printer.
5385
5386 2000-01-21  Olivier Galibert  <galibert@pobox.com>
5387
5388         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
5389         initialization here.
5390         (init_symbols_once_early): Call it.
5391         * emacs.c (main_1): Call it.
5392         * symsinit.h: Declare it.
5393
5394 2000-01-19  Olivier Galibert  <galibert@pobox.com>
5395
5396         * alloc.c: Use a lrecord_header * in the backtrace instead of a
5397         Lisp_Object.
5398         (pdump_backtrace): Ditto.
5399         (pdump_register_object): Ditto.  Cleanup use of the pointers.
5400         (pdump_get_entry): Abort if trying to register a null pointer.
5401         (pdump_dump_data): Cleanup types when relocating.
5402         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
5403         (pdump_dump_rtables): Remove bad casts.
5404         (pdump_load): Cleanup relocation w.r.t union type.  Use a
5405         Lisp_Object instead of a EMACS_INT for the hashtable
5406         reorganization.
5407
5408 2000-01-20  Martin Buchholz  <martin@xemacs.org>
5409
5410         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
5411
5412         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
5413
5414         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
5415
5416         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
5417
5418 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5419
5420         * faces.h (FACE_STRIKETHRU_P): Added.
5421
5422         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
5423         of font variants.
5424
5425         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
5426         (mswindows_set_dc_font): New function, aware of font variants,
5427         separated from mswindows_update_dc.
5428
5429         * objects-msw.h (struct mswindows_font_instance_data): Added
5430         definition.
5431
5432         * objects-msw.c (mswindows_finalize_font_instance): Delete all
5433         cached fonts and the data structure.
5434         (mswindows_initialize_font_instance): Added creation of font data
5435         structure.
5436         (mswindows_print_font_instance): Print at least something.
5437         (mswindows_create_font_variant): Implemented.
5438         (mswindows_get_hfont): Implemented.
5439
5440 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
5441
5442         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
5443         prototyping problem with msvc.
5444
5445         * emacs.c (main_1): added syms_of_gui_mswindows() call
5446
5447         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
5448         syms_of_gui_mswindows() function
5449
5450         * symsinit.h: added the prototype for syms_of_gui_mswindows()
5451
5452 2000-01-18  Martin Buchholz <martin@xemacs.org>
5453
5454         * XEmacs 21.2.27 is released.
5455
5456 2000-01-18  Martin Buchholz  <martin@xemacs.org>
5457
5458         * glyphs-eimage.c (struct tiff_error_struct):
5459         (tiff_error_func):
5460         (tiff_warning_func):
5461         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
5462
5463         * unexmips.c:
5464         * unexhp9k3.c:
5465         * unexfreebsd.c:
5466         * unexec.c: Remove vestigial Lucid C code.
5467         * unexalpha.c:
5468         * unexaix.c:
5469         * termcap.c:
5470         * libsst.c: Ansify.
5471         Remove declarations of errno and strerror().
5472
5473         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
5474
5475         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
5476
5477 2000-01-16  Martin Buchholz  <martin@xemacs.org>
5478
5479         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
5480         Optimize.
5481
5482 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5483
5484         * md5.c:
5485         * file-coding.c:
5486         * file-coding.h:
5487         Change enum eol_type to eol_type_t.
5488
5489 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5490
5491         * gui.c (get_gui_callback): Check cons before accessing car.
5492
5493 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5494
5495         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
5496         (XSETSPECIFIER_TYPE): Ditto.
5497
5498 2000-01-17  Didier Verna  <didier@xemacs.org>
5499
5500         * redisplay.c (generate_fstring_runes): compute string size in
5501         characters, not bytes.
5502
5503 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
5504
5505         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
5506
5507 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
5508
5509         * print.c (print_error_message): Call print_prepare().
5510
5511 2000-01-14  Martin Buchholz  <martin@xemacs.org>
5512
5513         * .dbxrc: Renamed from dbxrc.
5514
5515         * events.c (event_to_character):
5516         Use `assert (foo)' instead of `if (!foo) abort()'
5517
5518         * .gdbinit (xtype): Add documentation.
5519         * .gdbinit (check-temacs): New function.
5520         * .gdbinit (check-xemacs): New function.
5521         * dbxrc (check-xemacs): New function.
5522         * dbxrc (check-xemacs): New function.
5523
5524 2000-01-14  Andy Piper  <andy@xemacs.org>
5525
5526         * glyphs-widget.c (widget_query_geometry): Make sure that we
5527         calculate default dimensions correctly.
5528
5529 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5530
5531         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
5532
5533         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
5534         pdump_wire'd variable.
5535
5536         * emacs.c: (main_1): Conditionalized calls to
5537         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
5538
5539 2000-01-13  Martin Buchholz  <martin@xemacs.org>
5540
5541         * window.c (Fset_window_configuration):
5542         * sysdep.c (_start):
5543         * input-method-motif.c (res):
5544         * event-Xt.c (Xt_process_to_emacs_event):
5545         Simple compiler warning fixes.
5546
5547         * bytecode.c (funcall_compiled_function): Use the original
5548         function symbol on the backtrace list in preference to the
5549         compiled_function object in error messages.
5550
5551 2000-01-13  Andy Piper  <andy@xemacs.org>
5552
5553         * glyphs-x.c (update_widget_face): Make sure we update the widget
5554         background as well as foreground.
5555
5556 2000-01-13  Andy Piper  <andy@xemacs.org>
5557
5558         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
5559         fields to subwindow.
5560         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
5561         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
5562         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
5563         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
5564
5565         * glyphs-widget.c (check_valid_tab_orientation): new function.
5566         (initialize_widget_image_instance): zero orientation and
5567         justification.
5568         (widget_instantiate): pick up orientation.
5569         (tab_control_query_geometry): return appropriate values for
5570         vertical tabs.
5571
5572         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
5573         appropriate creation flags for left, right and bottom tabs.
5574
5575         * s/cygwin32.h: add tab definitions.
5576
5577 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5578
5579         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
5580         frame upon hiding a subwindow.
5581         (mswindows_button_instantiate): Changed the push button style to
5582         BS_PUSHBUTTON.
5583         (mswindows_button_instantiate): Removed button BS_NOTIFY
5584         style.
5585         (mswindows_button_instantiate): Removed redundant check for
5586         a disabled gui item.
5587         (mswindows_button_instantiate): Made use of WS_TABSTOP
5588         consistent: "operable" controls (edit, button, tree, scroll) have
5589         this style, "display-only" ones (static, progress gauge) do
5590         not. This style is currently ignored by XEmacs though. Also,
5591         removed the WS_EX_CONTROLPARENT style - it is not for children,
5592         it is for their parents!
5593         (mswindows_edit_field_instantiate): Ditto.
5594         (mswindows_progress_gauge_instantiate): Ditto.
5595         (mswindows_tree_view_instantiate): Ditto.
5596         (mswindows_tab_control_instantiate): Ditto.
5597         (mswindows_scrollbar_instantiate): Ditto.
5598         (mswindows_combo_box_instantiate): Ditto.
5599         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
5600         style to the "clip" window.
5601         (mswindows_button_instantiate): Removed compilation warning by
5602         equally typing terms of the ?: operator.
5603
5604 2000-01-12  Didier Verna  <didier@xemacs.org>
5605
5606         * redisplay.c (generate_fstring_runes): new parameter holding the
5607         last modeline-format extent.
5608         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
5609         extent, fill the glyph block with it.
5610         (generate_fstring_runes): handle these parameters.
5611         (generate_formatted_string_db): ditto.
5612
5613         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
5614         glyphs'extents in the modeline.
5615
5616 1999-01-11  Mike Woolley  <mike@bulsara.com>
5617
5618         * ntheap.c: Reduced the reserved heap space from 1Gb down to
5619         256Mb, as a workaround for the non-starting problem many people
5620         have experienced.
5621
5622 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5623
5624         * console-tty.c (Fset_console_tty_output_coding_system):
5625         Force redrawing tty frame.
5626
5627 2000-01-10  Didier Verna  <didier@xemacs.org>
5628
5629         * redisplay.c (generate_fstring_runes): fix size computation bug.
5630
5631 2000-01-09  William M. Perry <wmperry@aventail.com>
5632
5633         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
5634
5635 2000-01-09  Andy Piper  <andy@xemacs.org>
5636
5637         * glyphs-msw.c: index -> i to avoid shadows.
5638         (xbm_create_bitmap_from_data): make static.
5639         (check_valid_string_or_int): deleted.
5640         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
5641
5642         * glyphs-x.c (x_update_subwindow): remove unused args.
5643
5644         * glyphs.c (glyph_image_instance): return the thing. Don't set the
5645         back pointer - this is done in allocate_image_instance.
5646         (query_string_font): return Qnil to make the compiler happy.
5647         (unmap_subwindow): set to ~0 to make the compiler happy.
5648         (glyph_query_geometry): comment out until used.
5649         (glyph_layout): ditto.
5650
5651 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
5652
5653         * insdel.c (signal_after_change): Remove extraneous unbind_to().