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