Merge r21-2-44-lazy-n7c.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
4         when HAVE_CHISE_CLIENT is not defined.
5
6         * mule.c (vars_of_mule): Provide feature `chise' when
7         HAVE_CHISE_CLIENT is defined.
8
9 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
10
11         * config.h.in (UTF2000): Add comment.
12         (HAVE_CHISE_CLIENT): New macro.
13
14 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
15
16         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
17         CONSP.
18         (Fput_char_attribute): Likewise.
19         (char_attribute_system_db_file): Encode file-name of attribute.
20         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
21         the initial value.
22
23 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
24
25         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
26         (Fsave_charset_mapping_table): Use
27         `char_attribute_system_db_file'.
28         (load_char_decoding_entry_maybe): Likewise.
29
30         * chartab.h (Qsystem_char_id): New external variable.
31         (char_attribute_system_db_file): New prototype.
32
33         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
34         (char_attribute_system_db_file): New function.
35         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
36         (Freset_char_attribute_table): Likewise.
37         (load_char_attribute_maybe): Likewise.
38         (Fload_char_attribute_table): Likewise.
39         (syms_of_chartab): Add new symbol `system-char-id'.
40
41 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
42
43         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
44         `XCHARSET_GRAPHIC(ccs)'.
45
46 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
47
48         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
49
50 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
51
52         * chartab.c (Q_ucs_variants): New variable.
53         (syms_of_chartab): Add new symbol `->ucs-variants'.
54         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
55         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
56         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
57
58         * mule-charset.c (load_char_decoding_entry_maybe): New function.
59
60         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
61         `HAVE_DATABASE' is defined.
62         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
63         `HAVE_DATABASE' is defined.
64
65 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
66
67         * chartab.c (Fsave_char_attribute_table): Don't clear internal
68         attribute-table.
69         (Freset_char_attribute_table): New function.
70         (syms_of_chartab): Add new builtin function
71         `reset-char-attribute-table'.
72
73 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
74
75         * chartab.c (load_char_attribute_maybe): Don't make directories.
76
77 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
78
79         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
80
81         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
82         for decoding-table.
83
84 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
85
86         * mule-charset.c (Fsave_charset_mapping_table): Use
87         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
88
89         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
90         instead of `XCHARSET_CHARS'.
91
92 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
93
94         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
95         (XCHARSET_BYTE_SIZE): Likewise.
96
97         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
98         mule-charset.c].
99         (XCHARSET_BYTE_SIZE): Likewise.
100
101 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
102
103         * chartab.c (Fput_char_attribute): Use exec-directory instead of
104         data-directory to store database.
105         (Fsave_char_attribute_table): Likewise.
106         (load_char_attribute_maybe): Likewise.
107         (Fload_char_attribute_table): Likewise.
108
109 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
110
111         * mule-charset.c (Fsave_charset_mapping_table): New function.
112         (syms_of_mule_charset): Add new builtin function
113         `save-charset-mapping-table'.
114
115 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * char-ucs.h (decoding_table_check_elements): Delete prototype.
118         (get_ccs_octet_table): New inline function.
119         (put_ccs_octet_table): Likewise.
120         (decoding_table_put_char): Use `get_ccs_octet_table' and
121         `put_ccs_octet_table'.
122         (decoding_table_remove_char): Use `decoding_table_put_char'.
123         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
124
125         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
126         into encoding_table.
127         (make_charset): Use Qunbound instead Qnil as initial value of
128         decoding_table.
129
130 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
131
132         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
133         element is Qunloaded.
134         (map_over_uint16_byte_table): Likewise.
135         (map_over_byte_table): Likewise.
136         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
137         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
138         database support, load encoding-table of the specified
139         coded-charset if it is not loaded yet.
140         (save_uint8_byte_table): New function of UTF-2000 with external
141         database support.
142         (save_uint16_byte_table): Likewise.
143         (save_byte_table): Likewise.
144         (Fput_char_attribute): Don't store value into external database
145         even if the external database feature is supported in UTF-2000;
146         set `attribute' as name of char-table if the external database
147         feature is supported.
148         (Fsave_char_attribute_table): New function in UTF-2000.
149         (syms_of_chartab): Add new builtin function
150         `save-char-attribute-table' in UTF-2000.
151
152 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
153
154         * chartab.c (char_attribute_table_to_put): New variable in
155         UTF-2000.
156         (Qput_char_table_map_function): Likewise.
157         (value_to_put): Likewise.
158         (Fput_char_table_map_function): New function in UTF-2000.
159         (put_char_table): Use `Fmap_char_attribute' for
160         CHARTAB_RANGE_CHARSET in UTF-2000.
161         (Fput_char_attribute): Store symbol instead of string in
162         `XCHAR_TABLE_NAME (table)'.
163         (load_char_attribute_maybe): Likewise.
164         (syms_of_chartab): Add new symbol/function
165         `put-char-table-map-function'.
166
167 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
168
169         * database.h: Add new EXFUN for `Fmap_database'.
170
171         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
172         (syms_of_database): Likewise.
173
174         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
175         UTF-2000.
176         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
177         (XCHAR_TABLE_UNLOADED): Likewise.
178
179         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
180         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
181         HAVE_DATABASE is defined.
182         (char_attribute_table_to_load): New variable of UTF-2000 with
183         external database support.
184         (Qload_char_attribute_table_map_function): Likewise.
185         (Fload_char_attribute_table_map_function): New function of
186         UTF-2000 with external database support.
187         (Fload_char_attribute_table): New function of UTF-2000.
188         (Fmap_char_attribute): Call Fload_char_attribute_table if
189         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
190         (syms_of_chartab): Add new symbol and function
191         `load-char-attribute-table-map-function' in UTF-2000 with external
192         database support; add new function `load-char-attribute-table' in
193         UTF-2000.
194
195 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * chartab.h (load_char_attribute_maybe): New prototype for
198         UTF-2000 with DATABASE support.
199         (get_char_id_table): Use `load_char_attribute_maybe' if
200         HAVE_DATABASE is defined.
201
202         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
203         with DATABASE support.
204
205 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
206
207         * chartab.c (Fput_char_attribute): Use S-expression as key of
208         external database.
209
210         * chartab.h (get_char_id_table): Use S-expression as key of
211         external database.
212
213 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
216         if an element is not loaded, load the corresponding attributes
217         from an external database.
218         (map_over_uint16_byte_table): Likewise.
219         (map_over_byte_table): Likewise.
220         (map_char_table): Modify for `map_over_uint8_byte_table',
221         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
222         element is not loaded, load the corresponding attributes from an
223         external database.
224         (Fput_char_attribute): Change initial values to Qunloaded.
225
226         * chartab.h (get_char_id_table): If a character attribute is not
227         loaded and the attribute value is not found in an external
228         database, store Qunbound as the attribute value.
229
230 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
231
232         * chartab.c (BT_UINT8_unloaded): New macro.
233         (UINT8_VALUE_P): Accept Qunloaded.
234         (UINT8_ENCODE): Likewise.
235         (UINT8_DECODE): Likewise.
236         (BT_UINT16_unloaded): New macro.
237         (UINT16_VALUE_P): Accept Qunloaded.
238         (UINT16_ENCODE): Likewise.
239         (UINT16_DECODE): Likewise.
240         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
241         BT_UINT16_unloaded.
242         (mark_char_table): Mark `ct->name' in UTF-2000.
243         (char_table_description): Add `name' in UTF-2000.
244         (Fmake_char_table): Initialize `ct->name'.
245         (Fcopy_char_table): Copy `ct->name'.
246         (Fput_char_attribute): Store value into an external database if
247         HAVE_DATABASE is defined.
248
249         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
250         UTF-2000.
251         (CHAR_TABLE_NAME): New macro in UTF-2000.
252         (XCHAR_TABLE_NAME): New macro in UTF-2000.
253         (get_char_id_table): Try to read an external database if Qunloaded
254         is stored in a table.
255
256         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
257         Qunloaded.
258
259 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
260
261         * database.h: Add EXFUN definitions for Fopen_database,
262         Fput_database, Fget_database and Fclose_database.
263
264         * data.c (Qunloaded): New variable in UTF-2000.
265
266         * lisp.h (Qunloaded): New variable in UTF-2000.
267
268 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * mule-charset.c (put_char_ccs_code_point): Modify for
271         `decoding_table_remove_char' and `decoding_table_put_char'.
272         (remove_char_ccs): Modify for `decoding_table_remove_char'.
273
274         * char-ucs.h (decoding_table_remove_char): Change arguments to
275         hide decoding_table vector.
276         (decoding_table_put_char): Likewise.
277
278 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
279
280         * mule-charset.c (decoding_table_remove_char): Moved to
281         char-ucs.h.
282         (decoding_table_put_char): Likewise.
283
284         * char-ucs.h (decoding_table_check_elements): New prototype [moved
285         from mule-charset.c].
286         (decoding_table_remove_char): New inline function [moved from
287         mule-charset.c].
288         (decoding_table_put_char): Likewise.
289
290 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
291
292         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
293         extension.
294
295 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
296
297         * mule-charset.c (decode_builtin_char): Support mother charsets.
298
299 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
300
301         * mule-charset.c (Q94x94x60): New variable.
302         (charset_code_point): Support conversion `94x94x60'.
303         (Fmake_charset): Likewise.
304         (syms_of_mule_charset): Add new symbol `94x94x60'.
305
306         * char-ucs.h (CONVERSION_94x94x60): New macro.
307
308 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
309
310         * mule-charset.c (charset_code_point): Unify code about
311         `code-offset'.
312
313 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
314
315         * mule-charset.c (charset_code_point): Merge code about builtin
316         characters into code about mother charsets; don't use
317         `range_charset_code_point'.
318         (range_charset_code_point): Deleted.
319
320 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * mule-charset.c (Qcode_offset): New variable.
323         (Fmake_charset): Use `XUINT' to get value of `min-code' and
324         `max-code'; accept new property `code-offset'.
325         (syms_of_mule_charset): Add new symbol `code-offset'.
326
327 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
328
329         * mule-charset.c (range_charset_code_point): Fixed.
330
331 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
332
333         * mule-charset.c (decode_builtin_char): Change semantics of
334         code-offset of coded-charset.
335         (charset_code_point): Likewise.
336         (range_charset_code_point): Likewise.
337         (complex_vars_of_mule_charset): Modify for the change.
338
339 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * mule-charset.c (Fencode_char): Reverse arguments.
342
343         * mule-charset.c (charset_code_point): Fixed.
344
345 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
346
347         * mule-charset.c (Vcharset_mojikyo): Deleted.
348         (Vcharset_mojikyo_2022_1): Deleted.
349         (Vcharset_mojikyo_pj_{1..21}): Deleted.
350         (Qmin_code): New variable in UTF-2000.
351         (Qmax_code): Likewise.
352         (Qmother): Likewise.
353         (Qconversion): Likewise.
354         (Q94x60): Likewise.
355         (Qmojikyo): Deleted.
356         (Qmojikyo_2022_1): Deleted.
357         (Qmojikyo_pj_{1..22}): Deleted.
358         (mark_charset): Mark `cs->mother'.
359         (charset_description): Add description for `mother'.
360         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
361         new arguments `mother' and `conversion'; use
362         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
363         (charset_code_point): Moved from char-ucs.h; support `mother'
364         charset feature.
365         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
366         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
367         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
368         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
369         allow 2 as the value of `graphic' in UTF-2000; add new properties
370         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
371         require `final' in UTF-2000; modify for `make_charset'.
372         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
373         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
374         (Fcharset_property): Support `mother', `min-code' and `max-code'.
375         (Fencode_char): New function.
376         (syms_of_mule_charset): Add new builtin function `encode-char' in
377         UTF-2000; add new symbols `min-code', `max-code', `mother',
378         `conversion' and `94x60'; delete symbols `mojikyo',
379         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
380         (complex_vars_of_mule_charset): Modify for `make_charset' change;
381         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
382         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
383
384         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
385         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
386
387         * char-ucs.h (Vcharset_mojikyo): Deleted.
388         (Vcharset_mojikyo_2022_1): Deleted.
389         (LEADING_BYTE_MOJIKYO): Deleted.
390         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
391         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
392         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
393         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
394         add new member `mother'; add new member `conversion'.
395         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
396         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
397         (CHARSET_MOTHER): New macro.
398         (CHARSET_CONVERSION): New macro.
399         (CONVERSION_IDENTICAL): New macro.
400         (CONVERSION_94x60): New macro.
401         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
402         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
403         (XCHARSET_MOTHER): New macro.
404         (XCHARSET_CONVERSION): New macro.
405         (MIN_CHAR_MOJIKYO): Deleted.
406         (MAX_CHAR_MOJIKYO): Deleted.
407         (DECODE_MOJIKYO_2022): Deleted.
408         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
409         (charset_code_point): Changed to non-inline function.
410         (encode_char_1): Use `charset_code_point'.
411         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
412
413 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
414
415         * lread.c (read_compiled_function): Fix prototype.
416         (read_vector): Likewise.
417
418 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
419
420         * lrecord.h (struct lrecord_header): Delete `older'.
421         (set_lheader_implementation): Delete code for `older'.
422         (set_lheader_older_implementation): Deleted.
423         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
424         (OLDER_RECORD_P): Deleted.
425         (OLDER_RECORD_HEADER_P): Deleted.
426         (alloc_older_lcrecord): Deleted.
427         (alloc_older_lcrecord_type): Deleted.
428
429         * alloc.c (all_older_lcrecords): Deleted.
430         (alloc_older_lcrecord): Deleted.
431         (disksave_object_finalization_1): Delete code for older objects.
432         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
433         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
434
435 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
436
437         * mule-charset.c (decoding_table_put_char): Use `make_vector'
438         instead of `make_older_vector'.
439         (put_char_ccs_code_point): Likewise.
440         (mark_charset): Mark `cs->decoding_table'.
441         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
442
443         * lisp.h (make_older_vector): Deleted.
444         (make_vector_newer): Deleted.
445
446         * config.h.in (HAVE_GGC): Deleted.
447
448         * alloc.c (make_older_vector): Deleted.
449         (make_vector_newer_1): Deleted.
450         (make_vector_newer): Deleted.
451
452 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
455         (Qideograph_daikanwa_2): New variable.
456         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
457         (complex_vars_of_mule_charset): Add new coded-charset
458         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
459         `LEADING_BYTE_DAIKANWA'.
460
461         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
462         (LEADING_BYTE_DAIKANWA_1): New macro.
463         (LEADING_BYTE_DAIKANWA_2): New macro.
464         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
465
466 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
467
468         * mule-charset.c (complex_vars_of_mule_charset): Change
469         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
470         the second revised version.
471
472 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
473
474         * mule-charset.c (Vcharset_ucs_smp): New variable.
475         (Vcharset_ucs_sip): New variable.
476         (Qucs_smp): New variable.
477         (Qucs_sip): New variable.
478         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
479         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
480         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
481         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
482         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
483         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
484
485         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
486         (LEADING_BYTE_UCS_SIP): New macro.
487         (MIN_CHAR_SMP): New macro.
488         (MAX_CHAR_SMP): New macro.
489         (MIN_CHAR_SIP): New macro.
490         (MAX_CHAR_SIP): New macro.
491
492 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
493
494         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
495         utf-2000.
496
497 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
498
499         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
500         value; don't store value into `encoding_table' of `Lisp_Charset'.
501         (mark_charset): `encoding_table' was deleted.
502         (charset_description): Likewise.
503         (make_charset): Likewise.
504         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
505         `put_char_ccs_code_point'.
506
507         * chartab.h (Fput_char_attribute): New EXFUN.
508
509         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
510         is unified with normal symbol space.
511         (Fget_char_attribute): Likewise.
512         (Fput_char_attribute): Likewise; behavior of
513         `put_char_ccs_code_point' is changed.
514
515         * char-ucs.h: Include "elhash.h".
516         (Vchar_attribute_hash_table): New external variable.
517         (struct Lisp_Charset): Delete `encoding_table'.
518         (CHARSET_ENCODING_TABLE): New implementation; refer
519         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
520         `Lisp_Charset'.
521
522 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
525         (cs) == 0.
526
527 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
528
529         * text-coding.c (char_encode_big5): Prefer charset-g1 than
530         `chinese-big5'.
531
532 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
533
534         * chartab.c (uint8_byte_table_description): New constant.
535         (uint8-byte-table): Use `uint8_byte_table_description'.
536         (uint16_byte_table_description): New constant.
537         (uint16-byte-table): Use `uint16_byte_table_description'.
538
539 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
540
541         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
542         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
543
544 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
545
546         * mule-charset.c (Vcharset_ucs_ks): New variable.
547         (Qucs_ks): New variable.
548         (syms_of_mule_charset): Add new symbol `ucs-ks'.
549         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
550
551         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
552
553 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
554
555         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
556         (Fdecode_char): Likewise.
557
558         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
559         chartab.h.
560         (Fdefine_char): Modify for Fdecode_char.
561         (Ffind_char): Likewise.
562
563         * mule-charset.c (Fdecode_char): Add new optional argument
564         `defined-only'.
565         (Fdecode_builtin_char): Modify for `Fdecode_char'.
566
567 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
568
569         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
570         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
571         (allocate_coding_system): Initialize initial-charsets of
572         CODESYS_BIG5 in XEmacs UTF-2000.
573         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
574         CODESYS_BIG5 in XEmacs UTF-2000.
575         (decode_coding_big5): Use initial-charset-g0 and -g1 of
576         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
577
578         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
579         variables.
580         (Qideograph_hanziku_{1 .. 12}): Likewise.
581         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
582         .. 12}'.
583         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
584         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
585         `ideograph-hanziku-{1 .. 12}'.
586
587         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
588         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
589         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
590         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
591         (DECODE_DEFINED_CHAR): New inline function.
592         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
593
594 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
595
596         * mule-charset.c (Vcharset_china3_jef): Renamed from
597         `Vcharset_japanese_jef_china3'.
598         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
599         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
600         `{MIN|MAX}_CHAR_JEF_CHINA3'..
601         (syms_of_mule_charset): Rename `china3-jef' from
602         `japanese-jef-china3'.
603         (complex_vars_of_mule_charset): Likewise; rename
604         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
605
606         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
607         `LEADING_BYTE_JEF_CHINA3'.
608         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
609         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
610
611 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
612
613         * mule-charset.c (encode_builtin_char_1): Comment out special code
614         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
615
616         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
617         (MAX_CHAR_MOJIKYO_0): Comment out.
618         (MIN_CHAR_CBETA): Changed to 0x00E20000.
619         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
620         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
621         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
622
623 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
624
625         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
626         (Qideograph_cbeta): New variable.
627         (encode_builtin_char_1): Comment out special code for
628         coded-charset `mojikyo' and `japanese-jef-china3'.
629         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
630         (complex_vars_of_mule_charset): Add new coded-charset
631         `ideograph-cbeta'.
632
633         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
634         (MIN_CHAR_CBETA): New macro.
635         (MAX_CHAR_CBETA): New macro.
636
637 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
638
639         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
640         (LEADING_BYTE_JEF_CHINA3): New macro.
641         (MIN_CHAR_JEF_CHINA3): New macro.
642         (MAX_CHAR_JEF_CHINA3): Likewise.
643         (DECODE_CHAR): Fixed.
644
645 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
646
647         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
648         (Qjapanese_jef_china3): New variable.
649         (encode_builtin_char_1): Support `japanese-jef-china3'.
650         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
651         (complex_vars_of_mule_charset): Add new coded-charset
652         `japanese-jef-china3'.
653
654 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
655
656         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
657         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
658         94^4, 96^3, 96^4, 128^n and 256^n set.
659         (put_char_table): Use `XCHARSET_CELL_RANGE'.
660         (map_char_table): Likewise.
661
662 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
663
664         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
665         UTF-2000.
666
667 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
668
669         * chartab.h (get_char_id_table): New inline function.
670
671         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
672         function.
673
674 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
675
676         * chartab.h (decode_char_table_range): New prototype in XEmacs
677         UTF-2000.
678         (put_char_id_table): New inline function in XEmacs UTF-2000.
679
680         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
681         function.
682         (decode_char_table_range): Delete static declaration in XEmacs
683         UTF-2000.
684
685 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
686
687         * chartab.c (put_char_id_table): Use `put_char_table'.
688
689 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
692         (map_over_uint16_byte_table): Likewise.
693         (map_over_byte_table): Likewise.
694         (map_char_table): Modify for `map_over_uint8_byte_table',
695         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
696         UTF-2000.
697
698 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
699
700         * chartab.c (struct map_char_table_for_charset_arg): New
701         structure.
702         (map_char_table_for_charset_fun): New function.
703         (map_char_table): Use `map_char_table' for encoding_table of
704         `range->charset'.
705
706 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
707
708         * chartab.c (map_char_table): Check a character is found in
709         range->charset instead of non default value is defined in
710         char-table when range is CHARTAB_RANGE_ROW.
711
712 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * chartab.c (map_char_id_table): Deleted.
715         (Fmap_char_attribute): Use `map_char_table' instead of
716         `map_char_id_table'.
717
718 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
719
720         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
721         UTF-2000.
722         (update_syntax_table): Deleted in XEmacs UTF-2000.
723
724         * syntax.c (find_defun_start): Use `syntax_table' instead of
725         `mirror_syntax_table' in XEmacs UTF-2000.
726         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
727         UTF-2000.
728         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
729         XEmacs UTF-2000.
730         (Fmatching_paren): Likewise.
731         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
732         in XEmacs UTF-2000.
733         (find_start_of_comment): Likewise.
734         (find_end_of_comment): Likewise.
735         (Fforward_comment): Likewise.
736         (scan_lists): Likewise.
737         (char_quoted): Likewise.
738         (Fbackward_prefix_chars): Likewise.
739         (scan_sexps_forward): Likewise.
740         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
741         (update_syntax_table): Likewise.
742
743         * search.c (skip_chars): Use `syntax_table' instead of
744         `mirror_syntax_table' in XEmacs UTF-2000.
745         (wordify): Likewise.
746         (Freplace_match): Likewise.
747
748         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
749         `mirror_syntax_table' in XEmacs UTF-2000.
750         (WORDCHAR_P_UNSAFE): Likewise.
751         (re_match_2_internal): Likewise.
752
753         * font-lock.c (find_context): Use `buf->syntax_table' instead of
754         `buf->mirror_syntax_table' in XEmacs UTF-2000.
755
756         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
757         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
758
759         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
760         XEmacs UTF-2000.
761
762         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
763         UTF-2000.
764         (print_char_table): Print `default_value' in XEmacs UTF-2000.
765         (char_table_description): Delete `mirror_table' in XEmacs
766         UTF-2000.
767         (fill_char_table): Don't call `update_syntax_table' in XEmacs
768         UTF-2000.
769         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
770         (Fcopy_char_table): Likewise.
771         (put_char_table): Don't call `update_syntax_table' in XEmacs
772         UTF-2000.
773
774         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
775         `buf->mirror_syntax_table' in XEmacs UTF-2000.
776         (casify_region_internal): Likewise.
777
778         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
779
780         * buffer.c (common_init_complex_vars_of_buffer): Don't use
781         `mirror_syntax_table' in XEmacs UTF-2000.
782
783         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
784         `buf->mirror_syntax_table' in XEmacs UTF-2000.
785         (Fexpand_abbrev): Likewise.
786
787 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
790
791 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
792
793         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
794         (map_over_uint16_byte_table): Likewise.
795         (map_over_byte_table): Likewise.
796         (get_char_id_table): Refer `cit->default_value'.
797         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
798         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
799         of character-id ranges.
800         (mark_char_table): Mark `ct->default_value'.
801         (char_table_description): Add `default_value'.
802         (fill_char_table): Use `default_value'.
803         (decode_char_table_range): Decode `nil' as
804         `CHARTAB_RANGE_DEFAULT'.
805         (get_char_id_table): Refer `cit->default_value'.
806         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
807         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
808         temporary hack; check value of char-table is bound or not.
809         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
810
811         * chartab.h (struct Lisp_Char_Table): Add new member
812         `default_value' in XEmacs UTF-2000.
813         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
814         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
815         UTF-2000.
816
817 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
818
819         * chartab.h (Lisp_Char_ID_Table): Deleted.
820
821         * chartab.c (char_table_description): Fix typo.
822         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
823         `Lisp_Char_ID_Table'.
824
825 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
826
827         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
828         `CHAR_ID_TABLE_P'.
829
830         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
831         `CHAR_ID_TABLE_P'.
832
833         * chartab.h (XCHAR_ID_TABLE): Deleted.
834         (XSETCHAR_ID_TABLE): Deleted.
835         (CHAR_ID_TABLE_P): Deleted.
836
837         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
838         `CHAR_ID_TABLE_P'.
839         (Fget_composite_char): Likewise.
840         (put_char_table): Likewise.
841         (add_char_attribute_alist_mapper): Fixed.
842         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
843         `CHAR_ID_TABLE_P'.
844         (Fget_char_attribute): Likewise.
845         (Fget_char_attribute): Likewise.
846         (Fmap_char_attribute): Likewise.
847
848         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
849         `CHAR_ID_TABLE_P'.
850         (encode_char_1): Likewise.
851
852 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
853
854         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
855         `XCHAR_ID_TABLE'.
856
857         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
858         instead of `XCHAR_ID_TABLE'.
859         (remove_char_ccs): Likewise.
860
861         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
862         `XCHAR_ID_TABLE'.
863         (Fget_composite_char): Likewise.
864         (Fchar_variants): Likewise.
865         (put_char_table): Likewise.
866         (add_char_attribute_alist_mapper): Likewise.
867         (Fchar_attribute_alist): Likewise.
868         (Fget_char_attribute): Likewise.
869         (Fput_char_attribute): Likewise.
870         (Fmap_char_attribute): Likewise.
871         (Fmap_char_attribute): Likewise.
872
873         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
874         `XCHAR_ID_TABLE'.
875         (encode_char_1): Likewise.
876
877 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
878
879         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
880         `Lisp_Char_ID_Table'.
881         (mark_char_id_table): Deleted.
882         (print_char_id_table): Likewise.
883         (char_id_table_equal): Likewise.
884         (char_id_table_hash): Likewise.
885         (char_id_table_description): Likewise.
886         (char_id_table): Likewise.
887         (make_char_id_table): Use `Fmake_char_table' and
888         `fill_char_table'.
889         (get_char_id_table): Use `Lisp_Char_Table' instead of
890         `Lisp_Char_ID_Table'.
891         (put_char_id_table): Likewise.
892         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
893         `XCHAR_ID_TABLE'.
894         (Fremove_char_attribute): Likewise.
895         (syms_of_chartab): Don't define type `char-id-table'.
896
897         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
898         (char_id_table): Likewise.
899         (GC_CHAR_ID_TABLE_P): Likewise.
900         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
901         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
902         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
903         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
904         (get_char_id_table): Use `Lisp_Char_Table' instead of
905         `Lisp_Char_ID_Table'.
906         (put_char_id_table_0): Likewise.
907         (put_char_id_table): Likewise.
908
909 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
910
911         * chartab.h: Lisp_Byte_Table related codes are moved from
912         chartab.h.
913
914         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
915
916 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
917
918         * chartab.h: Don't include "chartab.h".
919         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
920         (Lisp_Char_ID_Table): Likewise.
921         (char_id_table): Likewise.
922         (XCHAR_ID_TABLE): Likewise.
923         (XSETCHAR_ID_TABLE): Likewise.
924         (CHAR_ID_TABLE_P): Likewise.
925         (GC_CHAR_ID_TABLE_P): Likewise.
926         (get_char_id_table): Likewise.
927
928         * char-ucs.h: Include "chartab.h".
929         (struct Lisp_Char_ID_Table): Moved to chartab.h.
930         (Lisp_Char_ID_Table): Likewise.
931         (char_id_table): Likewise.
932         (XCHAR_ID_TABLE): Likewise.
933         (XSETCHAR_ID_TABLE): Likewise.
934         (CHAR_ID_TABLE_P): Likewise.
935         (GC_CHAR_ID_TABLE_P): Likewise.
936         (get_char_id_table): Likewise.
937
938 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
939
940         * chartab.c (copy_uint8_byte_table): New function.
941         (copy_uint16_byte_table): New function.
942         (copy_byte_table): New function.
943         (map_over_uint8_byte_table): Modify to avoid huge numbers of
944         characters to call.
945         (map_over_uint16_byte_table): Likewise.
946         (map_over_byte_table): Likewise.
947         (get_byte_table): Move prototype to chartab.h.
948         (put_byte_table): Likewise.
949         (put_char_id_table_0): Moved to chartab.h.
950         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
951         (char_table_entry_equal): Likewise.
952         (char_table_entry_hash): Likewise.
953         (char_table_entry_description): Likewise.
954         (char_table_entry): Likewise.
955         (make_char_table_entry): Likewise.
956         (copy_char_table_entry): Likewise.
957         (get_non_ascii_char_table_value): Likewise.
958         (map_over_charset_ascii): Likewise.
959         (map_over_charset_control_1): Likewise.
960         (map_over_charset_row): Likewise.
961         (map_over_other_charset): Likewise.
962         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
963         (print_char_table): Likewise.
964         (char_table_equal): Likewise.
965         (char_table_hash): Likewise.
966         (char_table_description): Likewise.
967         (fill_char_table): Likewise.
968         (Fcopy_char_table): Likewise.
969         (get_char_table): Likewise.
970         (Fget_range_char_table): Likewise.
971         (put_char_table): Likewise.
972         (map_char_table): Likewise.
973         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
974         UTF-2000.
975
976 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
977
978         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
979         `Vauto_fill_chars' in XEmacs UTF-2000.
980
981         * chartab.h (get_byte_table): New prototype [moved from
982         chartab.c].
983         (put_byte_table): Likewise [moved from chartab.c].
984         (put_char_id_table_0): New inline function [moved from chartab.c].
985         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
986         (Lisp_Char_Table_Entry): Likewise.
987         (char_table_entry): Likewise.
988         (XCHAR_TABLE_ENTRY): Likewise.
989         (XSETCHAR_TABLE_ENTRY): Likewise.
990         (CHAR_TABLE_ENTRYP): Likewise.
991         (CHECK_CHAR_TABLE_ENTRY): Likewise.
992         (NUM_ASCII_CHARS): Likewise.
993         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
994         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
995
996 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
997
998         * chartab.c (get_char_id_table): Change interface.
999         (put_char_id_table_0): New function.
1000         (put_char_id_table): Change interface; new implementation.
1001         (Fget_composite_char): Modify for interface change of
1002         `get_char_id_table'.
1003         (Fchar_variants): Likewise.
1004         (add_char_attribute_alist_mapper): Likewise.
1005         (Fchar_attribute_alist): Likewise.
1006         (Fget_char_attribute): Likewise.
1007         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1008         as same as character as the first argument like `put-char-table';
1009         modify for interface change of `put_char_id_table'.
1010         (Fremove_char_attribute): Modify for interface change of
1011         `put_char_id_table'.
1012
1013 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1014
1015         * text-coding.c: Sync up with XEmacs 21.2.41.
1016         (COMPOSE_ADD_CHAR): Modify for interface change of
1017         `get_char_id_table'.
1018
1019         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1020         change of `put_char_id_table'.
1021         (remove_char_ccs): Likewise.
1022
1023         * chartab.h (put_char_id_table): Change interface.
1024
1025         * char-ucs.h (get_char_id_table): Change interface.
1026         (charset_code_point): Modify for interface change of
1027         `get_char_id_table'.
1028         (encode_char_1): Likewise.
1029
1030 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1031
1032         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1033         argument `ccs'.
1034         (map_over_uint16_byte_table): Likewise.
1035         (map_over_byte_table): Likewise.
1036         (map_char_id_table): Add new argument `range' like
1037         `map_char_table'.
1038         (Fmap_char_attribute): Add new argument `range' like
1039         `Fmap_char_table'.
1040
1041 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1042
1043         * chartab.c (map_over_uint8_byte_table): Change interface of
1044         mapping function to use struct chartab_range instead of Emchar.
1045         (map_over_uint16_byte_table): Likewise.
1046         (map_over_byte_table): Likewise.
1047         (map_char_id_table): Likewise.
1048         (struct slow_map_char_id_table_arg): Deleted.
1049         (slow_map_char_id_table_fun): Deleted.
1050         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1051         function `slow_map_char_table_fun' instead of struct
1052         `slow_map_char_id_table_arg' and function
1053         `slow_map_char_id_table_fun'.
1054
1055 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1056
1057         * mule-charset.c: Move char-it-table related codes to chartab.c.
1058         (Vutf_2000_version): Moved to chartab.c.
1059         (Fdefine_char): Likewise.
1060         (Ffind_char): Likewise.
1061         (syms_of_mule_charset): Move types `uint8-byte-table',
1062         `uint16-byte-table', `byte-table' and `char-id-table' to
1063         chartab.c; move functions `char_attribute_list,
1064         `find_char_attribute_table, `char_attribute_alist,
1065         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1066         `map_char_attribute, `define_char, `find_char, `char_variants and
1067         `get_composite_char to chartab.c; move symbols `=>ucs',
1068         `->decomposition', `compat', `isolated', `initial', `medial',
1069         `final', `vertical', `noBreak', `fraction', `super', `sub',
1070         `circle', `square', `wide', `narrow', `small' and `font' to
1071         chartab.c.
1072         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1073         setting codes for `Vcharacter_composition_table' and
1074         `Vcharacter_variant_table' to chartab.c.
1075         (complex_vars_of_mule_charset): Move setting code for
1076         `Vchar_attribute_hash_table' to chartab.c.
1077
1078         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1079         (make_char_id_table): New prototype.
1080         (put_char_id_table): Likewise.
1081         (Fget_char_attribute): Likewise.
1082
1083         * chartab.c: Move char-id-table related code from mule-charset.c.
1084         (Vutf_2000_version): Moved from mule-charset.c.
1085
1086         * char-ucs.h (Qucs): New external variable.
1087         (put_char_ccs_code_point): New prototype.
1088         (remove_char_ccs): Likewise.
1089
1090 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1091
1092         * mule-charset.c (Vcharset_ucs_jis): New variable.
1093         (Qucs_jis): Likewise.
1094         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1095         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1096
1097         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1098
1099 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1100
1101         * mule-charset.c (map_over_uint8_byte_table): New function.
1102         (map_over_uint16_byte_table): Likewise.
1103         (map_over_byte_table): Likewise.
1104         (map_char_id_table): Likewise.
1105         (slow_map_char_id_table_fun): Likewise.
1106         (Fmap_char_attribute): Likewise.
1107         (syms_of_mule_charset): Add new function `map-char-attribute'.
1108
1109 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1110
1111         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1112         (syms_of_mule_charset): Add new function `find-char'.
1113
1114 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1115
1116         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1117         XEmacs UTF-2000.
1118         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1119         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1120         XEmacs UTF-2000.
1121         (complex_vars_of_mule_charset): Add new coded-charset
1122         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1123         `ideograph-gt-pj-*'.
1124
1125         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1126
1127 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1128
1129         * mule-charset.c (encode_builtin_char_1): Purge codes about
1130         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1131         {MIN|MAX}_CHAR_HEBREW.
1132         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1133         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1134
1135         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1136         (MAX_CHAR_GREEK): Purged.
1137         (MIN_CHAR_CYRILLIC): Purged.
1138         (MAX_CHAR_CYRILLIC): Purged.
1139         (MIN_CHAR_HEBREW): Commented out.
1140         (MAX_CHAR_HEBREW): Likewise.
1141
1142 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1143
1144         * mule-charset.c (Qto_ucs): New variable.
1145         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1146         (Fdefine_char): Likewise.
1147         (syms_of_mule_charset): Add new symbol `=>ucs'.
1148
1149 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1150
1151         * mule-charset.c (Fdecode_char): Fixed.
1152
1153 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1156         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1157         "tcvn5712-1".
1158
1159 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1160
1161         * mule-charset.c (Vcharset_ucs_big5): New variable.
1162         (Qucs_big5): Likewise.
1163         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1164         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1165
1166         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1167
1168 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1169
1170         * mule-charset.c (decode_builtin_char): Check Big5 code range
1171         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1172
1173 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1174
1175         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1176         (Qchinese_gb12345): Likewise.
1177         (Fdecode_builtin_char): Fixed.
1178         (syms_of_mule_charset): Add `chinese-gb12345'.
1179         (complex_vars_of_mule_charset): Add coded-charset
1180         `chinese-gb12345'.
1181
1182         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1183         (LEADING_BYTE_CHINESE_GB12345): New macro.
1184
1185 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1186
1187         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1188         and `latin-viscii-upper' for `latin-viscii'.
1189
1190 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1191
1192         * mule-charset.c (Fdecode_builtin_char): Comment out
1193         regularization code for ISO-IR GR representation.
1194
1195 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * mule-charset.c (decode_builtin_char): New function; renamed from
1198         `make_builtin_char'; return -1 instead of signal.
1199         (Fdecode_builtin_char): Use `decode_builtin_char'.
1200
1201         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1202         `make_builtin_char'.
1203         (DECODE_CHAR): Use `decode_builtin_char' instead of
1204         `make_builtin_char'; use mapping table of `chinese-big5' for
1205         `chinese-big5-{1,2}'.
1206
1207 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1208
1209         * text-coding.c (char_encode_big5): New function.
1210         (char_finish_big5): Likewise.
1211         (reset_encoding_stream): Use `char_encode_big5' and
1212         `char_finish_big5' for CODESYS_BIG5.
1213         (mule_encode): Don't use `encode_coding_big5'.
1214         (encode_coding_big5): Deleted.
1215
1216 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1217
1218         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1219         0x81- in XEmacs UTF-2000.
1220         (detect_coding_big5): Likewise.
1221
1222 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1225         generate character-id if the CCS property does not have
1226         corresponding predefined character.
1227         (make_builtin_char): Return -1 if corresponding predefined
1228         character is not found.
1229         (Fdecode_char): Return nil if corresponding character is not
1230         found.
1231         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1232         don't map to builtin ucs space.
1233
1234 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1235
1236         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1237         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1238
1239 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1240
1241         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1242         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1243         (Qideograph_gt): Likewise.
1244         (Qideograph_gt_pj_{1..11}): Likewise.
1245         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1246         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1247         `ideograph-gt-pj-11'.
1248         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1249         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1250         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1251
1252         * char-ucs.h (LEADING_BYTE_GT): New macro.
1253         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1254         (MIN_CHAR_GT): Likewise.
1255         (MAX_CHAR_GT): Likewise.
1256
1257 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1258
1259         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1260         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1261
1262         * doprnt.c (unsigned_int_converters): Add `c'.
1263         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1264
1265         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1266         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1267         `MIN_CHAR_MOJIKYO'.
1268         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1269         (MAX_CHAR_MOJIKYO_0): New macro.
1270         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1271
1272 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1273
1274         * mule-charset.c (Fdefine_char): Delete cemented out code.
1275         (encode_builtin_char_1): Modify for new allocation of builtin
1276         Mojikyo characters.
1277
1278         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1279
1280 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1281
1282         * mule-charset.c (Vcharset_ucs_cns): New variable.
1283         (Qucs_cns): New variable.
1284         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1285         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1286
1287 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1288
1289         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1290
1291 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1292
1293         * search.c (search_buffer): Make `charset_base_code' as
1294         character-id >> 6 to eliminate the corresponding last byte in
1295         UTF-8 representation [I'm not sure it is right thing].
1296         (boyer_moore): Likewise.
1297
1298 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1299
1300         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1301         representation in MULE.
1302
1303 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1304
1305         * text-coding.c (Fmake_coding_system): Use
1306         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1307         `EXTERNAL_PROPERTY_LIST_LOOP'.
1308
1309 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1310
1311         * text-coding.c (decode_output_utf8_partial_char): New function.
1312         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1313
1314 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1315
1316         * text-coding.c (decode_coding_utf8): Output original byte
1317         sequence if it is broken; change order of conditions.
1318
1319         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1320         of conditions.
1321
1322         * mb-multibyte.h (BYTE_ASCII_P):
1323         Use bit ops for char-signedness safety.
1324         (BYTE_C0_P): Use bit ops for char-signedness safety.
1325         (BYTE_C1_P): Use bit ops for char-signedness safety.
1326
1327         * character.h: (XCHAR_OR_CHAR_INT):
1328         Always use inline function.
1329         Remove redundant type checking assert() - XINT will abort quite
1330         nicely.
1331
1332 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1333
1334         * text-coding.c: (Fencode_shift_jis_char):
1335         (Fencode_big5_char):
1336         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1337         Replace 0 with '\0' when working with bytes.
1338         Replace initial "(" with "\(" in docstrings.
1339
1340         (Fmake_coding_system):
1341         When type is ccl and value is vector, register it with a proper
1342         symbol.  And checks whether the given ccl program is valid.
1343         (mule_decode): When calling ccl_driver, if src indicates
1344         NULL pointer, set an empty string instead.
1345         (mule_encode): Likewise.
1346
1347         (detect_eol_type):
1348         (detect_coding_sjis):
1349         (decode_coding_sjis):
1350         (detect_coding_big5):
1351         (decode_coding_big5):
1352         (detect_coding_ucs4):
1353         (decode_coding_ucs4):
1354         (detect_coding_utf8):
1355         (decode_coding_utf8):
1356         (detect_coding_iso2022):
1357         (decode_coding_iso2022):
1358         (decode_coding_no_conversion):
1359         (mule_decode):
1360         Make all detecting and decoding functions take an Extbyte * arg.
1361         (text_encode_generic):
1362         (encode_coding_big5):
1363         (encode_coding_no_conversion):
1364         (mule_encode):
1365         Make all encoding functions take a Bufbyte * arg.
1366         Use size_t instead of unsigned int for memory sizes.
1367         Only cast to unsigned char whenever dereferencing Extbyte *.
1368
1369         (struct lrecord_description fcd_description_1): Use countof.
1370         (complex_vars_of_file_coding):
1371         Use countof instead of sizeof.
1372         Use CHECK_NATNUM instead of CHECK_INT.
1373
1374 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1375
1376         * mule-charset.c (Fget_char_attribute): Add new optional argument
1377         `default-value'.
1378         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1379         (remove_char_ccs): Likewise.
1380
1381 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1382
1383         * text-coding.c (char_encode_shift_jis): New implementation in
1384         UTF-2000.
1385         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1386         ...)'.
1387
1388         * mule-charset.c (Vcharset_chinese_big5): New variable in
1389         UTF-2000.
1390         (Qchinese_big5): New variable in UTF-2000.
1391         (BIG5_SAME_ROW): New macro in UTF-2000.
1392         (make_builtin_char): Use builtin characters of
1393         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1394         characters of `Vcharset_chinese_big5'.
1395         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1396         (complex_vars_of_mule_charset): Add new coded-charset
1397         `chinese-big5' in UTF-2000.
1398
1399         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1400         (Vcharset_chinese_big5): New external variable declaration.
1401         (Vcharset_japanese_jisx0208_1990): Likewise.
1402
1403 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1404
1405         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1406         function.
1407         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1408
1409 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1410
1411         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1412         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1413         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1414         `mojikyo-pj-*'.
1415
1416 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1417
1418         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1419
1420 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1421
1422         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1423         to 0.17.
1424
1425 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1426
1427         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1428         for `CHARSET_BY_ATTRIBUTES'.
1429         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1430         `CHARSET_BY_ATTRIBUTES'.
1431
1432         * text-coding.c (struct decoding_stream): Rename member `CH' to
1433         `CPOS'.
1434         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1435         (decode_coding_sjis): Likewise.
1436         (decode_coding_big5): Likewise.
1437         (decode_coding_ucs4): Likewise.
1438         (decode_coding_utf8): Likewise.
1439         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1440         `CHARSET_BY_ATTRIBUTES'.
1441         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1442         `str->counter'; decode 3, 4 bytes sets.
1443         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1444         sets.
1445         (decode_coding_no_conversion): Use `str->cpos' instead of
1446         `str->ch'.
1447
1448         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1449         (Qmojikyo_2022_1): New variable.
1450         (make_charset): Don't use `CHARSET_TYPE_*'.
1451         (range_charset_code_point): Support coded-charset
1452         `mojikyo-2022-1'.
1453         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1454         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1455         `CHARSET_BY_ATTRIBUTES'.
1456         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1457         `CHARSET_BY_ATTRIBUTES'.
1458         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1459         (complex_vars_of_mule_charset): Add new coded-charset
1460         `mojikyo-2022-1'.
1461
1462         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1463         interface; changed to inline function.
1464
1465         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1466         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1467         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1468         (CHARSET_TYPE_94): Deleted.
1469         (CHARSET_TYPE_94X94): Deleted.
1470         (CHARSET_TYPE_96): Deleted.
1471         (CHARSET_TYPE_96X96): Deleted.
1472         (CHARSET_TYPE_128): Deleted.
1473         (CHARSET_TYPE_128X128): Deleted.
1474         (CHARSET_TYPE_256): Deleted.
1475         (CHARSET_TYPE_256X256): Deleted.
1476         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1477         to inline function.
1478         (DECODE_MOJIKYO_2022): New inline function.
1479         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1480         `Vcharset_mojikyo_2022_1'.
1481
1482 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1483
1484         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1485         instead of `EQ'.
1486         (put_byte_table): Likewise.
1487         (char_id_table_equal): Use `get_byte_table' [new implementation].
1488
1489 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1490
1491         * mule-charset.c: Include <limits.h> in UTF-2000.
1492         (BT_UINT8_MIN): New macro in UTF-2000.
1493         (BT_UINT8_MAX): New macro in UTF-2000.
1494         (BT_UINT8_t): New macro in UTF-2000.
1495         (BT_UINT8_nil): New macro in UTF-2000.
1496         (BT_UINT8_unbound): New macro in UTF-2000.
1497         (INT_UINT8_P): New inline function in UTF-2000.
1498         (UINT8_VALUE_P): New inline function in UTF-2000.
1499         (UINT8_ENCODE): New inline function in UTF-2000.
1500         (UINT8_DECODE): New inline function in UTF-2000.
1501         (mark_uint8_byte_table): New function in UTF-2000.
1502         (print_uint8_byte_table): New function in UTF-2000.
1503         (uint8_byte_table_equal): New function in UTF-2000.
1504         (uint8_byte_table_hash): New function in UTF-2000.
1505         (make_uint8_byte_table): New function in UTF-2000.
1506         (uint8_byte_table_same_value_p): New function in UTF-2000.
1507         (BT_UINT16_MIN): New macro in UTF-2000.
1508         (BT_UINT16_MAX): New macro in UTF-2000.
1509         (BT_UINT16_t): New macro in UTF-2000.
1510         (BT_UINT16_nil): New macro in UTF-2000.
1511         (BT_UINT16_unbound): New macro in UTF-2000.
1512         (INT_UINT16_P): New inline function in UTF-2000.
1513         (UINT16_VALUE_P): New inline function in UTF-2000.
1514         (UINT16_ENCODE): New inline function in UTF-2000.
1515         (UINT16_DECODE): New inline function in UTF-2000.
1516         (UINT8_TO_UINT16): New inline function in UTF-2000.
1517         (mark_uint16_byte_table): New function in UTF-2000.
1518         (print_uint16_byte_table): New function in UTF-2000.
1519         (uint16_byte_table_equal): New function in UTF-2000.
1520         (uint16_byte_table_hash): New function in UTF-2000.
1521         (make_uint16_byte_table): New function in UTF-2000.
1522         (uint16_byte_table_same_value_p): New function in UTF-2000.
1523         (print_byte_table): New function in UTF-2000.
1524         (byte-table): Use `print_byte_table' as printer.
1525         (make_byte_table): Delete second argument `older'.
1526         (byte_table_same_value_p): New function in UTF-2000.
1527         (copy_byte_table): Deleted.
1528         (get_byte_table): New function in UTF-2000.
1529         (put_byte_table): New function in UTF-2000.
1530         (print_char_id_table): New function in UTF-2000.
1531         (char-id-table): Use `print_char_id_table' as printer.
1532         (make_char_id_table): Delete second argument `older'.
1533         (get_char_id_table): Use `get_byte_table [new implementation].
1534         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1535         implementation].
1536         (Ffind_char_attribute_table): New function in UTF-2000.
1537         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1538         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1539         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1540         (syms_of_mule_charset): Add new function
1541         `find-char-attribute-table' in UTF-2000.
1542
1543         * lrecord.h (enum lrecord_type): Add
1544         `lrecord_type_uint16_byte_table' and
1545         `lrecord_type_uint8_byte_table'.
1546
1547         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1548         (Lisp_Uint8_Byte_Table): New type.
1549         (XUINT8_BYTE_TABLE): New macro.
1550         (XSETUINT8_BYTE_TABLE): New macro.
1551         (UINT8_BYTE_TABLE_P): New macro.
1552         (GC_UINT8_BYTE_TABLE_P): New macro.
1553         (struct Lisp_Uint16_Byte_Table): New structure.
1554         (Lisp_Uint16_Byte_Table): New type.
1555         (XUINT16_BYTE_TABLE): New macro.
1556         (XSETUINT16_BYTE_TABLE): New macro.
1557         (UINT16_BYTE_TABLE_P): New macro.
1558         (GC_UINT16_BYTE_TABLE_P): New macro.
1559
1560 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1561
1562         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1563         (Vcharacter_ideographic_strokes_table): Deleted.
1564         (Vcharacter_total_strokes_table): Deleted.
1565         (Vcharacter_morohashi_daikanwa_table): Deleted.
1566         (Vcharacter_decomposition_table): Deleted.
1567         (Qname): Deleted because it is duplicated.
1568         (Qideographic_radical): Deleted.
1569         (Qideographic_strokes): Deleted.
1570         (Qtotal_strokes): Deleted.
1571         (Qmorohashi_daikanwa): Deleted.
1572         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1573         `ideographic-radical', `ideographic-strokes', `total-strokes',
1574         `morohashi-daikanwa' and `->decomposition'.
1575         (Fget_char_attribute): Likewise.
1576         (Fput_char_attribute): Likewise; use `make-vector' instead of
1577         `make_older_vector' for `->decomposition' value.
1578         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1579         `ideograph-daikanwa'.
1580         (syms_of_mule_charset): Delete builtin symbols `name',
1581         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1582         `morohashi-daikanwa'.
1583         (vars_of_mule_charset): Don't setup
1584         `Vcharacter_ideographic_radical_table',
1585         `Vcharacter_ideographic_strokes_table',
1586         `Vcharacter_total_strokes_table',
1587         `Vcharacter_morohashi_daikanwa_table' and
1588         `Vcharacter_decomposition_table'.
1589
1590 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1591
1592         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1593         `make_older_vector', `make_vector_newer_1' and
1594         `make_vector_newer'.
1595
1596         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1597         `make_older_vector' and `make_vector_newer'.
1598
1599         * config.h.in (HAVE_GGC): New macro.
1600
1601 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1602
1603         * mule-charset.c (struct char_attribute_list_closure): New
1604         structure in UTF-2000.
1605         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1606         (Fchar_attribute_list): Likewise.
1607         (Fset_charset_mapping_table): Use `make_vector_newer'.
1608         (Fdecode_builtin_char): New function in UTF-2000.
1609         (syms_of_mule_charset): Add new function `char-attribute-list' and
1610         `decode-builtin-char' in UTF-2000.
1611
1612         * lisp.h (make_vector_newer): New prototype.
1613
1614         * alloc.c (make_vector_newer_1): New function.
1615         (make_vector_newer): New function.
1616
1617 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1618
1619         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1620         50100)'.
1621
1622 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1623
1624         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1625         (Vcharacter_attribute_table): Deleted.
1626         (Vcharacter_name_table): Deleted.
1627         (put_char_attribute): Deleted.
1628         (remove_char_attribute): Deleted.
1629         (struct char_attribute_alist_closure): New structure.
1630         (add_char_attribute_alist_mapper): New function.
1631         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1632         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1633         (Fget_char_attribute): Likewise.
1634         (Fput_char_attribute): Likewise.
1635         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1636         of `remove_char_attribute'.
1637         (Fdefine_char): Return character.
1638         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1639         and `Vcharacter_name_table'.
1640         (complex_vars_of_mule_charset): Likewise
1641         `Vchar_attribute_hash_table'.
1642
1643 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1644
1645         * character.h (CHARC_CHARSET): New macro.
1646         (CHARC_CHARSET_ID): New macro.
1647         (CHARC_CODE_POINT): New macro.
1648         (CHARC_COLUMNS): New macro.
1649         (CHARC_TO_CHAR): New inline function.
1650         (CHARC_EQ): New inline function.
1651         (CHARC_ASCII_EQ): New inline function.
1652         (CHARC_IS_SPACE): New inline function.
1653         (ASCII_TO_CHARC): New inline function.
1654
1655         * char-ucs.h (encode_char_2): Deleted.
1656         (ENCODE_CHAR): Use `encode_char_1' again.
1657         (breakup_char_1): Likewise.
1658         (CHAR_TO_CHARC): New inline function.
1659
1660         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1661
1662 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1665         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1666         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1667         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1668         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1669         `CHARC_IS_SPACE'.
1670         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1671
1672         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1673         `CHARC_CODE_POINT'.
1674         (x_output_display_block): Use `CHARC_CHARSET' and
1675         `CHARC_ASCII_EQ'.
1676
1677         * redisplay-tty.c (tty_output_display_block): Use
1678         `CHARC_ASCII_EQ'.
1679         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1680
1681         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1682
1683         * insdel.c (find_charsets_in_charc_string): Use
1684         `CHARC_CHARSET_ID'.
1685         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1686         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1687         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1688         (convert_charc_string_into_malloced_string): Likewise.
1689
1690 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1691
1692         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1693         instead of <Emchar_dynarr *> for buf; use
1694         `convert_bufbyte_string_into_charc_dynarr' instead of
1695         `convert_bufbyte_string_into_emchar_dynarr'; use
1696         `find_charsets_in_charc_string' instead of
1697         `find_charsets_in_emchar_string'.
1698
1699         * redisplay.h:
1700         - Include "character.h".
1701         (struct rune): New member `cglyph'; delete member `chr'.
1702
1703         * redisplay.c (redisplay_text_width_charc_string): New function;
1704         delete `redisplay_text_width_emchar_string'.
1705         (rtw_charc_dynarr): New variable; renamed from
1706         `rtw_emchar_dynarr'.
1707         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1708         `rtw_emchar_dynarr'; use
1709         `convert_bufbyte_string_into_charc_dynarr' instead of
1710         `convert_bufbyte_string_into_emchar_dynarr'; use
1711         `redisplay_text_width_charc_string' instead of
1712         `redisplay_text_width_emchar_string'.
1713         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1714         instead of `rtw_emchar_dynarr'; use
1715         `convert_bufbyte_string_into_charc_dynarr' instead of
1716         `convert_bufbyte_string_into_emchar_dynarr'.
1717         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1718         `redisplay_text_width_charc_string' instead of
1719         `redisplay_text_width_emchar_string'.
1720         (create_text_block): Modify for <struct rune> change.
1721         (generate_formatted_string_db): Likewise.
1722         (create_string_text_block): Likewise.
1723         (pixel_to_glyph_translation): Likewise.
1724
1725         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1726         instead of <const Emchar *>.
1727         (x_text_width): Likewise.
1728         (x_output_display_block): Use <Charc_dynarr *> instead
1729         <Emchar_dynarr *>; modify for <structure rune> change.
1730         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1731         *>.
1732
1733         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1734         <const Emchar *>; use `charc_string_displayed_columns' instead of
1735         `emchar_string_displayed_columns'.
1736         (tty_output_display_block): Use <Charc_dynarr *> instead of
1737         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1738         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1739         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1740         `tty_output_emchar_dynarr_dynarr'.
1741         (tty_output_charc_dynarr): New function; delete
1742         `tty_output_charc_dynarr'.
1743
1744         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1745         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1746         <Emchar_dynarr *> for buf; use
1747         `convert_bufbyte_string_into_charc_dynarr' instead of
1748         `convert_bufbyte_string_into_emchar_dynarr'.
1749
1750         * frame.c (title_string_charc_dynarr): New variable; renamed from
1751         `title_string_emchar_dynarr'.
1752         (generate_title_string): Use `title_string_charc_dynarr' instead
1753         of `title_string_emchar_dynarr'; use
1754         `convert_charc_string_into_malloced_string' instead of
1755         `convert_emchar_string_into_malloced_string'.
1756         (init_frame): Use `title_string_charc_dynarr' instead of
1757         `title_string_emchar_dynarr'.
1758
1759         * console.h:
1760         - Include "character.h".
1761         (struct console_methods): Use <const Charc *> instead of <const
1762         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1763         <Emchar_dynarr *> in output_string_method.
1764
1765         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1766         <Emchar_dynarr *>.
1767
1768         * console-stream.c (stream_text_width): Use <const Charc *>
1769         instead of <const Emchar *>.
1770
1771         * character.h (Charc_dynarr): New type.
1772
1773         * char-ucs.h (structure Charc): New structure; define new type
1774         `Charc'.
1775
1776         * char-lb.h (DECODE_CHAR): New inline function.
1777         (encode_char_1): New inline function.
1778         (ENCODE_CHAR): New macro.
1779         (structure Charc): New structure; define new type `Charc'.
1780
1781         * char-1byte.h (Vcharset_control_1): New macro.
1782         (Vcharset_latin_iso8859_1): New macro.
1783         (DECODE_CHAR): New inline function.
1784         (encode_char_1): New inline function.
1785         (ENCODE_CHAR): New macro.
1786         (structure Charc): New structure; define new type `Charc'.
1787
1788         * insdel.c (find_charsets_in_charc_string): New function; delete
1789         `find_charsets_in_emchar_string'.
1790         (charc_string_displayed_columns): New function; delete
1791         `emchar_string_displayed_columns'.
1792         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1793         `convert_bufbyte_string_into_emchar_dynarr'.
1794         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1795         `convert_charc_string_into_bufbyte_dynarr'.
1796         (convert_charc_string_into_malloced_string): New function; delete
1797         `convert_charc_string_into_malloced_string'.
1798
1799         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1800         `find_charsets_in_emchar_string'.
1801         (charc_string_displayed_columns): New prototype; delete
1802         `emchar_string_displayed_columns'.
1803         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1804         `convert_charc_string_into_bufbyte_dynarr'.
1805         (convert_charc_string_into_malloced_string): New prototype; delete
1806         `convert_charc_string_into_malloced_string'.
1807
1808 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1809
1810         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1811
1812 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1813
1814         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1815
1816         * char-ucs.h: Use <short> for <Charset_ID>.
1817
1818         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1819         <Charset_ID>.
1820
1821 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1822
1823         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1824         to 0.16.
1825
1826 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1827
1828         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1829         variable.
1830         (Qmorohashi_daikanwa): New variable.
1831         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1832         for `morohashi-daikanwa' attribute.
1833         (Fget_char_attribute): Likewise.
1834         (Fput_char_attribute): Likewise.
1835         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1836         has the same value of `ideograph-daikanwa'.
1837         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1838         (vars_of_mule_charset): Setup
1839         `Vcharacter_morohashi_daikanwa_table'.
1840
1841 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1842
1843         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1844         attributes.
1845         (add_charset_to_list_mapper): Add `key' instead of
1846         `XCHARSET_NAME (value)' to return aliases.
1847
1848 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1849
1850         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1851         variable.
1852         (Vcharacter_ideographic_strokes_table): New variable.
1853         (Qideographic_radical): New variable.
1854         (Qideographic_strokes): New variable.
1855         (Fchar_attribute_alist): Use
1856         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1857         attribute; use `Vcharacter_ideographic_strokes_table' for
1858         `ideographic-strokes' attribute.
1859         (Fget_char_attribute): Likewise.
1860         (Fput_char_attribute): Likewise.
1861         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1862         `ideographic-strokes'.
1863         (vars_of_mule_charset): Setup
1864         `Vcharacter_ideographic_radical_table' and
1865         `Vcharacter_ideographic_strokes_table'.
1866
1867 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1868
1869         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1870         (Qtotal_strokes): New variable.
1871         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1872         `total-strokes' attribute.
1873         (Fget_char_attribute): Likewise.
1874         (Fput_char_attribute): Likewise.
1875         (syms_of_mule_charset): Add new symbol `total-strokes'.
1876         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1877
1878 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1879
1880         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1881         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1882         are found.
1883         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1884         `->decomposition' attribute.
1885         (Fput_char_attribute): Likewise.
1886         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1887
1888 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1889
1890         * mule-charset.c (decoding_table_check_elements): New function.
1891         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1892
1893 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1894
1895         * mule-charset.c (Fset_charset_mapping_table): Use
1896         `put_char_ccs_code_point'.
1897
1898 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1899
1900         * mule-charset.c (decoding_table_put_char): New inline function.
1901         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1902
1903 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1906         (XCHARSET_BYTE_SIZE): New macro.
1907         (decoding_table_remove_char): New inline function.
1908         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1909         `decoding_table_remove_char'.
1910         (remove_char_ccs): Use `decoding_table_remove_char'.
1911         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1912
1913 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1914
1915         * mule-charset.c (Vcharacter_name_table): New variable.
1916         (Qname): New variable.
1917         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1918         attribute.
1919         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1920         `Vcharacter_name_table' for `name' attribute.
1921         (Fremove_char_attribute): Use function `remove_char_ccs'.
1922         (put_char_ccs_code_point): New function.
1923         (remove_char_ccs): New function.
1924         (syms_of_mule_charset): Add new symbol `name'.
1925         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1926
1927 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1928
1929         * mule-charset.c (make_byte_table): Add new argument `older'.
1930         (make_char_id_table): Likewise.
1931         (copy_char_id_table): Comment out because it is not used.
1932         (put_char_id_table): Modify for `make_byte_table'.
1933         (Fput_char_attribute): Make encoding_table as older object;
1934         inherit older bit of `Vcharacter_composition_table'.
1935         (mark_charset): Don't mark `cs->encoding_table'.
1936         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1937         normal object; make `Vcharacter_composition_table' as an older
1938         object; delete staticpro for `Vcharacter_composition_table'; make
1939         `Vcharacter_variant_table' as a normal object.
1940
1941         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1942         (mark_object): Don't check older object in UTF-2000.
1943
1944         * lrecord.h (struct lrecord_header): Add new member `older' in
1945         UTF-2000.
1946         (set_lheader_implementation): Setup `SLI_header->older' in
1947         UTF-2000.
1948         (set_lheader_older_implementation): New macro in UTF-2000.
1949         (OLDER_RECORD_P): New macro in UTF-2000.
1950         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1951         (alloc_older_lcrecord): New prototype in UTF-2000.
1952         (alloc_older_lcrecord_type): New macro in UTF-2000.
1953
1954 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1955
1956         * mule-charset.c (byte_table_description): Use
1957         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1958         (char_id_table_description): Delete bogus `, 1'.
1959         (Fget_char_attribute): Refer encoding_table of each coded-charset
1960         to get value of coded-charset attribute of a character.
1961         (Fput_char_attribute): Use `make_older_vector' instead of
1962         `make_vector'; use encoding_table of each coded-charset to store
1963         value of coded-charset attribute of a character.
1964         (Fremove_char_attribute): Use encoding_table of each coded-charset
1965         to store value of coded-charset attribute of a character.
1966         (mark_charset): Mark `cs->encoding_table'; don't mark
1967         `cs->decoding_table'.
1968         (charset_description): Add description of new member
1969         `encoding_table'.
1970         (make_charset): Initialize `encoding_table'.
1971
1972         * char-ucs.h (struct Lisp_Charset): Add new member
1973         `encoding_table'.
1974         (CHARSET_ENCODING_TABLE): New macro.
1975         (XCHARSET_ENCODING_TABLE): New macro.
1976         (charset_code_point): New implementation.
1977         (encode_char_1): Likewise.
1978
1979         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1980         (disksave_object_finalization_1): Call finalizers of
1981         `all_older_lcrecords' in UTF-2000.
1982         (make_older_vector): New function in UTF-2000.
1983         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1984         UTF-2000.
1985
1986         * lisp.h (make_older_vector): New prototype in UTF-2000.
1987
1988 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1989
1990         * lrecord.h (enum lrecord_type): Rename
1991         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1992
1993         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1994         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1995         `get_char_code_table'.
1996
1997         * mule-charset.c (mark_char_id_table): Renamed from
1998         `mark_char_code_table'.
1999         (char_id_table_equal): Renamed from `char_code_table_equal'.
2000         (char_id_table_hash): Renamed from `char_code_table_hash'.
2001         (make_char_id_table): Renamed from `make_char_code_table'.
2002         (copy_char_id_table): Renamed from `copy_char_code_table'.
2003         (get_char_id_table): Renamed from `get_char_code_table'.
2004         (put_char_id_table): Renamed from `put_char_code_table'.
2005         (to_char_id): Renamed from `to_char_code'.
2006
2007         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2008         `Lisp_Char_Code_Table'.
2009         (char_id_table): Renamed from `char_code_table'.
2010         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2011         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2012         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2013         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2014         (get_char_id_table): Renamed from `get_char_code_table'.
2015
2016 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2017
2018         * lrecord.h (enum lrecord_type): Rename
2019         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2020
2021         * mule-charset.c (mark_byte_table): Renamed from
2022         `mark_char_byte_table'.
2023         (byte_table_equal): Renamed from `char_byte_table_equal'.
2024         (byte_table_hash): Renamed from `byte_table_hash'.
2025         (make_byte_table): Renamed from `make_byte_table'.
2026         (copy_byte_table): Renamed from `copy_char_byte_table'.
2027
2028         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2029         `Lisp_Char_Byte_Table'.
2030         (byte_table): Renamed from `char_byte_table'.
2031         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2032         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2033         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2034         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2035
2036 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2037
2038         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2039         (dfc_convert_to_internal_format): Likewise.
2040         
2041         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2042         * text-coding.c (Fcoding_system_alias_p): New function.
2043         * text-coding.c (Fcoding_system_aliasee): New function.
2044         * text-coding.c (append_suffix_to_symbol): New function.
2045         * text-coding.c (dangling_coding_system_alias_p): New function.
2046         * text-coding.c (Ffind_coding_system):
2047         * text-coding.c (Fcopy_coding_system):
2048         * text-coding.c (encode_coding_no_conversion):
2049         * text-coding.c (syms_of_file_coding):
2050         * text-coding.c (vars_of_file_coding):
2051         Rewrite coding system alias code.
2052         Allow nested aliases, like symbolic links.
2053         Allow redefinition of coding system aliases.
2054         Prevent existence of dangling coding system aliases.
2055         Eliminate convert_to_external_format.
2056         Eliminate convert_to_internal_format.
2057         
2058         * text-coding.c: Change enum eol_type to eol_type_t.
2059
2060 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2061
2062         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2063         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2064
2065         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2066         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2067
2068 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2069
2070         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2071         `ideograph-daikanwa'.
2072
2073         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2074         (Vcharset_ucs_bmp): Likewise.
2075         (Vcharset_mojikyo): Add new extern variable definition.
2076         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2077         (Vcharset_latin_iso8859_3): Likewise.
2078         (Vcharset_latin_iso8859_4): Likewise.
2079         (Vcharset_latin_iso8859_9): Likewise.
2080         (Vcharset_latin_viscii_lower): Likewise.
2081         (Vcharset_latin_viscii_upper): Likewise.
2082         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2083         `mojikyo' code-point is used to decode.
2084         (encode_char_2): New function [to convert `mojikyo' code-point to
2085         Mojikyo font encoding].
2086         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2087         (breakup_char_1): Likewise.
2088         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2089
2090 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2091
2092         * text-coding.c (Fmake_coding_system): Add document about
2093         `disable-composition' property.
2094
2095 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2096
2097         * text-coding.c (Qdisable_composition): New variable; delete
2098         `Qcomposite'.
2099         (Fmake_coding_system): Add new property `disable-composite';
2100         delete property `composite'.
2101         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2102         instead of `!CODING_SYSTEM_COMPOSITE'.
2103         (syms_of_file_coding): Add new symbol `disable-composition';
2104         delete symbol `composite'.
2105
2106         * file-coding.h (struct Lisp_Coding_System): Add
2107         `disable_composition'; delete `enable_composition'.
2108         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2109         `CODING_SYSTEM_COMPOSITE'.
2110         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2111         `XCODING_SYSTEM_COMPOSITE'.
2112
2113 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2114
2115         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2116         to 0.15.
2117
2118 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2119
2120         * text-coding.c (Qcomposite): New variable.
2121         (Fmake_coding_system): Add new property `composite'.
2122         (struct decoding_stream): Add `combined_char_count',
2123         `combined_chars' and `combining_table' in UTF-2000.
2124         (COMPOSE_FLUSH_CHARS): New macro.
2125         (COMPOSE_ADD_CHAR): New macro.
2126         (reset_decoding_stream): Reset `str->combined_char_count' and
2127         `str->combining_table' in UTF-2000.
2128         (decode_coding_iso2022): Modify for character-decomposition.
2129         (syms_of_file_coding): Add new symbol `composite'.
2130
2131 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2132
2133         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2134         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2135         of `Vcharacter_composition_table' if `->decomposition' property
2136         has only 1 element.
2137         (Qlatin_tcvn5712): New variable.
2138         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2139         (complex_vars_of_mule_charset): Add new coded-charset
2140         `latin-tcvn5712'.
2141
2142         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2143
2144 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2145
2146         * file-coding.h (struct Lisp_Coding_System): Add
2147         `enable_composition'.
2148         (CODING_SYSTEM_COMPOSITE): New macro.
2149         (XCODING_SYSTEM_COMPOSITE): New macro.
2150
2151 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2152
2153         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2154
2155 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2156
2157         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2158         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2159
2160 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2161
2162         * mule-charset.c (Vcharset_mojikyo): New variable.
2163         (Fdefine_char): Don't use coded-charset which does not have
2164         non-builtin character range to allocate character-id.
2165         (Qmojikyo): New variable.
2166         (syms_of_mule_charset): Add new symbol `mojikyo'.
2167         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2168
2169         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2170         (LEADING_BYTE_MOJIKYO): New macro.
2171         (MIN_CHAR_MOJIKYO): New macro.
2172         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2173         (MAX_CHAR_MOJIKYO): New macro.
2174
2175 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2176
2177         * mule-charset.c (remove_char_attribute): Fixed.
2178
2179 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2180
2181         * mule-charset.c (remove_char_attribute): New function.
2182         (Fremove_char_attribute): New function.
2183         (encode_builtin_char_1): Comment out builtin-support for
2184         greek-iso8859-7 and cyrillic-iso8859-5.
2185         (Fdecode_char): Check `code' is an integer.
2186         (syms_of_mule_charset): Add `remove-char-attribute'.
2187         (MIN_CHAR_GREEK): Deleted.
2188         (MAX_CHAR_GREEK): Likewise.
2189         (MIN_CHAR_CYRILLIC): Likewise.
2190         (MAX_CHAR_CYRILLIC): Likewise.
2191         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2192         MAX_CHAR_GREEK for `greek-iso8859-7'.
2193
2194         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2195         (MAX_CHAR_GREEK): Likewise.
2196         (MIN_CHAR_CYRILLIC): Likewise.
2197         (MAX_CHAR_CYRILLIC): Likewise.
2198
2199 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2200
2201         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2202         format is used without `ucs' property.
2203         (Fdecode_char): Fix problem with GR representation.
2204         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2205         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2206
2207 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2208
2209         * mule-charset.c (make_builtin_char): New function.
2210         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2211         (Fset_charset_mapping_table): Modify for new representation of
2212         code-point.
2213         (Fdecode_char): New function.
2214         (syms_of_mule_charset): Add new builtin function `decode-char' in
2215         UTF-2000.
2216
2217         * char-ucs.h (make_builtin_char): New prototype.
2218         (DECODE_CHAR): New inline function.
2219         (MAKE_CHAR): Use `DECODE_CHAR'.
2220
2221 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2222
2223         * text-coding.c (parse_charset_conversion_specs): Use
2224         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2225         `XCHARSET_TYPE'.
2226         (iso2022_designate): Likewise.
2227
2228         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2229         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2230
2231         * mule-charset.c (Vcharset_ucs): New variable.
2232         (print_charset): Change design; use `CHARSET_CHARS' and
2233         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2234         (make_charset): Change signature to specify `chars' and
2235         `dimension' instead of `type'.
2236         (range_charset_code_point): Modify for 256^n-set.
2237         (encode_builtin_char_1): Encode as `ucs' in default.
2238         (Fmake_charset): Modify for `make_charset'.
2239         (Fmake_reverse_direction_charset): Likewise.
2240         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2241         UTF-2000.
2242         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2243         for `make_charset'.
2244
2245         * char-ucs.h (Vcharset_ucs): New variable.
2246         (LEADING_BYTE_UCS): New macro.
2247         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2248         and `chars' to `unsigned short' from `unsigned int'.
2249         (CHARSET_TYPE): Deleted.
2250         (XCHARSET_TYPE): Deleted.
2251
2252 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2253
2254         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2255
2256         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2257         (ENCODE_CHAR): New macro.
2258
2259 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2260
2261         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2262         to 0.14 (Kawachi-Katakami).
2263
2264 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2265
2266         * text-coding.c (char_encode_shift_jis): Modify for
2267         `charset_code_point'.
2268         (char_encode_iso2022): Likewise.
2269
2270         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2271         (integer) instead of list of <Lisp_Object>s (integers) as the
2272         format of code-point of a coded-charset.
2273         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2274         (encode_builtin_char_1): New function; delete
2275         `split_builtin_char'.
2276         (charset_code_point): Return <int> instead of <Lisp_Object>.
2277         (Fsplit_char): Don't use `SPLIT_CHAR'.
2278
2279         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2280         prototype for `split_builtin_char'.
2281         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2282         (charset_code_point): Likewise.
2283         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2284         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2285
2286 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2287
2288         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2289         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2290
2291 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2292
2293         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2294
2295         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2296         (MAX_CHAR_OBS_94x94): Deleted.
2297
2298 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2299
2300         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2301
2302         * char-ucs.h (MAX_CHAR_BMP): New macro.
2303
2304 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2305
2306         * text-coding.c: Sync with r21-2-24.
2307
2308 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2309
2310         * file-coding.c: Modify for UTF-2000.
2311
2312 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2313
2314         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2315         to 0.13 (Takaida).
2316
2317 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2318
2319         * mule-charset.c (split_builtin_char): Delete builtin support for
2320         `katakana-jisx0201'.
2321         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2322         BMP area in builtin representation.
2323
2324         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2325         `Vcharset_katakana_jisx0201'.
2326
2327 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2328
2329         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2330         (Qisolated): New variable.
2331         (Qinitial): New variable.
2332         (Qmedial): New variable.
2333         (Qfinal): New variable.
2334         (Qvertical): New variable.
2335         (Qsmall): New variable.
2336         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2337         `Qvertical' and `Qsmall'.
2338         (Qmojikyo_pj_[1 .. 21]): New variable.
2339         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2340         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2341         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2342         .. 21]'.
2343
2344 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2345
2346         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2347         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2348         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2349
2350 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2351
2352         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2353         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2354         BMP.
2355         (Qjapanese_jisx0208_1990): New variable.
2356         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2357         (complex_vars_of_mule_charset): Add new coded-charset
2358         `japanese-jisx0208-1990'.
2359
2360         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2361         (MIN_CHAR_JIS_X0208_1990): New macro.
2362         (MAX_CHAR_JIS_X0208_1990): New macro.
2363
2364 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2365
2366         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2367         coded-charset is not found.
2368
2369 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2370
2371         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2372         (Fdefine_char): Use `Fmake_char'.
2373
2374 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2375
2376         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2377         (Vcharset_hiragana_jisx0208): Deleted.
2378         (Vcharset_katakana_jisx0208): Deleted.
2379         (Qideograph_daikanwa): New variable.
2380         (Qhiragana_jisx0208): Deleted.
2381         (Qkatakana_jisx0208): Deleted.
2382         (split_builtin_char): Split `ideograph-daikanwa'.
2383         (Fsplit_char): New implementation for UTF-2000.
2384         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2385         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2386         (complex_vars_of_mule_charset): Add new coded-charset
2387         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2388         `katakana-jisx0208'.
2389
2390         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2391         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2392         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2393         (MIN_CHAR_DAIKANWA): New macro.
2394         (MAX_CHAR_DAIKANWA): New macro.
2395
2396 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2397
2398         * data.c (Fstring_to_number): Don't recognize floating point if
2399         base is not 10.
2400
2401 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2402
2403         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2404
2405 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2406
2407         * mule-charset.c (Qsquare): New variable.
2408         (to_char_code): Add `Qsquare'.
2409         (syms_of_mule_charset): Add new symbol `square'.
2410
2411 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2412
2413         * mule-charset.c (Qcircle): New variable.
2414         (to_char_code): Add `Qcircle'.
2415         (syms_of_mule_charset): Add new symbol `circle'.
2416
2417 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2418
2419         * mule-charset.c (Qfont): New variable.
2420         (to_char_code): Add `Qfont'.
2421         (syms_of_mule_charset): Add new symbol `font'.
2422
2423 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2424
2425         * mule-charset.c (Qsub): New variable.
2426         (to_char_code): Add `Qsub'.
2427         (syms_of_mule_charset): Add new symbol `sub'.
2428
2429 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2430
2431         * mule-charset.c (Fput_char_attribute): Convert each element of
2432         VALUE to GL position if ATTRIBUTE is a GR-set,
2433
2434 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2435
2436         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2437         coded-charset is a GR-set.
2438
2439 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2440
2441         * mule-charset.c (Fput_char_attribute): Check each element of
2442         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2443
2444 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2445
2446         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2447         UTF-2000.
2448         (Qethiopic_ucs): New variable in UTF-2000.
2449         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2450         (complex_vars_of_mule_charset): Add new coded-charset
2451         `ethiopic-ucs' in UTF-2000.
2452
2453         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2454         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2455         9)'.
2456         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2457         10)'.
2458         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2459
2460 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2461
2462         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2463         `ascii'.
2464
2465 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2466
2467         * mule-charset.c (Vcharacter_variant_table): New variable.
2468         (Q_ucs): New variable.
2469         (Fchar_variants): New function.
2470         (Fput_char_attribute): Register `->ucs' value to
2471         `Vcharacter_variant_table'.
2472         (syms_of_mule_charset): Add new function `char-variants' and new
2473         symbol `->ucs'.
2474         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2475
2476 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2477
2478         * mule-charset.c (get_char_code_table): Allow negative character
2479         code.
2480         (put_char_code_table): Likewise.
2481         (Vcharacter_composition_table): New variable.
2482         (Q_decomposition): New variable.
2483         (Qwide): New variable.
2484         (Qnarrow): New variable.
2485         (Qcompat): New variable.
2486         (QnoBreak): New variable.
2487         (Qsuper): New variable.
2488         (Qfraction): New variable.
2489         (to_char_code): New function.
2490         (Fget_composite_char): New function.
2491         (Fput_char_attribute): Register `->decomposition' value to
2492         `Vcharacter_composition_table'.
2493         (syms_of_mule_charset): Add new function `get-composite-char', new
2494         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2495         `super' and `fraction'.
2496         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2497
2498 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2499
2500         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2501         character; copy the return value.
2502
2503 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2504
2505         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2506
2507         * mule-charset.c (range_charset_code_point): Must use make_int.
2508         (split_builtin_char): New function.
2509
2510 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2511
2512         * mule-charset.c (char_byte_table): Change name from
2513         "char-code-table" to "char-byte-table".
2514         (mark_char_code_table): New function.
2515         (char_code_table_equal): New function.
2516         (char_code_table_hash): New function.
2517         (char_code_table_description): New constant.
2518         (char_code_table): New type.
2519         (make_char_code_table): New function.
2520         (copy_char_code_table): New function.
2521         (get_char_code_table): Modify for `char_code_table' type.
2522         (put_char_code_table): Likewise.
2523         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2524         (Kashiwara).
2525
2526         * char-ucs.h (char_code_table): New type.
2527         (XCHAR_CODE_TABLE): New macro.
2528         (XSETCHAR_CODE_TABLE): New macro.
2529         (CHAR_CODE_TABLE_P): New macro.
2530         (GC_CHAR_CODE_TABLE_P): New macro.
2531         (struct Lisp_Char_Code_Table): New structure.
2532
2533 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2534
2535         * mule-charset.c (Fmake_charset): Setup byte_offset for
2536         {94|96}^n-set.
2537
2538 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2539
2540         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2541         character.
2542
2543 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2544
2545         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2546         is found.
2547
2548 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2549
2550         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2551         charset, it is regarded as a charset.
2552         (put_char_attribute): New function in UTF-2000.
2553         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2554         charset, mapping-table of the charset is modified.
2555         (Fdefine_char): New function in UTF-2000.
2556         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2557         `Fput_char_attribute'.
2558         (syms_of_mule_charset): Add new function `define-char' and new
2559         symbol `ucs' in UTF-2000.
2560         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2561
2562 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2563
2564         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2565         non-UTF-2000 configuration.
2566
2567 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2568
2569         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2570         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2571
2572         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2573         deleted.
2574         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2575         (Fset_charset_mapping_table): Likewise.
2576
2577         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2578         (CHARSET_ENCODING_TABLE): Delete.
2579         (XCHARSET_ENCODING_TABLE): Delete.
2580         (charset_code_point): New interface.
2581
2582 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2583
2584         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2585         instead of `charset_get_byte1' and `charset_get_byte2'.
2586
2587         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2588         (charset_get_byte2): Deleted.
2589
2590 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2591
2592         * char-ucs.h (SPLIT_CHAR): New inline function.
2593         (breakup_char_1): Use `SPLIT_CHAR'.
2594
2595         * mule-charset.c (range_charset_code_point): New function.
2596         (charset_code_point): New function.
2597
2598         * char-ucs.h (range_charset_code_point): New interface.
2599         (breakup_char_1): Use `range_charset_code_point'.
2600
2601 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2602
2603         * mule-charset.c (Fmake_charset): Delete unused local variable
2604         `code_offset'.
2605
2606         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2607         (breakup_char_1): Find a charset and code-point in
2608         `Vcharacter_attribute_table'.
2609
2610 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2611
2612         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2613         to 0.10 (Yao).
2614
2615 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2616
2617         * mule-charset.c (Vcharacter_attribute_table): New variable.
2618         (Fchar_attribute_alist): New function.
2619         (Fget_char_attribute): New function.
2620         (Fput_char_attribute): New function.
2621         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2622         too.
2623         (syms_of_mule_charset): Add new function `char-attribute-alist',
2624         `get-char-attribute' and `put-char-attribute'.
2625         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2626
2627 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2628
2629         * mule-charset.c (Fmake_charset): Just use
2630         `get_unallocated_leading_byte'.
2631
2632         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2633         sets; don't use final-byte based number for private sets.
2634
2635 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2636
2637         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2638         integer.
2639
2640 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2641
2642         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2643         to 0.9.
2644
2645 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2646
2647         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2648         of `CHAR_LEADING_BYTE' in UTF-2000.
2649
2650         * insdel.c (find_charsets_in_bufbyte_string): Use
2651         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2652         (find_charsets_in_emchar_string): Likewise.
2653
2654         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2655         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2656
2657         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2658         (CHAR_CHARSET_ID): New macro.
2659
2660 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2661
2662         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2663         charset-id - MIN_LEADING_BYTE.
2664         (put_char_table): Likewise.
2665
2666 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2667
2668         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2669         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2670         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2671         (CHARSET_ID_OFFSET): New macro.
2672         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2673         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2674         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2675         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2676         4).
2677         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2678         5).
2679         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2680         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2681         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2682         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2683         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2684
2685 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2686
2687         * mule-charset.c (next_allocated_leading_byte): New variable in
2688         UTF-2000.
2689         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2690         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2691         (get_unallocated_leading_byte): Simply use
2692         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2693         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2694         UTF-2000.
2695
2696         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2697         (MAX_LEADING_BYTE_PRIVATE): New macro.
2698         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2699         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2700
2701 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2702
2703         * mule-charset.c (Fmake_charset): Allocate final-byte based
2704         charset-id for 94-set, 96-set and 94x94-set.
2705
2706 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2707
2708         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2709         ambiguous `else'.
2710         (Fmake_charset): Likewise.
2711         (complex_vars_of_mule_charset): Modify the font registry of
2712         `ucs-bmp' not to match `Ethiopic-Unicode'.
2713
2714 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2715
2716         * mule-charset.c (complex_vars_of_mule_charset): Add font
2717         registory of `ucs-bmp'.
2718
2719 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2720
2721         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2722         coded-charsets in `default-coded-charset-priority-list' when
2723         breaking up a character.
2724
2725         * mule-charset.c (Vcharset_latin_viscii): New variable.
2726         (Qlatin_viscii): New variable.
2727         (make_charset): Don't use `decoding_table'.
2728         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2729         byte_offset.
2730         (Fset_charset_mapping_table): New implementation.
2731         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2732         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2733         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2734         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2735         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2736         charset `latin_viscii'.
2737
2738         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2739         (CHARSET_TYPE_94X94): Change to 1 from 2.
2740         (CHARSET_TYPE_96): Change to 2 from 1.
2741         (CHARSET_TYPE_128): New macro.
2742         (CHARSET_TYPE_128X128): Change to 5 from 4.
2743         (CHARSET_TYPE_256): New macro.
2744         (CHARSET_TYPE_256X256): Change to 7 from 5.
2745         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2746
2747 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2748
2749         * text-coding.c (char_encode_shift_jis): Refer
2750         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2751         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2752
2753         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2754         (char_byte_table_equal): New function in UTF-2000.
2755         (char_byte_table_hash): New function in UTF-2000.
2756         (char_byte_table_description): New constant in UTF-2000.
2757         (char_byte_table): New type in UTF-2000.
2758         (make_char_byte_table): New function in UTF-2000.
2759         (copy_char_byte_table): New function in UTF-2000.
2760         (make_char_code_table): New macro in UTF-2000.
2761         (get_char_code_table): New function in UTF-2000.
2762         (put_char_code_table): New function in UTF-2000.
2763         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2764         (charset_description): Add setting in UTF-2000.
2765         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2766         `CHARSET_TO_BYTE1_TABLE(cs)'.
2767         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2768         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2769         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2770         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2771         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2772         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2773         `CHARSET_TO_BYTE2_TABLE(cs)'.
2774
2775         * char-ucs.h (char_byte_table): New type.
2776         (XCHAR_BYTE_TABLE): New macro.
2777         (XSETCHAR_BYTE_TABLE): New macro.
2778         (CHAR_BYTE_TABLE_P): New macro.
2779         (GC_CHAR_BYTE_TABLE_P): New macro.
2780         (struct Lisp_Char_Byte_Table): New structure.
2781         (get_char_code_table): New interface.
2782         (Emchar_to_byte_table): Deleted.
2783         (get_byte_from_character_table): Deleted.
2784         (struct Lisp_Charset): Add `encoding_table'; delete
2785         `to_byte1_table' and `to_byte2_table'.
2786         (CHARSET_ENCODING_TABLE): New macro.
2787         (CHARSET_TO_BYTE1_TABLE): Deleted.
2788         (CHARSET_TO_BYTE2_TABLE): Deleted.
2789         (XCHARSET_ENCODING_TABLE): New macro.
2790         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2791         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2792
2793 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2794
2795         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2796         `vietnamese-viscii-*'.
2797
2798 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2799
2800         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2801         (Qvietnamese_viscii_upper): New variable.
2802         (Fdefine_charset_alias): New function.
2803         (syms_of_mule_charset): Add new function `define-charset-alias'.
2804         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2805         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2806         `latin-viscii-*'.
2807
2808 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2809
2810         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2811         (MAX_CHAR_OBS_94x94): New macro.
2812         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2813         for 94x94 sets.
2814
2815         * mule-charset.c (put_byte_from_character_table): Change unit size
2816         from 128 to 256.
2817         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2818         not defined.
2819         (Fmake_reverse_direction_charset): Modify dummy argument of
2820         `make_charset' for non-UTF-2000 environment.
2821
2822 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2823
2824         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2825
2826         * mule-charset.c (destroy_byte_from_character_table): New macro.
2827         (latin_jisx0201_to_ucs): Deleted.
2828         (latin_iso8859_2_to_ucs): Deleted.
2829         (latin_iso8859_3_to_ucs): Deleted.
2830         (latin_iso8859_4_to_ucs): Deleted.
2831         (latin_iso8859_9_to_ucs): Deleted.
2832         (latin_viscii_lower_to_ucs): Deleted.
2833         (latin_viscii_upper_to_ucs): Deleted.
2834         (mark_charset): Mark `cs->decoding_table'.
2835         (Fcharset_mapping_table): Fix DOC-string.
2836         (Fset_charset_mapping_table): New function.
2837         (syms_of_mule_charset): Add nwe function
2838         `set-charset-mapping-table'.
2839         (complex_vars_of_mule_charset): Don't setup and use
2840         `latin_*_to_ucs'.
2841
2842 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2843
2844         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2845         charset.
2846
2847 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2848
2849         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2850         (Vcharset_katakana_jisx0208): New variable.
2851         (Qhiragana_jisx0208): New variable.
2852         (Qkatakana_jisx0208): New variable.
2853         (make_charset): Add new argument `byte_offset'.
2854         (charset_get_byte1): Modify for new coded-charset definition; use
2855         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2856         `XCHARSET_BYTE_OFFSET'.
2857         (Fmake_charset): Modify for `make_charset'.
2858         (Fmake_reverse_direction_charset): Likewise.
2859         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2860         `katakana-jisx0208'.
2861         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2862         `.'  in font registry of charset `katakana-jisx0201',
2863         `latin-jisx0201', `vietnamese-viscii-lower' and
2864         `vietnamese-viscii-upper'; modify DOC-string of charset
2865         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2866         registry of charset `japanese-jisx0208' not to use font for JIS
2867         X0208:1990; add new charset `hiragana-jisx0208' and
2868         `katakana-jisx0208'.
2869
2870         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2871         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2872         (struct Lisp_Charset): Add `byte_offset'.
2873         (CHARSET_BYTE_OFFSET): New macro.
2874         (XCHARSET_UCS_MIN): New macro.
2875         (XCHARSET_UCS_MAX): New macro.
2876         (XCHARSET_CODE_OFFSET): New macro.
2877         (XCHARSET_BYTE_OFFSET): New macro.
2878         (MIN_CHAR_HIRAGANA): New macro.
2879         (MAX_CHAR_HIRAGANA): New macro.
2880         (MIN_CHAR_KATAKANA): New macro.
2881         (MAX_CHAR_KATAKANA): New macro.
2882         (MAKE_CHAR): Modify for new coded-charset definition; use
2883         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2884         `XCHARSET_BYTE_OFFSET'.
2885
2886 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2887
2888         * mule-charset.c (CHAR96): Deleted.
2889         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2890         <Lisp_Object>.
2891         (latin_iso8859_2_to_ucs): Likewise.
2892         (latin_iso8859_3_to_ucs): Likewise.
2893         (latin_iso8859_4_to_ucs): Likewise.
2894         (latin_iso8859_9_to_ucs): Likewise.
2895         (latin_viscii_lower_to_ucs): Likewise.
2896         (latin_viscii_upper_to_ucs): Likewise.
2897         (latin_tcvn5712_to_ucs): Commented out.
2898         (make_charset): Change type of argument `decoding_table' from
2899         <Emchar*> to <Lisp_Object> [vector of characters].
2900         (Fmake_charset): Modify for `make_charset'.
2901         (Fmake_reverse_direction_charset): Likewise.
2902         (Fcharset_mapping_table): New function in UTF-2000.
2903         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2904         UTF-2000.
2905         (complex_vars_of_mule_charset): Modify for type change of
2906         `*_to_ucs'; modify for `make_charset'.
2907
2908         * char-ucs.h (struct Lisp_Charset): Change type of
2909         `decoding_table' from <Emchar*> to <Lisp_Object>.
2910         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2911
2912 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2913
2914         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2915         error with non-UTF-2000-Mule.
2916
2917 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2918
2919         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2920         in lisp again].
2921         (Vcharset_chinese_cns11643_4): Likewise.
2922         (Vcharset_chinese_cns11643_5): Likewise.
2923         (Vcharset_chinese_cns11643_6): Likewise.
2924         (Vcharset_chinese_cns11643_7): Likewise.
2925         (Qchinese_cns11643_3): Likewise.
2926         (Qchinese_cns11643_4): Likewise.
2927         (Qchinese_cns11643_5): Likewise.
2928         (Qchinese_cns11643_6): Likewise.
2929         (Qchinese_cns11643_7): Likewise.
2930         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2931         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2932         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2933         (complex_vars_of_mule_charset): Likewise.
2934
2935 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2936
2937         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2938         96-set.
2939         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2940         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2941
2942 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2943
2944         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2945         0xFF60.
2946         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2947         (breakup_char_1): Likewise.
2948
2949         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2950         one of them includes the specified character.
2951
2952 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2953
2954         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2955
2956 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2957
2958         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2959
2960 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2961
2962         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2963         definition for non-UTF-2000 Mule.
2964         (latin_iso8859_3_to_ucs): Likewise.
2965         (latin_iso8859_4_to_ucs): Likewise.
2966         (latin_iso8859_9_to_ucs): Likewise.
2967         (latin_jisx0201_to_ucs): Likewise.
2968         (MIN_CHAR_THAI): Likewise.
2969         (MAX_CHAR_THAI): Likewise.
2970         (MIN_CHAR_GREEK): Likewise.
2971         (MAX_CHAR_GREEK): Likewise.
2972         (MIN_CHAR_HEBREW): Likewise.
2973         (MAX_CHAR_HEBREW): Likewise.
2974         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2975         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2976         (MIN_CHAR_CYRILLIC): Likewise.
2977         (MAX_CHAR_CYRILLIC): Likewise.
2978
2979 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2980
2981         * char-ucs.h (breakup_char_1): Use
2982         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2983         thai-tis620 and katakana-jisx0201 area.
2984
2985 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2986
2987         * char-ucs.h (breakup_char_1): Use
2988         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2989         area.
2990
2991         * text-coding.c (reset_encoding_stream): Fixed.
2992         (char_encode_ucs4): Delete `& 255'.
2993
2994         * char-ucs.h (breakup_char_1): Use
2995         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2996
2997 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2998
2999         * file-coding.c (Fmake_coding_system): Don't set up
3000         `codesys->fixed.size'.
3001         (encode_coding_no_conversion): Don't refer
3002         `str->codesys->fixed.size'.
3003
3004 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3005
3006         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3007         (latin_a_char_to_byte1): Deleted.
3008         (latin_a_char_to_byte2): Deleted.
3009
3010 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3011
3012         * mule-charset.c (make_charset): Add new argument `ucs_min',
3013         `ucs_max' and `code_offset'.
3014         (charset_get_byte1): New implementation [delete specific charset
3015         depended implementations].
3016         (Fmake_charset): Modify for `make_charset'.
3017         (Fmake_reverse_direction_charset): Likewise.
3018         (complex_vars_of_mule_charset): Likewise.
3019
3020         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3021         `code_offset'.
3022         (CHARSET_UCS_MIN): New macro.
3023         (CHARSET_UCS_MAX): New macro.
3024         (CHARSET_CODE_OFFSET): New macro.
3025         (MAKE_CHAR): Delete charset depended definitions [except
3026         katakana-jisx0201].
3027
3028 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3029
3030         * char-ucs.h (breakup_char_1): Use
3031         `Vdefault_coded_charset_priority_list' for C0-Controls,
3032         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3033
3034 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3035
3036         * char-ucs.h (charset_get_byte1): New function.
3037         (XCHARSET_GET_BYTE1): Deleted.
3038         (charset_get_byte2): New function.
3039         (XCHARSET_GET_BYTE2): Deleted.
3040         (Vdefault_coded_charset_priority_list): New external variable.
3041         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3042         `Vdefault_preferred_coded_charset_list'.
3043
3044         * mule-charset.c (charset_get_byte1): New function.
3045         (charset_get_byte2): New function.
3046         (Vdefault_coded_charset_priority_list): New variable.
3047         (vars_of_mule_charset): Add new variable
3048         `default-coded-charset-priority-list'.
3049
3050 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3051
3052         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3053         (XCHARSET_GET_BYTE2): New inline function.
3054         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3055         `XCHARSET_GET_BYTE2'.
3056
3057 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3058
3059         * mule-charset.c (make_charset): Initialize
3060         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3061         NULL if table is not defined.
3062
3063 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3064
3065         * text-coding.c (char_encode_shift_jis): Use
3066         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3067         `ucs_to_latin_jisx0201'.
3068
3069         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3070         (ucs_to_latin_iso8859_2): Deleted.
3071         (ucs_to_latin_iso8859_3): Deleted.
3072         (ucs_to_latin_iso8859_4): Deleted.
3073         (ucs_to_latin_iso8859_9): Deleted.
3074         (ucs_to_latin_viscii_lower): Deleted.
3075         (ucs_to_latin_viscii_upper): Deleted.
3076         (ucs_to_latin_tcvn5712): Deleted.
3077         (make_charset): Add new argument `decoding_table'; set up
3078         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3079         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3080         `decoding_table' is defined in UTF-2000.
3081         (Fmake_charset): Modify for `make_charset'.
3082         (Fmake_reverse_direction_charset): Likewise.
3083         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3084         and `GENERATE_96_SET'.
3085
3086         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3087         (ucs_to_latin_jisx0201): Deleted.
3088         (latin_iso8859_2_to_ucs): Deleted.
3089         (ucs_to_latin_iso8859_2): Deleted.
3090         (latin_iso8859_3_to_ucs): Deleted.
3091         (ucs_to_latin_iso8859_3): Deleted.
3092         (latin_iso8859_4_to_ucs): Deleted.
3093         (ucs_to_latin_iso8859_4): Deleted.
3094         (latin_iso8859_9_to_ucs): Deleted.
3095         (ucs_to_latin_iso8859_9): Deleted.
3096         (latin_viscii_lower_to_ucs): Deleted.
3097         (ucs_to_latin_viscii_lower): Deleted.
3098         (latin_viscii_upper_to_ucs): Deleted.
3099         (ucs_to_latin_viscii_upper): Deleted.
3100         (struct Lisp_Charset): Renamed `encoding_table' to
3101         `to_byte1_table'; add `to_byte2_table'.
3102         (CHARSET_DECODING_TABLE): New macro.
3103         (CHARSET_TO_BYTE1_TABLE): New macro.
3104         (CHARSET_TO_BYTE2_TABLE): New macro.
3105         (XCHARSET_DECODING_TABLE): New macro.
3106         (XCHARSET_TO_BYTE1_TABLE): New macro.
3107         (XCHARSET_TO_BYTE2_TABLE): New macro.
3108         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3109         tables.
3110         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3111         don't use `ucs_to_*' tables.
3112
3113 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3114
3115         * text-coding.c (Fmake_coding_system): Don't set up
3116         `codesys->fixed.size'.
3117         (encode_coding_no_conversion): Use `if' instead of `switch'.
3118
3119         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3120
3121 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3122
3123         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3124         (Fmake_charset): Modify for `make_charset'.
3125         (Fmake_reverse_direction_charset): Likewise.
3126         (complex_vars_of_mule_charset): Likewise.
3127
3128 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3129
3130         * text-coding.c (char_encode_shift_jis): Use table
3131         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3132
3133 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3134
3135         * text-coding.c (text_encode_generic): Use `if' instead of
3136         `switch'.
3137         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3138         decode JIS-Latin.
3139
3140 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3141
3142         * text-coding.c (encode_coding_sjis): Deleted.
3143         (char_encode_shift_jis): New function.
3144         (char_finish_shift_jis): New function.
3145         (reset_encoding_stream): Set up `encode_char' and `finish' for
3146         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3147         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3148         (char_encode_utf8): Treat `eol_type'.
3149
3150 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3151
3152         * file-coding.c (decode_coding_iso2022): Use
3153         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3154
3155 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3156
3157         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3158         to 0.7 (Hirano).
3159
3160 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3161
3162         * char-lb.h (CHAR_COLUMNS): New macro.
3163
3164 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3165
3166         * text-coding.c (char_encode_ucs4): New function.
3167         (char_finish_ucs4): New function.
3168         (encode_coding_ucs4): Deleted.
3169         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3170         (text_encode_generic): Delete local variable `charset' and `half'.
3171         (ucs_to_mule_table): Deleted.
3172         (mule_to_ucs_table): Deleted.
3173         (Fset_ucs_char): Deleted.
3174         (ucs_to_char): Deleted.
3175         (Fucs_char): Deleted.
3176         (Fset_char_ucs): Deleted.
3177         (Fchar_ucs): Deleted.
3178         (decode_ucs4): Deleted.
3179         (mule_char_to_ucs4): Deleted.
3180         (encode_ucs4): Deleted.
3181         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3182         (decode_coding_utf8): Likewise.
3183         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3184         (char_encode_iso2022): Fixed.
3185         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3186         `Fset_char_ucs' and `Fchar_ucs'.
3187         (complex_vars_of_file_coding): Don't initialize
3188         `ucs_to_mule_table'.
3189
3190         * objects-tty.c (tty_initialize_font_instance): Don't use
3191         `XCHARSET_COLUMNS'.
3192
3193         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3194         UTF-2000.
3195
3196         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3197         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3198
3199         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3200         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3201         (emchar_string_displayed_columns): Likewise.
3202
3203         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3204         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3205         (string_column_at_point): Likewise.
3206         (Fmove_to_column): Likewise.
3207
3208         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3209         `encoding_table' and `decoding_table'.
3210         (CHARSET_REP_BYTES): Deleted.
3211         (XCHARSET_REP_BYTES): Deleted.
3212         (XCHARSET_COLUMNS): Deleted.
3213         (CHAR_COLUMNS): New macro.
3214         (lookup_composite_char): Deleted unconditionally.
3215         (composite_char_string): Likewise.
3216
3217 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3218
3219         * char-ucs.h (Emchar_to_byte_table): New type.
3220         (get_byte_from_character_table): New function interface.
3221         (Vcharset_latin_jisx0201): New variable.
3222         (latin_jisx0201_to_ucs): New variable.
3223         (ucs_to_latin_jisx0201): New variable.
3224         (Vcharset_latin_iso8859_2): New variable.
3225         (latin_iso8859_2_to_ucs): New variable.
3226         (ucs_to_latin_iso8859_2): New variable.
3227         (Vcharset_latin_iso8859_3): New variable.
3228         (latin_iso8859_3_to_ucs): New variable.
3229         (ucs_to_latin_iso8859_3): New variable.
3230         (Vcharset_latin_iso8859_4): New variable.
3231         (latin_iso8859_4_to_ucs): New variable.
3232         (ucs_to_latin_iso8859_4): New variable.
3233         (Vcharset_latin_iso8859_9): New variable.
3234         (latin_iso8859_9_to_ucs): New variable.
3235         (ucs_to_latin_iso8859_9): New variable.
3236         (Vcharset_latin_viscii_lower): New variable.
3237         (latin_viscii_lower_to_ucs): New variable.
3238         (ucs_to_latin_viscii_lower): New variable.
3239         (Vcharset_latin_viscii_upper): New variable.
3240         (latin_viscii_upper_to_ucs): New variable.
3241         (ucs_to_latin_viscii_upper): New variable.
3242         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3243         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3244         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3245         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3246         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3247         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3248         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3249         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3250         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3251         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3252
3253         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3254         (Vcharset_latin_viscii_upper): New variable.
3255         (make_byte_from_character_table): New function.
3256         (put_byte_from_character_table): New function.
3257         (get_byte_from_character_table): New function.
3258         (CHAR96): New macro.
3259         (ucs_to_latin_jisx0201): New variable.
3260         (latin_jisx0201_to_ucs): New variable.
3261         (ucs_to_latin_iso8859_2): New variable.
3262         (latin_iso8859_2_to_ucs): New variable.
3263         (ucs_to_latin_iso8859_3): New variable.
3264         (latin_iso8859_3_to_ucs): New variable.
3265         (ucs_to_latin_iso8859_4): New variable.
3266         (latin_iso8859_4_to_ucs): New variable.
3267         (ucs_to_latin_iso8859_9): New variable.
3268         (latin_iso8859_9_to_ucs): New variable.
3269         (ucs_to_latin_viscii_lower): New variable.
3270         (latin_viscii_lower_to_ucs): New variable.
3271         (ucs_to_latin_viscii_upper): New variable.
3272         (latin_viscii_upper_to_ucs): New variable.
3273         (ucs_to_latin_tcvn5712): New variable.
3274         (latin_tcvn5712_to_ucs): New variable.
3275         (Qlatin_viscii_lower): New variable.
3276         (Qlatin_viscii_upper): New variable.
3277         (syms_of_mule_charset): Set up new symbol
3278         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3279         (complex_vars_of_mule_charset): Set up new charset
3280         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3281         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3282         `ucs_to_<CHARSET>' tables.
3283
3284 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3285
3286         * text-coding.c: New file.
3287
3288 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3289
3290         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3291
3292         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3293         (MAKE_CHAR): Modify for `ucs-bmp'.
3294         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3295         non-MULE characters of BMP.
3296
3297 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3298
3299         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3300         to 0.6.
3301
3302 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3303
3304         * lstream.h:
3305         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3306         - Include character.h for `CHAR_ASCII_P'.
3307
3308         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3309
3310         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3311         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3312
3313         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3314         (BYTE_C0_P): Likewise.
3315         (BYTE_C1_P): Likewise.
3316         (Lstream_get_emchar_1): Likewise.
3317         (Lstream_fput_emchar): Likewise.
3318         (Lstream_funget_emchar): Likewise.
3319         (copy_internal_to_external): Likewise.
3320         (copy_external_to_internal): Likewise.
3321
3322         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3323         (BYTE_C0_P): Likewise.
3324         (BYTE_C1_P): Likewise.
3325         (Lstream_get_emchar_1): Likewise.
3326         (Lstream_fput_emchar): Likewise.
3327         (Lstream_funget_emchar): Likewise.
3328         (copy_internal_to_external): Likewise.
3329         (copy_external_to_internal): Likewise.
3330
3331         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3332         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3333
3334         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3335         (BYTE_ASCII_P): Moved to mb-1byte.h.
3336
3337 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3338
3339         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3340
3341         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3342         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3343         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3344         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3345         (VALIDATE_CHARPTR_FORWARD): Likewise.
3346         (simple_charptr_emchar): Moved to mb-multibyte.h.
3347         (simple_set_charptr_emchar): Likewise.
3348         (simple_charptr_copy_char): Likewise.
3349         (non_ascii_charptr_emchar): Likewise.
3350         (non_ascii_set_charptr_emchar): Likewise.
3351         (non_ascii_charptr_copy_char): Likewise.
3352         (charptr_emchar): Moved to mb-*byte.h.
3353         (set_charptr_emchar): Likewise.
3354         (charptr_copy_char): Likewise.
3355
3356         * mb-1byte.h, mb-multibyte.h: New files.
3357
3358 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3359
3360         * mb-utf-8.h (MULTIBYTE): New macro.
3361         (MAX_EMCHAR_LEN): Moved from buffer.h.
3362         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3363
3364         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3365
3366         * mb-lb.h, multibyte.h: New files.
3367
3368         * char-1byte.h (Charset_ID): Moved from buffer.h.
3369         (MIN_LEADING_BYTE): Likewise.
3370         (LEADING_BYTE_ASCII): Likewise.
3371         (NUM_LEADING_BYTES): Likewise.
3372         (CHARSETP): Likewise.
3373         (CHARSET_BY_LEADING_BYTE): Likewise.
3374         (XCHARSET_LEADING_BYTE): Likewise.
3375         (XCHARSET_GRAPHIC): Likewise.
3376         (XCHARSET_COLUMNS): Likewise.
3377         (XCHARSET_DIMENSION): Likewise.
3378         (CHAR_CHARSET): Likewise.
3379         (CHAR_LEADING_BYTE): Likewise.
3380         (BREAKUP_CHAR): Likewise.
3381         (Vcharset_ascii): Likewise.
3382
3383         * buffer.h: Include multibyte.h unconditionally.
3384         (VALID_CHARPTR_P): Moved to multibyte.h.
3385         (ASSERT_VALID_CHARPTR): Likewise.
3386         (REAL_INC_CHARPTR): Likewise.
3387         (REAL_INC_CHARBYTIND): Likewise.
3388         (REAL_DEC_CHARPTR): Likewise.
3389         (INC_CHARPTR): Likewise.
3390         (INC_CHARBYTIND): Likewise.
3391         (DEC_CHARPTR): Likewise.
3392         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3393         (VALIDATE_CHARPTR_FORWARD): Likewise.
3394         (charptr_n_addr): Likewise.
3395         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3396         (simple_charptr_emchar): Moved to multibyte.h.
3397         (simple_set_charptr_emchar): Likewise.
3398         (simple_charptr_copy_char): Likewise.
3399         (non_ascii_charptr_emchar): Likewise.
3400         (non_ascii_set_charptr_emchar): Likewise.
3401         (non_ascii_charptr_copy_char): Likewise.
3402         (charptr_emchar): Likewise.
3403         (set_charptr_emchar): Likewise.
3404         (charptr_copy_char): Likewise.
3405         (charptr_emchar_n): Likewise.
3406         (Charset_ID): Moved to char-1byte.h.
3407         (Vcharset_ascii): Likewise.
3408         (CHAR_CHARSET): Likewise.
3409         (CHAR_LEADING_BYTE): Likewise.
3410         (LEADING_BYTE_ASCII): Likewise.
3411         (NUM_LEADING_BYTES): Likewise.
3412         (MIN_LEADING_BYTE): Likewise.
3413         (CHARSETP): Likewise.
3414         (CHARSET_BY_LEADING_BYTE): Likewise.
3415         (XCHARSET_LEADING_BYTE): Likewise.
3416         (XCHARSET_GRAPHIC): Likewise.
3417         (XCHARSET_COLUMNS): Likewise.
3418         (XCHARSET_DIMENSION): Likewise.
3419         (BREAKUP_CHAR): Likewise.
3420
3421 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3422
3423         * character.h: Add document about interface for characters.
3424
3425         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3426         (MAKE_CHAR): Delete comment about
3427         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3428         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3429         (BREAKUP_CHAR): Modify name of arguments.
3430         (CHAR_CHARSET): Modify name of argument.
3431
3432         * buffer.h: Delete document about Emchar accessors.
3433
3434 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3435
3436         * character.h (CHAR_INTP): Moved from buffer.h
3437         (CHAR_OR_CHAR_INTP): Likewise.
3438         (XCHAR_OR_CHAR_INT): Likewise.
3439         (CHECK_CHAR_COERCE_INT): Likewise.
3440
3441         * buffer.h (CHAR_INTP): Moved to character.h
3442         (CHAR_OR_CHAR_INTP): Likewise.
3443         (XCHAR_OR_CHAR_INT): Likewise.
3444         (CHECK_CHAR_COERCE_INT): Likewise.
3445
3446 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3447
3448         * character.h:
3449         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3450         - Include char-1byte.h, char-lb.h or char-ucs.h.
3451
3452         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3453
3454         * buffer.h: Include character unconditionally.
3455         (valid_char_p): Moved to char-*.h.
3456         (non_ascii_valid_char_p): Moved to char-lb.h.
3457
3458         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3459
3460 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3461
3462         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3463         in UTF-2000 because it is not ported yet and not to use
3464         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3465         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3466         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3467
3468         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3469         (CHAR_ASCII_P): Moved from character.h.
3470
3471         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3472         (CHAR_ASCII_P): Likewise.
3473         (CHAR_FIELD1_MASK): Deleted.
3474         (CHAR_FIELD2_MASK): Deleted.
3475         (CHAR_FIELD3_MASK): Deleted.
3476         (MAX_CHAR_BASIC_LATIN): New macro.
3477         (CHAR_FIELD1): Deleted.
3478         (CHAR_FIELD2_INTERNAL): Deleted.
3479         (CHAR_FIELD3_INTERNAL): Deleted.
3480         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3481         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3482         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3483         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3484         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3485         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3486         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3487         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3488         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3489         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3490         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3491         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3492         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3493         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3494         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3495         (MIN_CHAR_COMPOSITION): Deleted.
3496         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3497         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3498
3499 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3500
3501         * buffer.h: Include mb-utf-8.h in UTF-2000.
3502
3503         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3504
3505         * mb-utf-8.h: New file.
3506
3507 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3508
3509         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3510         instead of `int'.
3511
3512         * mule-charset.h, buffer.h (Charset_ID): New type.
3513
3514 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3515
3516         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3517         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3518         instead of `MULE_CHAR_PRIVATE_OFFSET',
3519         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3520         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3521         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3522
3523         * character.h (Vcharset_japanese_jisx0212): New variable
3524         definition.
3525
3526 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3527
3528         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3529         (charset_by_attributes): Delete array about direction.
3530         (latin_a_char_to_charset): New variable in UTF-2000.
3531         (latin_a_char_to_byte1): New variable in UTF-2000.
3532         (latin_a_char_to_byte2): New variable in UTF-2000.
3533         (Qucs_bmp): New variable.
3534         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3535         `Bufbyte'.
3536         (next_allocated_2_byte_leading_byte): Likewise.
3537         (non_ascii_set_charptr_emchar): Likewise.
3538         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3539         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3540         `charset_by_attributes'.
3541         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3542         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3543         and `CHARSET_BY_LEADING_BYTE'.
3544         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3545         `utf-2000-version' to `vars_of_mule_charset'.
3546         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3547         define `leading-code-private-11' in UTF-2000; move setting of
3548         `utf-2000-version' from `syms_of_mule_charset'.
3549         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3550         UTF-2000.
3551
3552         * character.h (Charset_ID): New type.
3553         (LEADING_BYTE_UCS_BMP): New macro.
3554         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3555         (CHARSET_ID_OFFSET_94): New macro.
3556         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3557         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3558         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3559         final-byte.
3560         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3561         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3562         (CHARSET_ID_OFFSET_96): New macro.
3563         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3564         CHARSET_ID_OFFSET_96 and final-byte.
3565         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3566         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3567         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3568         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3569         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3570         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3571         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3572         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3573         (LEADING_BYTE_THAI_TIS620): Likewise.
3574         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3575         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3576         (CHARSET_ID_OFFSET_94x94): New macro.
3577         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3578         CHARSET_ID_OFFSET_94x94 and final-byte.
3579         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3580         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3581         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3582         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3583         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3584         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3585         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3586         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3587         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3588         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3589         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3590         (CHARSET_TYPE_128X128): New macro.
3591         (CHARSET_TYPE_256X256): New macro.
3592         (XCHARSET_PRIVATE_P): Delete unconditionally.
3593         (charset_by_attributes): Delete array about direction.
3594         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3595         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3596         (MIN_CHAR_94): New macro.
3597         (MAX_CHAR_94): New macro.
3598         (MIN_CHAR_96): New macro.
3599         (MAX_CHAR_96): New macro.
3600         (MIN_CHAR_94x94): New macro.
3601         (MAX_CHAR_94x94): New macro.
3602         (MIN_CHAR_96x96): New macro.
3603         (MAX_CHAR_96x96): New macro.
3604         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3605         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3606         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3607         - 32)'.
3608         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3609         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3610         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3611         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3612         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3613         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3614         `XCHARSET_LEADING_BYTE' to make code-point.
3615         (latin_a_char_to_charset): New variable.
3616         (latin_a_char_to_byte1): New variable.
3617         (latin_a_char_to_byte2): New variable.
3618         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3619         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3620         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3621
3622         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3623         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3624         (find_charsets_in_emchar_string): Likewise.
3625         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3626
3627         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3628         `int'.
3629         (decode_coding_iso2022): Likewise.
3630
3631         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3632         of `unsigned char'.
3633
3634         * redisplay.c (redisplay_text_width_emchar_string): Use
3635         `Charset_ID' instead of `unsigned char'.
3636         (redisplay_frame_text_width_string): Likewise.
3637
3638         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3639         `unsigned char'.
3640
3641         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3642         instead of `unsigned char'.
3643         (face_cachel_charset_font_metric_info): Likewise.
3644
3645         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3646         (get_non_ascii_char_table_value): Likewise.
3647         (get_char_table): Likewise.
3648         (put_char_table): Likewise.
3649         (map_over_other_charset): Likewise.
3650         (map_char_table): Likewise.
3651
3652         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3653         instead of `unsigned char'.
3654
3655 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3656
3657         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3658         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3659
3660         * mule-charset.c (leading_code_private_11): Don't define in
3661         UTF-2000.
3662
3663         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3664         in UTF-2000 because it is not ported yet and not to use
3665         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3666
3667 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3668
3669         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3670
3671 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3672
3673         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3674         in UTF-2000.
3675
3676         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3677         of unsigned char to store leading-byte.
3678
3679         * chartab.c (get_non_ascii_char_table_value): Don't use
3680         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3681
3682         * file-coding.c (encode_coding_big5): Delete bogus implementation
3683         in UTF2000.
3684
3685         * character.h (LEADING_BYTE_*): Delete definition for
3686         non-UTF-2000.
3687         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3688         (LEADING_BYTE_PREFIX_P): Deleted.
3689         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3690         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3691         (BUFBYTE_LEADING_BYTE_P): Deleted.
3692         (CHARSET_PRIVATE_P): Deleted unconditionally.
3693         (rep_bytes_by_first_byte): Deleted unconditionally.
3694         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3695         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3696         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3697         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3698         (CHAR_FIELD2): Deleted.
3699         (CHAR_FIELD3): Deleted.
3700         (MAKE_CHAR): Delete definition for non-UTF-2000.
3701         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3702         (breakup_char_1): New implementation.
3703         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3704         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3705
3706 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3707
3708         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3709         condition.
3710
3711 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3712
3713         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3714         (CHARSET_PRIVATE_P): Likewise.
3715         (XCHARSET_PRIVATE_P): Likewise.
3716         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3717
3718         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3719         UTF2000.
3720         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3721
3722 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3723
3724         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3725         (NUM_LEADING_BYTES): Changed from 128 to 256.
3726         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3727         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3728         UTF2000.
3729         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3730
3731         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3732         UTF2000.
3733         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3734         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3735         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3736         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3737         (Qchinese_cns11643_3): New variable in UTF2000.
3738         (Qchinese_cns11643_4): New variable in UTF2000.
3739         (Qchinese_cns11643_5): New variable in UTF2000.
3740         (Qchinese_cns11643_6): New variable in UTF2000.
3741         (Qchinese_cns11643_7): New variable in UTF2000.
3742         (syms_of_mule_charset): Define `chinese-cns11643-3',
3743         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3744         and `chinese-cns11643-7' in UTF2000.
3745         (vars_of_mule_charset): Initialize
3746         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3747         + 1 in UTF2000.
3748         (complex_vars_of_mule_charset): Setup charset
3749         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3750         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3751
3752 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3753
3754         * mule-charset.c: Move setting for `leading-code-private-11' from
3755         `syms_of_mule_charset' to `vars_of_mule_charset'.
3756
3757 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3758
3759         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3760         and `NUM_LEADING_BYTES' in assert.
3761
3762 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3763
3764         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3765         instead of 128.
3766         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3767         `NUM_LEADING_BYTES' instead of 128.
3768
3769 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3770
3771         * mule-charset.h (charset_by_leading_byte): Use
3772         `NUM_LEADING_BYTES' instead of 128.
3773         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3774
3775         * mule-charset.c (charset_by_leading_byte): Use
3776         `NUM_LEADING_BYTES' instead of 128.
3777         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3778
3779         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3780         128.
3781
3782 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3783
3784         * mule-charset.c (syms_of_mule_charset): Update to
3785         0.4 (Shin-Imamiya).
3786
3787 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3788
3789         * file-coding.c (encode_coding_sjis): New implementation for
3790         UTF2000.  (decode_coding_sjis): Ditto.
3791
3792 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3793
3794         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3795         Don't define in UTF2000.
3796
3797         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3798         defined.
3799
3800         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3801         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3802         MULE.
3803
3804 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3805
3806         * config.h.in (CHAR_IS_UCS4): New macro.
3807
3808         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3809         conventional MULE representation.
3810         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3811
3812         * mule-charset.h: Reverted to original.
3813
3814         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3815         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3816         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3817
3818         * character.h: New file.
3819
3820         * file-coding.c (Fmake_coding_system): Set 1 to
3821         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3822         defined.
3823         (encode_coding_no_conversion): New implementation for UTF2000.
3824
3825         * file-coding.h (struct Lisp_Coding_System): Add new member
3826         `fixed.size'.
3827
3828 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3829
3830         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3831         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3832         (encode_coding_iso2022): New implementation for UTF2000.
3833
3834 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3835
3836         * mule-canna.c (c2mu): New implementation for UTF2000.
3837         (m2c): Likewise.
3838
3839 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3840
3841         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3842
3843 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3844
3845         * file-coding.c (reset_encoding_stream): Set 0 to
3846         `str->iso2022.current_char_boundary' in UTF2000.
3847         (encode_utf8): Don't define in UTF2000.
3848         (encode_coding_utf8): New implementation for UTF-8 representation
3849         of UTF2000.
3850         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3851
3852 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3853
3854         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3855
3856         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3857         UTF2000.
3858         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3859
3860         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3861
3862         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3863         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3864         as UTF-8 in UTF2000.
3865         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3866         (non_ascii_valid_char_p): Don't define in UTF2000.
3867         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3868         (Lstream_get_emchar_1): Likewise.
3869         (utf-2000-version): New variable in UTF2000.
3870
3871         * lread.c (read_escape): Add new reader `u'.
3872
3873         * insdel.c (three_to_one_table): Don't define in UTF2000.
3874         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3875         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3876         UTF2000.
3877         (bytind_to_bufpos_func): Likewise.
3878         (buffer_mule_signal_inserted_region): Likewise.
3879         (vars_of_insdel): Don't initialize `three_to_one_table'.
3880         (init_buffer_text): Use `buf->text->mule_size' instead of
3881         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3882         UTF2000.
3883
3884         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3885         UTF-8 representation in UTF2000.
3886         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3887         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3888         (decode_coding_iso2022): Don't define local variable `lb' in
3889         UTF2000; don't use LEADING_BYTE in UTF2000; use
3890         `DECODE_ADD_UCS_CHAR' in UTF2000.
3891         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3892
3893         * config.h.in (UTF2000): New macro.
3894
3895         * buffer.h (struct buffer_text): Add new member `mule_size' and
3896         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3897         (valid_char_p): Return always 1 in UTF2000.
3898         (MAX_EMCHAR_LEN): 6 in UTF2000.
3899         (three_to_one_table): Don't define in UTF2000.
3900         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3901         UTF2000.
3902         (real_bytind_to_bufpos): Likewise.
3903
3904         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3905
3906 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3907
3908         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3909         representation change.
3910         (Vutf_2000_version): New variable.
3911         (leading_code_private_11): New variable.
3912         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3913         `leading-code-private-11'.
3914
3915         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3916         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3917         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3918         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3919         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3920         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3921         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3922         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3923         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3924         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3925         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3926         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3927         (MIN_CHAR_GREEK): New macro.
3928         (MAX_CHAR_GREEK): New macro.
3929         (MIN_CHAR_CYRILLIC): New macro.
3930         (MAX_CHAR_CYRILLIC): New macro.
3931         (MIN_CHAR_HEBREW): New macro.
3932         (MAX_CHAR_HEBREW): New macro.
3933         (MIN_CHAR_THAI): New macro.
3934         (MAX_CHAR_THAI): New macro.
3935         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3936         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3937         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3938         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3939         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3940         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3941         (CHAR_FIELD2): New inline function.
3942         (CHAR_FIELD3): New inline function.
3943         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3944         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3945         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3946         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3947         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3948         (MIN_CHAR_COMPOSITION): Likewise.
3949         (CHAR_LEADING_BYTE): Modified for character representation change.
3950         (MAKE_CHAR): Likewise.
3951
3952         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3953         (Vcharset_greek_iso8859_7): Likewise.
3954         (Vcharset_cyrillic_iso8859_5): Likewise.
3955         (Vcharset_hebrew_iso8859_8): Likewise.
3956         (Vcharset_thai_tis620): Likewise.
3957         (Vcharset_katakana_jisx0201): Likewise.
3958
3959 2001-02-08  Martin Buchholz <martin@xemacs.org>
3960
3961         * XEmacs 21.2.44 "Thalia" is released.
3962
3963 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3964
3965         Fixes crashes in kill-emacs on some systems.
3966         * process-unix.c (unix_kill_child_process):
3967         It's OK for kill() to fail with ESRCH.
3968
3969 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3970
3971         Contortions to make .gdbinit tricks work on most systems.
3972         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
3973         * alloc.c (dbg_valmask): Make non-const.
3974         * alloc.c (dbg_typemask): Make non-const.
3975         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
3976         * alloc.c (dbg_valbits): Make non-const.
3977         * alloc.c (dbg_gctypebits): Make non-const.
3978         * .gdbinit (decode_object): Make it work with AIX cc.
3979
3980 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3981
3982         * elhash.c (make_general_lisp_hash_table):
3983         Use simpler and more efficient calloc to clear entries.
3984
3985 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3986
3987         * window.c (window_scroll): Work around an AIX C compiler bug.
3988         Fixes 'scroll-up' does nothing problem with xlC.
3989
3990 2001-02-05  Martin Buchholz  <martin@xemacs.org>
3991
3992         * .gdbinit: Remove obsolete comment.
3993
3994 2001-01-31  Mike Alexander  <mta@arbortext.com>
3995
3996         * select.c (Fown_selection_internal): Set owned_p for device
3997         method correctly.
3998
3999 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4000
4001         Port to g++ 2.97.
4002         "not" cannot be used as a macro name as it is an operator in C++
4003         * config.h.in: Stop #defining `not'.
4004         * chartab.c (check_category_char): not ==> not_p
4005         * chartab.h: Likewise.
4006         * regex.c (re_match_2_internal): Likewise.
4007
4008 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4009
4010         * lisp-disunion.h: Fix up comments.
4011
4012 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4013
4014         * keymap.c (define_key_check_and_coerce_keysym):
4015         (syms_of_keymap):
4016         Support mouse-6 and mouse-7 bindings in the obvious way.
4017
4018 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4019
4020         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4021
4022 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4023
4024         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4025         Previous patch missed DEFVAR_INT_MAGIC.
4026         Make sure future DEFVAR_foo use correct types.
4027         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4028         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4029         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4030         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4031         * (DEFVAR_INT): Likewise.
4032         * redisplay.c (vertical_clip): Should be of type Fixnum.
4033         * redisplay.c (horizontal_clip): Likewise.
4034         * lisp.h (dump_add_opaque_int): New.
4035         (dump_add_opaque_fixnum): New.
4036
4037 2001-01-29  Andy Piper  <andy@xemacs.org>
4038
4039         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4040         since they can be eval'ed
4041
4042 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4043
4044         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4045         Oops, XEmacs redefines `class'.  Use `typename' instead.
4046
4047 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4048
4049         * dumper.c: Fix C++ compile errors.
4050
4051 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4052
4053         * tparam.c: Use correct prototypes.
4054
4055 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4056
4057         * sysproc.h: #include util.h for NetBSD's openpty.
4058
4059 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4060
4061         More 64-bit correctness.
4062         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4063         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4064         Fix up comments.
4065         This finally finishes the 64-bit SGI port.
4066         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4067         * symbols.c: Fix up comments and type casts.
4068         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4069         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4070         * symeval.h (Fixnum): New type.
4071         * symeval.h (symbol_value_type): Fix up comment.
4072
4073         * commands.h:
4074         * nt.c:
4075         * emacs.c:
4076         * data.c:
4077         * redisplay.c:
4078         * abbrev.c:
4079         * dired-msw.c:
4080         * event-Xt.c:
4081         * eldap.c:
4082         * window.c:
4083         * sound.c:
4084         * event-stream.c:
4085         * eval.c:
4086         * buffer.c:
4087         * mule-canna.c: A million DEFVAR_INTs here...
4088         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4089         * extents.c:
4090         * cmdloop.c:
4091         * lisp.h:
4092         * select-x.c:
4093         * console-x.h:
4094         * event-msw.c:
4095         * mule-wnnfns.c:
4096         * hpplay.c:
4097         * ralloc.c:
4098         * alloc.c:
4099         * keymap.c:
4100         * profile.c:
4101         s/int/Fixnum/g in DEFVAR_INT declarations.
4102
4103 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4104
4105         Port pdump to SGI alignment-sensitive environment.
4106         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4107         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4108         properly aligned.
4109         Define and use aligned reading and writing macros.
4110         Use buffered stdio instead of posix i/o for faster dumping.
4111         Eliminate kludgy 256 byte space for header.
4112         Read and write from dump file using structs for alignment safety.
4113         * dumper.c (pdump_align_stream): New.
4114         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4115         * dumper.c (PDUMP_READ_ALIGNED): New.
4116         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4117         * dumper.c (pdump_static_Lisp_Object): New struct.
4118         * dumper.c (pdump_static_pointer): New struct.
4119         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4120         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4121         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4122         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4123
4124         * dumper.c (pdump_backtrace):
4125         * dumper.c (pdump_get_indirect_count):
4126         * dumper.c (pdump_register_object):
4127         * dumper.c (pdump_register_struct):
4128         * dumper.c (pdump_reloc_one):
4129         * dumper.c (pdump_scan_by_alignment):
4130         * dumper.c (pdump_dump_from_root_struct_ptrs):
4131         * dumper.c (pdump_dump_opaques):
4132         * dumper.c (pdump_dump_rtables):
4133         * dumper.c (pdump_dump_from_root_objects):
4134         * dumper.c (pdump):
4135         * dumper.c (pdump_load_finish):
4136         Use aligned reading and writing.
4137
4138         * dumper.c (pdump_free): Make static.
4139         * dumper.c (pdump_hFile): Likewise.
4140         * dumper.c (pdump_hMap): Likewise.
4141
4142 2001-01-26  Martin Buchholz <martin@xemacs.org>
4143
4144         * XEmacs 21.2.43 "Terspichore" is released.
4145
4146 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4147
4148         Type fiddling for window_config.saved_windows_count
4149         * window.c (struct window_config): 
4150         Make saved_windows_count member unsigned.
4151         * window.c (sizeof_window_config_for_n_windows): 
4152         Make parameter unsigned.
4153         * window.c (mark_window_config):
4154         * window.c (window_config_equal):
4155         * window.c (free_window_configuration):
4156         * window.c (Fset_window_configuration):
4157         * window.c (count_windows):
4158         * window.c (Fcurrent_window_configuration):
4159         * window.c (reinit_vars_of_window):
4160         Update all callers and users.
4161
4162 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4163
4164         Alignment correctness for flexible arrays.
4165         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4166         Make alignment-correct. Add interesting comments.
4167         * alloc.c (size_vector):
4168         * alloc.c (make_vector_internal):
4169         * alloc.c (make_bit_vector_internal):
4170         * alloc.c (sweep_bit_vectors_1):
4171         * fns.c (size_bit_vector):
4172         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4173         * window.c (sizeof_window_config_for_n_windows): 
4174         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4175
4176 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4177
4178         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4179
4180 2001-01-23  Andy Piper  <andy@xemacs.org>
4181
4182         * select.c (Fown_selection_internal): pass owned_p
4183
4184         * select-msw.c (mswindows_own_selection): New Signature.
4185
4186         * console.h (struct console_methods): add owned_p to
4187         _own_selection.
4188
4189         * select-x.c (x_own_selection): pass owned_p
4190         (hack_motif_clipboard_selection): use owned_p
4191         (vars_of_select_x): new variable -
4192         x_selection_strict_motif_ownership.
4193
4194 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4195
4196         * specifier.h (specifier_data_offset): Remove pointless parens.
4197         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4198
4199 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4200
4201         Make Lisp_Object sizeof methods be alignment-correct.
4202         pdump must restore objects to the same alignment as the C compiler
4203         assumes.  It really matters on SGIs.
4204         * lstream.c (aligned_sizeof_lstream): New.
4205         (sizeof_lstream): Use aligned_sizeof_lstream.
4206         (Lstream_new): Likewise.
4207         * opaque.c (aligned_sizeof_opaque): New.
4208         (sizeof_opaque): Use aligned_sizeof_opaque.
4209         (make_opaque): Likewise.
4210         * specifier.c (aligned_sizeof_specifier): New.
4211         (sizeof_specifier): Use aligned_sizeof_specifier.
4212         (make_specifier_internal): Likewise.
4213
4214 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4215
4216         * lstream.h (struct lstream): Use max_align_t for trailing data.
4217         * specifier.h (struct Lisp_Specifier): Likewise.
4218
4219 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4220
4221         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4222         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4223         (CCL_SUSPEND): Likewise.
4224         (CCL_INVALID_CMD): Likewise.
4225         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4226         (ccl_driver): Likewise.
4227         (CCL_WRITE_CHAR): Macro hygiene.
4228         (CCL_WRITE_STRING): Macro hygiene.
4229
4230 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4231
4232         Port "portable" dumper to SunOS 4 and HP-UX.
4233         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4234         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4235         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4236
4237 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4238
4239         * lisp.h (ALIGNOF): A better definition for C++.
4240
4241 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4242
4243         Macro hygiene.
4244         Fix printf warnings: int format, long int arg.
4245         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4246         (PUSH_FAILURE_POINT): Use correct printf formats.
4247         (POP_FAILURE_POINT): Use correct printf formats.  
4248         Use do {...} while (0)
4249
4250 2001-01-20  Martin Buchholz <martin@xemacs.org>
4251
4252         * XEmacs 21.2.42 "Poseidon" is released.
4253
4254 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4255
4256         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4257
4258 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4259
4260         De-kludgify FIXED_TYPE free list frobbing.
4261         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4262         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4263         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4264         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4265         * alloc.c (LRECORD_FREE_P): New.
4266         * alloc.c (MARK_LRECORD_AS_FREE): New.
4267         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4268         * alloc.c (STRUCT_FREE_P): Deleted.
4269         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4270         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4271         * alloc.c (STRING_CHARS_FREE_P): New.
4272         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4273         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4274         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4275         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4276         * alloc.c (resize_string): Use new definitions.
4277         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4278         * alloc.c (verify_string_chars_integrity): Use new definitions.
4279         * alloc.c (compact_string_chars): Use new definitions.
4280         * alloc.c: Update monster comments.
4281         * lrecord.h (lrecord_type): Add some new lrecord types for
4282         alloc.c's use.
4283
4284 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4285
4286         Improve alignment hackery.
4287         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4288         (max_align_t): Moved from opaque.h - general purpose.
4289         (ALIGN_PTR): Use size_t, not long.
4290         * opaque.h (max_align_t): Move to lisp.h.
4291
4292 2001-01-18  Norbert Koch  <nk@LF.net>
4293
4294         * gui.h: Fix and add prototypes to fix build problems.
4295
4296 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4297
4298         temacs is going away, so `dump-temacs' is now a bad name.
4299         * .dbxrc (dump-temacs): Rename to `dmp'.
4300         * .gdbinit (dump-temacs): Rename to `dmp'.
4301
4302 2001-01-17  Andy Piper  <andy@xemacs.org>
4303
4304         * glyphs.c (print_image_instance): comment to make martin happy.
4305
4306         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4307         change.
4308
4309         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4310         activation.
4311         (mswindows_tab_control_redisplay): warning suppression.
4312
4313         * glyphs-widget.c (widget_update): re-write to cope with updated
4314         items.
4315         (widget_instantiate): use new gui_item functions.
4316         (tab_control_update): deleted.
4317         (progress_gauge_update): deleted.
4318         (image_instantiator_progress_guage): take out update reference.
4319         (image_instantiator_tree_view): ditto.
4320         (image_instantiator_tab_control): ditto.
4321
4322         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4323         Right the new way.
4324         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4325         return whether anything was changed.
4326         (update_gui_item_keywords): as it sounds.
4327
4328         * gui.h: declare widget_gui_parse_item_keywords.
4329
4330         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4331         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4332
4333 2001-01-17  Martin Buchholz <martin@xemacs.org>
4334
4335         * XEmacs 21.2.41 "Polyhymnia" is released.
4336
4337 2001-01-16  Didier Verna  <didier@xemacs.org>
4338
4339         * glyphs.c (image_instantiate): don't use fallbacks when
4340         instantiating a face's background pixmap by inheritance.
4341
4342 2001-01-14  Mike Sperber <mike@xemacs.org>
4343
4344         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4345         Conditionalize accordingly.
4346
4347 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4348
4349         * dumper.c (pdump_file_get): Fix a compiler warning.
4350
4351 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4352
4353         Make Purify happy when pdumping.
4354         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4355         iniitalizing all bits of new lisp object memory.
4356         * symbols.c (Fmake_local_variable): Likewise.
4357         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4358         * symbols.c (Fdefvaralias): Likewise.
4359         * mule-charset.c (vars_of_mule_charset): Likewise.
4360
4361 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4362         Add the `-nd' flag when running pre-dump operations under the debugger.
4363         * .dbxrc (run-temacs): Add `-nd'.
4364         * .dbxrc (update-elc): Likewise.
4365         * .dbxrc (dump-temacs): Likewise.
4366         * .gdbinit (run-temacs): Likewise.
4367         * .gdbinit (check-temacs): Likewise.
4368         * .gdbinit (update-elc): Likewise.
4369         * .gdbinit (dump-temacs): Likewise.
4370
4371 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4372
4373         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4374         export OBJECT_MODE=64
4375         configure --pdump --use-union-type=no
4376         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4377         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4378
4379         * miscplay.c (sndcnv8U_2mono):
4380         Avoid two uses of `++' in the same expression.
4381         Suppresses a GCC warning.
4382
4383 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4384
4385         Make sure future compilers don't miscompile alloc.c.
4386         * alloc.c:
4387         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4388         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4389
4390 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4391
4392         * dumper.c: A little post-pdump-rename comment fixup.
4393
4394 2001-01-09  Jerry James  <james@eecs.ku.edu>
4395
4396         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4397
4398 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4399
4400         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4401         script:
4402         #!/bin/sh
4403         replace_symbol () {
4404           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4405         }
4406
4407         replace_symbol pdump_wire_lists pdump_weak_object_chains
4408         replace_symbol pdump_wire_list dump_add_weak_object_chain
4409
4410         replace_symbol pdump_wires pdump_root_objects
4411         replace_symbol pdump_wire dump_add_root_object
4412
4413         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4414         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4415
4416         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4417         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4418         replace_symbol dumpstructinfo pdump_root_struct_ptr
4419         replace_symbol dumpstruct dump_add_root_struct_ptr
4420
4421         replace_symbol dumpopaque dump_add_opaque
4422         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4423         replace_symbol dumpopaqueinfos pdump_opaques
4424         replace_symbol dumpopaqueinfo pdump_opaque
4425
4426         replace_symbol nb_structdump nb_root_struct_ptrs
4427         replace_symbol nb_opaquedump nb_opaques
4428
4429         replace_symbol align_table pdump_align_table
4430         replace_symbol dump_header pdump_header
4431
4432         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4433         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4434
4435
4436 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4437
4438         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4439         optimizing bytecount_to_charcount().
4440
4441 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4442
4443         * config.h.in:
4444         (HAVE_DLFCN_H): Removed.
4445         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4446
4447 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4448
4449         Portable dumper maintainability improvements.
4450         * alloc.c (staticpro):
4451         * alloc.c (staticpro_nodump):
4452         * alloc.c (garbage_collect_1):
4453         * alloc.c (reinit_alloc_once_early):
4454         * alloc.c (init_alloc_once_early):
4455         * alloc.c: Move dumper functions to alloc.c.
4456         * dumper.c (pdump_backtrace):
4457         * dumper.c (pdump_dump_structs):
4458         * dumper.c (pdump_dump_opaques):
4459         * dumper.c (pdump_dump_rtables):
4460         * dumper.c (pdump_dump_wired):
4461         * dumper.c (pdump):
4462         * dumper.c (pdump_load_check):
4463         * dumper.c (pdump_load_finish):
4464         * dumper.c (pdump_file_unmap):
4465         * dumper.c (pdump_file_get):
4466         * dumper.c (pdump_resource_free):
4467         * dumper.c (pdump_resource_get):
4468         * dumper.c (pdump_file_free):
4469         * dumper.c (pdump_file_try):
4470         * dumper.c (pdump_load):
4471         Remove fixed size limits on staticpro(), staticpro_nodump(),
4472         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4473         Remove custom code for dumping lrecord_implementations_table - use
4474         dumpopaque instead.
4475         Remove (most of the) custom code for dumping staticpros - dump it
4476         like any other dynarr.
4477
4478         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4479         * dumper.c: Moved functions from alloc.c.
4480         * alloc.c (dumpstruct): Moved to dumper.c.
4481         * alloc.c (dumpopaque): Likewise.
4482         * alloc.c (pdump_wire): Likewise.
4483         * alloc.c (pdump_wire_list): Likewise.
4484
4485         * lisp.h (Dynarr_sizeof): New.
4486         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4487         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4488         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4489
4490         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4491         * lisp.h (dumpopaque): ditto.
4492         * lisp.h (pdump_wire): ditto.
4493         * lisp.h (pdump_wire_list): ditto.
4494
4495 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4496
4497         * make-src-depend (PrintPatternDeps):
4498         Use `sort' to make output independent of perl version.
4499
4500 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4501
4502         Port to Netbsd 1.5.
4503         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4504         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4505
4506 2001-01-03  Didier Verna  <didier@xemacs.org>
4507
4508         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4509         that `focus_frame' is alive before thinking of calling
4510         `redisplay_redraw_cursor' on it.
4511
4512 2001-01-08  Martin Buchholz <martin@xemacs.org>
4513
4514         * XEmacs 21.2.40 is released.
4515
4516 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4517
4518         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4519
4520 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4521
4522         * alloc.c (dbg_valmask): Make const.
4523         * alloc.c (dbg_typemask): Make const.
4524         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4525         * alloc.c (dbg_valbits): Make const.
4526         * alloc.c (dbg_gctypebits): Make const.
4527
4528 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4529
4530         * redisplay-x.c (x_bevel_area):
4531         redisplay.h (struct rune):
4532         Typo fixes in comments.
4533
4534 2001-01-05  Andy Piper  <andy@xemacs.org>
4535
4536         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4537         adjustment.
4538
4539         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4540
4541 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4542
4543         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4544
4545         * mule-ccl.c (stack_idx_of_map_multiple):
4546         Non const global data must not be initialized!
4547         Found by MIYASHITA Hisashi.
4548
4549 2001-01-02  Andy Piper  <andy@xemacs.org>
4550
4551         * frame.c (change_frame_size): make sure frame size is always
4552         marked as changed.
4553
4554         * glyphs.c (image_instance_layout): minor code reuse.
4555
4556         * window.c (Fcurrent_window_configuration): revert previous
4557         change.
4558
4559 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4560
4561         * glyphs.h:
4562         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4563
4564 2000-12-31  Andy Piper  <andy@xemacs.org>
4565
4566         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4567         when widget gets unmapped.
4568
4569         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4570         function. Make sure widgets losing focus don't just drop it.
4571         (handle_focus_event_1): record the widget with focus.
4572
4573 2000-12-31  Andy Piper  <andy@xemacs.org>
4574
4575         * window.c (allocate_window): use
4576         make_image_instance_cache_hash_table.
4577         (make_dummy_parent): ditto.
4578         (Fset_window_configuration): ditto.
4579
4580         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4581
4582         * glyphs.c (process_image_string_instantiator): use
4583         INSTANTIATOR_TYPE.
4584         (get_image_instantiator_governing_domain): ditto.
4585         (normalize_image_instantiator): ditto.
4586         (instantiate_image_instantiator): ditto.
4587         (make_image_instance_1): ditto.
4588         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4589         (instantiator_eq_equal): new function for use with instance hash
4590         tables.
4591         (instantiator_eq_hash): ditto.
4592         (make_image_instance_cache_hash_table): create a suitable hash
4593         table for storing image instances.
4594
4595         * elhash.h (hash_table_weakness): new internal weakness type
4596         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4597         declare new functions.
4598
4599         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4600         another weakness type for glyphs.
4601         (make_standard_lisp_hash_table): new function split out from
4602         make_general_lisp_hash_table.
4603         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4604         (hash_table_instantiate): ditto.
4605         (Fmake_hash_table): ditto.
4606
4607 2000-12-31  Martin Buchholz <martin@xemacs.org>
4608
4609         * XEmacs 21.2.39 is released.
4610
4611 2000-12-29  Andy Piper  <andy@xemacs.org>
4612
4613         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4614
4615         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4616         the frame has changed so that we pick up geometry changes such as
4617         menubar visibility.
4618
4619 2000-12-28  Andy Piper  <andy@xemacs.org>
4620
4621         * lastfile.c (my_ebss): make a char array so we can pad the
4622         bss. Fixes cygwin unexec.
4623
4624         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4625
4626 2000-12-26  Andy Piper  <andy@xemacs.org>
4627
4628         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4629         comments and try and be more precise about a non-/SIGIO world.
4630         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4631         SIGIO.
4632
4633         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4634         we don't normalize to zero width or height.
4635
4636 2000-12-24  Andy Piper  <andy@xemacs.org>
4637
4638         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4639
4640 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4641
4642         * s/sco5.h: SCO 5 has pty support.
4643
4644 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4645
4646         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4647         input-method-xlib.c contains whole contents of input-method-xfs.c,
4648         so we can use input-method-xlib.c's code for USE_XFONTSET
4649         using #ifdefs.
4650         * input-method-xfs.c: removed.
4651
4652 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4653
4654         * file-coding.h (enum coding_category_type): reorder enumerators to
4655         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4656         (now one greater than largest real coding_category_type enumerator).
4657         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4658         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4659         Fcoding_category_list, Fset_coding_priority_list,
4660         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4661         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4662
4663 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4664
4665         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4666         * redisplay-output.c (redisplay_output_window): Clear top of window
4667         when face is changed.
4668         * redisplay-x.c (x_redraw_exposed_window): Call
4669         redisplay_clear_top_of_window.
4670         * redisplay.h: Publish redisplay_clear_top_of_window.
4671
4672 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4673
4674         * buffer.c (Fkill_buffer): Map over all devices.
4675         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4676         (list_windows): New function.
4677         (list_all_windows): Ditto.
4678         (Freplace_buffer_in_windows): Use them.
4679
4680 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4681
4682         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4683         (Fopen_database): Use `db_create' instead of `db_open'.
4684         (syms_of_database): Initialize Qqueue.
4685
4686 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4687
4688         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4689         buffer_local_face_property.
4690         * buffer.h (struct buffer): New member buffer_local_face_property.
4691         * window.c (Fset_window_buffer):  Mark window's face as changed
4692         when buffer has buffer local face.
4693         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4694         * objects.c (color_after_change): Set buffer_local_face_property
4695         when locale of face specifier is buffer.
4696         * objects.c (font_after_change): Ditto.
4697         * objects.c (face_boolean_after_change): Ditto.
4698         * glyphs.c (image_after_change): Ditto.
4699
4700 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4701
4702         * nt.c (mswindows_fstat): Report file permissions, volume serial
4703         number, etc. Code adapted from FSF Emacs 20.7.
4704
4705 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4706
4707         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4708         of stat when we don't have symbolic links, to make sure
4709         mswindows_stat is called on mswindows.
4710
4711 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4712
4713         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4714
4715 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4716
4717         * doprnt.c (emacs_doprnt_1): More printing fixes.
4718         Make printing of numbers compatible with libc and FSF Emacs.
4719         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4720         Use the system printf to do most of the hard work of formatting,
4721         instead of doprnt_1().
4722         Calculate memory to allocate for format string.
4723         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4724         (doprnt_1): Cleaner code and documentation.
4725
4726 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4727
4728         * Makefile.in.in: Use the loop variable to install headers.
4729
4730 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4731
4732         * window.c (Fsplit_window): Don't invalidate face cache.
4733
4734 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4735
4736         * minibuf.c (Fall_completions): Undo the previous change
4737         which removed checking elements start with space.
4738
4739 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4740
4741         * mule-canna.c: Didier suppression.
4742
4743 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4744
4745         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4746         (warning suppression).  Add English comment translations.
4747
4748 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4749
4750         * unexelfsgi.c (unexec): Better test for mmap failure.
4751
4752 2000-12-05  Martin Buchholz <martin@xemacs.org>
4753
4754         * XEmacs 21.2.38 is released.
4755
4756 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4757
4758         * redisplay.c (bar-cursor): Make a user variable.
4759
4760         * symsinit.h: Add init_postgresql_from_environment.
4761
4762 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4763
4764         * regex.c: Convert to clean C.
4765
4766 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4767
4768         * realpath.c:
4769         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4770         initialization.
4771         (sys_readlink): renamed to system_readlink to avoid conflict with
4772         the other sys_readlink.
4773
4774 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4775
4776         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4777
4778 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4779
4780         * postgresql.c (init_postgresql_from_environment): new function.
4781         (vars_of_postgresql): Move code initializing Lisp variables out and
4782         into init_postgresql_from_environment.
4783         emacs.c (main_1): Call init_postgresql_from_environment if and only
4784         if running a dumped XEmacs.
4785
4786 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4787
4788         * buffer.c: Make find-file-compare-truenames default to true on
4789         windows.
4790
4791         * realpath.c (win32_abs_start):
4792         (cygwin_readlink):
4793         (win32_readlink): New functions.
4794         (xrealpath): Return really real filenames on windows.
4795
4796         * fileio.c (Ffile_truename): Make file-truename work on windows.
4797
4798 2000-11-29  Didier Verna  <didier@xemacs.org>
4799
4800         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4801         * faces.c (update_face_cachel_data): use it.
4802         * faces.c (add_face_cachel): use it. Complete background pixmap
4803         frobbing in face cache if `update_face_cachel_data' has not done so.
4804
4805 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4806
4807         * search.c (string_match_1): Don't set last_thing_searched
4808         when search failed.
4809
4810 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4811
4812         * buffer.c: Include casetab.h
4813         (common_init_complex_vars_of_buffer): Use new case-table object.
4814         * buffer.h: Include casetab.h
4815         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4816         (DOWNCASE_TABLE_OF): Ditto.
4817         * bufslots.h: Remove char-tables and add case-table.
4818         * casetab.c: Include casetab.h
4819         (CASE_TABLE_P): Removed.
4820         (mark_case_table): New function.
4821         (allocate_case_table): New function.
4822         (Fcase_table_p): Use new case-table.
4823         (case_table_char): New function.
4824         (Fget_case_table): Ditto.
4825         (Fput_case_table): Ditto.
4826         (Fput_case_table_pair): Ditto.
4827         (Fcopy_case_table): Ditto.
4828         (Fcurrent_case_table): Return case-table.
4829         (Fstandard_case_table): Return case-table.
4830         (Fset_case_table): Fix doc-string.
4831         (set_case_table): Use case-table
4832         (syms_of_casetab): DEFSUBR new functions.
4833         (complex_vars_of_casetab): Set up standard case-table.
4834         * casetab.h: New file.
4835         * editfns.c: Include casetab.h
4836         (Fcompare_buffer_substrings): Use case-table.
4837         * inline.c: Include casetab.h
4838         * lisp.h: Remove bogus extern.
4839         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4840         * search.c: Include casetab.h
4841         (TRANSLATE_ASCII): Removed.
4842         (TRANSLATE): Unconditionally translate character.
4843         (looking_at_1): Use case-table.
4844         (string_match_1): Ditto.
4845         (fast_string_match): Ditto.
4846         (search_command): Ditto.
4847         (search_buffer): Separate boyer_moore.  Check whether
4848         boyer_moore is possible.
4849         (simple_search): New function.
4850         (boyer_moore): Separated from search_buffer. Translate char.
4851
4852 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4853
4854         * regex.c (RE_TR_ASCII): Removed.
4855         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4856         (PATFETCH): Call PATFETCH_RAW.
4857         (PATFETCH_RAW): Fetch Emchar.
4858         (PATUNFETCH): Decrement charptr.
4859         (GET_BUFFER_SPACE): Rename b to buf_end.
4860         (BUF_PUSH): Ditto.
4861         (BUF_PUSH_2): Ditto.
4862         (BUF_PUSH_3): Ditto.
4863         (EXTEND_BUFFER): Ditto.
4864         (SET_LIST_BIT): Ditto.
4865         (regex_compile): Ditto.  Translate non ASCII char.
4866         (compile_range): Ditto.
4867         (re_search_2): Ditto.
4868         (re_match_2_internal): Compare Emchar.
4869         (bcmp_translate): Ditto.
4870
4871 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4872
4873         * lisp.h (basic char/int typedefs):  comment improvement.
4874
4875 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4876
4877         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4878         unstomp inhibit_site_lisp.  Improve comments.
4879
4880 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4881
4882         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4883
4884 2000-11-28  Andy Piper  <andy@xemacs.org>
4885
4886         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4887         clipped display for windows in the gutter also.
4888         (redisplay_display_boxes_in_window_p): change semantics of return
4889         codes to be more intuitive.
4890
4891         * gutter.h: declare display_boxes_in_gutter_p.
4892
4893         * gutter.c (display_boxes_in_gutter_p): new function for
4894         redisplay.
4895
4896 2000-11-22  Andy Piper  <andy@xemacs.org>
4897
4898         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4899         autodetect domain.
4900
4901 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4902
4903         * callproc.c (Fold_call_process_internal):
4904         * gpm.c (Freceive_gpm_event):
4905         (tty_get_foreign_selection): Might be just warning supression.
4906         * fileio.c (Fwrite_region_internal):
4907         (Fset_visited_file_modtime):
4908         * keymap.c (event_matches_key_specifier_p):
4909         Initialize GCPROed variable.
4910
4911         * menubar-x.c (command_builder_find_menu_accelerator):
4912         Initialize before use.
4913
4914 2000-11-23  Andy Piper  <andy@xemacs.org>
4915
4916         * unexcw.c (unexec): make the resulting executable executable.
4917
4918 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4919
4920         * doc.c (get_doc_string):
4921         Use size_t, not int, for result of XSTRING_LENGTH.
4922
4923         * cmds.c (Fdelete_char):
4924         * cmds.c (Fpoint_at_eol):
4925         * cmds.c (Fself_insert_command):
4926         Use EMACS_INT, not int, for result of XINT.
4927         Someday, someone will want to insert more than 2**31 identical characters.
4928
4929         * cmds.c (Fdelete_char):
4930         * cmds.c (Fdelete_backward_char):
4931         * syntax.c (Fforward_word):
4932         * syntax.c (Fforward_comment):
4933         Make COUNT argument optional, for consistency with forward-char et al.
4934
4935 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4936
4937         * lisp.h:
4938         * print.c (long_to_string):
4939         Return a useful value: the pointer at end of data written.
4940
4941         * doprnt.c:
4942         Use `static const char * const' for constant strings.
4943         (union printf_arg): Delete `i', `ui' members.
4944         (get_doprnt_args):
4945         (emacs_doprnt_1):
4946         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4947         Do all printf-ing via the `l' specifier.
4948         Use EMACS_INT instead of int.
4949         Optimize.
4950
4951 2000-11-20  Didier Verna  <didier@xemacs.org>
4952
4953         * faces.c (update_face_cachel_data): don't frob the background
4954         pixmap when the window is being created. The face is needed but
4955         does not exist yet.
4956
4957 2000-11-20  Andy Piper  <andy@xemacs.org>
4958
4959         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4960         messing with a debug environment.
4961
4962 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4963
4964         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4965
4966 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4967
4968         * casetab.c (Fcase_table_p): Fix compile error and crash.
4969
4970 2000-11-18  Philip Aston  <philipa@mail.com>
4971
4972         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4973
4974 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4975
4976         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4977         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4978
4979 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4980
4981         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4982         * unexelf.c: Use HAVE_ELF_H.
4983         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4984         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4985         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4986         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4987         for testing.
4988         So this is an unexelfsgi.c from a different line of development.
4989
4990 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4991
4992         * regex.c (RE_TR_ASCII): New function.
4993         (RE_TRANSLATE): Call it.
4994
4995 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4996
4997         * buffer.h (TRT_TABLE_OF): Remove assert.
4998         (IN_TRT_TABLE_DOMAIN): Removed.
4999
5000 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5001
5002         * free-hook.c (log_gcpro):
5003         (show_gcprohist): Add support for GCPRO5.
5004
5005 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5006
5007         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5008
5009 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5010
5011         * symeval.h: Declare flush_all_buffer_local_cache.
5012
5013         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5014         (flush_buffer_local_cache): Added.
5015         (flush_all_buffer_local_cache): Added.
5016
5017         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5018
5019         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5020         (pdump_dump_data): Ditto.
5021         (pdump_reloc_one): Ditto.
5022         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5023         before dumping.
5024
5025
5026 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5027
5028         * buffer.c: Remove if 0'ed entry.
5029         * buffer.h: Rewrite TRT to use char-table.
5030         * bufslots.h: Remove mirror tables.
5031         * casetab.c: Remove mirror tables.
5032         (CASE_TABLE_P): New macro.
5033         (Fcase_table_p): Element of a case table is string or char-table.
5034         (make_mirror_trt_table): Removed.
5035         (set_case_table): Setup char-table from strings for backward
5036         compatibility.
5037         * dired.c (Fdirectory_files):
5038         * dired-msw.c: (mswindows_get_files):
5039         * lisp.h: Change prototype of re_pattern_buffer.
5040         * regex.c: (RE_TRANSLATE): New macro.
5041         (TRANSLATE_P): Ditto.
5042         Change translate to type RE_TRANSLATE_TYPE.
5043         * regex.h: Define RE_TRANSLATE_TYPE
5044         * search.c (TRANSLATE): New macro.
5045         (TRANSLATE_ASCII): New macro.
5046         Translate table is changed to Lisp_Object.
5047         (signal_failure): Inhibit return.
5048
5049 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5050
5051         * device-msw.c:
5052         * eldap.c:
5053         * event-Xt.c:
5054         * event-stream.c:
5055         * print.c:
5056         Do UNGCPRO before return.
5057
5058 2000-11-14  Martin Buchholz <martin@xemacs.org>
5059
5060         * XEmacs 21.2.37 is released.
5061
5062 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5063
5064         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5065         Add comments about discarded return value.
5066
5067 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5068
5069         * callint.c:
5070         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5071
5072 2000-10-27  Andy Piper  <andy@xemacs.org>
5073
5074         * gutter.c (Fset_default_gutter_position): default left and right
5075         gutters to visible.
5076         (calculate_gutter_size): calculate resonable heuristic for left
5077         and right gutter sizes.
5078         (specifier_vars_of_gutter): change left and right gutter sizes to
5079         autodetect.
5080         (calculate_gutter_size_from_display_lines): new function.
5081         (output_gutter): check for resizing on left and right gutters.
5082         (clear_gutter): don't special case top and left gutters.
5083         (specifier_vars_of_gutter): use new signature for
5084         set_specifier_caching.
5085
5086         * glyphs-x.c (x_redisplay_widget): spelling fix.
5087         * glyphs.c (specifier_vars_of_glyphs):
5088         * menubar.c (specifier_vars_of_menubar):
5089         * redisplay.c (specifier_vars_of_redisplay):
5090         * toolbar.c (specifier_vars_of_toolbar):
5091         * window.c (specifier_vars_of_window):
5092         * scrollbar.c (specifier_vars_of_scrollbar):
5093         (complex_vars_of_scrollbar): use new signature for
5094         set_specifier_caching.
5095
5096         * specifier.c (set_specifier_caching): include recompute flag.
5097         (recompute_one_cached_specifier_in_window): always recompute if
5098         flag set.
5099         (recompute_one_cached_specifier_in_frame): ditto.
5100
5101         * specifier.h (struct specifier_caching): add recompute flag.
5102
5103 2000-10-24  Andy Piper  <andy@xemacs.org>
5104
5105         * unexcw.c (copy_executable_and_dump_data_section): add new
5106         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5107         5.0 happy.
5108
5109 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5110
5111         * console-x.h (x_device): New member modifier_release_time.
5112         * event-Xt.c (x_handle_sticky_modifiers):
5113         Bound interval modifier keys are sticky.
5114         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5115         * events.h: extern it.
5116
5117 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5118
5119         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5120
5121 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5122
5123         * event-stream.c (execute_command_event): Preserve current_events
5124         and the like when event is misc-user-event.
5125         Inhibit quit during the call to maybe_echo_keys.
5126
5127 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5128
5129         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5130         symlink when buffer is killed.
5131         (inhibit_clash_detection): New variable.
5132
5133 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5134
5135         * console.c (Fset_input_method): Trigger redisplay on tty.
5136
5137 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5138
5139         * process.c (Fprocess_status): Revert to previous behavior:
5140         (process-status "nosuchprocess") ==> nil
5141
5142 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5143
5144         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5145         Work around another GCC 2.95.2 optimizer bug.
5146
5147 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5148
5149         * process.c (Fget_process): Use LIST_LOOP_2.
5150         (kill_buffer_processes): Use LIST_LOOP_2.
5151
5152         * minibuf.c (Fall_completions):
5153         Delete old non-functional code for FSF fourth argument.
5154
5155         * frame.c (frame_matches_frame_spec):
5156         Renamed from `frame_matches_frametype'.  Update all callers.
5157         (device_matches_device_spec):
5158         Renamed from 'device_matches_console_spec'.  Update all callers.
5159
5160         * doc.c (Fsubstitute_command_keys):
5161         Remove buffer overflow crash.  Small code cleanups.
5162
5163         * casetab.c (check_case_table): Simpler code.
5164
5165         * window.c (Freplace_buffer_in_windows):
5166         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5167         (and similar implementation) as Fdelete_windows_on.
5168         Update all callers.
5169
5170         * alloc.c (Fmake_list):
5171         * alloc.c (make_vector):
5172         * alloc.c (Fmake_vector):
5173         * alloc.c (make_bit_vector):
5174         * alloc.c (Fmake_bit_vector):
5175         * alloc.c (Fbit_vector):
5176         * alloc.c (Fmake_string):
5177         * alloc.c (Fpurecopy):
5178         * alloc.c (Fmemory_limit):
5179         * buffer.c:
5180         * buffer.c (Fget_buffer):
5181         * buffer.c (Fkill_buffer):
5182         * buffer.c (complex_vars_of_buffer):
5183         * bytecode.c (Fcompiled_function_stack_depth):
5184         * callint.c (Fprefix_numeric_value):
5185         * event-stream.c:
5186         * event-stream.c (Fread_key_sequence):
5187         * casetab.c:
5188         * casetab.c (Fcase_table_p):
5189         * casetab.c (check_case_table):
5190         * casetab.c (Fset_case_table):
5191         * casetab.c (Fset_standard_case_table):
5192         * chartab.c:
5193         * chartab.c (Fchar_table_type):
5194         * chartab.c (Freset_char_table):
5195         * chartab.c (Fget_char_table):
5196         * chartab.c (Fget_range_char_table):
5197         * chartab.c (Fput_char_table):
5198         * chartab.c (Fmap_char_table):
5199         * chartab.c (Fcategory_table_p):
5200         * chartab.c (Fcheck_category_at):
5201         * chartab.c (Fchar_in_category_p):
5202         * chartab.c (Fcategory_table):
5203         * chartab.c (Fcopy_category_table):
5204         * chartab.c (Fset_category_table):
5205         * chartab.c (Fcategory_designator_p):
5206         * chartab.c (Fcategory_table_value_p):
5207         * cmds.c (Fdelete_char):
5208         * cmds.c (Fdelete_backward_char):
5209         * cmds.c (Fself_insert_command):
5210         * cmds.c (Fself_insert_internal):
5211         * console.c (Fvalid_console_type_p):
5212         * console.c (Fcdfw_console):
5213         * console.c (Fconsole_type):
5214         * console.c (Fconsole_name):
5215         * console.c (Fconsole_device_list):
5216         * console.c (Fconsole_on_window_system_p):
5217         * data.c:
5218         * data.c (Feq):
5219         * data.c (Fold_eq):
5220         * data.c (Fsubr_interactive):
5221         * data.c (Fchar_to_int):
5222         * data.c (Fint_to_char):
5223         * data.c (Fsetcar):
5224         * data.c (Fsetcdr):
5225         * data.c (Fnumber_to_string):
5226         * data.c (Fstring_to_number):
5227         * data.c (Frem):
5228         * database.c (mark_database):
5229         * database.c (finalize_database):
5230         * database.c (Fdatabase_live_p):
5231         * database.c (Fdatabasep):
5232         * device-x.c (Fx_get_resource):
5233         * device.c (Fdfw_device):
5234         * dired.c:
5235         * dired.c (Ffile_name_completion):
5236         * dired.c (Ffile_name_all_completions):
5237         * dired.c (Fuser_name_completion):
5238         * dired.c (Fuser_name_completion_1):
5239         * dired.c (Fuser_name_all_completions):
5240         * doc.c (Fdocumentation):
5241         * doc.c (Fdocumentation_property):
5242         * doc.c (Fsubstitute_command_keys):
5243         * editfns.c:
5244         * editfns.c (Fchar_to_string):
5245         * editfns.c (Fstring_to_char):
5246         * editfns.c (Ftemp_directory):
5247         * editfns.c (Finsert_char):
5248         * editfns.c (Fbuffer_substring_no_properties):
5249         * editfns.c (Fnarrow_to_region):
5250         * editfns.c (Fchar_equal):
5251         * editfns.c (Fchar_Equal):
5252         * editfns.c (Ftranspose_regions):
5253         * emacs.c (Fdump_emacs):
5254         * eval.c (Fthrow):
5255         * eval.c (Fcommand_execute):
5256         * eval.c (Fautoload):
5257         * eval.c (Fbacktrace):
5258         * eval.c (Fbacktrace_frame):
5259         * events.c:
5260         * events.c (Fcopy_event):
5261         * events.c (Fcharacter_to_event):
5262         * events.c (Fevent_button):
5263         * events.c (Fevent_process):
5264         * extents.c:
5265         * extents.c (Fnext_extent_change):
5266         * extents.c (Fextent_property):
5267         * faces.c (Ffacep):
5268         * faces.c (Fmake_face):
5269         * file-coding.c:
5270         * file-coding.c (Fencode_shift_jis_char):
5271         * file-coding.c (Fencode_big5_char):
5272         * fileio.c (Ffile_name_directory):
5273         * fileio.c (Ffile_name_nondirectory):
5274         * fileio.c (Ffile_name_as_directory):
5275         * fileio.c (Fdirectory_file_name):
5276         * fileio.c (Ffile_truename):
5277         * fileio.c (Fsubstitute_in_file_name):
5278         * fileio.c (Ffile_modes):
5279         * fileio.c (Fset_file_modes):
5280         * fileio.c (Fset_default_file_modes):
5281         * fileio.c (Fverify_visited_file_modtime):
5282         * floatfns.c (Facos):
5283         * floatfns.c (Fasin):
5284         * floatfns.c (Fatan):
5285         * floatfns.c (Fcos):
5286         * floatfns.c (Fsin):
5287         * floatfns.c (Ftan):
5288         * floatfns.c (Fbessel_j0):
5289         * floatfns.c (Fbessel_j1):
5290         * floatfns.c (Fbessel_jn):
5291         * floatfns.c (Fbessel_y0):
5292         * floatfns.c (Fbessel_y1):
5293         * floatfns.c (Fbessel_yn):
5294         * floatfns.c (Ferf):
5295         * floatfns.c (Ferfc):
5296         * floatfns.c (Flog_gamma):
5297         * floatfns.c (Fexp):
5298         * floatfns.c (Fexpt):
5299         * floatfns.c (Flog):
5300         * floatfns.c (Flog10):
5301         * floatfns.c (Fsqrt):
5302         * floatfns.c (Fcube_root):
5303         * floatfns.c (Facosh):
5304         * floatfns.c (Fasinh):
5305         * floatfns.c (Fatanh):
5306         * floatfns.c (Fcosh):
5307         * floatfns.c (Fsinh):
5308         * floatfns.c (Ftanh):
5309         * floatfns.c (Fabs):
5310         * floatfns.c (Ffloat):
5311         * floatfns.c (Flogb):
5312         * floatfns.c (Fceiling):
5313         * floatfns.c (Ffloor):
5314         * floatfns.c (Fround):
5315         * floatfns.c (Ftruncate):
5316         * floatfns.c (Ffceiling):
5317         * floatfns.c (Fffloor):
5318         * floatfns.c (Ffround):
5319         * floatfns.c (Fftruncate):
5320         * fns.c (Fstring_equal):
5321         * fns.c (Fstring_lessp):
5322         * fns.c (concat2):
5323         * fns.c (concat3):
5324         * fns.c (vconcat2):
5325         * fns.c (vconcat3):
5326         * fns.c (Fsubstring):
5327         * fns.c (Fassoc):
5328         * fns.c (Fold_assoc):
5329         * fns.c (assoc_no_quit):
5330         * fns.c (Fassq):
5331         * fns.c (Fold_assq):
5332         * fns.c (assq_no_quit):
5333         * fns.c (Frassoc):
5334         * fns.c (Fold_rassoc):
5335         * fns.c (Frassq):
5336         * fns.c (Fold_rassq):
5337         * fns.c (rassq_no_quit):
5338         * fns.c (Fremassoc):
5339         * fns.c (remassoc_no_quit):
5340         * fns.c (Fremassq):
5341         * fns.c (remassq_no_quit):
5342         * fns.c (Fremrassoc):
5343         * fns.c (Fremrassq):
5344         * fns.c (remrassq_no_quit):
5345         * fns.c (Fsort):
5346         * fns.c (Fplist_get):
5347         * fns.c (Fplist_put):
5348         * fns.c (Fplist_remprop):
5349         * fns.c (Fplist_member):
5350         * fns.c (Flax_plist_get):
5351         * fns.c (Flax_plist_put):
5352         * fns.c (Flax_plist_remprop):
5353         * fns.c (Flax_plist_member):
5354         * fns.c (Fequal):
5355         * fns.c (Fold_equal):
5356         * fns.c (Frequire):
5357         * fns.c (Fbase64_encode_region):
5358         * fns.c (Fbase64_encode_string):
5359         * fns.c (Fbase64_decode_region):
5360         * frame.c:
5361         * frame.c (frame_matches_frame_spec):
5362         * frame.c (device_matches_device_spec):
5363         * frame.c (next_frame):
5364         * frame.c (previous_frame):
5365         * frame.c (Fnext_frame):
5366         * frame.c (Fprevious_frame):
5367         * frame.c (Fframe_property):
5368         * frame.c (Fset_frame_height):
5369         * frame.c (Fset_frame_size):
5370         * frame.h:
5371         * glyphs.c:
5372         * glyphs.c (if):
5373         * glyphs.c (decode_error_behavior_flag):
5374         * glyphs.c (Fmake_image_instance):
5375         * indent.c (Findent_to):
5376         * intl.c (Fignore_defer_gettext):
5377         * keymap.c (Fkeymapp):
5378         * keymap.c (Flookup_key):
5379         * lread.c:
5380         * lread.c (Fload_internal):
5381         * lread.c (Feval_buffer):
5382         * lread.c (Feval_region):
5383         * macros.c (Fexecute_kbd_macro):
5384         * marker.c (set_marker_internal):
5385         * marker.c (Fset_marker):
5386         * marker.c (set_marker_restricted):
5387         * marker.c (Fcopy_marker):
5388         * marker.c (noseeum_copy_marker):
5389         * menubar.c:
5390         * menubar.c (Fpopup_menu):
5391         * minibuf.c:
5392         * mule-charset.c (Fcharset_name):
5393         * mule-charset.c (Fchar_charset):
5394         * mule-charset.c (Fchar_octet):
5395         * mule-charset.c (Fsplit_char):
5396         * mule-wnnfns.c (Fwnn_open):
5397         * mule-wnnfns.c (Fwnn_dict_comment):
5398         * mule-wnnfns.c (Fwnn_quit_henkan):
5399         * mule-wnnfns.c (Fwnn_word_toroku):
5400         * mule-wnnfns.c (Fwnn_word_sakujo):
5401         * mule-wnnfns.c (Fwnn_word_use):
5402         * mule-wnnfns.c (Fwnn_hindo_set):
5403         * objects.c:
5404         * objects.c (Fmake_color_instance):
5405         * objects.c (Fmake_font_instance):
5406         * print.c (Fwrite_char):
5407         * process.c:
5408         * process.c (mark_process):
5409         * process.c (print_process):
5410         * process.c (get_process_from_usid):
5411         * process.c (Fprocessp):
5412         * process.c (Fprocess_live_p):
5413         * process.c (Fget_process):
5414         * process.c (Fget_buffer_process):
5415         * process.c (get_process):
5416         * process.c (Fprocess_id):
5417         * process.c (Fprocess_name):
5418         * process.c (Fprocess_command):
5419         * process.c (init_process_io_handles):
5420         * process.c (start_process_unwind):
5421         * process.c (Fstart_process_internal):
5422         * process.c (Fopen_multicast_group_internal):
5423         * process.c (Fset_process_window_size):
5424         * process.c (read_process_output):
5425         * process.c (send_process):
5426         * process.c (Fprocess_tty_name):
5427         * process.c (Fset_process_buffer):
5428         * process.c (Fprocess_buffer):
5429         * process.c (Fprocess_mark):
5430         * process.c (set_process_filter):
5431         * process.c (Fset_process_filter):
5432         * process.c (Fprocess_filter):
5433         * process.c (Fprocess_send_region):
5434         * process.c (Fprocess_send_string):
5435         * process.c (exec_sentinel):
5436         * process.c (Fset_process_sentinel):
5437         * process.c (Fprocess_sentinel):
5438         * process.c (status_notify):
5439         * process.c (Fprocess_status):
5440         * process.c (Fprocess_exit_status):
5441         * process.c (process_send_signal):
5442         * process.c (Fprocess_send_eof):
5443         * process.c (deactivate_process):
5444         * process.c (remove_process):
5445         * process.c (Fdelete_process):
5446         * process.c (kill_buffer_processes):
5447         * process.c (Fprocess_kill_without_query):
5448         * process.c (Fprocess_kill_without_query_p):
5449         * rangetab.c:
5450         * rangetab.c (Fget_range_table):
5451         * rangetab.c (Fput_range_table):
5452         * rangetab.c (Fremove_range_table):
5453         * rangetab.c (Fclear_range_table):
5454         * search.c:
5455         * search.c (Fskip_chars_forward):
5456         * search.c (Fskip_chars_backward):
5457         * search.c (Fskip_syntax_forward):
5458         * search.c (Fskip_syntax_backward):
5459         * search.c (search_command):
5460         * search.c (Freplace_match):
5461         * search.c (Fregexp_quote):
5462         * select.c (Fown_selection_internal):
5463         * select.c (Fselection_owner_p):
5464         * select.c (Fselection_exists_p):
5465         * select.c (Fget_selection_internal):
5466         * specifier.c:
5467         * symbols.c:
5468         * symbols.c (Fintern):
5469         * symbols.c (Fintern_soft):
5470         * symbols.c (Funintern):
5471         * symbols.c (Fapropos_internal):
5472         * symbols.c (Fset_default):
5473         * syntax.c:
5474         * syntax.c (Fsyntax_table_p):
5475         * syntax.c (Fcopy_syntax_table):
5476         * syntax.c (Fset_syntax_table):
5477         * syntax.c (Fchar_syntax):
5478         * syntax.c (syntax_match):
5479         * syntax.c (Fmatching_paren):
5480         * syntax.c (Fforward_word):
5481         * syntax.c (scan_lists):
5482         * syntax.c (Fscan_lists):
5483         * syntax.c (Fscan_sexps):
5484         * syntax.c (Fparse_partial_sexp):
5485         * toolbar.c (Fcheck_toolbar_button_syntax):
5486         * tooltalk.doc:
5487         * window.c:
5488         * window.c (Fwindowp):
5489         * window.c (Fwindow_live_p):
5490         * window.c (Fwindow_point):
5491         * window.c (Fdelete_window):
5492         * window.c (Fnext_window):
5493         * window.c (Fprevious_window):
5494         * window.c (Fother_window):
5495         * window.c (window_loop):
5496         * window.c (Fget_lru_window):
5497         * window.c (Fsplit_window):
5498         * window.c (Fenlarge_window):
5499         * window.c (Fenlarge_window_pixels):
5500         * window.c (Fshrink_window):
5501         * window.c (Fshrink_window_pixels):
5502         * window.c (change_window_height):
5503         * window.c (Fwindow_configuration_p):
5504         * window.c (Fcurrent_window_configuration):
5505         * window.h:
5506         * casefiddle.c (casify_object):
5507         * casefiddle.c (Fupcase):
5508         * casefiddle.c (Fdowncase):
5509         * casefiddle.c (Fcapitalize):
5510         * casefiddle.c (Fupcase_initials):
5511         * casefiddle.c (casify_region_internal):
5512         * casefiddle.c (casify_region):
5513         * casefiddle.c (Fupcase_region):
5514         * casefiddle.c (Fdowncase_region):
5515         * casefiddle.c (Fcapitalize_region):
5516         * casefiddle.c (Fupcase_initials_region):
5517         * casefiddle.c (Fupcase_word):
5518         * casefiddle.c (Fdowncase_word):
5519         * casefiddle.c (Fcapitalize_word):
5520         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5521         Replace 0 with '\0' when working with bytes.
5522         Replace initial "(" with "\(" in docstrings.
5523
5524 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5525
5526         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5527
5528         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5529
5530 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5531
5532         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5533
5534 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5535
5536         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5537         correctly.
5538
5539 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5540
5541         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5542         (inhibit_auto_save_session): New variable.
5543         (vars_of_fileio): Declare and initialize them.
5544         * fileio.c (Fdo_auto_save): Don't create session file if
5545         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5546
5547 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5548
5549         * sgiplay.c (play_internal): C++ compilability.
5550         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5551         * callproc.c (Fold_call_process_internal):
5552         Remove unused vars `env', `first'.
5553         * scrollbar.c (update_scrollbar_instance):
5554         #### unused var `current_window'.
5555         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5556         etc. within #ifdef NOT_YET.
5557         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5558         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5559         * specifier.c (specifier_instance):
5560         #### unused var `tag'.
5561         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5562
5563 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5564
5565         * fns.c (Fbutlast):
5566         * fns.c (list_sort):
5567         * fns.c (Ffillarray):
5568         * fns.c (bytecode_nconc2):
5569         * fns.c (Fnconc):
5570         * fns.c (mapcar1):
5571         * fns.c (Fmapconcat):
5572         Be pedantically 64-bit correct.  For the time when someone will
5573         want to have a list with length > 2**32.
5574
5575         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5576         Work around MIPSpro compiler bug.
5577
5578         * process-unix.c (unix_kill_child_process): Add snarky comment.
5579         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5580
5581         * config.h.in: Oops, _getpt ==> _getpty
5582
5583 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5584
5585         * config.h.in:
5586         * regex.c:
5587         Use void*, not char*, as return type of alloca().
5588
5589         * alloc.c (free_marker): Side effect inside assert expression!
5590
5591 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5592
5593         * mule-charset.c (Fset_charset_ccl_program): To check
5594         if the given ccl program is valid, use setup_ccl_program()
5595         instead of CHECK_VECTOR().
5596         (Fmake_charset): Likewise.
5597
5598 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5599
5600         * faces.c (get_extent_fragment_face_cache_index):
5601         Fix cachel.merged_faces memory leak.
5602
5603 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5604
5605         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5606         Reset MSB of octets obtained by DECODE_SJIS
5607         because of the incompatibility with Emacs.
5608         (ccl_driver)<CCL_ENCODE_SJIS>:
5609         Set MSB of octets before passing them to
5610         ENCODE_SJIS because of the incompatibility
5611         with Emacs.
5612
5613 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5614
5615         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5616         (DECLARE_LRECORD): Undo the last change.
5617         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5618
5619 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5620
5621         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5622         the implementation to lrecord_implementations_table.
5623
5624 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5625
5626         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5627         initial value of `lrecord_type_##c_name' and
5628         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5629         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5630         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5631         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5632         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5633
5634 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5635
5636         * miscplay.c (sndcnv8S_2mono):
5637         (sndcnv2monounsigned):
5638         (sndcnvULaw_2linear):
5639         (sndcnv16swap):
5640         Remove implementation-defined behavior.
5641
5642 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5643
5644         * input-method-xlib.c: Warning suppression.
5645
5646 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5647
5648         * mule-ccl.c: Sync up with Emacs 21.0.90.
5649         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5650         Do nothing.
5651         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5652         Likewise.
5653         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5654         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5655         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5656         leading char belongs to official 2-dimensional charset.
5657         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5658         write the given character as is.  Otherwise,
5659         if it is a multibyte char, convert it by
5660         non_ascii_set_charptr_emchar, then write it.
5661         (CCL_WRITE_STRING): Likewise.
5662         (ccl_get_compiled_code): New function.
5663         (setup_ccl_program): When ccl_prog is invalid,
5664         return -1.
5665         (Fregister_code_conversion_map): New function.
5666         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5667
5668         * mule-ccl.h: Sync up with Emacs 21.0.90.
5669         (Fregister_ccl_program): export it.
5670
5671         * redisplay-msw.c (separate_textual_runs):
5672         If ccl program is not valid, don't do ccl conversion.
5673
5674         * redisplay-x.c (separate_textual_runs): Ditto.
5675
5676         * file-coding.c (Fmake_coding_system):
5677         When type is ccl and value is vector, register it
5678         with a proper symbol.  And checks whether the
5679         given ccl program is valid.
5680         (mule_decode): When calling ccl_driver, if src indicates
5681         NULL pointer, set an empty string instead.
5682         (mule_encode): Likewise.
5683
5684 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5685
5686         The following large batch of changes gets us back to a state of
5687         C++ compilability.  Extbyte is now a char, which means that
5688         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5689
5690         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5691
5692         * sound.c (Fplay_sound): Type correctness.
5693
5694         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5695         (x_get_window_property): Type correctness.
5696         (receive_incremental_selection): unsigned char ==> Extbyte
5697         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5698         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5699         (Fx_store_cutbuffer_internal): Type correctness.
5700
5701         * process-unix.c (try_to_initialize_subtty): Type correctness.
5702
5703         * objects-x.c (x_print_color_instance): Type correctness.
5704         (x_print_font_instance): Type correctness.
5705         (x_list_fonts): SExtbyte ==> Extbyte.
5706         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5707         (x_find_charset_font): SExtbyte ==> Extbyte.
5708         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5709         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5710         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5711         Use bufbyte_strcmp.
5712
5713         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5714         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5715         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5716         (BYTE_C0_P): Use bit ops for char-signedness safety.
5717         (BYTE_C1_P): Use bit ops for char-signedness safety.
5718         (CHARSET_BY_LEADING_BYTE):
5719         (CHARSET_BY_ATTRIBUTES):
5720         Always use inline function.
5721         Use type_checking_assert.
5722         Hide chlook.
5723
5724         * mule-charset.c (non_ascii_charptr_copy_char):
5725         Modify to work with both ASCII and non-ASCII characters.
5726         Improve docs and variable names.
5727         Replace over-clever fall-through switch with a simple loop.
5728         (Lstream_get_emchar_1):
5729         Replace over-clever fall-through switch with a simple loop.
5730
5731         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5732         Warning suppression.
5733
5734         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5735         the return value of Lstream_getc, which could be EOF as well.
5736
5737         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5738
5739         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5740         APIs can be used on Extbytes without casts.  Risky!
5741         (SExtbyte): Remove.
5742         (UExtbyte): Remove.
5743
5744         * input-method-xlib.c (XIM_init_device):
5745         Use Xlib.h instead of IntrinsicP.h.
5746         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5747         which will break in X11R7.
5748         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5749         to call XRegisterIMInstantiateCallback with correct types.
5750
5751         * gui-x.c (button_item_to_widget_value): Type correctness.
5752
5753         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5754
5755         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5756         (xbm_instantiate_1): Type correctness.
5757         (BUILD_GLYPH_INST):  Type correctness.
5758
5759         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5760
5761         * file-coding.c:
5762         (decode_coding_sjis):
5763         (decode_coding_big5):
5764         (decode_coding_ucs4):
5765         (decode_coding_utf8):
5766         (decode_coding_iso2022):
5767         (decode_coding_no_conversion):
5768         Make all decoding functions take an Extbyte * arg.
5769         (encode_coding_sjis):
5770         (encode_coding_big5):
5771         (encode_coding_ucs4):
5772         (encode_coding_utf8):
5773         (encode_coding_iso2022):
5774         (encode_coding_no_conversion):
5775         Make all encoding functions take a Bufbyte * arg.
5776         Use size_t instead of unsigned int for memory sizes.
5777         Only cast to unsigned char whenever dereferencing Extbyte *.
5778
5779         * doc.c (unparesseuxify_doc_string): Type correctness.
5780
5781         * console-x.c (split_up_display_spec):
5782         Rewrite without using details of internal string representation.
5783         (x_semi_canonicalize_device_connection): Type correctness.
5784
5785         * config.h.in:
5786         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5787         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5788         (HAVE_XFREE386): Removed.
5789
5790         * buffer.h (DEC_CHARPTR): `const' correctness.
5791         (bufbyte_strcmp): New.
5792         (bufbyte_memcmp): New.
5793
5794         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5795
5796         * buffer.h (XCHAR_OR_CHAR_INT):
5797         Always use inline function.
5798         Remove redundant type checking assert() - XINT will abort quite nicely.
5799
5800 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5801
5802         * search.c (Freplace_match): Set newtext to an empty string.
5803
5804 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5805
5806         * s/decosf1-3.h: Remove #include of stropts.h
5807         * s/ptx.h: Remove #include of stropts.h
5808         * s/usg5-4.h: Remove #include of stropts.h
5809         * sysproc.h:
5810         * config.h.in:
5811         Use stropts.h, not sys/stropts.h.
5812         Use strtio.h, not sys/strtio.h.
5813
5814 2000-10-04  Martin Buchholz <martin@xemacs.org>
5815
5816         * XEmacs 21.2.36 is released.
5817
5818 2000-09-21  Andy Piper  <andy@xemacs.org>
5819
5820         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5821         changes still involve copying the widget tree.
5822         (update_widget_face): make sure a change is register in the widget
5823         tree. Call update_tab_widget_face appropriately.
5824         (update_tab_widget_face): ditto.
5825         (x_tab_control_redisplay): make sure non-structural changes still
5826         involve copying the widget tree.
5827
5828 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5829
5830         * lread.c (locate_file): Check the path element is non-nil.
5831
5832 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5833
5834         * lisp.h: Warning suppression for SCO compilers.
5835
5836         * redisplay-tty.c (reset_tty_modes): Fix crash.
5837         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5838
5839 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5840
5841         Big signal/process handling overhaul.  Bugs fixed:
5842         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5843         M-x comint-kill-subjob should work for both values nil and t of
5844         process-connection-type. It was broken on most platforms.
5845         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5846         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5847         * process-unix.c: Signal/Process handling overhaul.
5848         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5849         (allocate_pty): Use all available modern methods of allocating
5850         ptys, falling back to old style BSD allocation as a last resort.
5851         Use allegedly more secure Unix98 pty allocation by default.
5852         (allocate_pty_the_old_fashioned_way): New. the last resort.
5853         (unix_create_process): Push ptem, ldterm, ttcompat where
5854         available.  Autoconfiscate.
5855         (try_to_initialize_subtty): New.
5856         (unix_kill_child_process): Proper signal handling for ptys on most
5857         platforms, using special knowledge of AIX, BSD, etc...
5858         (unix_create_process): Always disconnect_controlling_terminal() for
5859         subprocesses, whether using ptys or not.
5860         * process.h: Remove old getpt-dependent PTY code.
5861         * process.c (Fprocess_send_signal): New, obvious generic function.
5862         (decode_signal): New.
5863         (Finterrupt_process):
5864         (Fkill_process):
5865         (Fquit_process):
5866         (Fstop_process):
5867         (Fcontinue_process):
5868         (Fsignal_process): Use decode_signal.
5869         (process_send_signal):
5870         Many docstring corrections.
5871         Allow any signal to be sent to a process object.
5872         * config.h.in: Add symbols for big signal/process overhaul.
5873         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5874         * sysproc.h: Include process-related headers, where available:
5875         sys/stropts.h sys/strtio.h pty.h libutil.h
5876         * s/irix4-0.h:
5877         * s/irix5-0.h:
5878         * s/cygwin32.h:
5879         * s/gnu.h:
5880         * s/linux.h:
5881         * s/hpux.h:
5882         * s/aix3-1.h:
5883         Remove old S&M pty stuff.
5884         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5885         * systty.h: Simplify cpp hackery, improve comments.
5886         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5887
5888         * editfns.c (Fformat_time_string):
5889         Be a little more paranoid with the return value of ctime.
5890
5891         * fileio.c (check_executable):
5892         (check_writable):
5893         Use symbolic constants X_OK, W_OK.
5894
5895         * console-x.c (split_up_display_spec): Fix a warning.
5896
5897 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5898
5899         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5900         * ntproc.c (sys_spawnve): make_string ==> build_string
5901         Small clarity improvements.
5902
5903 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5904
5905         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5906
5907         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5908
5909         * config.h.in (HAVE_STRCASECMP): Remove.
5910
5911 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5912
5913         * redisplay-output.c (redisplay_output_pixmap):
5914         Cleaner and possibly more 64-bit correct code.
5915
5916 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5917
5918         * dumper.c (pdump_load_finish): move restoration of
5919         `noninteractive1' to emacs.c (main_1).
5920         * emacs.c (main_1): protect LISP-visible command-line flags
5921         from pdump_load().
5922
5923 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5924
5925         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5926         DUMP_TARGET instead of literal program names.
5927
5928 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5929
5930         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5931
5932 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5933
5934         * *: Spelling mega-patch
5935
5936 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5937
5938         * fns.c (bad_bad_turtle):
5939         Delete "Eek!" comment, since we fixed the bug to which it refers.
5940
5941 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5942
5943         * alloca.c: Replace REGISTER with register.
5944
5945 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5946
5947         * file-coding.c (ucs_to_char): Use countof.
5948
5949 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5950
5951         * file-coding.c: (ucs_to_char):
5952         (complex_vars_of_file_coding):
5953         Use countof instead of sizeof.
5954         Use CHECK_NATNUM instead of CHECK_INT.
5955
5956         * sysdep.c (strcasecmp): Remove.
5957         * device-x.c (ascii_strcasecmp): New.
5958         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5959         Avoid using non-standard non-portable strcasecmp.
5960
5961 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5962
5963         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5964         * font-lock.c: remove reference to emacsfns.h.
5965         * search.c: small doc improvement.
5966         * event-Xt.c: correct file names in comments.
5967         * console-x.h Correct file names in comments.
5968         * frame.c: Correct file names in comments.
5969         * event-stream.c: remove Energize from comments.
5970
5971 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5972
5973         * symeval.h (DEFERROR_STANDARD):
5974         (DEFERROR):
5975         (DEFSYMBOL):
5976         (DEFSYMBOL_NO_DUMP):
5977         (DEFSYMBOL_MULTIWORD_PREDICATE):
5978         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5979         (DEFKEYWORD):
5980         The construct &##name is not sensible C.
5981         Fixes compilation errors with Unixware native compiler.
5982
5983 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5984
5985         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5986         (next_frame_internal): Removed.  We now just have next_frame.
5987         (next_frame):
5988         Write a simpler and cleaner one-pass algorithm.
5989         Remove called_from_delete_device arg and #ifdefed-out code.
5990         (previous_frame):
5991         Renamed from prev_frame.  Update callers.
5992         Cleaned up to have an analogous implementation to next_frame.
5993         (other_visible_frames_internal): Remove the
5994         called_from_delete_device bogus arg, and hence, remove this
5995         function.  Just use other_visible_frames().
5996
5997         * window.c (Fnext_window):
5998         Prettify docstring.
5999         Since next_frame() is guaranteed to return a frame, remove check
6000         for nil inserted in previous patch.
6001         (Fprevious_window):
6002         Prettify docstring.
6003         Make code look more like Fnext_window.
6004         (window_loop):
6005         Respect the `console' arg when iterating through windows.
6006         Fixes bug: (get-buffer-window buffer t device) not respecting
6007         the `device' arg.
6008         This function needs more work, as others have pointed out.
6009
6010         * frame.h: Rename prev_frame to previous_frame.
6011         device_matches_console_spec no longer takes a `frame' arg.
6012
6013         * s/gnu.h:
6014         * s/linux.h:
6015         * s/hpux.h:
6016         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6017         From "Golubev I. N." <gin@mo.msk.ru>.
6018
6019         * make-src-depend: Fix typo.
6020
6021 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6022
6023         * window.c (Fnext_window):
6024         next_frame() might return nil, not a frame.
6025         Fixes this crash:
6026         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6027
6028         * frame.c (next_frame_internal):
6029         We've passed a frame if we've passed its device.
6030         Fixes this crash:
6031         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6032 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6033
6034 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6035
6036         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6037         Allow option to suppress accelerators in menu/dialog items.
6038         (populate_or_checksum_helper): Pass dialog title through above.
6039
6040 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6041
6042         * event-msw.c (mswindows_key_to_emacs_keysym):
6043         Add "pause" key, fix "menu" key.
6044
6045 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6046
6047         * eval.c (reinit_vars_of_eval):
6048         Increase max_lisp_eval_depth to 1000,
6049         required for thai-xtis.el to byte-compile under some circumstances.
6050
6051 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6052
6053         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6054         From Kenichi Handa.
6055
6056 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6057
6058         * make-src-depend: Make the generated Makefiles smaller.
6059
6060         * s/hpux.h (SETUP_SLAVE_PTY):
6061         Provide a %d in the format string for the errno argument.
6062
6063         * editfns.c (Ftemp_directory):
6064         Warning fix.
6065         Avoid buffer overrun on very long file name.
6066
6067         * input-method-xlib.c (XIM_init_device):
6068         6th parameter of XRegisterIMInstantiateCallback has different
6069         pointer types on different OSes, so simply cast to (void *).
6070
6071         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6072
6073         * sysdll.c (dll_open):
6074         shl_load will hang hard if passed a NULL filename.
6075         Simply return NULL for compatibility with dlopen.
6076         * sysdll.c: Conform to XEmacs coding standards.
6077
6078         * sysdep.c (get_pty_max_bytes):
6079         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6080
6081 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6082
6083         * tooltalk.c: Add #include <syssignal.h>
6084
6085 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6086
6087         * s/hpux.h: Don't use undefined function sigunblock().
6088
6089 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6090
6091         * config.h.in: Add HAVE_BALLOON_HELP.
6092         * emacs.c: Use HAVE_BALLOON_HELP.
6093         * Makefile.in.in (x_objs):
6094         Make Balloon Help conditional on finding shape.h.
6095
6096 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6097
6098         * syntax.c (regex_emacs_buffer_p): New variable.
6099         * syntax.h (regex_emacs_buffer_p): extern.
6100         * search.c (looking_at_1):
6101         (string_match_1):
6102         (fast_string_match):
6103         (search_buffer): Set regex_emacs_buffer_p.
6104         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6105         when before_dot, at_dot, after_dot.
6106
6107 2000-08-23  Andy Piper  <andy@xemacs.org>
6108
6109         * gui-x.c (popup_selection_callback): Only set action_occurred
6110         when we really have an image instance.
6111         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6112
6113 2000-08-23  Andy Piper  <andy@xemacs.org>
6114
6115         * gui-msw.c (mswindows_handle_gui_wm_command): set
6116         action_occurred.
6117         * gui-x.c (popup_selection_callback): ditto.
6118
6119         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6120         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6121         (struct Lisp_Image_Instance): add action_occurred flag.
6122
6123         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6124         (image_instance_changed): ditto.
6125         (reset_frame_subwindow_instance_cache): only unmap windows - do
6126         not remove them from the cache also.
6127
6128         * glyphs-widget.c (tab_control_update): better debug.
6129         (progress_gauge_update): ditto.
6130         (layout_update): ditto.
6131         (layout_instantiate): ditto.
6132         (tab_control_order_only_changed): cope with null pending items.
6133
6134         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6135         debug. Force selection of an item when an action occurred. Cope
6136         with null pending_items.
6137         (mswindows_progress_gauge_redisplay): better debug.
6138         * glyphs-x.c (x_tab_control_redisplay): ditto.
6139
6140         * redisplay.c (redisplay_frame): reset the frame cache if the
6141         frame is garbaged.
6142
6143         * window.c (Fset_window_configuration): potentially re-enable
6144         frame cache reset.
6145         (window_unmap_subwindows): need to finalize instances here since
6146         it is only used in mark_window_as_deleted.
6147
6148 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6149
6150         * nas.c (SndOpenDataForReading):
6151         nas.c (WaveOpenDataForReading):
6152         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6153         Somehow escaped from the 2000-08-14 patch.
6154
6155 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6156
6157         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6158         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6159
6160 2000-08-21  Andy Piper  <andy@xemacs.org>
6161
6162         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6163         window if it is not already displayed.
6164
6165         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6166         it is not already displayed.
6167
6168         * window.c (Fset_window_configuration): don't reset the frame
6169         cache.
6170
6171         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6172         instances from the frame cache if we are actually finalizing them.
6173         (reset_frame_subwindow_instance_cache): reset frame cache only
6174         after unmapping everything.
6175         (map_subwindow): set displayed flag after mapping.
6176
6177 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6178
6179         * data.c (indirect_function):
6180         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6181
6182         * eval.c (function_argcount):
6183         Use original function when signaling errors.
6184
6185 2000-08-18  Andy Piper  <andy@xemacs.org>
6186
6187         * frame.c (delete_frame_internal): use new
6188         free_frame_subwindow_instances name.
6189
6190         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6191         (add_tab_item): make return type correct.
6192         (mswindows_tab_control_instantiate): assert index of tab.
6193         (mswindows_tab_control_redisplay): Re-code to use
6194         gui_item_equal_sans_selected and gui_item_list_find_selected.
6195
6196         * glyphs-widget.c (tab_control_update): Correct comment.
6197
6198         * window.c (window_unmap_subwindows): use new
6199         unmap_subwindow_instance_cache_mapper.
6200         (window_unmap_subwindows_cache_mapper): deleted.
6201         (Fset_window_configuration): comparisons should now be with
6202         EQ. Preserve the subwindow instance cache across configuration
6203         changes.
6204         (allocate_window): ditto.
6205         (make_dummy_parent): ditto.
6206
6207         * glyphs.c (free_frame_subwindow_instances): rename from
6208         free_frame_subwindow_instance_cache. finalize all instances rather
6209         than just those in the display cache.
6210         (finalize_all_subwindow_instances): walk windows unmapping and
6211         finalizing subwindows.
6212         (unmap_subwindow_instance_cache_mapper): moved from
6213         window.c. Allow finalization as well as unmapping.
6214
6215         * gui.c (gui_item_list_find_selected): new function.
6216
6217         * gui.h (gui_item_list_find_selected): declare.
6218
6219         * glyphs-x.c (x_tab_control_redisplay): pick tab
6220         explicitly. Re-code to use gui_item_equal_sans_selected and
6221         gui_item_list_find_selected.
6222
6223         * glyphs-x.h: add lwlib-utils.h
6224
6225         * buffer.c (Frecord_buffer): undo previous change.
6226
6227 2000-08-09  Vin Shelton  <acs@xemacs.org>
6228
6229         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6230         possible.  Create temporary files more securely.  The patch was
6231         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6232         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6233         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6234         for details.
6235
6236 2000-08-07  Ben Wing  <ben@xemacs.org>
6237
6238         * getloadavg.c: remove duplicate (and windows-breaking)
6239         includes of fcntl.h and sys/file.h.
6240
6241         * nt.c: remove duplicate getloadavg() definition.
6242
6243         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6244         encodings.
6245
6246 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6247
6248         * eval.c (function_argcount): If function needs to be autoloaded
6249         actually use the loaded definition.
6250         GCPRO function.
6251
6252 2000-08-05  Ben Wing  <ben@xemacs.org>
6253
6254         * getloadavg.c: add prototype for getloadavg().  remove
6255         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6256         of the code).  remove duplicate header includes.
6257
6258         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6259
6260         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6261         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6262         useful load average.
6263
6264         * alloc.c (reinit_alloc_once_early): removed references to
6265         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6266         the lisp vars are the only things referencing the malloc_sbrk_*
6267         vars, and they were already if 0'd out.  these vars only exist
6268         in the older malloc.c, which is basically unused, and they're
6269         only for informational purposes.
6270
6271         * m\*.h: removed useless VIRT_ADDR_VARIES.
6272
6273         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6274
6275 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6276
6277         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6278         color if the image is a mono pixmap.
6279
6280 2000-07-30  Ben Wing  <ben@xemacs.org>
6281
6282         * Makefile.in.in (release):
6283         Remove stray @.
6284
6285         * buffer.c (directory_is_current_directory):
6286         * dired-msw.c (mswindows_get_files):
6287         * dired.c:
6288         * dired.c (Fdirectory_files):
6289         * dired.c (file_name_completion_stat):
6290         * dired.c (Ffile_attributes):
6291         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6292         preprocessor tricks, to avoid problems on some machines
6293         (e.g. SCO).
6294
6295         * callproc.c (egetenv): GC docs.
6296
6297         * console-msw.h:
6298         * console-msw.h (struct mswindows_dialog_id):
6299         * lrecord.h (lrecord_type):
6300         New object for use with MSW dialogs.
6301
6302         * console.h (struct console_methods):
6303         New enable/disable frame methods, for proper modal dialogs.
6304
6305         * device-msw.c (msprinter_default_printer): Fix to follow
6306         proper Mule conventions.
6307
6308         * device-msw.c:
6309         * device-msw.c (signal_open_printer_error):
6310         * device-msw.c (msprinter_init_device):
6311         * device-msw.c (ensure_not_printing):
6312         * device-msw.c (plist_get_margin):
6313         * device-msw.c (Fmsprinter_select_settings):
6314         * device-msw.c (finalize_devmode):
6315         * device-msw.c (Fmsprinter_settings_despecialize):
6316         * device-msw.c (signal_enum_priner_error):
6317         * extents.c (decode_extent):
6318         * extents.c (decode_map_extents_flags):
6319         * extents.c (decode_extent_at_flag):
6320         * extents.c (Fextent_at):
6321         * extents.c (Fextents_at):
6322         * extents.c (symbol_to_glyph_layout):
6323         [[[[2]]]] Use structured errors.
6324
6325         * dialog-msw.c:
6326         * dialog-msw.c (mswindows_is_dialog_msg):
6327         * dialog-msw.c (mark_mswindows_dialog_id):
6328         * dialog-msw.c (dialog_proc):
6329         * dialog-msw.c (handle_question_dialog_box):
6330         * dialog-msw.c (syms_of_dialog_mswindows):
6331         Define new object to clean up marking; use it as a dialog identifier.
6332         Call new delete-dialog-box-hook.
6333
6334         * dialog-x.c (dbox_selection_callback):
6335         * dialog-x.c (dbox_descriptor_to_widget_value):
6336         * dialog-x.c (x_make_dialog_box_internal):
6337         Call new delete-dialog-box-hook.
6338         Return an id.
6339
6340         * dialog.c:
6341         * dialog.c (syms_of_dialog):
6342         * dialog.c (vars_of_dialog):
6343         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6344
6345         * eval.c:
6346         * eval.c (signal_call_debugger):
6347         when noninteractive, output stack traces on the console instead
6348         of in a (never-seen) buffer.
6349
6350         * eval.c (signal_type_error):
6351         * eval.c (invalid_argument_2):
6352         * lisp.h:
6353         new funs for use w/structured errors.
6354
6355         * event-Xt.c:
6356         * event-Xt.c (x_to_emacs_keysym):
6357         * event-Xt.c (describe_event):
6358         * event-Xt.c (emacs_Xt_event_handler):
6359         * event-Xt.c (vars_of_event_Xt):
6360         * event-msw.c:
6361         * event-msw.c (mswindows_wnd_proc):
6362         * event-msw.c (vars_of_event_mswindows):
6363         rename {x,mswindows}-debug-events to debug-{}-events for
6364         consistency with other debug-foo variables.
6365
6366         * event-stream.c:
6367         document next-event more clearly.
6368
6369         * fileio.c (Ffile_name_directory):
6370         * fileio.c (Ffile_name_nondirectory):
6371         * fileio.c (Funhandled_file_name_directory):
6372         * fileio.c (file_name_as_directory):
6373         * fileio.c (Ffile_name_as_directory):
6374         * fileio.c (directory_file_name):
6375         * fileio.c (Fdirectory_file_name):
6376         * fileio.c (Fmake_temp_name):
6377         * fileio.c (Ffile_truename):
6378         * fileio.c (Fsubstitute_in_file_name):
6379         * fileio.c (expand_and_dir_to_file):
6380         * fileio.c (barf_or_query_if_file_exists):
6381         * fileio.c (check_executable):
6382         * fileio.c (Ffile_exists_p):
6383         * fileio.c (Ffile_writable_p):
6384         * fileio.c (Ffile_directory_p):
6385         * fileio.c (Ffile_regular_p):
6386         * fileio.c (Ffile_modes):
6387         * fileio.c (Ffile_newer_than_file_p):
6388         * fileio.c (Fverify_visited_file_modtime):
6389         * fileio.c (Fset_visited_file_modtime):
6390         * fileio.c (auto_save_1):
6391         (1). (2).
6392         fix up gcpro's.
6393
6394         * frame-msw.c:
6395         * frame-msw.c (mswindows_init_frame_1):
6396         * frame-msw.c (mswindows_enable_frame):
6397         * frame-msw.c (error_frame_unsizable):
6398         * frame-msw.c (msprinter_init_frame_1):
6399         * frame-msw.c (msprinter_init_frame_3):
6400         * frame-msw.c (console_type_create_frame_mswindows):
6401         (2).
6402         implement new enable/disable frame methods.
6403
6404         * frame-x.c:
6405         * frame-x.c (x_enable_frame):
6406         * frame-x.c (console_type_create_frame_x):
6407         implement new enable/disable frame methods.
6408
6409         * frame.c:
6410         * frame.c (Fdisable_frame):
6411         * frame.c (syms_of_frame):
6412         * frame.h (struct frame):
6413         implement new enable/disable frame methods/functions.
6414
6415         * general-slots.h:
6416         add initial-focus.
6417
6418         * glyphs-msw.c (mswindows_widget_instantiate):
6419         comment that initial-focus should be implemented.
6420
6421         * glyphs-widget.c:
6422         * glyphs-widget.c (check_valid_instantiator):
6423         * glyphs-widget.c (check_valid_orientation):
6424         * glyphs-widget.c (check_valid_tab_orientation):
6425         * glyphs-widget.c (check_valid_justification):
6426         * glyphs-widget.c (check_valid_border):
6427         * glyphs-widget.c (check_valid_callback):
6428         * glyphs-widget.c (check_valid_int_or_function):
6429         * glyphs-widget.c (check_valid_string_or_vector):
6430         * glyphs-widget.c (check_valid_item_list_1):
6431         * glyphs-widget.c (widget_validate):
6432         * glyphs-widget.c (combo_box_validate):
6433         * glyphs-widget.c (widget_instantiate):
6434         * glyphs-widget.c (syms_of_glyphs_widget):
6435         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6436         * glyphs-widget.c (image_instantiator_combo_box):
6437         * glyphs-widget.c (image_instantiator_scrollbar):
6438         * glyphs-widget.c (image_instantiator_tab_control):
6439         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6440         (2).
6441         support (unimplemented) keyword initial-focus.
6442         reindent long macros.
6443
6444         * glyphs-x.c (x_redisplay_widget):
6445         * glyphs-x.c (x_button_instantiate):
6446         * glyphs-x.c (x_button_redisplay):
6447         * glyphs-x.c (x_progress_gauge_instantiate):
6448         * glyphs-x.c (x_edit_field_instantiate):
6449         * glyphs-x.c (x_combo_box_instantiate):
6450         * glyphs-x.c (x_tab_control_instantiate):
6451         * glyphs-x.c (x_label_instantiate):
6452         * gui-x.c:
6453         * gui-x.c (button_item_to_widget_value):
6454         * gui-x.c (gui_items_to_widget_values_1):
6455         * gui-x.c (gui_item_children_to_widget_values):
6456         * gui-x.c (gui_items_to_widget_values):
6457         * gui-x.h:
6458         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6459         add new flag to gui-parsing routines to indicate whether
6460         accelerator specs should be supported.
6461
6462         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6463
6464         * glyphs.h (struct Lisp_Image_Instance):
6465         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6466         add initial-focus flag.
6467
6468         * gui.c:
6469         * gui.c (syms_of_gui):
6470         * gui.c (vars_of_gui):
6471         clean up menu-no-selection-hook.
6472
6473         * gui.h:
6474         support delete-dialog-box-hook.
6475
6476         * lread.c (Fload_internal):
6477         * lread.c (locate_file_in_directory_mapper):
6478         (1).
6479
6480         * lrecord.h:
6481         * lrecord.h (struct toolbar_button):
6482         * lrecord.h (syms_of_toolbar):
6483         document how to create a new object.
6484
6485         * menubar-msw.c (mswindows_char_is_accelerator):
6486         may be called on frames w/o menus.
6487
6488         * menubar.c (vars_of_menubar):
6489         clean up :filter docs.
6490
6491         * nt.c (readdir):
6492         * ntproc.c:
6493         (1).
6494
6495         * process-nt.c:
6496         * process-nt.c (validate_signal_number):
6497         * process-nt.c (signal_cannot_launch):
6498         * process-nt.c (nt_create_process):
6499         * process-nt.c (nt_send_process):
6500         * process-nt.c (nt_kill_child_process):
6501         * process-nt.c (nt_open_network_stream):
6502         * process-nt.c (syms_of_process_nt):
6503         (2).
6504         delete quote-handling.  call new lisp code that does it better.
6505
6506         * process-unix.c (connect_to_file_descriptor):
6507         * process-unix.c (allocate_pty):
6508         * process-unix.c (unix_send_process):
6509         * process-unix.c (unix_kill_child_process):
6510         * process-unix.c (unix_open_network_stream):
6511         * process-unix.c (unix_open_multicast_group):
6512         (1). (2).
6513
6514         * process.c:
6515         * process.c (Fstart_process_internal):
6516         (2).  need to canonicalize process path even if absolute.
6517
6518         * select-msw.c (symbol_to_ms_cf):
6519         * select-msw.c (ms_cf_to_symbol):
6520         * select-msw.c (cf_is_autofreed):
6521         * select-msw.c (mswindows_destroy_selection):
6522         * select.c:
6523         * select.c (syms_of_select):
6524         * select.h:
6525         support dibv5, fix bugs. (from Mike Alexander)
6526
6527         * select.c (Fget_selection_internal):
6528         * select.c (select_convert_out):
6529
6530         * sysdep.c:
6531         * sysdep.c (xemacs_stat):
6532         renamed.
6533
6534         * sysdep.c (mkdir):
6535         * sysdep.c (rmdir):
6536         but keep original stat() here because we provide encapsulation
6537         around these funs.
6538
6539         * sysfile.h:
6540         * sysfile.h (fstat):
6541         remove stat garbage.
6542
6543         * syswindows.h:
6544         fix X/MSW conflict.
6545         don't include tchar.h.  it's inappropriate because it makes
6546         compile-time distinctions when we want runtime distinctions.
6547         (we provide our own tchar replacements)
6548
6549         * toolbar.c:
6550         use default object printer for toolbar-button.
6551
6552         * unexcw.c:
6553         make sure we don't encapsulate.
6554
6555         * window.c (vars_of_window):
6556         emphasize that temp-buffer-show-hook is obsolete.
6557
6558 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6559
6560         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6561         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6562
6563         * events.c (Fevent_timestamp_lessp):
6564         Not 64-bit clean.  Use EMACS_INT, not int.
6565
6566 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6567
6568         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6569         unsigned int and changed the last enum to
6570         lrecord_type_last_built_in_type.
6571         (lrecord_implementations_table): changed prototype to know how
6572         long the array is supposed to be.
6573         (lrecord_type_count): new unsigned int to keep track of the
6574         current number of lisp lrecord types.
6575         (DEFINE_EXTERNAL_LRECORD):
6576         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6577         dynamic-modules to declare new lisp types. They are the same
6578         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6579         int for each new type, and increment lrecord_type_count by 1.
6580
6581         * alloc.c (lrecord_implementations_table): Changed to reference
6582         lrecord_type_last_built_in_type for the size of the array.
6583         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6584
6585 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6586
6587         * glyphs.h (check_valid_item_list): Renamed from
6588         check_valid_item_list_1.
6589
6590 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6591
6592         * select.c (Qselect_coerce): New.
6593         * select.c (Vselection_coercion_alist): New.
6594         * select.c (syms_of_select): Declare.
6595         * select.c (get-selection-internal): Use it.
6596         Use the new select-coerce functionality.
6597
6598         * select.c (select_coerce): New.
6599         * select.h (select_coerce): Declare.
6600         New function to coerce one type of data into another.
6601
6602 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6603
6604         * callproc.c (Fcall_process_internal):
6605         (Fcall_process_internal):
6606         * process-unix.c (unix_create_process):
6607         Save and restore the value of errno, so that error messages are accurate.
6608
6609 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6610
6611         * elhash.c (print_hash_table):
6612         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6613         Prettify docstrings and indentation.
6614
6615 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6616
6617         * window.c (Fwindow_pixel_edges): Subtract frame border and
6618         gutter size.
6619
6620 2000-07-31  Andy Piper  <andy@xemacs.org>
6621
6622         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6623         will acknowledge the change.
6624
6625         * glyphs.h: declare tab_control_order_only_changed.
6626
6627         * glyphs-x.c (x_tab_control_redisplay): use
6628         tab_control_order_only_changed.
6629
6630         * glyphs-widget.c (tab_control_order_only_changed): new function.
6631
6632         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6633         tab_control_order_only_changed.
6634
6635         * gui.c (gui_item_equal_sans_selected): new function.
6636         (gui_item_equal): use it.
6637
6638         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6639         :properties in favor of :items..
6640
6641         * glyphs-widget.c (check_valid_item_list): rename from
6642         check_valid_item_list_1.
6643         (check_valid_item_list_1): renamed.
6644         (combo_box_validate): deprecate :properties in favor of :items.
6645         (widget_instantiate): ditto.
6646         (tab_control_update): ditto.
6647         (image_instantiator_combo_box): ditto.
6648         (image_instantiator_tree_view): ditto.
6649         (image_instantiator_tab_control): ditto.
6650         (layout_post_instantiate): remove dead code.
6651
6652         * print.c (debug_print_no_newline): only write to debugger if in
6653         WIN32_NATIVE.
6654
6655         * elhash.c (Fmake_hash_table): update doc string.
6656
6657         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6658         messages whilst in GC. This at least stops XEmacs crashing but has
6659         the potential for wierd behaviour.
6660
6661 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6662
6663         * config.h.in:
6664         Make existence of s&m files optional.
6665
6666         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6667         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6668         * s/gnu.h: Remove HAVE_GETLOADAVG.
6669         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6670         * s/sol2.h: Remove HAVE_GETLOADAVG.
6671         * lisp.h: Remove getloadavg() declaration.
6672         * fns.c:
6673         Include <sys/loadavg.h> if available.
6674         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6675         * config.h.in:  Group together getloadavg()-related macros.
6676         Use only configure-time tests to detect getloadavg().
6677
6678 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6679
6680         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6681
6682 2000-07-25  Andy Piper  <andy@xemacs.org>
6683
6684         * syswindows.h: add tchar.h for native builds.
6685
6686         * frame.c (syms_of_frame): remove set-glyph-image.
6687
6688         * general-slots.h: add Qset_glyph_image.
6689
6690         * glyphs-widget.c (layout_update): add domain arg to
6691         set-glyph-image.
6692         (syms_of_glyphs_widget): remove set-glyph-image.
6693
6694 2000-07-23  Ben Wing  <ben@xemacs.org>
6695
6696         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6697         Vpopup_frame_list.
6698
6699 2000-07-22  Andy Piper  <andy@xemacs.org>
6700
6701         * symsinit.h: add syms_of_win32().
6702
6703         * gui-msw.c (syms_of_gui_mswindows): remove
6704         Fmswindows_shell_execute.
6705         (Fmswindows_shell_execute): moved to win32.c.
6706
6707         * emacs.c (main_1): add syms_of_win32 ().
6708
6709         * win32.c (init_potentially_nonexistent_functions): rewrite in
6710         compiler-friendly terms.
6711         (Fmswindows_shell_execute): move here from gui-msw.c.
6712         (syms_of_win32): new.
6713
6714         * device-msw.c (Fmswindows_printer_list): clean up args to
6715         EnumPrinters.
6716         Don't include tchar under cygwin or mingw.
6717         (msprinter_default_printer): make cygwin-friendly.
6718
6719 2000-07-21  Andy Piper  <andy@xemacs.org>
6720
6721         * glyphs-widget.c (image_instantiator_tree_view): use tab
6722         control's update function.
6723         (layout_property): new function. Retrieve items.
6724
6725         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6726         function. Re-populate the tree view from the pending items.
6727
6728         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6729         is designated the parent if the domain is an image instance. This
6730         is needed so that dirtiness can be cascade up the hierarchy and
6731         thus for layout children to be redisplayed correctly.
6732         (allocate_image_instance): rename glyph -> parent.
6733
6734         * redisplay.h: change redisplay_output_layout signature.
6735
6736         * redisplay-msw.c (mswindows_output_display_block): use domain
6737         arg.
6738
6739         * redisplay-x.c (x_output_display_block): use domain arg.
6740
6741 2000-07-10  Andy Piper  <andy@xemacs.org>
6742
6743         * window.c (Fset_window_configuration): add comment.
6744
6745         * redisplay-output.c (compare_runes):
6746         (redisplay_output_subwindow): redisplay rather than update subwindow.
6747         (redisplay_output_layout): ditto.
6748
6749         * redisplay-msw.c (mswindows_frame_output_end):
6750         (mswindows_frame_output_end): make defer window pos optional.
6751
6752         * lisp.h: add Flast.
6753
6754         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6755         normalize method. Change update method to be for changed
6756         instantiators. Add redisplay method. Change signature of layout
6757         method.
6758         (struct Lisp_Image_Instance): add instantiator.
6759         (IMAGE_INSTANCE_INSTANTIATOR): new.
6760         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6761         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6762         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6763
6764         * glyphs.c:
6765         (find_instantiator_differences): new function.
6766         (Fset_instantiator_property): new convenience function.
6767         (check_image_instance_structure): strictly check for vector
6768         instantiators.
6769         (normalize_image_instantiator): make non-static.
6770         (instantiate_image_instantiator): pass on dest_mask and use new
6771         signatures for image_instance_layout and friends.
6772         (mark_image_instance): mark the instantiator. Mark the subwindow
6773         face not the widget face.
6774         (image_instance_equal): add instantiator.
6775         (image_instance_hash): ditto.
6776         (allocate_image_instance): ditto.
6777         (Fset_image_instance_property): removed.
6778         (Fimage_instance_file_name): ditto.
6779         (Fcolorize_image_instance): ditto.
6780         (image_instance_layout): add offsets to be set.
6781         (update_image_instance): new function. update an image instance
6782         from its changed instantiator.
6783         (inherit_normalize): add dest_mask.
6784         (xbm_normalize): ditto.
6785         (xface_normalize): ditto.
6786         (xpm_normalize): ditto.
6787         (text_update): set_property -> update.
6788         (image_instantiate): use the glyph identity as a hash key, not the
6789         instantiator.
6790         (glyph_width): use new image_instance_layout signature.
6791         (glyph_ascent): ditto.
6792         (glyph_descent): ditto.
6793         (glyph_height): ditto.
6794         (glyph_query_geometry): ressurrect.
6795         (glyph_layout): ditto.
6796         (redisplay_subwindow): update -> redisplay.
6797         (syms_of_glyphs): add Fset_instantiator_property.
6798         (image_instantiator_format_create): set_property -> update.
6799
6800         * glyphs-x.c:
6801         (autodetect_normalize): add dest_maks to signature.
6802         (x_redisplay_subwindow): update -> redisplay.
6803         (x_redisplay_widget): ditto.
6804         (x_button_redisplay): ditto.
6805         (x_progress_gauge_redisplay): ditto.
6806         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6807         stacking order.
6808         (console_type_create_glyphs_x): update -> redisplay.
6809         (image_instantiator_format_create_glyphs_x): ditto.
6810
6811         * glyphs-widget.c:
6812         (check_valid_instantiator): disallow glyphs in the instantiator,
6813         they must now be vectors.
6814         (check_valid_instantiator_list): ditto.
6815         (glyph_instantiator_to_glyph): use internal symbol rather than
6816         intern.
6817         (widget_update): renamed from widget_set_property. Call cascaded
6818         update methods.
6819         (redisplay_widget): renamed from update_widget.
6820         (widget_layout): image_instance_layout now takes position as well
6821         as size.
6822         (widget_normalize): ditto.
6823         (widget_instantiate): ditto.
6824         (tab_control_query_geometry) ditto.:
6825         (tab_control_update): renamed from tab_control_set_property.
6826         (progress_gauge_update): set_property -> update.
6827         (layout_normalize): rewrite so that child instantiators are
6828         normalized also.
6829         (layout_update): new function. Create glyphs from the normalized
6830         children and cope with any other layout keywords. We do not
6831         instantiate children here that will be take care of by
6832         redisplay_output_layout.
6833         (layout_instantiate): call layout_update and not much else.
6834         (layout_post_instantiate): not sure whether this is needed
6835         anymore.
6836         (layout_query_geometry): query glyph geometry rather than
6837         image_instance geometry.
6838         (layout_layout): set offsets from pass in parameters. Use glyph
6839         geometry and layout functions rather than image instance ones.
6840         (native_layout_layout): ditto.
6841         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6842         (image_instantiator_widget): set_property -> update.
6843         (image_instantiator_buttons): ditto.
6844         (image_instantiator_progress_guage): ditto.
6845         (image_instantiator_tab_control): ditto.
6846         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6847         (image_instantiator_layout): add update method.
6848
6849         * glyphs-msw.c (bmp_normalize):
6850         (mswindows_resource_normalize): add dest_mask so that it can be
6851         proprogated by layout_normalize.
6852         (begin_defer_window_pos): make optional because it may not be the
6853         right thing to do and it introduces differences with X.
6854         (mswindows_unmap_subwindow): ditto.
6855         (mswindows_map_subwindow): ditto.
6856         (mswindows_redisplay_subwindow): renamed from
6857         mswindows_update_subwindow.
6858         (mswindows_redisplay_widget): ditto.
6859         (mswindows_button_redisplay): renamed from
6860         mswindows_button_update. Update is now what the instantiation
6861         function does for a changed instantiator.
6862         (mswindows_progress_gauge_instantiate): set the progress value
6863         here if appropriate.
6864         (mswindows_tab_control_redisplay): cope with re-ordering of the
6865         members of the tab widget by simply selecting the new top
6866         widget. This makes things appear ok if you click on a tab.
6867         (mswindows_combo_box_instantiate): image_instance_layout now takes
6868         position as well as size.
6869         (mswindows_progress_gauge_redisplay): renamed from
6870         mswindows_progress_gauge_update.
6871         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6872         (image_instantiator_format_create_glyphs_mswindows): ditto.
6873
6874         * glyphs-eimage.c (jpeg_normalize):
6875         (gif_normalize):
6876         (png_normalize):
6877         (tiff_normalize): add dest_mask so that it can be proprogated by
6878         layout_normalize.
6879
6880         * elhash.c:
6881         (print_hash_table):
6882         (hash_table_weakness_validate):
6883         (decode_hash_table_weakness):
6884         (Fhash_table_weakness):
6885         (Fhash_table_type):
6886         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6887
6888         * console.h (struct console_methods): move update_* to
6889         redisplay_*.
6890
6891 2000-07-20  Ben Wing  <ben@xemacs.org>
6892
6893         * *.[ch] (XSETOBJ): remove unused middle argument.
6894         lisp-disunion.h: correct wrap_object() to one argument.
6895
6896 2000-07-15  Ben Wing  <ben@xemacs.org>
6897
6898         * s/cygwin32.h:
6899         * s/cygwin32.h (CYGWIN_CONV_PATH):
6900         Add missing logb prototype for v1.1.
6901         Use post-b20 names and alias to pre-b20 names when pre-b20.
6902
6903         * s/windowsnt.h: [5].
6904
6905 2000-07-15  Ben Wing  <ben@xemacs.org>
6906
6907         * Makefile.in.in (x_objs):
6908         * Makefile.in.in (sheap_objs):
6909         * Makefile.in.in (objs):
6910         added win32.o, cosmetic cleanups.
6911
6912         * alloc.c (Fmake_byte_code):
6913         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6914         etc. macros which declare their own args now.
6915
6916         * alloc.c (syms_of_alloc):
6917         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6918
6919         * buffer.c:
6920         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6921
6922         * buffer.c (Fget_file_buffer):
6923         Fixed GCPRO problem.
6924
6925         * buffer.c (get_truename_buffer):
6926         Fixed comment about GC checking.
6927
6928         * buffer.c (syms_of_buffer):
6929         Undeclared those dedicated frame funs.
6930         [2].
6931
6932         * buffer.h:
6933         Define convenience macros for internal/external conversions.
6934         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6935         and Qenvironment_variable_encoding for cleaner code.
6936
6937         * bufslots.h:
6938         Remove dedicated-frame; in lisp.
6939
6940         * bytecode.c (funcall_compiled_function):
6941         [1].
6942
6943         * bytecode.c (syms_of_bytecode):
6944         [2].
6945
6946         * console-msw.c:
6947         * console-msw.c (mswindows_show_console): Rewrote.
6948
6949         * console-msw.c (Fmswindows_debugging_output): New.
6950         Sends to OutputDebugString (special MSWin debugger interface).
6951
6952         * console-msw.c (Fmswindows_message_box):
6953         Fixed stupid bugs so it works when called from kill-emacs.
6954
6955         * console-msw.c (syms_of_console_mswindows):
6956         Declare Fmswindows_debugging_output.
6957
6958         * console-msw.h:
6959         New MSWin prototypes.
6960
6961         * console-msw.h (struct mswindows_frame):
6962         New entry last-click-mods for improved button-modifier support.
6963
6964         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6965         New struct entry `popup' with corresponding accessor.
6966
6967         * console-x.c:
6968         * console-x.c (split_up_display_spec):
6969         * console-x.c (get_display_arg_connection):
6970         * console-x.c (x_semi_canonicalize_console_connection):
6971         * console-x.c (x_canonicalize_device_connection):
6972         [[[6]]]: Change char to more specific type.
6973         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6974
6975         * console-x.c (x_semi_canonicalize_console_connection):
6976         * console-x.c (x_canonicalize_device_connection):
6977         [[[9]]]: Fix up error signalling to use new structured error system.
6978
6979         * console-x.h:
6980         [[[4]]]: Define codesys aliases:
6981         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6982         Qx_color_name_encoding, Qx_display_name_encoding.
6983
6984         * console.h (struct console_methods):
6985         New method make_dialog_box_internal supersedes older
6986         popup_dialog_box method.
6987
6988         * data.c:
6989         Define many new errors, part of new structured errors.
6990
6991         * data.c (init_errors_once_early):
6992         * data.c (syms_of_data):
6993         [2].
6994
6995         * device-msw.c (mswindows_init_device):
6996         [[[5]]]: Cleanup to support NT 3.51.
6997
6998         * device-msw.c (decode_devmode): Cleanup.
6999
7000         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7001         * device-msw.c (mswindows_handle_print_dialog_box):
7002         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7003         * device-msw.c (syms_of_device_mswindows):
7004         Delete the dialog box primitives recently introduced by Kirill and
7005         instead interface to general dialog box interface.
7006
7007         * device-x.c:
7008         * device-x.c (compute_x_app_name):
7009         * device-x.c (x_init_device):
7010         * device-x.c (Fx_valid_keysym_name_p):
7011         * device-x.c (Fx_set_font_path):
7012         [6].
7013         [7].
7014
7015         * device.h (wrap_device): New.
7016         First of its kind; meant to replace XSETDEVICE.
7017
7018         * dialog-msw.c: Many file-dialog symbols.
7019
7020         * dialog-msw.c (mswindows_register_popup_frame): New.
7021         * dialog-msw.c (mswindows_is_dialog_msg): New.
7022         For supporting kbd traversal in dialog boxes.
7023
7024         * dialog-msw.c (dialog_proc):
7025         Support hitting ESC in dialogs.
7026
7027         * dialog-msw.c (struct):
7028         Common dialog box errors.
7029
7030         * dialog-msw.c (handle_file_dialog_box): New.
7031         Add file dialog code.
7032
7033         * dialog-msw.c (handle_question_dialog_box):
7034         Redo existing code to support new question dialog syntax.
7035
7036         * dialog-msw.c (console_type_create_dialog_mswindows):
7037         We support new dialog console method.
7038
7039         * dialog-msw.c (syms_of_dialog_mswindows):
7040         * dialog-msw.c (vars_of_dialog_mswindows):
7041         New file dialog symbols, vars.
7042
7043         * dialog-x.c:
7044         * dialog-x.c (maybe_run_dbox_text_callback):
7045         * dialog-x.c (dbox_descriptor_to_widget_value):
7046         * dialog-x.c (x_make_dialog_box_internal):
7047         * dialog-x.c (console_type_create_dialog_x):
7048         Mule-ize entire file.
7049         Redo to support question dialog syntax.
7050         [6].
7051
7052         * dialog.c:
7053         * dialog.c (Fmake_dialog_box_internal):
7054         * dialog.c (syms_of_dialog):
7055         Kill old popup-dialog-box, replace with new primitive.
7056         Just call device method or signal error.
7057
7058         * eldap.c (Fldap_open):
7059         * eldap.c (Fldap_search_basic):
7060         * eldap.c (Fldap_add):
7061         * eldap.c (Fldap_modify):
7062         [1].
7063         [7].
7064
7065         * emacs.c:
7066         * emacs.c (make_arg_list_1):
7067         * emacs.c (make_arg_list):
7068         Mule-ize call to dll_init().
7069         [6].
7070         [8].
7071
7072         * emacs.c (make_argc_argv):
7073         * emacs.c (free_argc_argv):
7074         * emacs.c (init_cmdargs):
7075         * emacs.c (main_1):
7076         * emacs.c (Fkill_emacs):
7077         * emacs.c (Fdump_emacs):
7078         Update comments about what can be used in syms_* etc.
7079         Call init_win32() when necessary.
7080         Fix up MS Win dialog box in kill-buffer to actually work right.
7081         [7].
7082
7083         * eval.c:
7084         * eval.c (For):
7085         * eval.c (Fand):
7086         * eval.c (Fprogn):
7087         * eval.c (Fprog1):
7088         * eval.c (Fprog2):
7089         * eval.c (FletX):
7090         * eval.c (Flet):
7091         * eval.c (condition_case_3):
7092         * eval.c (Feval):
7093         * eval.c (function_argcount):
7094         * eval.c (funcall_lambda):
7095         [1].
7096
7097         * eval.c (type_error): New.
7098         * eval.c (maybe_type_error): New.
7099         * eval.c (continuable_type_error): New.
7100         * eval.c (maybe_continuable_type_error): New.
7101         * eval.c (type_error_with_frob): New.
7102         * eval.c (maybe_type_error_with_frob): New.
7103         * eval.c (continuable_type_error_with_frob): New.
7104         * eval.c (maybe_continuable_type_error_with_frob): New.
7105         New functions for use with structured errors.
7106
7107         * event-Xt.c:
7108         * event-Xt.c (x_event_to_emacs_event):
7109         Buttons are now modifiers too.
7110
7111         * event-Xt.c (emacs_Xt_current_event_timestamp):
7112         Implement new event method.
7113         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7114
7115         * event-msw.c:
7116         * event-msw.c (ntpipe_shove_writer): [5].
7117         * event-msw.c (mswindows_enqueue_mouse_button_event):
7118         * event-msw.c (mswindows_drain_windows_queue):
7119         * event-msw.c (mswindows_wnd_proc): [7].
7120         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7121         * event-msw.c (mswindows_modifier_state):
7122         Throughout: support new button modifiers.
7123
7124         * event-msw.c (emacs_mswindows_current_event_timestamp):
7125         Implement new event method.
7126         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7127
7128         * event-stream.c:
7129         * event-stream.c (event_stream_current_event_timestamp): New.
7130         * event-stream.c (maybe_kbd_translate): New functionality.
7131         * event-stream.c (vars_of_event_stream):
7132         Document new kbd-translate-table functionality.
7133
7134         * event-stream.c (Fcurrent_event_timestamp): New.
7135         New primitive for use in fabricated events.
7136         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7137
7138         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7139
7140         * events.c:
7141         * events.c (Fmake_event):
7142         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7143         [1].
7144         [9].
7145
7146         * events.c (format_event_object): fix gcc warnings.
7147
7148         * events.c (Fevent_timestamp): Document new primitives.
7149
7150         * events.c (TIMESTAMP_HALFSPACE): New.
7151
7152         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7153         comparing timestamps correctly (half-space algorithm).
7154
7155         * events.c (Fevent_modifier_bits): Doc fix.
7156
7157         * events.c (Fevent_modifiers): Major doc addition.
7158         * events.c (event_x_y_pixel_internal): Typo fix.
7159         * events.c (syms_of_events): Declare new primitives.
7160
7161         * events.h:
7162         Update long comment for button modifiers, timestamps.
7163
7164         * events.h (struct event_stream):
7165         New current_event_timestamp method.
7166
7167         * extents.c:
7168         * extents.c (extent_in_region_p):
7169         * extents.c (decode_extent):
7170         * extents.c (Fset_extent_parent):
7171         * extents.c (decode_map_extents_flags):
7172         Fix gcc warnings.
7173         [9].
7174
7175         * extents.c (struct extent_at_arg):
7176         * extents.c (decode_extent_at_flag):
7177         * extents.c (extent_at_mapper):
7178         * extents.c (extent_at_bytind):
7179         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7180         * extents.c (Fextents_at): New primitive. [9].
7181         * extents.c (symbol_to_glyph_layout): [9].
7182         Support new primitive `extents-at'.
7183
7184
7185         * extents.c (get_text_property_bytind):
7186         extent_at_bytind has another arg.
7187         [9].
7188
7189         * extents.c (syms_of_extents): New primitive.
7190
7191         * file-coding.c (Fmake_coding_system): [1].
7192         * file-coding.c (subsidiary_coding_system): fix gcc warning
7193         * file-coding.c (syms_of_file_coding): [2].
7194
7195         * fileio.c (Fexpand_file_name):
7196         * fileio.c (Fsysnetunam):
7197         * fileio.c (Ffile_exists_p):
7198         * fileio.c (Ffile_executable_p):
7199         * fileio.c (Fverify_visited_file_modtime):
7200         Clean up GCPROing.
7201
7202         * fileio.c (syms_of_fileio): [2].
7203
7204         * filelock.c (lock_file_1):
7205         * filelock.c (current_lock_owner):
7206         * filelock.c (lock_if_free):
7207         * filelock.c (lock_file):
7208         * filelock.c (unlock_file):
7209         Clean up GCPROing.
7210
7211         * fns.c (concat): Fix gcc warning.
7212
7213         * fns.c (Fmember):
7214         * fns.c (Fold_member):
7215         * fns.c (Fmemq):
7216         * fns.c (Fold_memq):
7217         * fns.c (memq_no_quit):
7218         * fns.c (Fassoc):
7219         * fns.c (Fold_assoc):
7220         * fns.c (Fassq):
7221         * fns.c (Fold_assq):
7222         * fns.c (assq_no_quit):
7223         * fns.c (Frassoc):
7224         * fns.c (Fold_rassoc):
7225         * fns.c (Frassq):
7226         * fns.c (Fold_rassq):
7227         * fns.c (rassq_no_quit):
7228         * fns.c (Fdelete):
7229         * fns.c (Fold_delete):
7230         * fns.c (Fdelq):
7231         * fns.c (Fold_delq):
7232         * fns.c (delq_no_quit):
7233         * fns.c (Fremassoc):
7234         * fns.c (Fremassq):
7235         * fns.c (remassq_no_quit):
7236         * fns.c (Fremrassoc):
7237         * fns.c (Fremrassq):
7238         * fns.c (remrassq_no_quit):
7239         * fns.c (Freverse):
7240         * fns.c (mapcar1):
7241         [1].
7242
7243         * frame-msw.c (mswindows_init_frame_1):
7244         * frame-msw.c (mswindows_delete_frame):
7245         Register popups with dialog code so keyboard traversing works.
7246
7247         * frame-tty.c (tty_raise_frame_no_select): [1].
7248
7249         * frame-x.c:
7250         * frame-x.c (x_set_frame_text_value):
7251         * frame-x.c (x_set_frame_properties):
7252         * frame-x.c (x_create_widgets):
7253         [7].
7254
7255         * frame.c:
7256         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7257
7258         * frame.h (wrap_frame): New.
7259         Macro like wrap_device.
7260
7261         * general.c:
7262         * general.c (SYMBOL):
7263         * general.c (syms_of_general):
7264         Major reorg.  This is now just a wrapper and symbols themselves
7265         are listed in general-slots.h.
7266
7267         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7268         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7269
7270         * glyphs-msw.c (mswindows_native_layout_instantiate):
7271         Add DS_CONTROL so keyboard traversal will work.
7272
7273         * glyphs-widget.c:
7274         * glyphs-widget.c (syms_of_glyphs_widget):
7275         Move some symbols to general-slots.h.
7276
7277         * glyphs-x.c:
7278         * glyphs-x.c (xbm_instantiate_1):
7279         * glyphs-x.c (x_xbm_instantiate):
7280         * glyphs-x.c (x_xface_instantiate):
7281         * glyphs-x.c (autodetect_instantiate):
7282         * glyphs-x.c (cursor_font_instantiate):
7283         * glyphs-x.c (x_update_widget):
7284         * glyphs-x.c (x_widget_instantiate):
7285         * glyphs.c (bitmap_to_lisp_data):
7286         * glyphs.c (pixmap_to_lisp_data):
7287         [7].
7288
7289         * glyphs.c (syms_of_glyphs):
7290         [2].
7291
7292         * gui-x.c:
7293         * gui-x.c (print_widget_value):
7294         * gui-x.c (menu_separator_style_and_to_external):
7295         * gui-x.c (add_accel_and_to_external):
7296         * gui-x.c (button_item_to_widget_value):
7297         * gui-x.c (gui_items_to_widget_values_1):
7298         * gui-x.c (gui_items_to_widget_values):
7299         * gui-x.c (syms_of_gui_x):
7300         * gui-x.c (vars_of_gui_x):
7301         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7302         [9].
7303
7304         * gui-x.h:
7305         Muleize, prototype changes matching gui-x.c.
7306
7307         * gui.c:
7308         * gui.c (separator_string_p):
7309         * gui.c (gui_item_add_keyval_pair):
7310         * gui.c (make_gui_item_from_keywords_internal):
7311         * gui.c (signal_too_long_error):
7312         * gui.c (parse_gui_item_tree_item):
7313         * gui.c (syms_of_gui):
7314         * gui.c (vars_of_gui):
7315         * gui.h:
7316         menu-no-selection-hook moved here (used by MSWin).
7317         Move some symbols to general-slots.h.
7318         [6].
7319         [9].
7320
7321         * insdel.c (get_buffer_pos_char):
7322         * insdel.c (get_buffer_range_char):
7323         Add GC comments.
7324
7325         * keymap.c (keymap_lookup_directly):
7326         * keymap.c (keymap_store):
7327         * keymap.c (ensure_meta_prefix_char_keymapp):
7328         * keymap.c (describe_map):
7329         * keymap.h:
7330         Support new button modifiers.
7331
7332         * lisp-disunion.h (wrap_object):
7333         * lisp-disunion.h (XSETOBJ):
7334         Rename make_obj to wrap_object.
7335
7336         * lisp-union.h:
7337         * lisp-union.h (make_int):
7338         * lisp-union.h (make_char):
7339         Support wrap_object.
7340
7341         * lisp.h:
7342         * lisp.h (LIST_LOOP):
7343         * lisp.h (EXTERNAL_LIST_LOOP):
7344         * lisp.h (LIST_LOOP_2):
7345         * lisp.h (EXTERNAL_LIST_LOOP_1):
7346         * lisp.h (EXTERNAL_LIST_LOOP_2):
7347         * lisp.h (EXTERNAL_LIST_LOOP_3):
7348         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7349         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7350         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7351         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7352         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7353         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7354         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7355         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7356         * lisp.h (struct Lisp_Symbol):
7357         * lisp.h (maybe_continuable_error_with_frob):
7358         Fix up section comments.
7359         Add new types for char to indicate usage.
7360         Delete symbols auto-generated from general-slots.h.
7361         Add prototypes for structured error functions.
7362         Add long comments describing looping macros and change interface
7363         so that lvalues are automatically declared.
7364         Add NO_DECLARE macro in case callers want to declare lvalues
7365         themselves.
7366
7367         * lread.c (read_syntax_error):
7368         * lread.c (continuable_read_syntax_error):
7369         * lread.c (read_structure):
7370         * lread.c (sequence_reader):
7371         * lread.c (read_list_conser):
7372         * lread.c (read_compiled_function):
7373         Rename syntax_error and continuable_syntax_error to avoid clash
7374         with same-named structured error functions.
7375
7376         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7377         * menubar-msw.c (populate_menu_add_item):
7378         * menubar-msw.c (populate_or_checksum_helper):
7379         [5].
7380         [9].
7381
7382         * menubar-x.c:
7383         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7384         Mule-ize whole file.
7385
7386         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7387
7388         * mule-charset.c (Fmake_charset):
7389         * mule-wnnfns.c (Fwnn_set_param):
7390         [1].
7391
7392         * ntproc.c (create_child):
7393         * ntproc.c (Fwin32_set_current_locale):
7394         Add comments portending doom.
7395
7396         * objects-msw.c:
7397         * objects-msw.c (old_font_enum_callback_2):
7398         * objects-msw.c (font_enum_callback_1):
7399         * objects-msw.c (mswindows_enumerate_fonts):
7400         [5].
7401
7402         * objects-x.c:
7403         * objects-x.c (allocate_nearest_color):
7404         * objects-x.c (x_parse_nearest_color):
7405         * objects-x.c (x_initialize_color_instance):
7406         * objects-x.c (x_print_color_instance):
7407         * objects-x.c (x_finalize_color_instance):
7408         * objects-x.c (x_valid_color_name_p):
7409         * objects-x.c (x_initialize_font_instance):
7410         * objects-x.c (x_print_font_instance):
7411         * objects-x.c (valid_x_font_name_p):
7412         * objects-x.c (truename_via_FONT_prop):
7413         * objects-x.c (truename_via_random_props):
7414         * objects-x.c (truename_via_XListFonts):
7415         * objects-x.c (x_font_truename):
7416         * objects-x.c (x_font_instance_truename):
7417         * objects-x.c (x_font_instance_properties):
7418         * objects-x.c (x_list_fonts):
7419         * objects-x.c (x_find_charset_font):
7420         Mule-ize entire file.
7421         [7].
7422
7423         * objects-x.h:
7424         Mule-verify.
7425
7426         * print.c:
7427         * print.c (std_handle_out_external):
7428         * print.c (debug_print_no_newline):
7429         * print.c (syms_of_print):
7430         Output to all debugger kinds in debug-print.
7431         Fix console-output code under MSWin to actually work.
7432
7433         * process-nt.c (send_signal):
7434         * process-nt.c (nt_create_process):
7435         Use newer Unicode macros.
7436
7437         * process-unix.c (unix_create_process):
7438         * process-unix.c (unix_canonicalize_host_name):
7439         * process-unix.c (unix_open_network_stream):
7440         [7].
7441
7442         * scrollbar-x.c:
7443         Mule-verify.
7444
7445         * search.c (syms_of_search):
7446         [2].
7447
7448         * select-msw.c (mswindows_destroy_selection):
7449         Use LIST_LOOP_2.
7450
7451         * select-x.c (symbol_to_x_atom):
7452         [7].
7453
7454         * select.c (syms_of_select):
7455         [2].
7456
7457         * sound.c (Fplay_sound_file):
7458         [7].
7459
7460         * specifier.c:
7461         * specifier.c (decode_specifier_type):
7462         * specifier.c (Fvalid_specifier_locale_type_p):
7463         * specifier.c (check_valid_locale_or_locale_type):
7464         * specifier.c (decode_locale):
7465         * specifier.c (decode_locale_type):
7466         * specifier.c (decode_locale_list):
7467         * specifier.c (check_valid_domain):
7468         * specifier.c (decode_specifier_tag_set):
7469         * specifier.c (Fcanonicalize_tag_set):
7470         * specifier.c (Fdefine_specifier_tag):
7471         * specifier.c (Fspecifier_tag_predicate):
7472         * specifier.c (check_valid_inst_list):
7473         * specifier.c (check_valid_spec_list):
7474         * specifier.c (decode_how_to_add_specification):
7475         * specifier.c (check_modifiable_specifier):
7476         * specifier.c (specifier_add_spec):
7477         * specifier.c (boolean_validate):
7478         * specifier.c (display_table_validate):
7479         [9].
7480
7481         * specifier.c (syms_of_specifier):
7482         Move some symbols to general-slots.h.
7483         [2].
7484
7485         * symbols.c:
7486         * symbols.c (Fmapatoms):
7487         * symbols.c (Fapropos_internal):
7488         Add GCPROs.
7489
7490         * symbols.c (set_default_buffer_slot_variable):
7491         * symbols.c (set_default_console_slot_variable):
7492         [1].
7493
7494         * symbols.c (defsymbol_massage_name_1):
7495         * symbols.c (defkeyword_massage_name):
7496         * symbols.c (deferror_1):
7497         * symbols.c (deferror):
7498         * symbols.c (deferror_massage_name_and_message):
7499         * symeval.h:
7500         * symeval.h (DEFSYMBOL):
7501         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7502
7503         * symbols.c (syms_of_symbols):
7504         [2].
7505
7506         * symsinit.h:
7507         * symsinit.h (init_win32): New.
7508         Also new is syms_of_dialog_mswindows.
7509
7510         * syswindows.h:
7511         Add new Unicode macros, missing Cygwin wide-char functions,
7512         convenience conversion macros for Qmswindows_tstr, macros for
7513         encapsulating required MSWin <-> Cygwin filename conversions,
7514         prototype for dynamically-extracted (not in NT 3.51) functions.
7515
7516         * toolbar-x.c:
7517         Mule-verify.
7518
7519         * tooltalk.c (Fadd_tooltalk_message_arg):
7520         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7521         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7522         [7].
7523
7524         * tooltalk.c (syms_of_tooltalk):
7525         [2].
7526
7527         * unexnt.c:
7528         * unexnt.c (unexec):
7529         Fix up headers, declaration of unexec() to be more standard.
7530
7531 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7532
7533         * offix.h: Revert change to guard macros - they're used in offix.c!
7534
7535 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7536
7537         * lisp.h: Defsubred Fdelete.
7538
7539         * console-msw.h:  (msprinter_default_printer): Added.
7540
7541         * console-msw.c (msprinter_canonicalize_console_connection):
7542         (msprinter_canonicalize_device_connection): Added.
7543
7544         * device-msw.c (msprinter_default_printer):
7545         (Fmswingows_get_default_printer):
7546         (signal_enum_priner_error):
7547         (Fmswingows_printer_list): Added.
7548
7549 2000-07-19  Martin Buchholz <martin@xemacs.org>
7550
7551         * XEmacs 21.2.35 is released.
7552
7553 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7554
7555         * select-x.c (x_handle_selection_request):
7556         Text selected in xemacs and pasted into xterm failed to appear.
7557         Spelling fixes and cosmetic changes.
7558
7559 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7560
7561         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7562         XEmacs frame (fix for doubling chars in dialog boxes).
7563
7564 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7565
7566         * select.c (select_convert_in, select_convert_out):
7567         Don't call intern() every time.
7568
7569         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7570         * select.c (vars_of_select): Initialise them.
7571
7572 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7573
7574         * select.c (selection-coercible-types): New.
7575
7576         * select.c (own-selection-internal):
7577         * select.c (get-selection-internal):
7578         MULE bug fix - these should default to COMPOUND_TEXT and not
7579         STRING for MULE. I think.
7580
7581         * select.c (select_convert_out): Use selection-coercible-types
7582         to find types that we can attempt to perform coercions on.
7583
7584 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7585
7586         * mule-wnnfns.c:
7587         * mule-canna.c:
7588         Add coding: cookie to identify encoding.
7589
7590         * mule-canna.c (CANNA_mode_keys): make static.
7591         Use proper prototypes, even for functions of no arguments.
7592         Remove external prototype for Fding().
7593
7594         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7595
7596         * select.c (syms_of_select): Add missing DEFSUBR.
7597
7598 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7599
7600         * select.c (get_selection_internal, own_selection_internal):
7601         Make the type default to STRING, rather than placing a nil type
7602         into Vselection_alist.
7603
7604 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7605
7606         * gpmevent.c (tty_selection_exists_p):
7607         * gpmevent.c (tty_own_selection):
7608         Updated parameter lists.
7609
7610 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7611
7612         * select.h (selection-alist): Removed declaration.
7613
7614         * select.h (get_local_selection):
7615         * select.c (get_local_selection):
7616         Made static.
7617
7618         * select.h (convert_selection): Removed declaration.
7619         * select.c (convert_selection): Removed.
7620         This function belongs in Lisp.
7621
7622         * select.h (select_convert_in): Declare.
7623         * select.h (select_convert_out): Declare.
7624         * select.c (select_convert_in): New.
7625         * select.c (select_convert_out): New.
7626         New conversion functions for other files to call.
7627
7628         * select.h (select_notify_buffer_kill): Declare.
7629         * select.c (select_notify_buffer_kill): New.
7630         New functions that get called from kill-buffer.
7631
7632         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7633         X-specific lisp code.
7634
7635         * select.h: Declare some of the lisp-visible functions for
7636         external use.
7637
7638         * select.c (clean_local_selection_data): Removed. This was
7639         a disgusting function, and previously should have been in
7640         select-x.c in any case. The functionality is now provided
7641         in select-convert-from-integer (select.el).
7642
7643         * select.c (available-selection-types): Fixed stupidity where
7644         INTEGER and ATOM got added twice. Also add STRING when we see an
7645         extent.
7646
7647         * select.c (get-selection-internal): Removed symbol stripping. No
7648         longer causes conversion when data comes from the internal cache.
7649
7650         * select.c (syms_of_select): Added new functions.
7651
7652         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7653         error checking - previously this called abort!
7654
7655         * select-x.c (x_own_selection): Changed comment.
7656
7657         * select-x.c (x_handle_selection_request): Use select_convert_out.
7658         Don't mess with selection-alist; it's an internal variable of select.c.
7659
7660         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7661
7662         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7663         rather than messing with selection-alist.
7664
7665         * select-msw.c (mswindows_get_foreign_selection):
7666         Use TO_INTERNAL_FORMAT rather than hacking.
7667
7668 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7669
7670         * process-unix.c (unix_open_multicast_group):
7671         (unix_open_multicast_group): Remove useless casts.
7672
7673 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7674
7675         * sound.c (Fplay_sound): Fix `unused variable' warning.
7676
7677         * emacs.c (main): Use correct type for _environ on SCO5.
7678
7679 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7680
7681         * console.h (own_selection_method):
7682         * console.h (selection_exists_p_method):
7683         * console.h (available_selection_types_method): New.
7684         * console.h (register_selection_data_type_method): New.
7685         * console.h (selection_data_type_name): New.
7686
7687         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7688         function & alist to track GlobalAlloc()'d handles that need
7689         releasing when the clipboard data gets replaced or emptied.
7690
7691         * event-msw.c (mswindows_wnd_proc): Call it.
7692
7693         * lisp.h, general.c (Qappend): New symbol representing a
7694         `how-to-add' mode.
7695
7696         * select.c (own-selection-internal):
7697         * select.c (selection-exists-p):
7698         * select.c (available-selection-types): New.
7699         * select.c (register-selection-data-type): New.
7700         * select.c (selection-data-type-name): New.  New functions to deal
7701         with device-specific selection data formats.
7702         * select.c (selection-converter-out-alist): Renamed.
7703         * select.c (selection-converter-in-alist): New.
7704         * select.c (selection-appender-alist): New.  Added new alists.
7705         * select.c (syms_of_select, vars_of_select): Added new symbols &
7706         variables.
7707         * select.c (get_local_selection): Split.
7708         * select.c: Removed spurious type checking - selections may now be
7709         of any type, not just strings.
7710         * select.c (own-selection-internal):
7711
7712         * select.h, select.c (convert_selection): New. Created
7713         convert_selection() function based on get_local_selection().
7714         * select.h, select.c (QCF_*): New symbols representing mswindows
7715         clipboard formats.
7716         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7717         symbols representing `how-to-add' modes.
7718
7719         * select-msw.c (x_sym_p): New.
7720         * select-msw.c (symbol_to_ms_cf): New.
7721         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7722         symbols & clipboard formats. Can also handle string names.
7723         * select-msw.c (mswindows_own_selection):
7724         * select-msw.c (mswindows_selection_exists_p):
7725         Added `data-type' parameter. Use it.
7726         * select-msw.c (mswindows_available_selection_types): New.
7727         * select-msw.c (mswindows_register_selection_data_type): New.
7728         * select-msw.c (mswindows_selection_data_type_name): New.
7729         * select-msw.c (mswindows_own_selection):
7730         * select-msw.c (mswindows_get_foreign_selection):
7731         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7732         * select-msw.c (console_create_select_mswindows): Added new methods.
7733         * select-msw.c (mswindows_destroy_selection): New.
7734         * select-msw.c (Vhandle_alist): New list.
7735         * select-msw.c (mswindows_own_selection):
7736
7737         * select-x.c (x_own_selection):
7738         * select-x.c (x_selection_exists_p):
7739         * select-x.c: Added some comments about maybe using new
7740         functionality.
7741         * select-x.c (x_own_selection):
7742
7743         * specifier.c: Remove definition of Qappend (now in general.c)
7744         * specifier.c (syms_of_specifier): Remove Qappend.
7745
7746 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7747
7748         * config.h.in: Add socklen_t.
7749
7750         * s/decosf4-0.h: No special compiler flags needed or desired.
7751         In particular, undefine _BSD for DEC OSF 4.0.
7752
7753 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7754
7755         * redisplay-msw.c (msprinter_frame_output_end): Added.
7756         (console_type_create_redisplay_mswindows): Referred the above.
7757
7758         * frame.c (setup_frame_without_minibuffer): Do not create a
7759         default minibuffer frame on a printer device.
7760
7761         * frame-msw.c (apply_dc_geometry): Added.
7762         (msprinter_start_page):
7763         (msprinter_init_frame_3):
7764         (msprinter_eject_page): Use it.
7765
7766         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7767         and removed residual duplex and orientation properties.
7768
7769 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7770
7771         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7772
7773         * unexalpha.c: Remove system prototypes from C sources!
7774
7775 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7776
7777         * eval.c: Remove references to M-x edit-options in DEFUNs for
7778         `defvar' and `defconst'.
7779
7780 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7781
7782         * config.h.in: Remove SMART_INCLUDE hackery.
7783
7784         PostgreSQL hacking:
7785         * config.h.in: Don't use SMART_INCLUDE.
7786
7787         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7788         * inline.c: Simply #include "postgresql.h"
7789         * postgresql.c:
7790         - Don't use SMART_INCLUDE
7791         - Use simply "const".
7792         - Use standard doc string conventions.
7793         - Use correct type for result of PQstatus.
7794
7795 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7796
7797         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7798
7799         C++ compilation changes.
7800         * config.h.in (EXTERN_C): Define.
7801         * config.h.in (not): This is also a C++ keyword.
7802         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7803         * cm.c: Use EXTERN_C.
7804         * redisplay-tty.c: Use EXTERN_C.
7805         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7806
7807 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7808
7809         * general.c: Remove duplicate definition for Qfunction.
7810
7811 2000-07-08  Ben Wing  <ben@xemacs.org>
7812
7813         * device-msw.c (msprinter_init_device):
7814         * device-msw.c (sync_printer_with_devmode):
7815         * device-msw.c (handle_devmode_changes):
7816         * device-msw.c (print_dialog_worker):
7817         * device-msw.c (Fmsprinter_apply_settings):
7818         * device-msw.c (hash_devmode):
7819         * device-msw.c (Fmsprinter_settings_despecialize):
7820         use Qmswindows_tstr, not Qctext.
7821
7822         * vm-limit.c (check_memory_limits):
7823         avoid infinite loop printing warning messages.
7824
7825 2000-07-05  Craig Lanning  <lanning@scra.org>
7826
7827         * Makefile.in.in: Add support for including the Windows resources
7828         when building with the cygwin and mingw targets.
7829
7830         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7831         not set or not correct.
7832         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7833         (init_initial_directory): Don't try to use $PWD on the
7834         WIN32_NATIVE target.
7835
7836         * s\cygwin32.h:
7837         [[Add -mwindows to eliminate console window.]] not required --ben
7838         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7839         (MAIL_USE_POP): removed; now handled by configure.
7840
7841         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7842         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7843         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7844         (MAIL_USE_POP): removed; now handled by configure.
7845         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7846         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7847         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7848         constant string.
7849         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7850         up from <winsock.h> via systime.h.
7851         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7852         (getpagesize): from Dan Holmsand, added.
7853         Added #endif which was left dangling by Ben's mega patch; added
7854         comment to help prevent this in the future.
7855
7856         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7857
7858 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7859
7860         * console-msw.h (struct mswindows_device): Removed unnecessary
7861         cached device geometry values.
7862         Added update_tick and an accessor macro.
7863         (Lisp_Devmode): Added lrecord declaration.
7864         (struct msprinter_device): Contain devmode as a Lisp object.
7865         Added mswindows_get_selected_frame_hwnd();
7866
7867         * console.h (struct console_methods): Indentation nitpicking.
7868
7869         * device-msw.c (mswindows_init_device): Do not initialize geometry
7870         cache. Initialize update tick.
7871         (mswindows_device_system_metrics): Ask the device for its geometry.
7872         (global_free_2_maybe):
7873         (devmode_to_hglobal):
7874         (handle_printer_changes):
7875         (ensure_not_printing):
7876         (print_dialog_worker):
7877         (Fmsprinter_print_setup_dialog):
7878         (Fmsprinter_print_dialog):
7879         (plist_get_margin):
7880         (plist_set_margin):
7881         (Fmsprinter_page_setup_dialog): Added functions.
7882         (sync_printer_with_devmode):
7883         (handle_devmode_changes):
7884         (Fmsprinter_get_settings):
7885         (Fmsprinter_select_settings):
7886         (Fmsprinter_apply_settings):
7887         (allocate_devmode):
7888         (Fmsprinter_settings_copy):
7889         (Fmsprinter_settings_despecialize):
7890         (print_devmode):
7891         (finalize_devmode):
7892         (equal_devmode):
7893         (hash_devmode): Added functions
7894         (syms_of_device_mswindows): Init devmode lrecord class.
7895
7896         * device.h: Added an exfun for find-device.
7897
7898         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7899         geometry; although, recreate the device compatible DC.
7900
7901         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7902         (msprinter_init_frame_3):
7903         (msprinter_frame_property):
7904         (msprinter_internal_frame_property_p):
7905         (msprinter_frame_properties):
7906         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7907         print job properties (will move to device settings).
7908
7909         * lisp.h: Added symbols.
7910
7911         * general.c (syms_of_general): Declared them.
7912
7913         * hash.c (string_hash): Added.
7914
7915         * lrecord.h (lrecord_type): Added devmode lrecord type.
7916
7917 2000-07-02  Mike Sperber <mike@xemacs.org>
7918
7919         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7920         FreeBSD 4.0.
7921
7922 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7923
7924         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7925         integer.
7926
7927 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7928
7929         * data.c (Fstring_to_number): Don't recognize floating point if
7930         base is not 10.
7931
7932 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7933
7934         * glyphs-widget.c (tab_control_query_geometry):
7935         (widget_query_geometry):
7936         (button_query_geometry):
7937         * glyphs.c (text_query_geometry):
7938         Enforce type correctness.
7939
7940 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7941
7942         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7943         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7944
7945 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7946
7947         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7948         conflicts with gcc's fixincluded version of FOO.h.
7949
7950         * glyphs.h (image_instance_geometry): Remove trailing `,'
7951
7952 2000-06-08  Mike Alexander  <mta@arbortext.com>
7953
7954         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7955         (shove_thread): Don't write the same output twice
7956         (make_ntpipe_output_stream): Increase priority of shove thread
7957         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7958         chance to run
7959         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7960         it.
7961
7962 2000-06-12  Ben Wing  <ben@xemacs.org>
7963
7964         * s\mingw32.h (sigset):
7965         * s\windowsnt.h (sigset):
7966         rename msw_ to mswindows_ for consistency with general convention.
7967
7968 2000-06-12  Ben Wing  <ben@xemacs.org>
7969
7970         * console-msw.c:
7971         * console-msw.c (mswindows_get_console_hwnd):
7972         * console-msw.c (mswindows_ensure_console_allocated):
7973         * console-msw.c (mswindows_hide_console):
7974         * console-msw.c (mswindows_show_console):
7975         * console-msw.c (mswindows_ensure_console_buffered):
7976         * console-msw.c (mswindows_output_console_string):
7977         * console-msw.c (mswindows_windows9x_p):
7978         * console-msw.h:
7979         * device-msw.c (mswindows_get_workspace_coords):
7980         * device-msw.c (mswindows_device_system_metrics):
7981         * dialog-msw.c (mswindows_popup_dialog_box):
7982         * event-msw.c (mswindows_wnd_proc):
7983         * frame-msw.c (mswindows_size_frame_internal):
7984         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7985         * menubar-msw.c (displayable_menu_item):
7986         * menubar-msw.c (mswindows_char_is_accelerator):
7987         * nt.c:
7988         * nt.c (mswindows_sigset):
7989         * nt.c (mswindows_sigrelse):
7990         * nt.c (mswindows_sigpause):
7991         * nt.c (mswindows_raise):
7992         * nt.c (timer_proc):
7993         * ntproc.c:
7994         * ntproc.c (find_child_console):
7995         * ntproc.c (sys_kill):
7996         * print.c:
7997         * print.c (std_handle_out_external):
7998         * process-nt.c (find_child_console):
7999         * process-nt.c (send_signal_the_95_way):
8000         * process-nt.c (ensure_console_window_exists):
8001         * process-nt.c (nt_create_process):
8002         * syssignal.h:
8003         rename msw_ to mswindows_ for consistency with general convention.
8004
8005         * emacs.c:
8006         * dumper.c:
8007         include nt.h, not syswindows.h.
8008
8009         * nt.c (mswindows_fstat):
8010         * nt.c (mswindows_stat):
8011         prefix mswindows_ instead of attempting to directly override the
8012         library functions.  fix declarations.
8013
8014         * nt.h:
8015         include syswindows.h.  move some sysdep.h stuff here.
8016
8017         * ntheap.h:
8018         include syswindows.h, not <windows.h>.
8019
8020         * ntplay.c:
8021         clean up headers.
8022
8023         * sysdep.c:
8024         clean up headers.
8025
8026         * sysdep.c (sys_fstat):
8027         * sysdep.c (sys_stat):
8028         call mswindows versions when appropriate.
8029
8030         * sysdep.h:
8031         move mswin decls to nt.h.
8032
8033         * syswindows.h:
8034         add long comment describing appropriate use of the various windows
8035         headers.
8036
8037 2000-06-11  Ben Wing  <ben@xemacs.org>
8038
8039         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8040
8041 2000-06-10  Ben Wing  <ben@xemacs.org>
8042
8043         * Makefile.in.in (release):
8044         Correction to make sure xemacs.exe always dumped when correct.
8045
8046         * alloca.c:
8047         * balloon_help.c:
8048         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8049
8050         * buffer.c (set_buffer_internal):
8051         [[[[2]]]]: Remove HAVE_FEP code.
8052
8053         * buffer.c (init_initial_directory):
8054         [3].
8055
8056         * bytecode.c:
8057         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8058         individual files.
8059
8060         * callproc.c:
8061         * callproc.c (call_process_cleanup):
8062         * callproc.c (Fold_call_process_internal):
8063         * callproc.c (child_setup):
8064         * callproc.c (getenv_internal):
8065         * callproc.c (init_callproc):
8066         * callproc.c (vars_of_callproc):
8067         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8068         __CYGWIN32__ -> CYGWIN.
8069         DOS_NT -> WIN32_NATIVE.
8070         Remove MSDOS support/references, converting to WIN32_NATIVE
8071           where correct.
8072         __MINGW32__ -> MINGW.
8073         Fix windows.h includes.
8074         Remove bogus HAVE_NTGUI.
8075
8076         * config.h.in:
8077         [2].
8078
8079         * console-msw.c:
8080         mswindows_message_outputted added for use in allowing startup
8081         errors on the console to be seen.
8082
8083         * console-msw.c (msw_ensure_console_allocated):
8084         * console-msw.c (msw_output_console_string):
8085         * console-msw.c (DHEADER):
8086         * console-msw.c (DOPAQUE_DATA):
8087         * console-msw.c (DEVENT):
8088         * console-msw.c (DCONS):
8089         * console-msw.c (DCONSCDR):
8090         * console-msw.c (DSTRING):
8091         * console-msw.c (DVECTOR):
8092         * console-msw.c (DSYMBOL):
8093         * console-msw.c (DSYMNAME):
8094         Fix warnings.
8095
8096         * console-stream.c (stream_init_console):
8097         Fix text/binary problems.
8098
8099         * device-msw.c:
8100         * device-msw.c (mswindows_finish_init_device):
8101         * device-msw.c (mswindows_delete_device):
8102         [1].
8103
8104         * device.c (handle_asynch_device_change):
8105         [3].
8106
8107         * dgif_lib.c:
8108         * dgif_lib.c (DGifOpenFileName):
8109         * dgif_lib.c (DGifOpenFileHandle):
8110         * dgif_lib.c (DGifGetLine):
8111         * dgif_lib.c (DGifGetPixel):
8112         Added config.h/lisp.h, fix up includes.
8113         [1].
8114
8115         * dired-msw.c:
8116         [4].
8117
8118         * dired.c:
8119         * dired.c (file_name_completion):
8120         * dired.c (Ffile_attributes):
8121         * dired.c (syms_of_dired):
8122         [1].
8123
8124         * dumper.c:
8125         * dumper.c (pdump_file_unmap):
8126         * dumper.c (pdump_load):
8127         [1].
8128
8129         * editfns.c:
8130         * editfns.c (Ftemp_directory):
8131         * editfns.c (user_login_name):
8132         * editfns.c (Fuser_real_login_name):
8133         * editfns.c (get_home_directory):
8134         [1].
8135
8136         * elhash.c (finish_marking_weak_hash_tables):
8137         [[[[5]]]]: Fix GCC warnings.
8138
8139         * emacs.c:
8140         * emacs.c (mswindows_handle_hardware_exceptions):
8141         * emacs.c (make_arg_list_1):
8142         * emacs.c (main_1):
8143         * emacs.c (Fkill_emacs):
8144         * emacs.c (Fdump_emacs):
8145         [1].
8146         Fix problems with nested crashes, add long comment.
8147
8148         * event-Xt.c (init_event_Xt_late):
8149         [1].
8150
8151         * event-msw.c:
8152         * event-msw.c (mswindows_dde_callback):
8153         * event-msw.c (mswindows_handle_sticky_modifiers):
8154         * event-msw.c (mswindows_wnd_proc):
8155         [1].
8156         [5].
8157
8158         * events.c (character_to_event):
8159         [1].
8160
8161         * fileio.c:
8162         * fileio.c (Ffile_name_directory):
8163         * fileio.c (Ffile_name_nondirectory):
8164         * fileio.c (directory_file_name):
8165         * fileio.c (Fexpand_file_name):
8166         * fileio.c (Fsubstitute_in_file_name):
8167         * fileio.c (Ffile_name_absolute_p):
8168         * fileio.c (check_executable):
8169         * fileio.c (Ffile_readable_p):
8170         * fileio.c (Ffile_accessible_directory_p):
8171         * fileio.c (Ffile_modes):
8172         * fileio.c (Funix_sync):
8173         * fileio.c (vars_of_fileio):
8174         [1]. [4].
8175
8176         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8177
8178         Expand getdefdir defn.
8179         Fix bogus rename() comment.
8180
8181         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8182         to use standard XEmacs include files, e.g. sysfile.h, rather
8183         than system-specific includes.
8184
8185         * fns.c:
8186         * fns.c (Fsubseq):
8187         [5]. [6].
8188
8189         * frame.c (vars_of_frame):
8190         [1].
8191
8192         * getloadavg.c:
8193         * getloadavg.c (getloadavg):
8194         [1]. [6].
8195         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8196         (We don't use it elsewhere in the code; just add a comment.)
8197
8198         * gif_io.c:
8199         [6].
8200         Add config.h.
8201
8202         * glyphs-msw.c:
8203         * glyphs-msw.c (mswindows_resource_instantiate):
8204         [1].
8205
8206         * glyphs-x.c (x_native_layout_instantiate):
8207         [5].
8208
8209         * gui-msw.c (Fmswindows_shell_execute):
8210         [1].
8211
8212         * insdel.c:
8213         [4].
8214
8215         * lisp.h:
8216         [4]. [5].
8217
8218         * lread.c (locate_file_in_directory_mapper):
8219         [1].
8220
8221         * lstream.c:
8222         [4].
8223
8224         * mem-limits.h:
8225         * mem-limits.h (get_lim_data):
8226         [1].
8227
8228         * menubar-msw.c:
8229         [4].
8230
8231         * ndir.h:
8232         [1].
8233
8234         * nt.c:
8235         * nt.c (getwd):
8236         * nt.c (closedir):
8237         * nt.c (rva_to_section):
8238         * nt.c (mswindows_executable_type):
8239         [1]. [6].
8240         Fix closedir() defn.
8241
8242         * nt.h:
8243         [[[[8]]]]: *_OK defs moved to sysfile.h.
8244
8245         * ntproc.c:
8246         [6]. [7].
8247
8248         * objects-x.c:
8249         [4].
8250
8251         * print.c:
8252         * print.c (std_handle_out_external):
8253         [1]. [4].
8254
8255         * process-nt.c:
8256         * process-nt.c (nt_create_process):
8257         [6].
8258         try to fix process quoting somewhat.
8259
8260         * process-unix.c (unix_create_process):
8261         [1].
8262
8263         * process.c:
8264         * process.c (vars_of_process):
8265         Add Vnull_device.
8266
8267         * process.h:
8268         [1].
8269
8270         * realpath.c:
8271         * realpath.c (xrealpath):
8272         [1].
8273
8274         * redisplay-tty.c (init_tty_for_redisplay):
8275         [3].
8276
8277         * redisplay.c:
8278         [4]. [6].
8279
8280         * scrollbar-msw.c:
8281         [4].
8282
8283         * sheap.c:
8284         * sheap.c (more_static_core):
8285         * sheap.c (report_sheap_usage):
8286         [5]. [6].
8287
8288         * signal.c:
8289         * signal.c (alarm_signal):
8290         [1]. [6].
8291
8292         * sound.c:
8293         [6].
8294
8295         * strftime.c:
8296         * strftime.c (zone_name):
8297         [1]. [5].
8298
8299         * symsinit.h (init_sunpro):
8300         [1].
8301
8302         * syscommctrl.h:
8303         commctrl.h not in Cygwin b20.1.
8304
8305         * sysdep.c:
8306         * sysdep.c (endif):
8307         * sysdep.c (sys_subshell):
8308         * sysdep.c (init_baud_rate):
8309         * sysdep.c (emacs_get_tty):
8310         * sysdep.c (emacs_set_tty):
8311         * sysdep.c (tty_init_sys_modes_on_device):
8312         * sysdep.c (init_system_name):
8313         * sysdep.c (sys_open):
8314         * sysdep.c (interruptible_open):
8315         * sysdep.c (sys_fopen):
8316         * sysdep.c (sys_mkdir):
8317         * sysdep.c (sys_rename):
8318         * sysdep.c (get_process_times_1):
8319         [1]. [6].
8320
8321         * sysdep.h:
8322         [1].
8323
8324         * sysdir.h:
8325         * sysdir.h (DIRENTRY_NONEMPTY):
8326         [1]. [6].
8327
8328         * sysdll.c (dll_init):
8329         * sysdll.h:
8330         [1].
8331
8332         * sysfile.h:
8333         [1]. [6]. [8].
8334         added text/binary defs.
8335
8336         * sysfloat.h:
8337         [1].
8338
8339         * sysproc.h:
8340         * sysproc.h (EDESTADDRREQ):
8341         * sysproc.h (poll_fds_for_input):
8342         [1]. [6].
8343
8344         * syspwd.h:
8345         [6].
8346
8347         * syssignal.h:
8348         [1].
8349
8350         * systime.h:
8351         [1]. [6].
8352
8353         * systty.h:
8354         [1].
8355
8356         * syswindows.h:
8357         [1].
8358         Always define WIN32_LEAN_AND_MEAN.
8359
8360         * unexcw.c (unexec):
8361         [5].
8362
8363         * unexec.c:
8364         * unexec.c (copy_text_and_data):
8365         * unexec.c (adjust_lnnoptrs):
8366         [1].
8367
8368         * unexnt.c:
8369         * unexnt.c (_start):
8370         [1].
8371
8372 2000-06-07  Ben Wing  <ben@xemacs.org>
8373
8374         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8375         was used only as a model.  We've long since extracted any useful
8376         logic or code out of this. (I just did an exhaustive search.)
8377
8378         * s\msdos.h: Removed.
8379
8380         * s\windows95.h: Removed.
8381
8382 2000-06-10  Ben Wing  <ben@xemacs.org>
8383
8384         * s\cygwin32.h:
8385         [1]. [5].
8386         Don't use extern with fun defs.
8387
8388         * s\mingw32.h:
8389         [1]. [7].
8390         Remove nt\inc include.
8391         Remove getdisk, getdefdir. (The former is unused, the latter
8392         expanded in fileio.h.)
8393
8394         * s\windowsnt.h:
8395         * s\windowsnt.h (WIN32_NATIVE):
8396         * s\windowsnt.h (HAVE_STRCASECMP):
8397         [1]. [7].
8398         Add long comment about preprocessor changes.
8399         Remove getdisk, getdefdir. (The former is unused, the latter
8400         expanded in fileio.h.)
8401
8402 2000-06-10  Ben Wing  <ben@xemacs.org>
8403
8404         * m\arm.h:
8405         * m\delta.h:
8406         * m\intel386.h:
8407         * m\sequent.h:
8408         * m\template.h:
8409         * m\windowsnt.h:
8410         [1].
8411         Remove bogus/unused NO_SOCK_SIGIO.
8412
8413 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8414
8415         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8416         not an Emchar.
8417
8418 2000-06-04  Mike Sperber <mike@xemacs.org>
8419
8420         * casetab.c (set_case_table): For `set-standard-case-table',
8421         actually deposit the new case tables where the rest of XEmacs can
8422         see them.
8423
8424 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8425
8426         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8427
8428 2000-06-05  Ben Wing  <ben@xemacs.org>
8429
8430         * callproc.c (child_setup): Don't do close_load_descs() under
8431         MS Windows.  Put in a comment explaining why.
8432
8433 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8434
8435         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8436         Toolkit shell" which breaks `kill-compilation' on Windows NT
8437         native, retaining STDERR handling improvements.
8438
8439 2000-06-01  Andreas Jaeger  <aj@suse.de>
8440
8441         * s/s390.h: Support for S390, based on a patch by Martin
8442         Schwidefsky <schwidefsky@de.ibm.com>.
8443
8444 2000-05-30  Andy Piper  <andy@xemacs.org>
8445
8446         * window.c (allocate_window):
8447         (make_dummy_parent):
8448         (Fset_window_configuration): use new hashtable type.
8449
8450         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8451         (struct image_instantiator_methods):
8452         (struct Lisp_Image_Instance): make instance geometry signed.
8453
8454         * glyphs.c (instantiate_image_instantiator):
8455         (image_instance_query_geometry):
8456         (image_instance_layout):
8457         (image_instance_layout):
8458         (query_string_geometry):
8459         (text_query_geometry):
8460         (image_instantiate):
8461         (image_instantiate):
8462         (cache_subwindow_instance_in_frame_maybe):
8463         (subwindow_query_geometry): make instance geometry signed.
8464
8465         * glyphs-widget.c (widget_query_geometry):
8466         (widget_layout):
8467         (button_query_geometry):
8468         (tree_view_query_geometry):
8469         (tab_control_query_geometry):
8470         (layout_query_geometry):
8471         (layout_layout):
8472         (native_layout_layout): make instance geometry signed.
8473
8474 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8475
8476         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8477         constant.
8478
8479         * general.c (syms_of_general): Add Qfull_assoc symbol.
8480
8481         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8482         correctly.
8483         (decode_weak_list_type): Decode full-assoc type.
8484         (encode_weak_list_type): Encode full-assoc type.
8485         (Fmake_weak_list): Update doc string.
8486
8487 2000-05-30  Andy Piper  <andy@xemacs.org>
8488
8489         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8490
8491         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8492         (decode_hash_table_weakness): ditto.
8493         (Fhash_table_weakness): ditto.
8494         (Fhash_table_type): ditto.
8495         (finish_marking_weak_hash_tables): ditto.
8496         (hash_table_weakness_validate): ditto.
8497         (syms_of_elhash): ditto.
8498
8499 2000-05-28  Martin Buchholz <martin@xemacs.org>
8500
8501         * XEmacs 21.2.34 is released.
8502
8503 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8504
8505         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8506         start cache.
8507         (updating_line_start_cache): Gone.
8508         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8509         generic code to force a minimum of 1 line laid out in the
8510         CMOTION_DISP case.
8511
8512 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8513
8514         * glyphs.c (instantiate_image_instantiator): Check for initialized
8515         height & width no longer special cases IMAGE_NOTHING.
8516         (nothing_instantiate): Set height and width of instance.
8517
8518 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8519
8520         * unexelf.c (unexec): Search for ".data" section.
8521         Initialize new_data2_offset from old_data_index.
8522         Remove redundant check for ElfW.
8523
8524 2000-05-23  Andy Piper  <andy@xemacs.org>
8525
8526         * glyphs.c (get_image_instantiator_governing_domain): allow more
8527         specific domains as the governing domain rather than expecting an
8528         exact match. This fixes problems with layouts.
8529
8530 2000-05-22  Andy Piper  <andy@xemacs.org>
8531
8532         * redisplay-output.c (compare_runes): check for non-images
8533
8534         * glyphs.c (set_glyph_dirty_p): ditto.
8535         (update_glyph_cachel_data): ditto.
8536
8537         * glyphs-widget.c (layout_post_instantiate): ditto.
8538         (layout_post_instantiate): ditto.
8539
8540         * event-msw.c (mswindows_wnd_proc): warning removal.
8541
8542 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8543
8544         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8545
8546         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8547
8548         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8549
8550         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8551         (mswindows_executable_type): mingw32 now has enough headers for
8552         this to work.
8553
8554 2000-05-20  Andy Piper  <andy@xemacs.org>
8555
8556         * console-msw.c (mswindows_output_last_error): ; -> ,
8557
8558 2000-05-12  Andy Piper  <andy@xemacs.org>
8559
8560         * console-msw.c (FROB): compare ints with ints.
8561
8562 2000-05-11  Andy Piper  <andy@xemacs.org>
8563
8564         * glyphs-x.c (x_finalize_image_instance): make minimal build
8565         happy.
8566
8567 2000-05-20  Ben Wing  <ben@xemacs.org>
8568
8569         * event-Xt.c:
8570         * event-Xt.c (vars_of_event_Xt):
8571         move modifier-keys-are-sticky to event-stream.c.
8572
8573         * event-msw.c:
8574         * event-msw.c (mswindows_enqueue_mouse_button_event):
8575         * event-msw.c (key_needs_default_processing_p):
8576         * event-msw.c (XEMSW_LCONTROL):
8577         * event-msw.c (mswindows_handle_sticky_modifiers):
8578         * event-msw.c (FROB):
8579         * event-msw.c (clear_sticky_modifiers):
8580         * event-msw.c (output_modifier_keyboard_state):
8581         * event-msw.c (output_alt_keyboard_state):
8582         * event-msw.c (mswindows_wnd_proc):
8583         * event-msw.c (mswindows_modifier_state):
8584         * event-msw.c (emacs_mswindows_handle_magic_event):
8585         implement sticky modifiers.
8586
8587         * event-stream.c:
8588         * event-stream.c (vars_of_event_stream):
8589         move modifier-keys-are-sticky here.
8590
8591         * lisp.h:
8592         add CHECK_FUNCTION.
8593
8594         * rangetab.c:
8595         implement map-range-table.
8596
8597
8598 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8599
8600         * redisplay-tty.c (reset_tty_modes):
8601         (tty_redisplay_shutdown): Adjust argument type to
8602         tty_frame_output_end.
8603
8604 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8605
8606         * eval.c (Fbacktrace): Don't output a line with only right
8607         parenthesis.
8608
8609 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8610
8611         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8612         (Fpq_reset_poll): Ditto.
8613
8614 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8615
8616         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8617
8618 2000-05-16  Ben Wing  <ben@xemacs.org>
8619
8620         * buffer.c:
8621         * buffer.c (dfc_convert_to/from_internal_format):
8622         * buffer.c (reinit_vars_of_buffer):
8623         Fix conversion functions to allow reentrancy.
8624
8625         * console-msw.c:
8626         * console-msw.c (mswindows_output_last_error):
8627         New fun, generally useful -- output a human-readable
8628         version of GetLastError() on the console.
8629
8630         * console-msw.h:
8631         * console-msw.h (struct mswindows_frame):
8632         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8633
8634         * console-stream.c (stream_output_begin):
8635         * console-stream.c (stream_output_end):
8636         * console-stream.c (stream_output_vertical_divider):
8637         * console-stream.c (stream_clear_region):
8638         * console-stream.c (stream_flash):
8639         * console-stream.c (console_type_create_stream):
8640         Delete blank stream methods, not needed.
8641
8642         * console.h (struct console_methods):
8643         Split begin/end methods into window and frame.
8644
8645         * event-msw.c:
8646         * event-msw.c (mswindows_handle_paint):
8647         * event-msw.c (output_alt_keyboard_state):
8648         * event-msw.c (mswindows_wnd_proc):
8649         * event-msw.c (vars_of_event_mswindows):
8650         Comment about problems with ignored-expose.
8651         Define mswindows-debug-events; not really implemented.
8652
8653         * frame-msw.c (mswindows_init_frame_1):
8654         random cleanups.
8655
8656         * glyphs-msw.c:
8657         * glyphs-msw.c (begin_defer_window_pos):
8658         * glyphs-msw.c (mswindows_unmap_subwindow):
8659         * glyphs-msw.c (mswindows_map_subwindow):
8660         * glyphs-msw.c (mswindows_resize_subwindow):
8661         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8662
8663         * glyphs.c (make_image_instance_1):
8664         Fix crash.
8665
8666         * gutter.c (Fredisplay_gutter_area):
8667         Use new begin/end methods.
8668
8669         * lisp.h (Dynarr_new2):
8670         New creation fun.
8671
8672         * redisplay-msw.c:
8673         * redisplay-msw.c (mswindows_frame_output_begin):
8674         * redisplay-msw.c (mswindows_frame_output_end):
8675         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8676         New begin/end methods -- handle DeferWindowPos.
8677
8678         * redisplay-output.c (redisplay_move_cursor):
8679         * redisplay-output.c (redraw_cursor_in_window):
8680         * redisplay-output.c (redisplay_update_line):
8681         * redisplay-output.c (redisplay_output_window):
8682         New begin/end methods.
8683
8684         * redisplay-tty.c:
8685         * redisplay-tty.c (tty_frame_output_begin):
8686         * redisplay-tty.c (tty_frame_output_end):
8687         * redisplay-tty.c (console_type_create_redisplay_tty):
8688         New begin/end methods.
8689
8690         * redisplay-x.c:
8691         * redisplay-x.c (x_window_output_begin):
8692         * redisplay-x.c (x_window_output_end):
8693         * redisplay-x.c (console_type_create_redisplay_x):
8694         New begin/end methods.
8695
8696         * redisplay.c (redisplay_frame):
8697         * redisplay.c (Fredisplay_echo_area):
8698         New begin/end methods.
8699         use MAYBE_DEVMETH for clear_frame; it may not exist.
8700
8701         * window.h (WINDOW_XFRAME):
8702         WINDOW_XFOO macros -- get locale and decode struct pointer.
8703
8704
8705 2000-05-12  Ben Wing  <ben@xemacs.org>
8706
8707         * emacs.c:
8708         * emacs.c (ensure_no_quitting_from_now_on):
8709         * emacs.c (fatal_error_signal):
8710         * emacs.c (mswindows_handle_hardware_exceptions):
8711         * emacs.c (main):
8712         * emacs.c (Fkill_emacs):
8713         * emacs.c (shut_down_emacs):
8714         * emacs.c (assert_failed):
8715         various improvements in fatal error handling.
8716
8717         * eval.c:
8718         move preparing_for_armageddon to emacs.c.
8719
8720         * lisp.h:
8721         declare fatal_error_in_progress.
8722
8723         * print.c:
8724         * print.c (std_handle_out_external):
8725         * print.c (std_handle_out_va):
8726         * print.c (stderr_out):
8727         * print.c (stdout_out):
8728         use console under mswin when no standard output.
8729         don't do code conversion during fatal error.
8730
8731         * scrollbar.c (Fscrollbar_page_up):
8732         * scrollbar.c (Fscrollbar_page_down):
8733         fix missing else.  reindent.
8734
8735 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8736
8737         Emergency fix.
8738
8739         * glyphs.h (GLYPH_CACHEL_DESCENT):
8740         (GLYPH_CACHEL_DESCENT):
8741         (GLYPH_CACHEL_DESCENT):
8742         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8743         used in case these are inline functions.
8744         Use more absurd values to error check.
8745
8746         include window.h for error check functions.
8747
8748 2000-05-11  Ben Wing  <ben@xemacs.org>
8749
8750         * cmdloop.c (Freally_early_error_handler):
8751         Display message box under windows; otherwise, message will disappear
8752         before it can be viewed.
8753
8754         * console-msw.c:
8755         * console-msw.c (Fmswindows_message_box):
8756         * console-msw.c (FROB):
8757         * console-msw.c (syms_of_console_mswindows):
8758         Define new fun `mswindows-message-box'.
8759         #### I will merge this into `popup-dialog-box'; just give me
8760         a bit of time.
8761
8762         * general.c:
8763         * general.c (syms_of_general):
8764         Some new symbols used in `mswindows-message-box'.
8765
8766         * glyphs.c:
8767         * glyphs.c (Fset_image_instance_property):
8768         put warning in this fun.
8769
8770         * glyphs.h:
8771         * glyphs.h (GLYPH_CACHEL_WIDTH):
8772         * glyphs.h (GLYPH_CACHEL_ASCENT):
8773         * glyphs.h (GLYPH_CACHEL):
8774         * glyphs.h (GLYPH_CACHEL_GLYPH):
8775         define error-checking versions to try to catch a bug i've seen --
8776         redisplay gets in an infinite loop because the glyph width of the
8777         continuation glyph is 65535.
8778
8779         * lisp.h:
8780         Extern message-box stuff.
8781
8782         * window.c (allocate_window):
8783         * window.c (make_dummy_parent):
8784         * window.c (Fset_window_configuration):
8785         Use EQUAL not EQ for subwindow caches to make them work a bit
8786         better. (Something is still very broken.)
8787
8788
8789 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8790
8791         * glyphs.c (image_instantiate): Suppress gcc warnings.
8792         (Fmake_image_instance): Fix doc string.
8793         * specifier.c (Fmake_specifier): Ditto.
8794
8795 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8796
8797         * paths.h.in (PATH_LOCK): Removed.
8798         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8799         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8800
8801 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8802
8803         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8804         Document (featurep '(and xemacs 21.02)).
8805
8806 2000-05-09  Ben Wing  <ben@xemacs.org>
8807
8808         * buffer.c (complex_vars_of_buffer):
8809         update modeline-format doc.
8810
8811         * device.h:
8812         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8813
8814         * emacs.c:
8815         timeline of all released versions of Emacs, for use in creating
8816         authorship comments and in synching up.
8817
8818         * glyphs-widget.c (image_instantiator_buttons):
8819         * glyphs-widget.c (image_instantiator_edit_fields):
8820         * glyphs-widget.c (image_instantiator_combo_box):
8821         * glyphs-widget.c (image_instantiator_scrollbar):
8822         * glyphs-widget.c (image_instantiator_progress_guage):
8823         * glyphs-widget.c (image_instantiator_tree_view):
8824         * glyphs-widget.c (image_instantiator_tab_control):
8825         * glyphs-widget.c (image_instantiator_labels):
8826         * glyphs-widget.c (image_instantiator_layout):
8827         * glyphs-widget.c (image_instantiator_native_layout):
8828         rename decode_domain method to governing_domain.
8829
8830         * glyphs.c:
8831         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8832         * glyphs.c (add_entry_to_device_ii_format_list):
8833         make sure we don't put an entry more than once into the list.
8834         * glyphs.c (check_instance_cache_mapper):
8835         *************************************************************
8836         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8837         HAVE BEEN GETTING.
8838         *************************************************************
8839         * glyphs.c (get_image_instantiator_governing_domain):
8840         clean up, expand on new concept of governing domain.
8841         * glyphs.c (instantiate_image_instantiator):
8842         * glyphs.c (allocate_image_instance):
8843         use governing_domain instead of cache_domain in naming.
8844         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8845         * glyphs.c (make_image_instance_1):
8846         * glyphs.c (Fmake_image_instance):
8847         allow for any domain (not just device), and process the
8848         governing domain correctly.  very big doc fix.
8849         * glyphs.c (Fimage_instance_domain):
8850         new primitive, to retrieve the governing domain of an image instance.
8851         * glyphs.c (image_instantiate):
8852         use new governing_domain stuff.  this fixes a crash you could get
8853         by instantiating certain widget glyphs in frame locales. (should
8854         signal an error instead of crashing.)
8855         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8856         * glyphs.c (Fglyphp): clean up doc.
8857         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8858         * glyphs.c (syms_of_glyphs):
8859         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8860         * glyphs.c (image_instantiator_format_create): add some comments about
8861         bogus code.
8862         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8863         for current-display-table. (Apparently Hrjove implemented in 1998 a
8864         design I wrote up in 1996, but didn't update the doc string.)
8865
8866         * glyphs.h: clean up a doc string.
8867         * glyphs.h (governing_domain):
8868         * glyphs.h (struct image_instantiator_methods):
8869         changes for governing_domain stuff.
8870
8871         * gutter.c:
8872         * gutter.c (Fgutter_specifier_p):
8873         * gutter.c (Fgutter_size_specifier_p):
8874         * gutter.c (Fgutter_visible_specifier_p):
8875         * objects.c:
8876         * objects.c (Fcolor_specifier_p):
8877         * objects.c (Ffont_specifier_p):
8878         * objects.c (Fface_boolean_specifier_p):
8879         doc strings moved to make-*-specifier.
8880
8881         * redisplay.c (add_disp_table_entry_runes_1):
8882         * redisplay.c (generate_fstring_runes):
8883         * redisplay.c (screen):
8884         add random comments and doc strings.
8885
8886         * specifier.c:
8887         * specifier.c (Fmake_specifier):
8888         major overhaul of this doc string.
8889
8890         * specifier.c (Fvalid_specifier_domain_p):
8891         comment about the bogosity of image instances being domains.
8892         * specifier.c (decode_domain):
8893         now non-static, used in glyphs.c.
8894         * specifier.c (specifier_instance):
8895         comment about the bogosity of image instances being domains.
8896         * specifier.c (Fgeneric_specifier_p):
8897         move doc string to make-generic-specifier.
8898         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8899         rebackslashify.
8900
8901         * specifier.h:
8902         * specifier.h (DOMAIN_FRAME):
8903         * specifier.h (DOMAIN_LIVE_P):
8904         * specifier.h (DOMAIN_XDEVICE):
8905         rebackslashify.
8906         add comments about problems with these macros.
8907         prototype for decode_domain.
8908
8909         * toolbar.c:
8910         * toolbar.c (Ftoolbar_specifier_p):
8911         move doc string to `make-toolbar-specifier'.
8912
8913         * window.c (window_unmap_subwindows_cache_mapper):
8914         *************************************************************
8915         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8916         HAVE BEEN GETTING.
8917         *************************************************************
8918
8919 2000-05-09  Andy Piper  <andy@xemacs.org>
8920
8921         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8922
8923         * window.c (Fset_window_configuration): reset the frame subwindow
8924         cache and re-initialize the window subwindow caches.
8925
8926         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8927
8928 2000-05-09  Ben Wing  <ben@xemacs.org>
8929
8930         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8931         DWORD.
8932
8933 2000-04-26  Mike Woolley  <mike@bulsara.com>
8934
8935         * ntheap.c: Changed recreate_heap to limit the amount reserved
8936         for the heap to that which is actually available. Also now
8937         displays a message box (with some dignostics) in the event that
8938         it still can't start.
8939
8940 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8941
8942         * callproc.c (Fold_call_process_internal): GCPRO path
8943
8944 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8945
8946         Patch by Bill Perry.
8947
8948         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8949         back data instead of #ifdef.
8950         (Fscrollbar_page_down): ditto.
8951
8952 2000-05-07  Ben Wing  <ben@xemacs.org>
8953
8954         * buffer.h:
8955         Kludge for defining Qmswindows_tstr.
8956
8957         * nt.c:
8958         * nt.c (open_input_file):
8959         * nt.c (open_output_file):
8960         * nt.c (rva_to_section):
8961         * nt.c (mswindows_executable_type):
8962         Move all memory-mapped-file routines here (some were in unexnt.c,
8963         which is bad because they are used by process-nt.c, and unexnt
8964         won't be around when portable dumping).  Synched the above routines
8965         with FSF 20.6.
8966
8967         * nt.h:
8968         Removed ifdef'd out bogus code.
8969         Fixed some prototypes.
8970
8971         * nt.h (file_data):
8972         * nt.h (OFFSET_TO_RVA):
8973         * nt.h (RVA_TO_OFFSET):
8974         * nt.h (RVA_TO_PTR):
8975         Moved the memory-mapped-file structures, macros and prototypes
8976         here, to parallel nt.c.  ntheap.h should really be removed
8977         entirely, and it's a non-portable-dumper specific file.
8978
8979         * ntheap.h (round_to_next):
8980         Moved the memory-mapped-file structures, macros and prototypes
8981         to nt.h.
8982
8983         * ntproc.c (compare_env):
8984         Moved rva_to_section and mswindows_executable_type to nt.c.
8985         Moved compare_env to process-nt.c.
8986         ntproc.c will die, one day.
8987
8988         * ntproc.c (sys_spawnve):
8989         Account for win32_ -> mswindows_.
8990
8991         * process-nt.c:
8992         * process-nt.c (struct nt_process_data):
8993         * process-nt.c (ensure_console_window_exists):
8994         * process-nt.c (compare_env):
8995         * process-nt.c (nt_create_process):
8996         * process-nt.c (nt_kill_process_by_pid):
8997         * process-nt.c (syms_of_process_nt):
8998         * process-nt.c (vars_of_process_nt):
8999         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9000         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9001         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9002         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9003         Move compare_env here from ntproc.c.
9004
9005         * process.c (Fprocess_send_region):
9006         Takes an optional fourth argument, BUFFER, which should fix some
9007         problems with call-process.
9008
9009         * syscommctrl.h:
9010         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9011
9012         * syswindows.h:
9013         Move ICC_BAR_CLASSES to syscommctrl.h.
9014         Add preliminary macros for MSWindows/Mule.  More to come.
9015
9016         * unexnt.c:
9017         * unexnt.c (unexec):
9018         open_output_file moved to nt.c.
9019
9020
9021 2000-05-05  Andy Piper  <andy@xemacs.org>
9022
9023         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9024         instance from the frame cache also since GC may catch up too late
9025         to make frame deletion sane.
9026
9027 2000-05-04  Andy Piper  <andy@xemacs.org>
9028
9029         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9030         (x_finalize_image_instance): ungcpro on deletion.
9031
9032         * glyphs.c (image_instantiator_format_create): give pointers a
9033         query geometry method so that the geometry is at least set.
9034
9035         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9036         initialize layouts if using widgets.
9037
9038 2000-05-03  Andy Piper  <andy@xemacs.org>
9039
9040         * nt.c: remove bogus reference to sysmmsystem.h
9041
9042         * gui-x.c (popup_selection_callback): fix no selection abort.
9043
9044 2000-05-02  Andy Piper  <andy@xemacs.org>
9045
9046         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9047         (mswindows_widget_instantiate): ditto.
9048
9049         * glyphs-widget.c (initialize_widget_image_instance): initialize
9050         children correctly.
9051         (widget_instantiate): cope with children and items in the same
9052         instance.
9053
9054         * glyphs.c (mark_image_instance): cope with children as a first
9055         class member.
9056         (image_instance_equal): ditto.
9057         (image_instance_hash): ditto.
9058         (image_instance_changed): ditto.
9059
9060 2000-04-30  Andy Piper  <andy@xemacs.org>
9061
9062         * glyphs.c (subwindow_query_geometry): new function. Return some
9063         defaults.
9064         (subwindow_instantiate): don't assign dimensions if none have been
9065         given.
9066         (image_instantiator_format_create): add subwindow_query_geometry.
9067         (print_image_instance): cope with layouts as widgets.
9068
9069 2000-04-29  Andy Piper  <andy@xemacs.org>
9070
9071         * frame.c (delete_frame_internal): call
9072         free_frame_subwindow_instance_cache so that all subwindows are
9073         finalized before their parent.
9074         (mark_frame): remove subwindow_cachels.
9075         (Fmake_frame): remove subwindow_cachel manipulation.
9076         (allocate_frame_core): subwindow_instance_cache is a weak list.
9077         (delete_frame_internal): set subwindow_instance_cache to nil.
9078
9079         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9080         finalization safe.
9081         (mswindows_finalize_image_instance): use the device
9082         not the domain as the domain may have died already.
9083
9084         * glyphs-x.c (x_finalize_image_instance): ditto.
9085         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9086         HEIGHT.
9087
9088         * redisplay-output.c (redisplay_unmap_subwindows): update for
9089         subwindow instance cache as a weak list.
9090         (redisplay_unmap_subwindows_maybe): ditto.
9091         (redisplay_unmap_subwindows_except_us): ditto.
9092
9093         * glyphs.c (unmap_subwindow): error checking will check the domain
9094         so don't deal with it here. Don't use cachels anymore.
9095         (map_subwindow): ditto.
9096         (update_subwindow_cachel_data): remove old accessor names.
9097         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9098         (Fresize_subwindow): don't update cachel.
9099         (mark_subwindow_cachels):
9100         (update_subwindow_cachel_data):
9101         (add_subwindow_cachel):
9102         (get_subwindow_cachel_index):
9103         (update_subwindow_cachel):
9104         (reset_subwindow_cachels):
9105         (mark_subwindow_cachels_as_not_updated): deleted.
9106         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9107         subwindow instance to the frame cache.
9108         (find_matching_subwindow): update for subwindow instance cache as
9109         a weak list.
9110         (update_widget_instances): ditto.
9111         (image_instance_type_to_mask):inlined.
9112         (free_frame_subwindow_instance_cache): new function. finalize all
9113         subwindows that are instantiated.
9114
9115         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9116         of cachel information.
9117         (IMAGE_INSTANCE_DISPLAY_X):
9118         (IMAGE_INSTANCE_DISPLAY_Y):
9119         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9120         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9121         (XIMAGE_INSTANCE_DISPLAY_X):
9122         (XIMAGE_INSTANCE_DISPLAY_Y):
9123         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9124         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9125         remove subwindow_cachel structure and function references.
9126         (image_instance_type_to_mask): inline from glyphs.c
9127
9128         * redisplay.c (redisplay_frame): remove subwindow_cachel
9129         references.
9130
9131         * frame.h (struct frame): remove subwindow_cachels.
9132         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9133
9134         * frameslots.h: add subwindow_instance_cache.
9135
9136         * window.c (replace_window): check subwindow cache of replacement.
9137         (window_unmap_subwindows_cache_mapper):
9138         (window_unmap_subwindows): new functions. Unmap all subwindows
9139         cached on this window.
9140         (mark_window_as_deleted): unmap all subwindows.
9141
9142 2000-04-27  Andy Piper  <andy@xemacs.org>
9143
9144         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9145
9146         * glyphs-widget.c (widget_layout): return something.
9147         (layout_layout): return something. Fail if not initialized.
9148         (layout_query_geometry): ditto.
9149         (image_instantiator_native_layout): new function. Initialized the
9150         native layout type.
9151         (widget_instantiate): don't do layout stuff here.
9152
9153         * glyphs.c (instantiate_image_instantiator): reorded calling or
9154         instantiate and post_instantiate with layout in between.
9155         (image_instance_layout): be more selective about deciding whether
9156         the layout has been done or not.
9157
9158         * glyphs.h (struct image_instantiator_methods): return a value
9159         from layout_method.
9160
9161 2000-04-26  Andy Piper  <andy@xemacs.org>
9162
9163         * glyphs.c (allocate_image_instance): make initial width and
9164         height unspecified. Set initialized to 0.
9165
9166         * syscommctrl.h new file. Encapsulates commctrl.h.
9167
9168         * syswindows.h new file. Encapsulates windows.h.
9169
9170         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9171         * nt.c: ditto.
9172         * console-msw.h: ditto.
9173
9174         * redisplay-tty.c (tty_output_display_block): remove layout references.
9175
9176         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9177         window handle rather than just the frame.
9178
9179         * glyphs.c (mark_image_instance): remove layout references.
9180         (print_image_instance): ditto.
9181         (image_instance_equal): ditto.
9182         (image_instance_hash): ditto.
9183         (decode_image_instance_type): ditto.
9184         (encode_image_instance_type): ditto.
9185         (image_instantiate): ditto.
9186         (allocate_glyph): ditto.
9187         (Fimage_instance_height): ditto.
9188         (Fimage_instance_width): ditto.
9189         (update_subwindow): ditto.
9190
9191         * redisplay-x.c (x_output_display_block): recode for layouts as
9192         widgets.
9193
9194         * redisplay-output.c (redisplay_output_layout): recode for layouts
9195         as widgets.
9196         (compare_runes): remove layout references.
9197
9198         * redisplay-msw.c (mswindows_output_display_block): recode for
9199         layouts as widgets.
9200
9201         * glyphs-widget.c (image_instantiator_layout): remove
9202         layout_possible_dest_types.
9203         (layout_possible_dest_types): deleted.
9204
9205         * glyphs.h (image_instance_type): remove layout references.
9206         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9207         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9208         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9209
9210 2000-04-25  Andy Piper  <andy@xemacs.org>
9211
9212         * glyphs-widget.c (image_instantiator_buttons):
9213         (image_instantiator_edit_fields):
9214         (image_instantiator_combo_box):
9215         (image_instantiator_scrollbar):
9216         (image_instantiator_progress_guage):
9217         (image_instantiator_tree_view):
9218         (image_instantiator_tab_control):
9219         (image_instantiator_labels):
9220         (image_instantiator_layout): call default post_instantiate method.
9221         (widget_post_instantiate): new function. Simply lays out the
9222         widgets.
9223
9224         * glyphs.h (struct image_instantiator_methods): add
9225         post_instantiate method.
9226
9227         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9228         method calls.
9229
9230 2000-04-23  Andy Piper  <andy@xemacs.org>
9231
9232         * glyphs.h (struct image_instantiator_methods): add
9233         decode_domain_method.
9234         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9235         derived from the domain.
9236         (IMAGE_INSTANCE_FRAME): new accessor.
9237         (XIMAGE_INSTANCE_FRAME): ditto.
9238
9239         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9240         instead of _SUBWINDOW_FRAME.
9241         (finalize_image_instance): ditto.
9242         (Fimage_instance_foreground): ditto.
9243         (Fimage_instance_background): ditto.
9244         (image_instantiate): ditto.
9245         (update_subwindow_cachel): ditto.
9246         (update_subwindow): ditto.
9247         (unmap_subwindow): ditto.
9248         (map_subwindow): ditto
9249         (subwindow_instantiate): ditto.
9250         * glyphs-msw.c (mswindows_update_widget): ditto.
9251         (mswindows_progress_gauge_instantiate): ditto.
9252         (mswindows_tab_control_update): ditto.
9253         * glyphs-x.c (x_update_widget): ditto.
9254         (x_widget_instantiate): ditto.
9255         (x_tab_control_instantiate): ditto.
9256         (x_tab_control_update): ditto.
9257         * event-msw.c (mswindows_wnd_proc): ditto
9258
9259         * glyphs-widget.c (image_instantiator_layout): use
9260         subwindow_decode_domain.
9261         (image_instantiator_buttons): ditto.
9262         (image_instantiator_edit_fields): ditto.
9263         (image_instantiator_combo_box): ditto.
9264         (image_instantiator_scrollbar): ditto.
9265         (image_instantiator_progress_guage): ditto.
9266         (image_instantiator_tree_view): ditto.
9267         (image_instantiator_tab_control): ditto.
9268         (image_instantiator_labels): ditto.
9269         (image_instantiator_layout): ditto.
9270
9271         * glyphs.c: add instance error checking to many functions.
9272         (instantiate_image_instantiator): decode device from cache_domain.
9273         (image_instantiate): partially rewrite by using
9274         decode_image_instantiator_domain to determine what domain the
9275         instance needs to be cached in.
9276         (decode_image_instantiator_domain): new function. Determine what
9277         domain the image needs to be cached in.
9278         (check_window_subwindow_cache): new error checking function.
9279         (check_instance_cache_mapper): ditto.
9280         (check_image_instance_structure): ditto.
9281         (subwindow_decode_domain): new function. Encodes a window as a
9282         subwindow's cache domain.
9283         (image_instantiator_format_create): use it for text and
9284         subwindows.
9285
9286 2000-04-21  Andy Piper  <andy@xemacs.org>
9287
9288         * glyphs.c (image_instance_device): new function.
9289         (image_instance_frame): new function.
9290         (image_instance_window): new function.
9291         (image_instance_live_p): new function.
9292
9293         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9294         cache to nil.
9295
9296         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9297         (IMAGE_INSTANCE_DOMAIN): new accessor.
9298         (XIMAGE_INSTANCE_DOMAIN): ditto.
9299
9300         * glyphs-x.c (x_finalize_image_instance): device->domain.
9301
9302         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9303         (mswindows_finalize_image_instance): ditto.
9304
9305         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9306         (gif_instantiate): ditto.
9307         (png_instantiate): ditto.
9308         (tiff_instantiate): ditto.
9309
9310         * glyphs.c (instantiate_image_instantiator): use domain rather
9311         than device.
9312         (mark_image_instance): device -> domain.
9313         (print_image_instance): ditto.
9314         (finalize_image_instance): ditto.
9315         (image_instance_equal): ditto.
9316         (allocate_image_instance): ditto.
9317         (Fcolorize_image_instance): ditto.
9318         (query_string_geometry): ditto.
9319         (image_instantiate): ditto
9320         (query_string_font): ditto.
9321         (image_instantiate): ditto.
9322         (update_subwindow): ditto.
9323         (unmap_subwindow): ditto.
9324         (map_subwindow): ditto.
9325         (subwindow_instantiate): ditto.
9326
9327         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9328         (DOMAIN_FRAME): ditto.
9329         (DOMAIN_WINDOW): ditto.
9330         (DOMAIN_LIVE_P): ditto.
9331         (XDOMAIN_DEVICE): ditto.
9332         (XDOMAIN_FRAME): ditto.
9333         (XDOMAIN_WINDOW): ditto.
9334
9335         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9336         a valid specifier domain.
9337
9338 2000-04-19  Andy Piper  <andy@xemacs.org>
9339
9340         * glyphs-widget.c (syms_of_glyphs_widget): remove
9341         widget-callback-current-channel.
9342         (vars_of_glyphs_widget): ditto.
9343         * glyphs.h: ditto
9344
9345         * gui.c (get_gui_callback): revert to previous behaviour.
9346
9347 2000-04-18  Andy Piper  <andy@xemacs.org>
9348
9349         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9350         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9351         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9352
9353         * glyphs.c (image_instance_equal): add margin_width.
9354         (image_instance_hash): ditto.
9355
9356         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9357         (layout_query_geometry): ditto.
9358         (layout_layout): ditto.
9359         (syms_of_glyphs_widget): add margin-width.
9360         (image_instantiator_layout): allow margin-width.
9361
9362         * glyphs.c (update_widget_instances): make a normal function.
9363         (syms_of_glyphs): remove Qupdate_widget_instances.
9364         * glyphs.h: ditto.
9365
9366         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9367         so that we don't corrupt ideas about the last event or
9368         command. Remove widget-callback-current-channel fiddling.
9369         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9370
9371 2000-05-01  Martin Buchholz <martin@xemacs.org>
9372
9373         * XEmacs 21.2.33 is released.
9374
9375 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9376
9377         * make-src-depend: Allow dots in header file name.
9378
9379 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9380
9381         * mule-charset.h (struct charset_lookup): Add
9382         next_allocated_1_byte_leading_byte and
9383         next_allocated_2_byte_leading_byte.
9384         * mule-charset.c: Move above two variables so that those values
9385         will be dumped.
9386
9387 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9388
9389         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9390         when string length is zero.
9391         (find_charsets_in_emchar_string): Ditto.
9392
9393 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9394
9395         * lisp.h: extern Qdialog and Qmenubar.
9396
9397         * gui-x.c: added events.h.
9398                 also fixed typo which made the file uncompilable.
9399
9400         * general.c: Added Qmenubar and Qdialog
9401
9402 2000-04-28  Ben Wing  <ben@xemacs.org>
9403
9404         * frame-msw.c (mswindows_init_frame_1):
9405         * frame-msw.c (mswindows_mark_frame):
9406         * event-msw.c (mswindows_enqueue_dispatch_event):
9407         * console-msw.h:
9408         * console-msw.h (struct mswindows_frame):
9409         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9410         there are now three hash tables for callbacks.
9411         mswindows_enqueue_dispatch_event is no longer static.
9412
9413         * dialog-x.c (maybe_run_dbox_text_callback):
9414         * dialog-x.c (dbox_descriptor_to_widget_value):
9415         switch to new cons3 form for callbacks.
9416
9417         * glyphs-msw.c (mswindows_register_gui_item):
9418         * glyphs-msw.c (mswindows_widget_instantiate):
9419         * glyphs-msw.c (add_tree_item):
9420         * glyphs-msw.c (add_tab_item):
9421         new image instance parameter, so it can be passed to callback-ex.
9422         respect :callback-ex as well as :callback.
9423
9424         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9425         add :callback-ex.
9426
9427         * glyphs.c (print_image_instance):
9428         prettify, e.g. now prints widget type.
9429
9430         * gui-x.h:
9431         certain funs have new image instance parameter.
9432
9433         * gui.c:
9434         * gui.c (get_gui_callback):
9435         * gui.c (gui_item_add_keyval_pair):
9436         * gui.c (gui_item_init):
9437         * gui.c (gui_add_item_keywords_to_plist):
9438         * gui.c (mark_gui_item):
9439         * gui.c (gui_item_hash):
9440         * gui.c (gui_item_equal):
9441         * gui.c (copy_gui_item):
9442         * gui.c (syms_of_gui):
9443         recognize callback-ex in a number of places.
9444         also, fix the annoying "can't get out of yes-no dialog" bug.
9445
9446         * gui.h:
9447         * gui.h (struct Lisp_Gui_Item):
9448         recognize callback-ex in a number of places.
9449
9450         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9451         new parameter in button_item_to_widget_value.
9452
9453         * glyphs-x.c (x_update_widget):
9454         * glyphs-x.c (x_button_instantiate):
9455         * glyphs-x.c (x_button_update):
9456         * glyphs-x.c (x_progress_gauge_instantiate):
9457         * glyphs-x.c (x_edit_field_instantiate):
9458         * glyphs-x.c (x_combo_box_instantiate):
9459         * glyphs-x.c (x_tab_control_instantiate):
9460         * glyphs-x.c (x_label_instantiate):
9461         new image instance parameter in various places.
9462
9463         * event-Xt.c:
9464         * event-Xt.c (enqueue_Xt_dispatch_event):
9465         this fun gets exported.
9466
9467         * gui-msw.c:
9468         * gui-msw.c (mswindows_handle_gui_wm_command):
9469         handle both :callback and :callback-ex, and generate our own
9470         event because it's one of the callback-ex arguments.
9471
9472         * gui-x.c:
9473         * gui-x.c (popup_selection_callback):
9474         handle both :callback and :callback-ex, and generate our own
9475         event because it's one of the callback-ex arguments.
9476         * gui-x.c (button_item_to_widget_value):
9477         * gui-x.c (gui_items_to_widget_values_1):
9478         * gui-x.c (gui_item_children_to_widget_values):
9479         * gui-x.c (gui_items_to_widget_values):
9480         new image instance parameter in various places.
9481
9482         * fns.c (Freplace_list):
9483         fix small typo in doc string.
9484
9485         * lisp.h:
9486         declare enqueue_Xt_dispatch_event.
9487
9488 2000-04-28  Ben Wing  <ben@xemacs.org>
9489
9490         * buffer.c:
9491         * buffer.c (Frecord_buffer):
9492         * buffer.c (syms_of_buffer):
9493         delete record-buffer-hook.
9494
9495         * fns.c:
9496         * fns.c (Freplace_list):
9497         * fns.c (syms_of_fns):
9498         new primitive replace-list.
9499
9500         * frameslots.h:
9501         slot for old buffer-alist.
9502
9503         * lisp.h:
9504         exfun replace-list.
9505
9506         * redisplay.c:
9507         * redisplay.c (redisplay_frame):
9508         * redisplay.c (syms_of_redisplay):
9509         * redisplay.c (vars_of_redisplay):
9510         new hook buffer-list-changed-hook.
9511         call it.
9512
9513 2000-04-27  Ben Wing  <ben@xemacs.org>
9514
9515         * extents.h: extern in_modeline_generation.
9516
9517         * redisplay.c (generate_formatted_string_db): set
9518         in_modeline_generation.
9519
9520         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9521         flags if in modeline generation.  otherwise frame-modified-tick
9522         is ticked far too often.
9523         Declare in_modeline_generation.
9524
9525 2000-04-26  Ben Wing  <ben@xemacs.org>
9526
9527         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9528         option.
9529         (vars_of_emacs): add quick-build as an error-checking option.
9530         A bit kludgy, but there doesn't seem much point in creating
9531         a real var for this.
9532
9533         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9534
9535 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9536
9537         * redisplay.h (struct display_line): Add a new variable,
9538         line_continuation.
9539
9540         * redisplay.c (create_text_block): Set dl->line_continuation if
9541         the line continues.
9542         (create_string_text_block): Ditto.
9543         (regenerate_window_incrementally): Use line_continuation instead
9544         of searching continuation glyph.
9545         (add_margin_runes): Call add_glyph_rune.
9546         (add_glyph_rune): Handle margin glyph.
9547
9548 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9549
9550         * filelock.c (fill_in_lock_file_name):
9551         ANSIfy.
9552         Check for IS_ANY_SEP instead of '/'.
9553         (lock_file_1):
9554         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9555         Never check errno without first seeing that system call failed.
9556         (unlock_file): Add GCPRO.
9557         (Flock_buffer): Fix docstring.
9558         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9559
9560 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9561
9562         * sysdep.c (get_pty_max_bytes):
9563         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9564         strings longer than 252 bytes.
9565
9566         * md5.c: Unconditionally include ANSI header <limits.h>
9567
9568         * glyphs-x.c (convert_EImage_to_XImage):
9569         * lisp-union.h (union Lisp_Object):
9570         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9571
9572 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9573
9574         * filelock.c (current_lock_owner): Remove unused variable o, p.
9575
9576 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9577
9578         * callint.c: Remove multiply defined symbol Qlet
9579         (syms_of_callint): ditto.
9580
9581 2000-04-14  Andy Piper  <andy@xemacs.org>
9582
9583         * general.c (syms_of_general): add last-command, this-command, let
9584         and funcall.
9585
9586         * lisp.h: declare various symbols.
9587
9588         * glyphs.h: declare Qwidget_callback_current_channel;
9589
9590         * glyphs-widget.c (syms_of_glyphs_widget): add
9591         Qgui_callback_current_channel.
9592         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9593
9594         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9595         widget-callback-current-channel when invoking the interactive
9596         arg. Also bind last-command and next-command when invoking the
9597         widget updates.
9598         * gui-x.c (popup_selection_callback): ditto.
9599
9600         * gui.c (get_gui_callback): massage args so that we are always
9601         calling eval. This allows us to add our own variable bindings
9602         outside.
9603
9604         * glyphs-x.c (x_button_instantiate): use
9605         gui_items_to_widget_values since this is GC safe.
9606         (x_progress_gauge_instantiate): ditto.
9607         (x_edit_field_instantiate): ditto.
9608         (x_label_instantiate): ditto.
9609
9610         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9611         (emacs_Xt_event_widget_focus_out): new function
9612         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9613         focus.
9614         (emacs_Xt_event_add_widget_actions): new function. add focus
9615         functions as actions.
9616         (init_event_Xt_late): use it.
9617
9618 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9619
9620         * event-stream.c (Fdispatch_event): Doc fix.
9621
9622 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9623
9624         * postgresql.c: Remove all references to PQsetenv*.
9625
9626         * postgresql.h: Remove references to PGsetenvHandler object.
9627         * lrecord.h (lrecord_type): Ditto.
9628
9629 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9630
9631         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9632         real_heigh and real_width members, and accessor macros for these.
9633
9634         * glyphs-msw.c (init_image_instance_geometry): New function.
9635         (init_image_instance_from_dibitmap): Use it.
9636         (mswindows_resource_instantiate): Use it.
9637         (init_image_instance_from_xbm_inline): Use it.
9638         (mswindows_initialize_image_instance_mask): Use real bitmap
9639         geometry.
9640         (mswindows_create_resized_bitmap): Ditto.
9641         (mswindows_create_resized_mask): Ditto.
9642
9643         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9644         and bitmap to their surface size.
9645
9646 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9647
9648         * process-unix.c (unix_send_process): Guard against process MIA
9649         after Faccept_process_output.
9650
9651 2000-04-11  Ben Wing  <ben@xemacs.org>
9652
9653         * eval.c (unbind_to_hairy): fix brokenness introduced by
9654         nanosecond speed improvements.
9655
9656 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9657
9658         * sunplay.c (init_device): To play sounds correctly, the device
9659         apparently needs to be initialized at least once by XEmacs.  Make
9660         it so.
9661
9662 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9663
9664         * redisplay.c (add_margin_runes): Add text image glyph
9665           handling.
9666
9667 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9668
9669         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9670         gcc is newer than 2.5.
9671
9672 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9673
9674         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9675
9676         * fns.c (size_bit_vector):
9677         * alloc.c (size_vector):
9678         (make_vector_internal):
9679         (make_bit_vector_internal):
9680         (sweep_bit_vectors_1):
9681         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9682
9683 2000-04-06  Andy Piper  <andy@xemacs.org>
9684
9685         * gmalloc.c (malloc): undo previous change.
9686         (malloc): ditto.
9687         (free): ditto.
9688         (realloc): ditto.
9689
9690 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9691
9692         * line-number.c (buffer_line_number): Revert to former version.
9693
9694 2000-04-06  Andy Piper  <andy@xemacs.org>
9695
9696         * gmalloc.c (malloc): add error checking.
9697         (malloc): ditto.
9698         (free): ditto.
9699         (realloc): ditto.
9700
9701         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9702         button_item_to_widget_value arg.
9703
9704         * glyphs-x.c (x_button_instantiate): add extra
9705         button_item_to_widget_value arg.
9706         (x_progress_gauge_instantiate): ditto.
9707         (x_edit_field_instantiate): ditto.
9708         (x_label_instantiate): ditto.
9709
9710         * gui-x.c (gui_items_to_widget_values_1): add extra
9711         button_item_to_widget_value arg.
9712         (button_item_to_widget_value): add extra menu_item_p arg.
9713
9714         * gui-x.h: change signature of button_item_to_widget_value.
9715
9716         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9717         button_item_to_widget_value arg.
9718
9719 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9720
9721         * buffer.h (struct buffer): auto_save_modified should be long.
9722
9723 2000-04-05  Andy Piper  <andy@xemacs.org>
9724
9725         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9726         type.
9727         (button_query_geometry): give a little more room so that athena
9728         buttons fit.
9729
9730 2000-04-05  Andy Piper  <andy@xemacs.org>
9731
9732         * faces.c (complex_vars_of_faces): The widget face should inherit
9733         the font of the gui-element face.
9734
9735 2000-04-04  Andy Piper  <andy@xemacs.org>
9736
9737         * glyphs-x.c (x_button_update): new function. unconditionally
9738         update a button's state when the instance is dirty.
9739         (image_instantiator_format_create_glyphs_x): add x_button_update.
9740         (x_widget_instantiate): remove old resize cruft.
9741
9742 2000-04-02  Andy Piper  <andy@xemacs.org>
9743
9744         * frame.c (change_frame_size_1): The introduction of gutters means
9745         that we need to allow 0 as a potential frame dimension.
9746
9747 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9748
9749         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9750         image glyph if allow_cursor.
9751         (add_hscroll_rune): Don't allow cursor to border glyph.
9752         (create_text_block): Ditto.
9753
9754         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9755         text not in buffer.
9756         (redisplay_output_layout): Call ensure_face_cachel_complete for
9757         text image glyph.
9758
9759
9760 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9761
9762         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9763
9764         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9765         not in buffer
9766
9767         * redisplay-tty.c (tty_output_display_block): Delete the routine
9768         for text image glyph
9769         * redisplay-x.c (x_output_display_block): ditto
9770         * redisplay-msw.c (mswindows_output_display_block): ditto
9771
9772 2000-02-02  Mike Alexander  <mta@arbortext.com>
9773
9774         Note: Some of these were committed by accident as part of other
9775         patches.
9776
9777         * regex.c (regex_compile): Avoid compiler warnings.
9778
9779         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9780
9781         * nt.h: Declare term_ntproc correctly.
9782
9783         * nt.c: Remove incorrect declaration of get_home_directory which
9784         is declared correctly in lisp.h.
9785
9786         * keymap.c (get_keyelt): Avoid compiler warnings.
9787         (raw_lookup_key_mapper): Avoid compiler warnings.
9788
9789         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9790
9791         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9792
9793         * filemode.c (mode_string): Avoid compiler warnings.
9794
9795         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9796         avoid warning.
9797
9798         * events-mod.h: Undef some things that winuser.h defines differently.
9799
9800         * data.c (Faset): Avoid compiler warnings.
9801
9802         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9803
9804 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9805
9806         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9807         Fall through to simple beep on error.
9808         Replace "extern" by real header file.
9809
9810         * linuxplay.c: Use nativesound.h
9811         (play_sound_data): Return error code. Be less verbose on error.
9812
9813         * sunplay.c: Use nativesound.h
9814         (play_sound_data): Return error code. Be less verbose on error.
9815
9816         * ntplay.c: Use nativesound.h
9817         (play_sound_data): Return fake error code
9818
9819         * sgiplay.c: Use nativesound.h
9820         (play_sound_data): Return error code
9821
9822         * hpplay.c: Use nativesound.h, partially implement
9823         new error code. Break compilation until finished.
9824         (play_sound_data): error code.
9825
9826         * nativesound.h (play_sound_file):
9827           (play_sound_data): Prototype in new header.
9828
9829 2000-03-31  Andy Piper  <andy@xemacs.org>
9830
9831         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9832         for toggle and radio buttons.
9833         (image_instantiator_buttons): use it.
9834
9835 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9836
9837         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9838         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9839         found. Scrollbar event probably belonged to some old config.
9840
9841 2000-03-31  Andy Piper  <andy@xemacs.org>
9842
9843         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9844         than 1.
9845         (initialize_widget_image_instance): default layout to
9846         LAYOUT_HORIZONTAL rather than 0.
9847         (widget_instantiate): reverse the item list at the end rather than
9848         every iteration.
9849         (layout_layout): re-code for the border text at the front of the
9850         item list rather than at the end.
9851         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9852         provided by the user.
9853         (widget_query_geometry): comment.
9854
9855 2000-03-30  Andy Piper  <andy@xemacs.org>
9856
9857         * glyphs-widget.c (image_instantiator_layout): allow standard
9858         widget keywords in layouts.
9859
9860         * gutter.c (output_gutter): cope with nil gutter contents.
9861
9862         * frame.c (Fset_frame_properties): add gutter docs.
9863
9864 2000-03-29  Andy Piper  <andy@xemacs.org>
9865
9866         * toolbar-msw.c (TBSTYLE_FLAT): add.
9867         (mswindows_output_toolbar): minor fiddling.
9868
9869 2000-03-29  Andy Piper  <andy@xemacs.org>
9870
9871         * gutter.c (output_gutter): force gutter size recalculation if
9872         what we are trying to display won't fit.
9873         (update_gutter_geometry): new function. A per-gutter version of
9874         update_frame_gutter_geometry.
9875         (update_frame_gutter_geometry): use it.
9876         (redraw_exposed_gutter): add extra debugging output.
9877
9878 2000-03-28  Mike Alexander  <mta@arbortext.com>
9879
9880         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9881         (pdump_file_unmap): Implement it on Windows
9882         (pdump_file_get): Save alocated handles for pdump_file_unmap
9883
9884 2000-03-28  Andy Piper  <andy@xemacs.org>
9885
9886         * gui.c (get_gui_callback): treat Quit specially.
9887
9888 2000-03-27  Andy Piper  <andy@xemacs.org>
9889
9890         * glyphs.c (image_instantiate): be careful to check in the same
9891         way we assigned.
9892
9893 2000-03-27  Didier Verna  <didier@xemacs.org>
9894
9895         * config.h.in: define the proper SMART_INCLUDE macro.
9896         handle renaming of `foo_h_path' to `foo_h_file'.
9897
9898         * database.c: ditto.
9899
9900         * emacs.c: ditto.
9901
9902         * linuxplay.c: ditto.
9903
9904         * terminfo.c: ditto.
9905
9906         * tooltalk.h: ditto.
9907
9908 2000-03-27  Andy Piper  <andy@xemacs.org>
9909
9910         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9911         gets updated whenever the face might have changed.
9912
9913 2000-03-26  Mike Alexander  <mta@arbortext.com>
9914
9915         * dumper.c (pdump_resource_free): Fix the comment.
9916
9917 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9918
9919         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9920
9921 2000-03-22  Mike Alexander  <mta@arbortext.com>
9922
9923         * dumper.c: Include Windows headers on Windows
9924         (pdump_resource_free): Add a body to the function
9925         (pdump_load): exe_name -> exe_path and add some comments.
9926
9927 2000-03-25  Mike Alexander  <mta@arbortext.com>
9928
9929         * gui.c (copy_gui_item_tree): Return a value in all cases
9930
9931 2000-03-21  Didier Verna  <didier@xemacs.org>
9932
9933         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9934         lwlib/config.h.in.
9935         (SMART_INCLUDE): new macro.
9936         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9937         the proper location.
9938
9939         * postgresql.c: use it.
9940
9941         * inline.c: ditto.
9942
9943 2000-03-24  Andy Piper  <andy@xemacs.org>
9944
9945         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9946         do this.
9947
9948 2000-03-24  Andy Piper  <andy@xemacs.org>
9949
9950         * redisplay-output.c (compare_runes): use image_instance_changed
9951         to detect changes. Do not depend on glyphs_changed, only depend on
9952         dirtiness.
9953          (redisplay_output_layout): add debug messages.
9954         (compare_runes): ditto.
9955
9956         * glyphs.h: declare new functions.
9957         (struct Lisp_Image_Instance): remove percent and associated
9958         accessors.
9959
9960         * gui.h: declare new copying functions.
9961
9962         * gui.c (copy_gui_item_tree): new function.
9963         (copy_gui_item): new function.
9964         (gui_item_id_hash): revert to standard hash.
9965         (gui_item_hash): ditto.
9966         (gui_item_hash_internal): deleted.
9967         (mark_gui_item): mark value.
9968         (gui_item_add_keyval_pair): add value.
9969         (gui_item_init): ditto.
9970         (gui_add_item_keywords_to_plist): ditto.
9971         (gui_item_equal): ditto.
9972         (syms_of_gui): add Q_value.
9973
9974         * glyphs-x.c (x_progress_gauge_update): use pending items and
9975         value for setting the state.
9976         (x_update_widget): don't set items from pending here.
9977
9978         * glyphs-widget.c (update_widget): update items here.
9979         (progress_gauge_set_property): use items for storing value. Put
9980         new value in pending items.
9981
9982         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9983         items for new value. Convert percent -> value.
9984         (mswindows_tab_control_update): don't update items here.
9985
9986         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9987         (update_subwindow): ditto.
9988         (image_instance_changed): new function. Compare hash values and
9989         past and present widget items.
9990         (image_instantiate): We more careful about where we instantiate
9991         things.
9992         (image_instantiate): add error checking.
9993
9994         * gutter.c (syms_of_gutter): use -hook.
9995
9996 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9997
9998         * console-tty.c (Fset_console_tty_input_coding_system): Use
9999         Qkeyboard.
10000         (Fset_console_tty_output_coding_system): Use Qterminal.
10001         (tty_init_console): Use Qkeyboard and Qterminal.
10002
10003 2000-03-21  Ben Wing  <ben@xemacs.org>
10004
10005         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10006         From Mike Alexander <mta@arbortext.com>.
10007
10008 2000-03-21  Ben Wing  <ben@xemacs.org>
10009
10010         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10011         process brokenness.  Proper implementation to come.
10012         * callproc.c:
10013         Rename call-process-internal to old-call-process-internal.
10014         New impl. in process.el.
10015
10016 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10017
10018         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10019
10020 2000-03-20  Andy Piper  <andy@xemacs.org>
10021
10022         * glyphs.c (full_list_hash): make hashes of the same elements in
10023         different orders return different values.
10024
10025 2000-03-20  Martin Buchholz <martin@xemacs.org>
10026
10027         * XEmacs 21.2.32 is released.
10028
10029 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10030
10031         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10032         (DFC_MALLOC_USE_CONVERTED_DATA):
10033         Add aliasing-safe casts to allow use with char* or unsigned char*
10034         lvalues.
10035
10036         * eldap.c (Fldap_open):
10037         (Fldap_search_basic):
10038         (Fldap_add):
10039         (Fldap_modify):
10040         Make C++-compilable.
10041         Make sure GCPRO'ed variables are initialized.
10042         Use temp variables to avoid repeated calls to Flength.
10043
10044 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10045
10046         * sysfile.h:
10047         Make sure PATH_MAX is always defined.
10048         Include limits.h for PATH_MAX.
10049         Deprecate use of MAXPATHLEN.
10050
10051 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10052
10053         * emacs.c: Add reinit_vars_of_fileio.
10054         * symsinit.h: Add reinit_vars_of_fileio.
10055         * fileio.c (reinit_vars_of_fileio): New.
10056         * fileio.c (Fmake_temp_name):
10057         Initialize temp_name random number from microseconds to make
10058         collisions even less likely.  Initialize always at process startup
10059         time.  (make-temp-name) used to return the same file name twice in
10060         a row when PDUMP.
10061         Random stylistic fiddling.
10062         Comment fixes.
10063
10064 2000-03-20  Andy Piper  <andy@xemacs.org>
10065
10066         * glyphs.c (image_instantiate): allow text glyphs to be
10067         instantiated in the minibuffer window.
10068
10069 2000-03-19  Andy Piper  <andy@xemacs.org>
10070
10071         * glyphs.c (image_instance_hash): be careful about which items we
10072         hash on.
10073
10074         * glyphs-widget.c (tab_control_set_property): record into pending
10075         items rather than the actual items.
10076
10077         * glyphs-x.c (x_update_widget): use pending items to update with.
10078
10079         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10080         to update with.
10081
10082         * glyphs.c (mark_image_instance): mark pending items.
10083
10084         * window.c (Fset_window_configuration): record the buffer.
10085         (Fselect_window): totally revert previous change which breaks many
10086         things.
10087
10088 2000-03-18  Andy Piper  <andy@xemacs.org>
10089
10090         * glyphs-msw.c (mswindows_tab_control_update): force selected
10091         item.
10092
10093         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10094         window domain cache, otherwise we get inconsistencies at
10095         startup. There is something fishy at startup which can lead to the
10096         minibuffer being the selected window when the gutter content is
10097         instantiated.
10098
10099         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10100         gcpros.
10101         (parse_gui_item_tree_children): ditto.
10102         (parse_gui_item_tree_item): ditto.
10103
10104         * glyphs.c (Fupdate_widget_instances): return something.
10105
10106 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10107
10108         * window.c (Fselect_window): Undo 2000-03-17 change.
10109
10110 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10111
10112         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10113         against v7.0 libraries.  Insta-coredump city until the postgres
10114         folks fix it.
10115
10116 2000-03-17  Andy Piper  <andy@xemacs.org>
10117
10118         * faces.c (complex_vars_of_faces): don't give the widget face an
10119         inherited background pixmap.
10120
10121         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10122         selected item.
10123
10124         * event-stream.c (Fdispatch_non_command_events): return something.
10125
10126         * gutter.c (output_gutter): use widget face.
10127         (clear_gutter): ditto.
10128
10129         * NEWS: adjust again.
10130
10131         * window.c (Fselect_window): make sure this runs to completion to
10132         avoid oddities with Fset_window_configuration.
10133         (Fcurrent_window_configuration): in general do not save the
10134         minibuffer as the selected window.
10135
10136         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10137
10138 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10139
10140         * emacs.c (Frunning_temacs_p): Revert previous patch.
10141         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10142
10143 2000-03-16  Andy Piper  <andy@xemacs.org>
10144
10145         * glyphs-x.c (x_tab_control_update): if no widget values then
10146         return.
10147
10148         * NEWS: update for new features.
10149
10150         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10151         synthetic event to the native system.
10152         (reinit_vars_of_event_Xt): set force_event_pending to
10153         emacs_Xt_force_event_pending.
10154
10155         * events.h (struct event_stream): add force_event_pending.
10156
10157         * specifier.c (recompute_one_cached_specifier_in_window): add
10158         comment.
10159
10160         * redisplay.c (redisplay_frame): don't call
10161         update_frame_subwindows. Reset subwindow cachels when
10162         subwindows_changed, removing this was an optimization too far.
10163
10164         * redisplay-output.c (compare_runes): reorganize so that we catch
10165         glyph changes when we want them. Set optimize_output when this
10166         would help layouts.
10167         (redisplay_output_layout): remove frame_really_changed, use
10168         optimize_output instead.
10169
10170         * redisplay-msw.c (mswindows_output_display_block): reset
10171         optimize_output after outputting a glyph.
10172         * redisplay-x.c (x_output_display_block): ditto.
10173         * redisplay-tty.c (tty_output_display_block): ditto.
10174
10175         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10176         functions.
10177         (gutter_specs_changed): do specific gutter positions.
10178         (top_gutter_specs_changed): new function. Only update the
10179         specified gutter specs.
10180         (bottom_gutter_specs_changed): ditto.
10181         (left_gutter_specs_changed): ditto.
10182         (right_gutter_specs_changed): ditto.
10183
10184         * gui.c (gui_item_hash_internal): new function, does a real hash.
10185         (gui_item_id_hash): use it.
10186         (gui_item_hash): hash the eval'ed gui_item.
10187
10188         * gui-x.c (popup_selection_callback): send an eval event to call
10189         Fupdate_widget_instances.
10190
10191         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10192         to call Fupdate_widget_instances.
10193
10194         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10195         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10196
10197         * glyphs.c: (update_frame_subwindows): deleted.
10198         (Fupdate_widget_instances): new function for updating the dirty
10199         state of widgets that might have changed.
10200         (syms_of_glyphs): add Qupdate_widget_instances.
10201         (full_list_hash): hash a list completely.
10202         (image_instance_hash): use it for items and properties.
10203
10204         * frame-msw.c (mswindows_size_frame_internal): remove unused
10205         variable.
10206
10207         * faces.h (struct face_cachel): fix comment.
10208
10209         * event-stream.c (Fdispatch_non_command_events): new
10210         function. Process non-command events, forcing an event cycle
10211         beforehand.
10212         (syms_of_event_stream): declare.
10213         (event_stream_force_event_pending): new function. Force an event
10214         on the native event queue so that an event cycle will occur next
10215         time we check.
10216
10217         * event-msw.c:
10218         (struct ntpipe_shove_stream):
10219         (mswindows_enqueue_dispatch_event):
10220         (mswindows_dequeue_dispatch_event):
10221         (mswindows_cancel_dispatch_event):
10222         (mswindows_pump_outstanding_events):
10223         (mswindows_drain_windows_queue):
10224         (mswindows_handle_paint):
10225         (mswindows_wnd_proc):
10226         (mswindows_key_to_emacs_keysym):
10227         (get_process_input_waitable):
10228         (emacs_mswindows_delete_stream_pair): re-indent file.
10229         (mswindows_need_event): do not process further fds if the windows
10230         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10231         fixes the 100% cpu problem.
10232         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10233
10234 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10235
10236         * alloc.h: New.
10237         * dumper.h: New.
10238         * dumper.c: New.
10239
10240         * emacs.c: Moved dump file searching to dumper.c.
10241         (Frunning_temacs_p): Fixed.
10242
10243         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10244         last_lrecord_type_index_assigned.
10245
10246 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10247
10248         * symsinit.h: Added reinit parameter to init_console_stream
10249         declaration.
10250
10251         * lisp.h: Added file parameter to pdump_load declaration.
10252
10253         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10254         support.  Added dump file searching.
10255
10256         * config.h.in: Added EMACS_PROGNAME.
10257
10258         * console-stream.c (init_console_stream): Fix reinitialisation
10259         when running from temacs.
10260
10261         * alloc.c (pdump): Add id support.
10262         (pdump_load): Add file parameter and signature/id support.
10263
10264         * Makefile.in.in: Add full pdump support.
10265
10266 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10267
10268         * postgresql.c: Update documentation to reflect latest code
10269         status.
10270         (print_result): Show tuple counts in printed representation when
10271         appropriate.
10272         (Fpq_put_nbytes): MULE-ize.
10273         (Fpq_get_line_async): Ditto.
10274
10275 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10276
10277         * postgresql.c (Fpq_lo_import): Fix return value.
10278         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10279
10280 2000-03-13  Ben Wing  <ben@xemacs.org>
10281
10282         * alloc.c (pdump_load):
10283         Fix compile warning under mswin.
10284
10285 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10286
10287         * postgresql.c: Mule-ization, bug fixes.
10288         Use PG_CODING to encapsulate coding system name changes.
10289         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10290         (pg-coding-system): Create.
10291
10292         (Fpq_conn_defaults): Mule-ize.
10293         (Fpq_connectdb): Mule-ize & bug fix.
10294         (Fpq_connect_start): Mule-ize.
10295         (Fpq_set_client_encoding): Mule-ize.
10296         (Fpq_finish): Document `DEAD' connection status.
10297         (Fpq_clear): Ditto.
10298         (Fpq_pgconn): Mule-ize.
10299         (Fpq_exec): Mule-ize & bug fix.
10300         (Fpq_send_query): Ditto.
10301         (Fpq_get_result): Ditto.
10302         (Fpq_res_status): Mule-ize.
10303         (Fpq_result_error_message): Mule-ize.
10304         (Fpq_ntuples): fix comments.
10305         (Fpq_fname): Mule-ize.
10306         (Fpq_fnumber): Mule-ize.
10307         (Fpq_ftype): fix comments.
10308         (Fpq_get_value): Mule-ize.
10309         (Fpq_cmd_status): Ditto.
10310         (Fpq_cmd_tuples): Ditto.
10311         (Fpq_oid_value): Ditto.
10312         (Fpq_notifies): Ditto.
10313         (Fpq_lo_import): Ditto.
10314         (Fpq_lo_export): Ditto.
10315         (Fpq_get_line): Ditto.
10316         (Fpq_put_line): Mule-ize and bug fix.
10317         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10318
10319 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10320
10321         * postgresql.c (vars_of_postgresql): Mule-ize.
10322         (Fpq_conn_defaults): Ditto.
10323
10324 2000-03-12  Ben Wing  <ben@xemacs.org>
10325
10326         * alloc.c (Fmake_byte_code):
10327         * alloc.c (debug_string_purity_print):
10328         * alloc.c (pdump_backtrace):
10329         * alloc.c (pdump_get_indirect_count):
10330         * alloc.c (pdump_register_sub):
10331         * alloc.c (pdump_register_object):
10332         * alloc.c (pdump_register_struct):
10333         * alloc.c (pdump_dump_data):
10334         * alloc.c (pdump_reloc_one):
10335         Minor cleanups.
10336
10337         * console-msw.c:
10338         * console-msw.c (GetConsoleHwnd):
10339         * console-msw.c (msw_hide_console):
10340         * console-msw.c (msw_show_console):
10341         * console-msw.c (msw_ensure_console_buffered):
10342         * console-msw.c (msw_output_console_string):
10343         * console-msw.c (console_type_create_mswindows):
10344
10345         a) Added functions to manipulate the console window for use with
10346         shell support.
10347
10348         b) Added support for writing text to the console, which is now
10349         used under Windows when xemacs is not being run non-interactively,
10350         to write text that would otherwise be destined for stdout because
10351         under these circumstances, text written to stdout tends to
10352         disappear and not be seen.
10353
10354         * console-msw.h:
10355         * event-Xt.c:
10356         * event-Xt.c (x_event_to_emacs_event):
10357         * event-Xt.c (describe_event_window):
10358         * events-mod.h (XEMACS_MOD_CONTROL):
10359         * events.c:
10360         * events.c (Fmake_event):
10361         * events.c (character_to_event):
10362         * events.c (event_to_character):
10363         * events.c (format_event_object):
10364         * events.c (Fevent_modifiers):
10365         * events.h:
10366         * events.h (struct key_data):
10367         * events.h (struct button_data):
10368         * events.h (struct misc_user_data):
10369         * frame-x.c (Fcde_start_drag_internal):
10370         * frame-x.c (Foffix_start_drag_internal):
10371         * gpmevent.c (Freceive_gpm_event):
10372         * keymap.c:
10373         * keymap.c (bucky_sym_to_bucky_bit):
10374         * keymap.c (control_meta_superify):
10375         * keymap.c (make_key_description):
10376         * keymap.c (keymap_lookup_directly):
10377         * keymap.c (create_bucky_submap):
10378         * keymap.c (keymap_store):
10379         * keymap.c (define_key_check_and_coerce_keysym):
10380         * keymap.c (define_key_parser):
10381         * keymap.c (define_key_alternate_name):
10382         * keymap.c (Fdefine_key):
10383         * keymap.c (raw_lookup_key_mapper):
10384         * keymap.c (struct map_keymap_unsorted_closure):
10385         * keymap.c (map_keymap_unsorted_mapper):
10386         * keymap.c (map_keymap_sort_predicate):
10387         * keymap.c (map_keymap_sorted):
10388         * keymap.c (accessible_keymaps_mapper_1):
10389         * keymap.c (where_is_recursive_mapper):
10390         * keymap.c (describe_map_mapper):
10391         * keymap.c (describe_map_sort_predicate):
10392         * keymap.c (describe_map):
10393         * keymap.c (complex_vars_of_keymap):
10394         And a number of other files, the key modifier preprocessor
10395         constants that xemacs uses have names that conflict with constants
10396         defined under MS Windows for other purposes, so they were renamed
10397         to begin with the prefix XEMACS_. The variables that hold such
10398         modifiers were changed to consistently be of type int to fix
10399         various compile warnings.
10400
10401         * console.c (complex_vars_of_console):
10402         * device.c:
10403         * device-msw.c:
10404         * device-msw.c (mswindows_finish_init_device):
10405         * device-msw.c (msw_get_workspace_coords):
10406         * device-msw.c (mswindows_device_system_metrics):
10407         and various other files, added support for a new
10408         device property called offset-workspace which returns the position
10409         of the upper left corner of the workspace area and goes along with
10410         the existing size-workspace property.
10411
10412         * dialog-msw.c:
10413         * dialog-msw.c (push_bufbyte_string_as_unicode):
10414         * dialog-msw.c (mswindows_popup_dialog_box):
10415         Added support for XEmacs-style accelerator specifications in
10416         button text.  Note: I didn't add support for this under X Windows,
10417         and somebody needs to do this.
10418
10419         * dialog.c:
10420         * dialog.c (Fpopup_dialog_box):
10421         Documented the support for accelerators that was just mentioned.
10422
10423         editfns.c (get_home_directory): Changed behavior under Windows
10424         when HOME not defined; former behavior was irretrievably broken.
10425
10426         * emacs.c:
10427         * emacs.c (main_1):
10428         * emacs.c (main):
10429         * minibuf.c (clear_echo_area_internal):
10430         * minibuf.c (echo_area_append):
10431         * print.c:
10432         * print.c (std_handle_out_external):
10433         * print.c (std_handle_out_va):
10434         * print.c (fatal):
10435         * print.c (write_string_to_stdio_stream):
10436         * print.c (output_string):
10437         * print.c (debug_print):
10438         * print.c (debug_backtrace):
10439         * print.c (debug_short_backtrace):
10440         Cleaned up the code that prints text to stdout so that this can be
10441         changed to output into a console window instead under MS Windows,
10442         as described above.
10443
10444         * eval.c:
10445         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10446         * eval.c (internal_catch):
10447         * eval.c (unwind_to_catch):
10448         * eval.c (throw_or_bomb_out):
10449         * eval.c (condition_case_1):
10450         * eval.c (signal_1):
10451         * eval.c (check_error_state_sanity):
10452         * eval.c (call_with_suspended_errors_1):
10453         * eval.c (call_with_suspended_errors):
10454         * eval.c (reinit_vars_of_eval):
10455         Added code to catch throw loops and check for a pesky bug that may
10456         be gone now.
10457
10458         * event-msw.c:
10459         * event-msw.c (key_needs_default_processing_p):
10460         * event-msw.c (mswindows_wnd_proc):
10461         * event-msw.c (mswindows_modifier_state):
10462         * event-msw.c (emacs_mswindows_quit_p):
10463         * event-msw.c (vars_of_event_mswindows):
10464         a) Added support for using the alt key to select menu items as is
10465         standard under MS Windows.  This is controlled using the variable
10466         menu-accelerator-enabled, just like under X Windows.  There is an
10467         option on the options menu to turn this support on.  I really
10468         think that it should be on by default under Windows, but I'm not
10469         going to make this change yet.
10470
10471         b)  Added support for dynamic display size changes under Windows.
10472
10473         * event-stream.c:
10474         * event-stream.c (maybe_echo_keys):
10475         * event-stream.c (Fnext_event):
10476         * event-stream.c (command_builder_find_leaf):
10477         * event-stream.c (lookup_command_event):
10478         * event-stream.c (execute_command_event):
10479         * event-stream.c (pre_command_hook):
10480         * event-stream.c (post_command_hook):
10481         * event-stream.c (syms_of_event_stream):
10482         * event-stream.c (vars_of_event_stream):
10483         * event-stream.c (complex_vars_of_event_stream):
10484         * events.h (struct command_builder):
10485
10486         a) Tried to clean up a little bit the horribly written x-specific
10487         accelerator code that crept into this file.  I moved this code
10488         into menubar-x.c where it belongs. I also needed to move the
10489         command builder structure into the file events.h because it is
10490         accessed directly by this accelerator code.  What I didn't do, but
10491         which should be done at some point, is to properly abstract this
10492         code using device methods instead of the kludgy way that it
10493         currently hooks into the event code.
10494
10495         b) Added the lisp variables this-command-properties and
10496         last-command- properties, which should be used to synchronize two
10497         adjacent commands in preference to playing games with the variable
10498         this-command, which is typically what happens.
10499
10500         c) Added some slightly nasty code to hook into the lisp support
10501         for shifted- motion-key selection.  This is actually necessary for
10502         somewhat complicated reasons, which are described in
10503         simple.el. (NB: I think the proper thing would be to have the code
10504         that calls the pre and post command hooks also call out to generic
10505         lisp functions in simple.el, where all built-in stuff could be
10506         added.  I will think about this more.)
10507
10508         * event-unixoid.c (poll_fds_for_input):
10509         * lread.c (readchar):
10510         * redisplay-tty.c (tty_clear_frame):
10511         * redisplay-x.c (x_get_gc):
10512         * signal.c (interrupt_signal):
10513         And a whole bunch of other files: fixed up places that printed
10514         directly to stderr to instead call the function stderr_out so that
10515         the changes I made under Windows work correctly.
10516
10517         * filemode.c (mode_string):
10518         Warning fixes.
10519
10520         * frame-msw.c:
10521         * frame-msw.c (mswindows_size_frame_internal):
10522         Fixed the computation of frame size and position to keep the frame
10523         within the workspace area, rather than within the physical
10524         dimensions of the screen, so that the frame doesn't overlap window
10525         manager decorations, such as the start menu and toolbar, typically
10526         at the bottom of the screen.
10527
10528         * frame.c (vars_of_frame):
10529         Changed the default frame title format under MS Windows to consist
10530         of buffername-XEmacs, which is standard under MS Windows.  I think
10531         it might be a good idea to change this everywhere because I think
10532         it is superior to the current frame title format, but this is the
10533         kind of change that is likely to cause some people to get annoyed,
10534         so I'm not making it.
10535
10536         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10537
10538         * gui-msw.c (mswindows_handle_gui_wm_command):
10539         Fixed compile warnings.
10540
10541         * gui-x.c:
10542         * gui-x.c (strdup_and_add_accel):
10543         * gui-x.c (button_item_to_widget_value):
10544         * gui-x.h:
10545         Added code to automatically put an accelerator onto the beginning
10546         of menu items that don't have one as is now the standard, and is
10547         described more later.  Also fixed things so that the menu item
10548         name can be an evaluated expression, again a new standard.
10549
10550         * gui.c:
10551         * gui.c (gui_item_add_keyval_pair):
10552         * gui.c (make_gui_item_from_keywords_internal):
10553         * gui.c (gui_add_item_keywords_to_plist):
10554         * gui.c (gui_item_accelerator):
10555         * gui.c (gui_name_accelerator):
10556         * gui.c (gui_item_included_p):
10557         * gui.c (gui_item_display_flush_left):
10558         * gui.c (gui_item_display_flush_right):
10559         * gui.c (parse_gui_item_tree_item):
10560         * gui.c (parse_gui_item_tree_children):
10561         * gui.c (parse_gui_item_tree_list):
10562         Mule-ized.  Cleanup.  GCPRO addition.
10563
10564         * line-number.c (buffer_line_number):
10565         * lisp.h:
10566         * lisp.h (EMACS_INT_MAX):
10567         Added the manifest constant EMACS_INT_MIN corresponding to the
10568         existing constant EMACS_INT_MAX.  This is partially to fix compile
10569         warnings under Windows, and partly for cleanliness.
10570
10571         * menubar-msw.c:
10572         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10573         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10574         * menubar-msw.c (displayable_menu_item):
10575         * menubar-msw.c (populate_menu_add_item):
10576         * menubar-msw.c (populate_or_checksum_helper):
10577         * menubar-msw.c (populate_menu):
10578         * menubar-msw.c (update_frame_menubar_maybe):
10579         * menubar-msw.c (prune_menubar):
10580         * menubar-msw.c (msw_char_is_accelerator):
10581         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10582         * menubar-msw.c (mswindows_handle_wm_command):
10583         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10584         * menubar-msw.c (mswindows_handle_wm_initmenu):
10585         * menubar-msw.c (mswindows_update_frame_menubars):
10586         * menubar-msw.c (mswindows_free_frame_menubars):
10587         * menubar-msw.c (mswindows_popup_menu):
10588         Fixed a bug in handling accelerators where an extra character
10589         would be displayed in the menu item.  Also generalized the
10590         function displayable_menu_item because it is now used by the
10591         dialog box code as well.  And finally, added code in the functions
10592         that create the menubar to extract a list of accelerators for the
10593         top level menubar, which is used in the event code to determine
10594         whether a particular alt-key combination should be used to invoke
10595         a menu item, or should be passed through to access the standard
10596         XEmacs keymap binding for this key combination.
10597
10598         Much needed GCPROing.
10599
10600         * menubar-x.c:
10601         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10602         * menubar-x.c (menu_item_descriptor_to_widget_value):
10603         * menubar-x.c (restore_in_menu_callback):
10604         * menubar-x.c (x_popup_menu):
10605         * menubar-x.c (menu_move_up):
10606         * menubar-x.c (menu_move_down):
10607         * menubar-x.c (menu_move_left):
10608         * menubar-x.c (menu_move_right):
10609         * menubar-x.c (menu_select_item):
10610         * menubar-x.c (command_builder_operate_menu_accelerator):
10611         * menubar-x.c (menu_accelerator_junk_on_error):
10612         * menubar-x.c (command_builder_find_menu_accelerator):
10613         * menubar-x.c (Faccelerate_menu):
10614         * menubar.h:
10615         Moved a whole bunch of code here that was previously in
10616         event-stream.c as described above.  There is also code connected
10617         to the new standard of adding an accelerator to the beginning of
10618         menu items that don't have one as described above and below.
10619
10620         * menubar.c:
10621         * menubar.c (menu_parse_submenu_keywords):
10622         * menubar.c (Fmenu_find_real_submenu):
10623         * menubar.c (Fnormalize_menu_item_name):
10624         * menubar.c (syms_of_menubar):
10625         * menubar.c (vars_of_menubar):
10626         * menubar.c (complex_vars_of_menubar):
10627
10628         a) Cleaned up a bunch of documentation and improved it.
10629
10630         b) XEmacs now automatically adds an accelerator onto the beginning
10631         of any menu items that don't have one.  I did this because there
10632         will inevitably be some menu items on the main menubar that don't
10633         have accelerators on them because the package that adds that
10634         particular menu item hasn't yet been fixed up to have accelerators
10635         in them and it looked rather strange to have some items with and
10636         some items without accelerators, especially since even in items
10637         without accelerators, you can, at least under windows, still
10638         access the item through an accelerator corresponding to the first
10639         character in the item's name.  If people don't like this behavior,
10640         I can add a variable to turn it off optionally, but I'm not sure
10641         this is a good idea because we really do need to have accelerators
10642         on all of the menu items, and if a package doesn't like the
10643         accelerators being put on the first character, then it should put
10644         the accelerators where they belong.
10645
10646         c) I made a behavior change, which is that the descriptor that
10647         specifies the text of the menu item, which formerly was just a
10648         string, can now also be an evaluated expression.  This makes this
10649         descriptor parallel with all of the others, which could also be
10650         evaluated expressions.  This also obviates the need for the
10651         keyword :label, which was previously listed in the documentation
10652         as unimplemented, and which was for the same purpose.
10653
10654         d) GCPROing.
10655
10656         * ntproc.c:
10657         * ntproc.c (new_child):
10658         * ntproc.c (sys_spawnve):
10659         * ntproc.c (find_child_console):
10660         * ntproc.c (sys_kill):
10661         Fixed compile warnings.  By the way, this file should really go
10662         away entirely, and this will happen as soon as Kirill makes his
10663         final round of process cleanups, which affect the function
10664         call-process.
10665
10666         * process-nt.c:
10667         * process-nt.c (struct nt_process_data):
10668         * process-nt.c (find_process_from_pid):
10669         * process-nt.c (send_signal_the_nt_way):
10670         * process-nt.c (enable_child_signals):
10671         * process-nt.c (find_child_console):
10672         * process-nt.c (send_signal_the_95_way):
10673         * process-nt.c (nt_finalize_process_data):
10674         * process-nt.c (ensure_console_window_exists):
10675         * process-nt.c (nt_create_process):
10676         * process-nt.c (nt_kill_child_process):
10677         * process-nt.c (nt_kill_process_by_pid):
10678         * process-nt.c (nt_open_network_stream):
10679         * process-nt.c (vars_of_process_nt):
10680         Copied over code from Emacs 20.5 to correctly send signals to sub-
10681         processes under Windows 95.  Also added code to automatically
10682         create and hide console window when a sub-process is created under
10683         Windows 95, which obviates the need for the separate runemacs.exe
10684         executable, and finally implemented some variables that were
10685         implemented in Emacs 20.5, but previously not in XEmacs.  These
10686         include mswindows- start-process-share-console and
10687         mswindows-start-process-inherit-error-mode. (Both of these only
10688         apply to Windows 95.)
10689
10690         * regex.c (regex_compile): Fixed a compile warning.
10691
10692         * select-msw.c:
10693         * select-msw.c (mswindows_own_selection):
10694         * select-msw.c (mswindows_get_foreign_selection):
10695         * select-msw.c (mswindows_disown_selection):
10696         * select-msw.c (console_type_create_select_mswindows):
10697         * select-msw.c (syms_of_select_mswindows):
10698         Cleaned up the file and implemented the device method
10699         selection_exists_p, which had accidentally been left out.  Also
10700         removed four lisp functions that were remnants from before the
10701         time when the selection code was properly device abstracted.
10702         These functions are no longer needed because there are generic
10703         equivalents, and because they were added recently and don't exist
10704         in FSF Emacs, I don't think there's any problem with just deleting
10705         them.
10706
10707         * sysdep.c:
10708         * sysdep.c (sys_subshell):
10709         Fixed a compile warning, although in this case there's probably
10710         something wrong with this code, and it ought to be looked into
10711         more thoroughly by somebody who understands it.
10712
10713         * window.c:
10714         * window.c (Fwindow_text_area_height):
10715         * window.c (Fwindow_width):
10716         * window.c (Fwindow_full_width):
10717         * window.c (Fwindow_pixel_width):
10718         * window.c (debug_print_window):
10719         * window.c (syms_of_window):
10720         Added functions window-text-area-height and window-full-width,
10721         which are functions for returning various width and height
10722         characteristics of a window. (One of these functions is necessary
10723         for making the file dialog box work correctly, and the other one
10724         was added for completeness.)  Also added a table to the
10725         documentation for window-height which describes the entire scheme
10726         for accessing width and height characteristics of a window.
10727
10728 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10729
10730         * nt.c (fstat): Added a comment for another problem with
10731         non-encapsulated [f]stat(), reported by Adrian Aichner
10732         <aichner@ecf.teradyne.com>.
10733
10734 2000-03-11  Andy Piper  <andy@xemacs.org>
10735
10736         * window.c (make_dummy_parent): initialize subwindow instance
10737         cache.
10738         (Fset_window_configuration): zero extent_modiff.
10739
10740 2000-03-10  Andy Piper  <andy@xemacs.org>
10741
10742         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10743         more changes can be triggered.
10744         (Fredisplay_frame): ditto.
10745         (Fredraw_device): ditto.
10746         (Fredisplay_device): ditto.
10747         (redisplay_frame): make non-static.
10748         (redisplay_frame): call update_frame_gutter_geometry outside of
10749         display proper.
10750
10751         * gutter.h: declare update_frame_gutter_geometry.
10752
10753         * redisplay.h: declare redisplay_frame.
10754
10755         * gutter.c (update_frame_gutter_geometry): move geometry changes
10756         in update_frame_gutters here. Geometry changes can only occur
10757         outside of redisplay.
10758         (update_frame_gutters): remove geometry change code.
10759         (Fredisplay_gutter_area): make sure that we are in display when we
10760         update and that we have flushed any size changes.
10761
10762 2000-03-11  Andy Piper  <andy@xemacs.org>
10763
10764         * alloc.c (pdump_dump_data): remove i & count shadows.
10765
10766 2000-02-27  Mike Alexander  <mta@arbortext.com>
10767
10768         * sysdep.h: Declare pdump_read_file
10769
10770         * sysdep.c (pdump_read_file): New function
10771
10772         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10773         dump data
10774
10775 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10776
10777         * lrecord.h: add `lrecord_type_pgsetenv'.
10778
10779 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10780
10781         * symsinit.h: declare (vars|syms)_of* functions.
10782         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10783
10784 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10785
10786         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10787
10788         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10789         GCCs.
10790
10791         * emacs.c (main_1): Call postgres initialization code.
10792
10793         * postgresql.h: New file.  PostgreSQL RDBMS support.
10794         * postgresql.c: New file.
10795
10796 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10797
10798         * redisplay-output.c (redisplay_output_display_block): Disable
10799         redundant code.
10800
10801 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10802
10803         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10804         (Fcanna_henkan_next): Ditto.
10805         (Fcanna_bunsetu_henkou): Ditto.
10806         (Fcanna_henkan_kakutei): Ditto.
10807         (Fcanna_henkan_end): Ditto.
10808         (Fcanna_henkan_quit): Ditto.
10809         (Fcanna_henkan_next): Set retun value correctly.
10810         (c2mu): Use unsigned char instead of signed char.
10811
10812 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10813
10814         * emacs.c (main_1): Always call syms_of_gui.
10815         * inline.c: include gui.h
10816
10817 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10818
10819         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10820         converted to Lisp_Object.
10821         (Qtop_bottom): New variable.
10822         (syms_of_redisplay): Initialize it.
10823         * redisplay.h (Vvisible_bell): Ditto.
10824         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10825         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10826         only flash top and bottom.
10827
10828 2000-03-08  Andy Piper  <andy@xemacs.org>
10829
10830         * buffer.c (Frename_buffer): record new buffer name the right way.
10831
10832 2000-03-08  Andy Piper  <andy@xemacs.org>
10833
10834         * glyphs.c (update_subwindow): increase hash depth so that widget
10835         items get picked up properly.
10836
10837         * redisplay-output.c (compare_runes): increase hash depth so that
10838         widget items get picked up properly.
10839
10840 2000-03-08  Andy Piper  <andy@xemacs.org>
10841
10842         * gutter.c (output_gutter): add some debug.
10843
10844         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10845         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10846         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10847
10848         * redisplay-output.c (compare_runes): use display_hash to
10849         determine if glyphs really are not the same.
10850
10851         * glyphs.c (update_subwindow): check display_hash to see if
10852         anything really needs to be updated. If not then do
10853         nothing. Record the display_hash after updating.
10854         (image_instance_equal): compare the image_instance face also.
10855
10856 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10857
10858         * redisplay.h: Fix comment style.
10859
10860 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10861
10862         * consle-msw.h (struct mswindows_frame):
10863         Added new member paint_pending to indicate whether a WM_PAINT
10864         magic event has been queued for this frame.
10865
10866         * event-msw.c (mswindows_drain_windows_queue):
10867         Don't queue a WM_PAINT magic event if one is already queued.
10868         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10869
10870         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10871
10872 2000-03-07  Didier Verna  <didier@xemacs.org>
10873
10874         * dired.c: #include `regex.h' after `sysfile.h'.
10875
10876 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10877
10878         * sound.c (init_nas_sound): Fix compiler warning.
10879
10880         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10881         (FREE_STRUCT_P):
10882         (MARK_STRUCT_AS_FREE):
10883         (MARK_STRUCT_AS_NOT_FREE):
10884         Make `gcc -fstrict-aliasing' work properly.
10885
10886 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10887
10888         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10889         (mswindows_delete_device): Call CoUnnitialize().
10890
10891         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10892
10893 2000-02-25    <CraigL@DyCon.com>
10894
10895         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10896         <errno.h>.
10897
10898         * sysdep.c: This extern declaration for environ prevents MinGW
10899         from finding the variable in CRTDLL.DLL.
10900
10901         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10902         windows headers.
10903         (SHGFI_EXETYPE): ..
10904         (WM_MOUSEWHEEL): ..
10905         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10906         definitions.
10907         (MMRESULT): Removed, now defined in cygwin's windows headers.
10908         (TIMECAPS): ..
10909         (uid_t,gid_t,pid_t,ssize_t): ..
10910         (_timeb): Removed, MinGW defines both _timeb and timeb.
10911         (HAVE_H_ERRNO): Added.
10912         (HAVE_TZNAME): Added, configure is not detecting this.
10913
10914 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10915
10916         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10917         * syntax.c (syntax_match): Use it.
10918
10919         * cmds.c: Import auto-fill-chars from FSF Emacs.
10920         (Vauto_fill_chars): New variables.
10921         (internal_self_insert): Check Vauto_fill_chars.
10922         (vars_of_cmds):
10923         Declare auto-fill-chars as a Lisp variable and initialize it.
10924
10925 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10926
10927         * fileio.c (Fmake_symbolic_link):
10928         (Ffile_symlink_p):
10929         Run handlers even if local machine doesn't have symlinks.
10930
10931 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10932
10933         * event-msw.c (mswindows_drain_windows_queue):
10934         Don't generate paint magic events for non-XEmacs frames.
10935
10936 2000-03-05  Andy Piper  <andy@xemacs.org>
10937
10938         * redisplay.c (redisplay_frame): generate_displayable_area and
10939         friends assumes that we are not in GC, we therefore have to make
10940         sure that this doesn't happen.
10941
10942         * gutter.c (calculate_gutter_size): generate_displayable_area
10943         assumes that we are not in GC, we therefore have to make sure that
10944         this doesn't happen.
10945
10946 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10947
10948         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10949
10950 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10951
10952         * redisplay.c (regenerate_window): Make sure we set a sane value
10953         for end_pos even if we jump out of the loop.
10954         (regenerate_window): Answer Ben's question :-).
10955         (start_end_of_last_line): Add may_error argument.
10956         (start_of_last_line):
10957         (end_of_last_line): Pass may_error = 0.
10958         (end_of_last_line_may_error): New function.
10959         (pixel_to_glyph_translation): Use it, so we don't crash in
10960         event_to_glyph.
10961
10962 2000-03-04  Andy Piper  <andy@xemacs.org>
10963
10964         * window.h (struct window): add gutter_extent_modiff.
10965
10966         * window.c (allocate_window): zero out gutter_extent_modiff.
10967
10968         * redisplay.h: declare sync_display_line_structs.
10969
10970         * redisplay.c (add_glyph_rune): add a better comment.
10971
10972         * redisplay-output.c (sync_display_line_structs): made non-static.
10973         (compare_runes): remove unneccesary glyph cachel access.
10974
10975         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10976
10977         * gutter.c (output_gutter): don't output the gutter if extent
10978         changes only involve extents in buffers. use 4 sets of display
10979         lines.
10980         (gutter_extent_signal_changed_region_maybe): new function. Mark
10981         extents in gutters as changed.
10982         (update_frame_gutters): use 4 sets of display lines.
10983         (reset_gutter_display_lines): ditto.
10984         (free_frame_gutters): ditto.
10985         (redraw_exposed_gutter): force output of gutters.
10986
10987         * frame.h (struct frame): add 4 sets of gutter display lines.
10988
10989         * extents.c: (extent_changed_for_redisplay): signal changes to
10990         extents in strings in the gutter as well as extents in buffers.
10991
10992 2000-03-02  Andy Piper  <andy@xemacs.org>
10993
10994         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10995
10996         * frame.c (Fmake_frame): make sure the gutters get initialized
10997         after the frame is visible.
10998         (set_frame_selected_window): re-arrange compilation macros a
10999         little.
11000         (change_frame_size_1): mark gutters changed.
11001
11002         * device.c (Fset_device_class): mark gutters changed.
11003
11004 2000-03-01  Andy Piper  <andy@xemacs.org>
11005
11006         * window.c (window_top_frame_gutter_height): deleted.
11007         (window_bottom_frame_gutter_height): ditto.
11008         (window_left_frame_gutter_height): ditto.
11009         (window_right_frame_gutter_height): ditto.
11010         (window_top_gutter_height): don't use them.
11011         (window_bottom_gutter_height): ditto.
11012         (window_left_gutter_width): ditto.
11013         (window_right_gutter_width): ditto.
11014         (Fsplit_window): ditto.
11015         (Fwindow_pixel_edges): don't use border dimensions here.
11016
11017         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11018         (update_scrollbar_instance): ditto.
11019
11020         * redisplay.c (generate_modeline): don't take gutters into account.
11021         (generate_modeline): ditto.
11022         (redisplay_frame): small gutter display optimization.
11023
11024         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11025
11026         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11027         gutters into account.
11028
11029         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11030         for window position and type.
11031
11032         * gutter.c (get_gutter_coords): fix for frame gutters.
11033         (update_frame_gutters): update frame geometry if the gutters have
11034         changed.
11035         (init_frame_gutters): record current gutter geometries.
11036
11037         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11038         var.
11039         (mswindows_widget_instantiate): ditto.
11040
11041         * frame.h (struct frame): add current_gutter_bounds.
11042
11043         * frame.c (change_frame_size_1): position window and minibuffer
11044         appropriately taking into account the frame gutters.
11045
11046         * frame-x.c: (x_initialize_frame_size): take into account the
11047         frame gutters.
11048
11049 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11050
11051         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11052
11053 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11054
11055         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11056
11057 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11058
11059         * file-coding.c (reset_decoding_stream): Clear previous
11060         detection state when autodetect.
11061
11062 2000-02-29  Didier Verna  <didier@xemacs.org>
11063
11064         * extents.c (set_extent_glyph_1): don't require extents to be
11065         attached.
11066
11067 2000-02-27  Andy Piper  <andy@xemacs.org>
11068
11069         * gutter.c (Fset_default_gutter_position): don't default left and
11070         right gutter visibility to t.
11071         (Fset_default_gutter_position): run
11072         default-gutter-position-changed-hook.
11073         (syms_of_gutter): add default-gutter-position-changed-hook.
11074
11075 2000-02-26  Andy Piper  <andy@xemacs.org>
11076
11077         * specifier.c (Fmake_specifier): add gutter references.
11078
11079         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11080
11081         * lisp.h: declare Fvalid_plist_p.
11082
11083         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11084         as changed.
11085         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11086         well as its visibility so that it gets reconstructed.
11087         (construct_window_gutter_spec): new function. Construct a string
11088         to be displayed in the gutter from a plist of strings. Take care
11089         to only use elements that are declared as visible.
11090         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11091         WINDOW_GUTTER.
11092         (gutter_validate): allow plists of strings in the specifier.
11093         (gutter_specs_changed): construct the real_gutter from the gutter
11094         specs using construct_window_gutter_spec.
11095         (gutter_visible_validate): gutter-visible is a new specifier type.
11096         (Fgutter_visible_specifier_p): new function for the new specifier.
11097         (syms_of_gutter): declare gutter-visible and
11098         Fgutter_visible_specifier_p.
11099         (specifier_type_create_gutter): intitalize new gutter-visible
11100         specifier.
11101         (reinit_specifier_type_create_gutter): ditto.
11102         (specifier_vars_of_gutter): use new specifier type for gutter
11103         visibility.
11104         (init_frame_gutters): construct real_gutter correctly.
11105         (Fgutter_specifier_p): beef up documentation.
11106         (Fgutter_size_specifier_p): ditto.
11107
11108         * winslots.h: add real_gutter slots.
11109
11110 2000-02-25  Andy Piper  <andy@xemacs.org>
11111
11112         * device-msw.c: Be kind to older cygwin versions. From Raymond
11113         Toy <toy@rtp.ericsson.se>.
11114
11115         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11116         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11117
11118 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11119
11120         * elhash.c (MARK_OBJ): Practice macro hygiene.
11121
11122 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11123
11124         * miscplay.c: s/__inline__/inline/g;
11125         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11126         (get_device_compdc): INLINE ==> static inline
11127         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11128         find -name '*.h' | \
11129         xargs global-replace \
11130         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11131
11132 2000-02-25  Andy Piper  <andy@xemacs.org>
11133
11134         * window.c (window_top_frame_gutter_height): new function.
11135         (window_top_window_gutter_height): ditto.
11136         (window_top_gutter_height): use them.
11137         (window_bottom_frame_gutter_height): new function.
11138         (window_bottom_window_gutter_height): ditto.
11139         (window_bottom_gutter_height): use them.
11140         (window_left_window_gutter_width): new function.
11141         (window_left_frame_gutter_width): ditto.
11142         (window_left_gutter_width): use them.
11143         (window_right_window_gutter_width): new function.
11144         (window_right_frame_gutter_width): ditto.
11145         (window_right_gutter_width): use them.
11146         (window_pixel_height): new function. calulate window pixel height
11147         with frame gutter involvement.
11148         (Fsplit_window): calculate new sizes taking frame gutters into
11149         account.
11150         (window_char_height_to_pixel_height): don't include frame gutters.
11151         (window_char_height): use window_pixel_height.
11152         (window_pixheight): rename from window_pixel_height.
11153         (change_window_height): use it.
11154         (window_pixel_height_to_char_height): don't include frame gutters.
11155         (window_char_width_to_pixel_width): ditto.
11156
11157 2000-02-25  Andy Piper  <andy@xemacs.org>
11158
11159         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11160         if it is.
11161
11162 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11163
11164         * alloc.c (staticpro):
11165         (staticpro_nodump):
11166         (dumpstruct):
11167         (dumpopaque):
11168         (pdump_wire):
11169         (pdump_wire_list):
11170         (compact_string_chars):
11171         (pdump_dump_wired):
11172         Convert:  if (foo) abort();  ==>  assert (! foo);
11173
11174         * eldap.c (Fldap_search_basic):
11175         (Fldap_add):
11176         (Fldap_modify):
11177         (Fldap_delete):
11178         Fix compiler warnings, and possible crashes if (random) return
11179         value were to be used.
11180
11181 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11182
11183         * device-msw.c: Workaround ResetDC failure.
11184
11185         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11186         applying a devmode.
11187
11188         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11189         (mswindows_text_width): Do not start printer page.
11190
11191         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11192
11193         * glyphs-msw.c: Added image methods to msprinter console and
11194         msprinter-specific image instantiation.
11195
11196 2000-02-20  Mike Alexander  <mta@arbortext.com>
11197
11198         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11199         to avoid crashes when selection-sets-clipboard is on
11200         (mswindows_own_selection): ditto
11201
11202 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11203
11204         * glyphs-msw.c:
11205         * redisplay-msw.c (get_frame_dc):
11206         (get_frame_compdc):
11207         * console-msw.h:
11208         * device-msw.c (mswindows_init_device):
11209         (mswindows_delete_device):
11210         (msprinter_init_device):
11211         (msprinter_delete_device):
11212         * frame-msw.c (mswindows_init_frame_1):
11213         (mswindows_delete_frame):
11214         (msprinter_init_frame_3):
11215         (msprinter_delete_frame): Move compatible DC to device object from
11216         frame object, for both mswindows and msprinter. Only one at a time
11217         is needed, it is a real waste to have one per frame!
11218
11219 2000-02-23  Andy Piper  <andy@xemacs.org>
11220
11221         * glyphs.c: add dynamic width and height elements.
11222         (image_instance_equal): ditto.
11223
11224         * glyphs-widget.c (widget_query_geometry): calculate width and
11225         height dynamically if required.
11226         (initialize_widget_image_instance): initialize dynamic dimensions.
11227         (widget_instantiate): pick-up dynamic dimensions.
11228
11229         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11230         dynamic determination. Add appropriate macros.
11231
11232         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11233         dimensions safe.
11234         (WINDOW_GUTTER_SIZE): ditto.
11235         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11236
11237         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11238         inline.
11239         (get_frame_dc): ditto.
11240
11241         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11242         here.
11243
11244 2000-02-23  Martin Buchholz <martin@xemacs.org>
11245
11246         * XEmacs 21.2.31 is released.
11247
11248 2000-02-22  Ben Wing <ben@xemacs.org>
11249
11250         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11251
11252 2000-02-22  Andy Piper  <andy@xemacs.org>
11253
11254         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11255
11256 2000-02-21  Mike Sperber <mike@xemacs.org>
11257
11258         * .dbxrc:
11259         * .gdbinit:
11260         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11261         variables.
11262
11263 2000-02-21  Mike Sperber <mike@xemacs.org>
11264
11265         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11266
11267 2000-02-21  Martin Buchholz <martin@xemacs.org>
11268
11269         * XEmacs 21.2.30 is released.
11270
11271 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11272
11273         Performance hacking.
11274         * *.c (syms_of_*):
11275         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11276         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11277         * emacs.c (main_1):
11278         * lisp.h (DEFUN):
11279         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11280         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11281         * symeval.h (DEFVAR_SYMVAL_FWD):
11282         * symbols.c (guts_of_unbound_marker):
11283         Make all c_readonly objects also lisp_readonly and marked for life.
11284         * lrecord.h (struct lrecord_implementation):
11285         Document flags better.
11286         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11287         * lrecord.h (DECLARE_LRECORD):
11288         * lrecord.h (XSETRECORD):
11289         * lrecord.h (RECORDP):
11290         * lrecord.h (RECORD_TYPEP):
11291         * lrecord.h (RECORD_MARKER): New.
11292         * lrecord.h (error_check_*):
11293         * lrecord.h (CONCHECK_NONRECORD):
11294         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11295         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11296         * lrecord.h (set_lheader_implementation):
11297         * lrecord.h (enum lrecord_type): New.
11298         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11299         * alloc.c (disksave_object_finalization_1):
11300         * alloc.c (mark_object):
11301         * alloc.c (lrecord_type_index):
11302         * alloc.c (tick_lcrecord_stats):
11303         * alloc.c (Fgarbage_collect):
11304         * alloc.c (init_alloc_once_early):
11305         * alloc.c (pdump_load):
11306         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11307         * alloc.c (lrecord_type_index): Delete.
11308         Make lisp object type indexes be constant.
11309           Makes (byte-compile) 5% faster.
11310         Put all marker functions into their own array.
11311           Makes (garbage-collect) 5% faster.
11312         Optimize SYMBOL_VALUE_MAGIC_P.
11313           Makes (byte-compile) 2-3% faster.
11314         * config.h.in (gc_checking_assert): New.
11315         * alloc.c: Use gc_checking_assert().
11316         * .dbxrc: Make compatible with new object type implementation.
11317         * .gdbinit: Make compatible with new object type implementation.
11318         * alloc.c: Delete all symbols defined only for debugging, such as
11319         Lisp_Type_Vector and lrecord_charset.
11320
11321 2000-02-21  Andy Piper  <andy@xemacs.org>
11322
11323         * gui-msw.c (Fmswindows_shell_execute): fix file location
11324         problems.
11325
11326         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11327         unshowing so that set_window_buffer doesn't undo
11328         kill_buffer_hook's hard work.
11329
11330         * glyphs-widget.c (tab_control_query_geometry): don't count the
11331         first item when calculating geometry.
11332
11333         * glyphs.c (map_subwindow): remove redundant code.
11334         (update_frame_subwindows): be more circumspect about when to
11335         update subwindows.
11336
11337         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11338         when items haven't changed. Update faces if faces have changed as
11339         well as just the widget face.
11340         (x_tab_control_update): Update faces if faces have changed as well
11341         as just the widget face.
11342
11343 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11344
11345         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11346         registration.
11347         (build_syscolor_string): Use mswindows_color_to_string to try to
11348         get a named color.
11349         (mswindows_device_system_metrics): Reverse the foreground and
11350         background colors so that they match the documentation.
11351
11352         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11353         they match the default Windows palette.
11354         (mswindows_color_to_string): New function.
11355
11356 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11357
11358         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11359
11360 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11361
11362         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11363         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11364
11365         * symbols.c (init_symbols_once_early): Removed obsolete
11366         DATA_SEG_BITS related kludge.
11367         (defvar_magic): Ditto.
11368
11369         * malloc.c: Removed obsolete DATA_SEG_BITS
11370         * ralloc.c: Ditto.
11371         * mem-limits.h: Ditto.
11372
11373         * Makefile.in.in: Removed obsolete HAVE_SHM
11374         * emacs.c: Ditto.
11375
11376 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11377
11378         *  device-msw.c (mswindows_delete_device): Free DDE string
11379         handles.
11380
11381 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11382
11383         * keymap.c (get_keyelt):
11384         * unexnt.c (unexec):
11385         * vm-limit.c (memory_warnings):
11386         * ntheap.c (recreate_heap):
11387         * ntheap.h (UNINIT_PTR):
11388         * select-msw.c (Fmswindows_get_clipboard):
11389         (Fmswindows_set_clipboard):
11390         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11391         * objects-msw.c:
11392         * menubar-msw.c (displayable_menu_item):
11393         * glyphs-msw.c:
11394         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11395         * sysdep.c (sys_subshell):
11396         * process-nt.c (nt_create_process):
11397         * nt.c (normalize_filename):
11398         (dostounix_filename):
11399         (unixtodos_filename):
11400         * ntproc.c (win32_executable_type):
11401         * ntplay.c (play_sound_data_1):
11402         (play_sound_file):
11403         * editfns.c (get_home_directory):
11404         * event-msw.c (struct winsock_stream):
11405         (mswindows_dde_callback):
11406         * device-msw.c (msprinter_init_device):
11407         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11408
11409         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11410         mswindows_clear_toolbar were swapped!
11411
11412         * objects-msw.c:(colormap_t):
11413         (fontmap_t):
11414         * emacs.c (struct standard_args): Fixed const jumble.
11415
11416         * glyphs-widget.c (update_widget): Fixed comparison notation.
11417
11418         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11419
11420         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11421         __declspec(noreturn) syntax.
11422
11423 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11424
11425         * eldap.c (Fldap_open):
11426         (Fldap_search_basic):
11427         (Fldap_add):
11428         (Fldap_modify):
11429         Use new coding system conversion macros.
11430
11431 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11432
11433         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11434
11435 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11436
11437         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11438         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11439
11440         * eldap.c (Qadd, Qreplace): New constant symbols
11441         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11442         interruptions by XEmacs signals
11443         Remove unnecessary calls to slow_down_interrupts and
11444         speed_up_interrupts
11445         (Fldap_search_basic): Renamed from Fldap_search_internal
11446         Added new optional parameter VERBOSE that triggers the
11447         display of progress messages
11448         Remove unnecessary calls to slow_down_interrupts and
11449         speed_up_interrupts
11450         LDAP result code analysis rewritten
11451         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11452         (syms_of_eldap): Define the new symbols and functions
11453
11454
11455 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11456
11457         * realpath.c: Determine PATH_MAX maximally portably.
11458
11459         * insdel.c (bytecount_to_charcount): Optimize.
11460         The function used to be optimized for entirely ASCII sequences.
11461         Now it is optimized for successive characters from the same
11462         charset.  This also wins big for _mostly_ ASCII sequences.
11463
11464         * fileio.c (Ffile_truename): convert return from realpath() using
11465         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11466         - Rewrite GCPROing slightly.
11467
11468         * sysdep.c (sys_open): Do filename conversion, like all other
11469         sys_* functions.  Fixes bug:
11470         (let ((file-name-coding-system 'iso-8859-2))
11471            (write-region x y latin2-name))
11472         ==> writes filename using internal encoding.
11473
11474 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11475
11476         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11477         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11478         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11479         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11480         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11481         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11482         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11483         (CONST_IF_NOT_DEBUG): Delete.
11484         * alloc.c (this_one_is_unmarkable): Delete.
11485         (mark_object): Don't check for this_one_is_unmarkable. Use the
11486         c_readonly flag instead.
11487         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11488
11489 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11490
11491         * event-msw.c (mswindows_drain_windows_queue):
11492         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11493         away redundant repaint events.
11494
11495 2000-02-17  Andy Piper  <andy@xemacs.org>
11496
11497         * redisplay.h: declare mark_redisplay_structs.
11498
11499         * redisplay.c (redisplay_window):
11500         (redisplay_frame): don't check subwindows_state_changed.
11501         (mark_redisplay): mark gutters here.
11502
11503         * glyphs.c: (instantiate_image_instantiator): always layout if we
11504         haven't done so already.
11505         (allocate_image_instance): don't mark as dirty.
11506         (update_subwindow): bind inhibit_quit.
11507
11508         * gutter.c (mark_gutters): new function.
11509
11510         * glyphs-x.c (x_update_widget): Always resize to get round a
11511         widget bug.
11512
11513         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11514         breaking absolutely everything.
11515
11516         * gutter.h: declare mark_gutters.
11517
11518 2000-02-16  Martin Buchholz <martin@xemacs.org>
11519
11520         * XEmacs 21.2.29 is released.
11521
11522 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11523
11524         * fns.c (size_bit_vector): Fix computation of the size.
11525
11526 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11527
11528         * *.[ch]: Change CONST to const globally.
11529         find -name '*.[ch]' | \
11530         xargs global-replace \
11531         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11532         - Remove vestigial references to CONST_IS_LOSING
11533
11534 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11535
11536         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11537         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11538         events instead of dispatching them directly.
11539         (mswindows_handle_paint): New function to do repainting.
11540         (mswindows_wnd_proc):
11541         (emacs_mswindows_handle_magic_event): Call above function.
11542
11543 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11544
11545         * objects-msw.c (mswindows_create_font_variant): Return the new
11546         font handle.
11547         (initialize_font_instance): Get font metrics from the underlined
11548         variant of the font to cope with the case where the underlined
11549         font has a bigger descent.
11550
11551 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11552
11553         * gui.c (gui_item_accelerator): Return the first underlined
11554         character in item name.
11555
11556 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11557
11558         * lisp.h: Added Qprinter.
11559
11560         * general.c (syms_of_general): Initialized it.
11561
11562         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11563         (get_frame_dc):
11564         (get_frame_compdc): Made inline.
11565
11566         * console.h (struct console_methods): Added eject_page method.
11567
11568         * frame.h: Added FRAME_DISPLAY_P and friends.
11569         Aligned backslahes in many macros in more readable fashion.
11570         Added page_number to struct frame, and an accessor macro
11571         for it.
11572
11573         * defice.h: Added DEVICE_DISPLAY_P and friends.
11574
11575         * device.c (Fdevice_printer_p): Used these.
11576
11577         * frame.c (allocate_frame_core): Initialize page number.
11578         (Fprint_job_page_number):
11579         (Fprint_job_eject_page): Implemented.
11580
11581         * frame-msw.c (msprinter_eject_page): Added method.
11582         (msprinter_start_page): Added.
11583
11584         * window.c (Fwindow_truncated_p): Fixed docstring.
11585         (Fwindow_last_line_visible_height): Implemented.
11586
11587 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11588
11589         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11590
11591 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11592
11593         * syntax.c (scan_words): Always advance at least one character.
11594
11595 2000-02-13  Andy Piper  <andy@xemacs.org>
11596
11597         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11598         to make sure the glyph is in the cachels.
11599
11600         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11601         global image instance flag.
11602         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11603         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11604
11605         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11606         (Fset_image_instance_property): mark layout as changed.
11607         (invalidate_glyph_geometry_maybe): mark layout as changed.
11608         (glyph_width): use new NEEDS_LAYOUT macro.
11609         (glyph_ascent): ditto.
11610         (glyph_descent): ditto.
11611         (glyph_height): ditto.
11612         (image_instance_layout): mark layout as clean after laying out.
11613         (update_subwindow): don't mark layout as clean here.
11614
11615         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11616         should no longer be needed.
11617
11618         * glyphs-x.c (x_update_widget): sanitize asserts.
11619         (x_finalize_image_instance): sanitize assignment to widgets.
11620
11621         * glyphs-widget.c (widget_instantiate): don't need to clear the
11622         layout flag here.
11623
11624 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11625
11626         * sysdep.c (getcwd): Use standard prototype.
11627         * sysdep.h (getcwd): Use standard prototype.
11628
11629         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11630         (sequence, start, end).
11631         Remove redundant type checking.
11632         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11633         view of `caller-protects') to avoid a crash where the real fix was
11634         found elsewhere.
11635
11636 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11637
11638         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11639
11640         * s/sol2.h: Remove feature macro initialization.
11641
11642         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11643         (vector_hash): New.  Code from internal_hash.
11644         * lrecord.h:
11645         Fix up allocation subsystem comments.
11646
11647         * config.h.in: Add __EXTENSIONS__ for Solaris.
11648
11649         * systime.h (EMACS_GETTIMEOFDAY): New.
11650         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11651         Remove Solaris-specific code.
11652         Use void* for the (ignored) second arg for gettimeofday().
11653
11654         * elhash.c (hash_table_hash): Implement it, finally.
11655         * elhash.c:  Use hashcode_t.
11656
11657         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11658         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11659
11660         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11661         * fns.c (size_bit_vector):
11662         * alloc.c (size_vector):
11663         (make_vector_internal):
11664         (make_bit_vector_internal):
11665         (sweep_bit_vectors_1):
11666         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11667
11668 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11669
11670         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11671         Include strings.h to avoid warnings for bzero and strcasecmp.
11672
11673 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11674
11675         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11676         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11677
11678         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11679         sequence.
11680
11681 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11682
11683         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11684         use a value field instead.
11685         (symbol_value_forward_forward): Use value field.
11686         (DEFVAR_SYMVAL_FWD): Use value field.
11687         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11688         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11689         (DEFVAR_CONST_INT): Ditto.
11690         (DEFVAR_BOOL): Ditto.
11691         (DEFVAR_CONST_BOOL): Ditto.
11692         (DEFVAR_INT_MAGIC): Ditto.
11693         (DEFVAR_BOOL_MAGIC): Ditto.
11694
11695         * symbols.c (guts_of_unbound_marker): Use value field.
11696         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11697         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11698
11699         * lisp.h: Declare dumpopaque and noninteractive1.
11700
11701         * alloc.c (dumpopaque): Added.
11702         (pdump_dump_opaquevec): Added.
11703         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11704         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11705         noninteractive.
11706
11707 2000-02-10  Andy Piper  <andy@xemacs.org>
11708
11709         * glyphs.c (image_instance_layout): if the size changes, mark it
11710         as such.
11711
11712         * redisplay-output.c (redisplay_output_layout): Update the
11713         subwindow here.
11714         (redisplay_output_subwindow): ditto.
11715
11716         * glyphs.c (update_subwindow): make sure we reset flags for
11717         layouts as well as everything else.
11718
11719         * glyphs-widget.c (layout_layout): don't need to set the instances
11720         dimensions here.
11721
11722 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11723
11724         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11725         not HAVE_DLOPEN, which is a lower-level thing.
11726
11727         * .cvsignore: Ignore gmon.out
11728
11729 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11730
11731         * .cvsignore: Ignore portable dumper xemacs.dmp file
11732
11733 2000-02-09  Andy Piper  <andy@xemacs.org>
11734
11735         * redisplay-output.c (redisplay_output_layout): be more clever
11736         about when we output based on the changed flags.
11737
11738         * glyphs.h (struct image_instantiator_methods): add update_method.
11739         (struct Lisp_Image_Instance): add changed flags. Declare new
11740         macros for manipulating them.
11741
11742         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11743         (image_instance_parent_glyph): find an image_instance's parent
11744         glyph or image_instance.
11745         (image_instance_layout): mark the size as changed.
11746         (set_image_instance_dirty_p): new function. mark an image
11747         instance, plus all of its parents, as dirty.
11748         (Fset_image_instance_property): use it.
11749         (Fglyph_animated_timeout_handler): use it.
11750         (update_subwindow): call update_widget and device methods for
11751         update_subwindow. Mark all changed flags as clean.
11752         (Fresize_subwindow): mark size as changed.
11753
11754         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11755         failures.
11756         (x_update_subwindow): only resize subwindows here.
11757         (x_update_widget): new function. Update all changed properties of
11758         a widget.
11759         (x_resize_subwindow): deleted.
11760         (x_widget_set_property): deleted.
11761         (x_progress_gauge_set_property): deleted.
11762         (x_progress_gauge_update): new function. Implement recorded
11763         changes.
11764         (x_tab_control_update): ditto.
11765         (x_tab_control_set_property): deleted.
11766         (console_type_create_glyphs_x): declare new functions.
11767         (image_instantiator_format_create_glyphs_x): ditto.
11768
11769         * glyphs-widget.c (widget_set_property): mark text changed.
11770         (update_widget): new function. Update properties of a widget.
11771         (widget_instantiate): for layouts make sure we set their
11772         children's parent correctly.
11773         (tab_control_set_property): new function. Record changes that will
11774         take place under redisplay's control.
11775         (progress_gauge_set_property): ditto.
11776         (image_instantiator_progress_guage): declare new functions.
11777         (image_instantiator_tab_control): ditto.
11778
11779         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11780         now.
11781         (mswindows_update_widget): new function. Update all properties on
11782         a widget that have changed.
11783         (mswindows_button_update): new function. Update a button's set
11784         state.
11785         (mswindows_tab_control_update): new function. Update the items in
11786         a tab.
11787         (mswindows_tab_control_set_property): deleted.
11788         (mswindows_progress_gauge_update): new function. Update the
11789         progress gauge's progress.
11790         (mswindows_widget_set_property): deleted. This is all done
11791         asynchronously now.
11792         (mswindows_progress_gauge_set_property): ditto.
11793         (console_type_create_glyphs_mswindows): declare new methods.
11794         (image_instantiator_format_create_glyphs_mswindows): ditto.
11795
11796         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11797         (msprinter_set_frame_properties): ditto.
11798
11799         * console.h (struct console_methods): Add update_widget_method.
11800
11801 2000-02-09  Andy Piper  <andy@xemacs.org>
11802
11803         * gui-msw.c (Fmswindows_shell_execute): Make
11804         mswindows-shell-execute industrial strength.
11805
11806 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11807
11808         * lrecord.h: Make macro argument `props' match member function `plist'.
11809         * fns.c (Fget):
11810         * fns.c (Fput):
11811         * fns.c (Fremprop):
11812         * fns.c (Fobject_plist):
11813         * alloc.c:
11814         * symbols.c:
11815         Object property list frobbing cleanup.
11816         - Allow any lisp object (compared with `eq'), not just symbols, as
11817           keys in object plists.
11818         - Move symbol plist frobbing into symbols.c, where it belongs.
11819         - Move string plist frobbing into alloc.c, where it belongs.
11820         - Everything's an lrecord now, so no need to test for symbolp, etc.
11821         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11822
11823         * extents.c: Reorder code to remove declarations.
11824
11825         * frame.h (store_in_alist): Remove useless declaration.
11826
11827 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11828
11829         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11830         * config.h.in: Add HAVE_XCONVERTCASE.
11831
11832 2000-02-07  Andy Piper  <andy@xemacs.org>
11833
11834         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11835         it breaks many things.
11836
11837 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11838
11839         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11840         actually can start a common comment type.
11841         * src/syntax.h (SYNTAX_END_P): ditto for end.
11842
11843 2000-02-07  Martin Buchholz <martin@xemacs.org>
11844
11845         * XEmacs 21.2.28 is released.
11846
11847 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11848
11849         * event-Xt.c (x_keysym_to_character): New.
11850         (maybe_define_x_key_as_self_inserting_character): New.
11851         (x_has_keysym): New.
11852         Auto-define all keys on the keyboard as self-insert-key.
11853
11854 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11855
11856         * menubar.c (vars_of_menubar): A small code simplification.
11857
11858         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11859
11860         * ExternalShell.c:
11861         * ExternalClient.c:
11862         * EmacsShell-sub.c:
11863         * EmacsManager.c:
11864         * EmacsFrame.c:
11865         Use consistent style for specifying X resources.
11866
11867         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11868         This makes (dontusethis-set-symbol-value-handler) actually usable.
11869
11870         * lrecord.h (lrecord_decription_type):
11871         * alloc.c (pdump_register_sub):
11872         (pdump_dump_data):
11873         (pdump_reloc_one):
11874         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11875         Comply with XEmacs coding style.
11876         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11877         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11878
11879         * keymap.c (Faccessible_keymaps):
11880         Make (accessible-keymaps map "\C-h") do the Right Thing.
11881         Make (accessible-keymaps map []) do the Right Thing.
11882         Make (accessible-keymaps map "") do the Right Thing.
11883         (check_keymap_definition_loop): New function.
11884         (keymap_store_internal): Keep luser from shooting self in foot,
11885           via (define-key ctl-x-4-map "p" global-map).
11886         Remove fullness slot from struct Lisp_Keymap, since hash tables
11887         are now reliable.
11888         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11889
11890 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11891
11892         * redisplay.c (init_redisplay): Fix small memory leak.
11893         * elhash.h:
11894         * elhash.c (pdump_reorganize_hash_table):
11895         Rename from reorganize_hash_table. Change prototype.
11896         Reuse the original memory for hentries.  Save 100k.
11897         * alloc.c (PDUMP_READ): new macro.
11898         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11899         * alloc.c: No need to #ifndef before #undef.
11900
11901         * print.c: Allow debug_print() to print readably by modifying
11902         debug_print_readably.  Use consistent variable names.
11903
11904         * .dbxrc: Try to get things to work even if stopped in a function
11905         without source available by explicitly specifying source files.
11906 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11907
11908         * unexnt.c (_start): Removed bogus code which caused loading heap
11909         from differrent executable file.
11910         Removed bogus assignment to _fmode, which caused inconsistencies.
11911
11912 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11913
11914         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11915         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11916         Do not preliminary `#define signal sigset'.
11917
11918         * systime.h: Do not prototype environ on windows nt and cygwin,
11919         this conflicts with system header.
11920
11921         * syssignal.h: Use correct define for WINDOWSNT
11922
11923         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11924         with system header.
11925
11926         * sysdep.c (near start of file): Fixed commentary and rearranged
11927         ifdefs in readable order.
11928         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11929         (start_of_text):
11930         (end_of_text):
11931         (end_of_data): Do not compile in if using PDUMP.
11932
11933         * symsinit.h: Prototyped vars_of_nt().
11934
11935         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11936         (find_child_console): Use it.
11937         (sys_kill): Use it.
11938
11939         * ntheap.h: Do not extern os_subtype.
11940
11941         * ntheap.c (cache_system_info): Do not cache unneeded:
11942         nt_major_version, nt_minor_version and os_subtype.
11943         (recreate_heap): Do not compile in when PDUMPing.
11944
11945         * nt.c (geteuid and friends): Use the new varibale
11946         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11947         (init_user_info): Removed the above mentioned hackery.
11948         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11949         stat has been fixed in the C runtime.
11950         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11951
11952         * file-coding.c (struct file_coding_dump): Do not define
11953         ucs_to_mule_table in the struct if not MULE.
11954         (struct struct lrecord_description fcd_description_1): Do not dump
11955         the above.
11956
11957         * emacs.c (main_1): Call vars_of_nt().
11958         (right before Fdump_emacs_data): Don't need lastfile if using both
11959         portabe dumper and system malloc.
11960
11961         * alloc.c (Fmemory_limit): Conditionalized out.
11962         (pdump): Use OPEN_BINARY for the portable dump file.
11963         (pdump_load): Ditto.
11964
11965 2000-02-02  Mike Alexander  <mta@arbortext.com>
11966
11967         * nt.c (convert_time): Set tm_isdst before calling mktime and
11968         avoid calling it at all if the compiler supports 64 bit integers.
11969         Also initialize utc_base_ft before using it.
11970
11971 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11972
11973         * frame.c (change_frame_size_1): Take f->internal_border_width
11974         into consideration when calculating the width of the frame.
11975
11976 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11977
11978         * window.c (frame_min_height):
11979         (frame_size_valid_p):
11980         (frame_pixsize_valid_p): Added.
11981         (check_frame_size): Generalized.
11982
11983         * window.h: Prototyped the above.
11984
11985         * lisp.h:
11986         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11987         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11988         Deleted Vwin32_* and Vbinary_process_* unused variables.
11989
11990         * device-msw.c (msprinter_init_device): Do not get printer font
11991         list; Added DEVMODE functions.
11992
11993         * frame-msw.c: Added lots of printer code.
11994
11995         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11996         general.c.
11997
11998         * console-msw.h: Added more msprinter device private slots.
11999
12000 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12001
12002         * event-msw.c (key_needs_default_processing_p): Added.
12003         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12004
12005 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12006
12007         * glyphs.c (image_instance_layout): Mark image instance as clean
12008         after layout.
12009         (glyph_dirty_p): Removed redundant function.
12010         (invalidate_glyph_geometry_maybe): Added.
12011         (update_glyph_cachel_data): Call it.
12012
12013         * glyphs.h: Prototyped it.
12014
12015         * redisplay.c (add_glyph_rune): Call it.
12016         (redisplay_window): Reset glyphs cachels when frame faces have
12017         changed, thus forcing recomputation of built-in border glyphs.
12018
12019 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12020
12021         * Makefile.in.in: Make portable dumper and purify play well together.
12022         Add imperfect, but better than nothing, support for pdump.
12023         Remove xemacs.dmp when temacs is re-generated.
12024         Don't ignore errors when dumping xemacs.
12025
12026         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12027
12028 2000-01-28  Andy Piper  <andy@xemacs.org>
12029
12030         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12031         (setup_normal_frame): ditto.
12032         (setup_frame_without_minibuffer): ditto.
12033         (setup_minibuffer_frame): ditto.
12034         (delete_frame_internal): ditto.
12035         (Fmake_frame_invisible): ditto.
12036         (Ficonify_frame): ditto.
12037
12038         * window.h: change Fset_window_buffer signature.
12039
12040         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12041         (Fset_window_buffer): allow recording of buffer if the window is
12042         the selected window.
12043         (window_loop): Use new Fset_window signature.
12044
12045 2000-01-23  Daniel Pittman  <daniel@danann.net>
12046
12047         * config.h.in: Added template for `HAVE_ATHENA_3D'
12048
12049 2000-01-29  Andy Piper  <andy@xemacs.org>
12050
12051         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12052
12053         * gutter.c (output_gutter): Don't output if the window isn't live.
12054
12055 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12056
12057         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12058         of 01/12/00: Moved SetFocus back here where it belongs.
12059
12060 2000-01-23  Andy Piper  <andy@xemacs.org>
12061
12062         * s/cygwin32.h: declare printer things.
12063
12064 2000-01-26  Andy Piper  <andy@xemacs.org>
12065
12066         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12067         Alexander.
12068
12069 2000-01-24  Andy Piper  <andy@xemacs.org>
12070
12071         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12072         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12073
12074         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12075
12076         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12077
12078         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12079
12080         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12081         (mswindows_output_display_block): Avoid local shadows.
12082
12083         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12084         (mswindows_enqueue_mouse_button_event): ditto.
12085         (mswindows_handle_gui_wm_command): remove declaration.
12086
12087         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12088         warnings.
12089
12090         * console-msw.h: Avoid shadows.
12091         (mswindows_get_toolbar_button_text):
12092         (emacs_mswindows_create_stream_pair):
12093         (emacs_mswindows_delete_stream_pair):
12094         (mswindows_handle_toolbar_wm_command): declare.
12095
12096         * device-msw.c (build_syscolor_string): Avoid shadows.
12097
12098 2000-01-23  Andy Piper  <andy@xemacs.org>
12099
12100         * glyphs-widget.c (widget_instantiate): reverse the items for
12101         layouts so that children are in the expected order.
12102
12103 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12104
12105         * ralloc.c: safe_bcopy ==> memmove
12106         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12107         * s/msdos.h: Remove BCOPY macros.
12108         * insdel.c (gap_right): Remove BCOPY conditional code.
12109         * insdel.c (gap_left): Remove BCOPY conditional code.
12110         XEmacs demands a working ANSI C compiler - hence memmove.
12111
12112         * regex.c (regex_compile): Remove accidental use of trigraphs.
12113
12114 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12115
12116         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12117         event timestamp.
12118
12119 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12120
12121         * event-msw.c (mswindows_drain_windows_queue): Added the
12122         parameter.
12123         (mswindows_need_event): Commented the call to
12124         mswindows_drain_windows_queue().
12125         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12126         only.
12127
12128         * console-msw.h: Moved a few function prototypes here from
12129         event-msw.c.
12130
12131         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12132         parameter from unsigned short to unsigned long.
12133         (Fmswindows_shell_execute): Added return value.
12134
12135 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12136
12137         * sysdep.c (init_system_name):
12138           process-unix.c (unix_canonicalized_host_name):
12139         Don't call freeaddrinfo() if getaddrinfo() fails.
12140
12141         * process-unix.c (unix_open_unix_network_stream):
12142         Moved the code to get a port # into address loop.
12143
12144 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12145
12146         * buffer.c (reinit_vars_of_buffer):
12147         The right place to initialize conversion_in_dynarr and
12148         conversion_out_dynarr.
12149
12150         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12151
12152         * process-unix.c (unix_canonicalize_host_name): Muleize.
12153         (unix_open_network_stream): Muleize.
12154
12155         * buffer.h: Fix up prototypes for ralloc.c functions.
12156
12157 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12158         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12159         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12160                 instead of gethostbyname()
12161         * process-unix.c: In unix_canonicalize_host_name() and
12162                 unix_open_network_stream(), add code to use getaddrinfo()
12163                 instead of gethostbyname().
12164
12165 2000-01-27  Daniel Pittman <daniel@danann.net>
12166
12167         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12168         libs when built with flat Athena.
12169
12170 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12171
12172         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12173         Use coding standards for function prototypes.
12174
12175 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12176
12177         * dialog-msw.c (push_lisp_string_as_unicode):
12178         * doc.c (unparesseuxify_doc_string):
12179         * dired.c (Fuser_name_completion_1):
12180         * dired.c (Fuser_name_all_completions):
12181         * dired.c (free_user_cache):
12182         * dired.c (user_name_completion):
12183         * console-x.c (get_display_arg_connection):
12184         * minibuf.c (clear_echo_area_internal):
12185         * minibuf.c (echo_area_append):
12186         * eldap.c (Fldap_open):
12187         * eldap.c (Fldap_search_internal):
12188         * frame-x.c (x_set_frame_text_value):
12189         * frame-x.c (x_set_frame_properties):
12190         * frame-x.c (x_create_widgets):
12191         * redisplay-tty.c (term_get_fkeys_1):
12192         * objects-x.c (x_parse_nearest_color):
12193         * objects-x.c (x_valid_color_name_p):
12194         * objects-x.c (x_initialize_font_instance):
12195         * objects-x.c (x_list_fonts):
12196         * objects-x.c (x_find_charset_font):
12197         * tooltalk.c (Fadd_tooltalk_message_arg):
12198         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12199         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12200         * process-unix.c (unix_create_process):
12201         * ntproc.c (sys_spawnve):
12202         * sound.c (Fplay_sound_file):
12203         * sound.c (Fplay_sound):
12204         * buffer.c (init_initial_directory):
12205         * buffer.c (init_buffer):
12206         * editfns.c (init_editfns):
12207         * editfns.c (Ftemp_directory):
12208         * editfns.c (Fuser_full_name):
12209         * editfns.c (uncache_home_directory):
12210         * editfns.c (get_home_directory):
12211         * editfns.c (Fuser_home_directory):
12212         * editfns.c (Fformat_time_string):
12213         * editfns.c (Fcurrent_time_string):
12214         * gui-x.c (button_item_to_widget_value):
12215         * database.c (Fopen_database):
12216         * event-Xt.c (x_to_emacs_keysym):
12217         * event-Xt.c (x_event_to_emacs_event):
12218         * event-Xt.c (describe_event_window):
12219         * event-msw.c (mswindows_wnd_proc):
12220         * glyphs-eimage.c (jpeg_instantiate):
12221         * glyphs-eimage.c (gif_instantiate):
12222         * glyphs-eimage.c (png_instantiate):
12223         * glyphs-eimage.c (tiff_instantiate):
12224         * glyphs-x.c (xbm_instantiate_1):
12225         * glyphs-x.c (x_xbm_instantiate):
12226         * glyphs-x.c (x_xface_instantiate):
12227         * glyphs-x.c (autodetect_instantiate):
12228         * glyphs-x.c (cursor_font_instantiate):
12229         * glyphs-x.c (x_widget_instantiate):
12230         * glyphs-x.c (x_widget_set_property):
12231         * glyphs-x.c (x_widget_property):
12232         * glyphs-x.c (BUILD_GLYPH_INST):
12233         * print.c (write_string_to_stdio_stream):
12234         * print.c (output_string):
12235         * print.c (Falternate_debugging_output):
12236         * print.c (Fexternal_debugging_output):
12237         * glyphs-msw.c (extract_xpm_color_names):
12238         * glyphs-msw.c (mswindows_xpm_instantiate):
12239         * glyphs-msw.c (bmp_instantiate):
12240         * glyphs-msw.c (resource_name_to_resource):
12241         * glyphs-msw.c (mswindows_resource_instantiate):
12242         * glyphs-msw.c (xbm_instantiate_1):
12243         * glyphs-msw.c (mswindows_xbm_instantiate):
12244         * glyphs-msw.c (mswindows_xface_instantiate):
12245         * glyphs-msw.c (mswindows_widget_instantiate):
12246         * glyphs-msw.c (add_tree_item):
12247         * glyphs-msw.c (add_tab_item):
12248         * glyphs-msw.c (mswindows_combo_box_instantiate):
12249         * glyphs-msw.c (mswindows_widget_property):
12250         * glyphs-msw.c (mswindows_combo_box_property):
12251         * glyphs-msw.c (mswindows_widget_set_property):
12252         * console.c (stuff_buffered_input):
12253         * objects-msw.c (mswindows_initialize_color_instance):
12254         * objects-msw.c (mswindows_valid_color_name_p):
12255         * objects-msw.c (mswindows_list_fonts):
12256         * objects-msw.c (mswindows_font_instance_truename):
12257         * bytecode.c (optimize_compiled_function):
12258         * select-x.c (symbol_to_x_atom):
12259         * select-x.c (x_atom_to_symbol):
12260         * select-x.c (hack_motif_clipboard_selection):
12261         * select-x.c (selection_data_to_lisp_data):
12262         * select-x.c (lisp_data_to_selection_data):
12263         * select-x.c (Fx_get_cutbuffer_internal):
12264         * select-x.c (Fx_store_cutbuffer_internal):
12265         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12266         * buffer.h (TO_INTERNAL_FORMAT): New function.
12267         * emacs.c (make_arg_list_1):
12268         * emacs.c (make_argc_argv):
12269         * emacs.c (main_1):
12270         * emacs.c (Fdump_emacs):
12271         * emacs.c (split_string_by_emchar_1):
12272         * file-coding.h:
12273         * lisp.h:
12274         * lstream.h:
12275         * symsinit.h:
12276         * device-x.c (x_init_device):
12277         * device-x.c (Fx_valid_keysym_name_p):
12278         * device-x.c (Fx_get_font_path):
12279         * device-x.c (Fx_set_font_path):
12280         * glyphs.c (bitmap_to_lisp_data):
12281         * glyphs.c (pixmap_to_lisp_data):
12282         * alloc.c (make_ext_string): Use coding system arguments.  Update
12283         all callers.
12284         * alloc.c (build_string):
12285         * callproc.c (child_setup):
12286         * callproc.c (init_callproc):
12287         * fileio.c (lisp_strerror):
12288         * fileio.c (directory_file_name):
12289         * fileio.c (Fexpand_file_name):
12290         * fileio.c (Ffile_truename):
12291         * fileio.c (Fsysnetunam):
12292         * fileio.c (Fdo_auto_save):
12293         * sysdep.c (sys_readdir):
12294         * tests.c: New file.  Allow adding C tests.
12295         Replace GET_* macros with a more comprehensible and flexible
12296         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12297         Modify all calls.
12298         Any coding system can be used to do format conversion.
12299         Eliminate enum external_data_format.
12300         Eliminate convert_to_external_format.
12301         Eliminate convert_to_internal_format.
12302         Make sure file-name, keyboard, terminal, and ctext are always
12303         defined as coding systems or aliases.  Make
12304         file-name-coding-system, terminal-coding-system, and
12305         keyboard-coding-system magical variables that are equivalent to
12306         defining the corresponding coding system aliases.
12307
12308         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12309         * file-coding.c (Fcoding_system_alias_p): New function.
12310         * file-coding.c (Fcoding_system_aliasee): New function.
12311         * file-coding.c (append_suffix_to_symbol): New function.
12312         * file-coding.c (dangling_coding_system_alias_p): New function.
12313         * file-coding.c (Ffind_coding_system):
12314         * file-coding.c (Fcopy_coding_system):
12315         * file-coding.c (encode_coding_no_conversion):
12316         * file-coding.c (syms_of_file_coding):
12317         * file-coding.c (vars_of_file_coding):
12318         Rewrite coding system alias code.
12319         Allow nested aliases, like symbolic links.
12320         Allow redefinition of coding system aliases.
12321         Prevent existence of dangling coding system aliases.
12322
12323         * dired.c (Fuser_name_completion_1):
12324         * dired.c (Fuser_name_all_completions):
12325         A crash would happen if user did QUIT in the middle of building
12326         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12327
12328         * lisp.h:
12329         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12330
12331         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12332         an unsigned char *.  Update all callers.
12333
12334 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12335
12336         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12337
12338 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12339
12340         * elhash.c (hentry_description): Use more portable definition.
12341         (resize_hash_table): Initialize new hentries using
12342         xnew_array_and_zero, thereby simplifying the code.
12343
12344         * mule-charset.c (make_charset): Make sure entire object is
12345         initialized, to avoid Purify warnings.
12346
12347         * alloc.c (resize_string): Fix unlikely crash with big strings.
12348
12349 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12350
12351         * realpath.c (xrealpath):
12352         Don't call getwd().
12353
12354 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12355
12356         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12357
12358 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12359
12360         * unexelfsgi.c (unexec): Change the way we decide which segment
12361         should be extended.
12362
12363         Assumption that .bss section should be outside the PT_LOADable
12364         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12365         it's present) is inside the 'data' segment. This would fail the
12366         test which was used to find a segment to grow and cover new
12367         heap. Instead of this assumption, I created another one - on IRIX
12368         the segment to grow should start below .bss and it's address
12369         should extent above the end of .bss. Once this segment is
12370         identified, it's grown to accommodate the new heap and new
12371         zero-length .bss section is added at the end of .data2.
12372
12373 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12374
12375         * eval.c (Feval): Wrong number of arguments should use original
12376         function, not the indirect_function version of it.
12377
12378 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12379
12380         * glyphs-x.c (x_button_instantiate): Don't add image if
12381         it is not a pixmap.
12382         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12383         is relative.
12384
12385 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12386
12387         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12388         declaration.
12389         (DEFVAR_INT_MAGIC): Ditto.
12390         (DEFVAR_BOOL_MAGIC): Ditto.
12391         * glyphs.h: Reindent backslash.
12392
12393 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12394
12395         * glyphs-widget.c (layout_query_geometry):
12396         (layout_layout): Use correct types for gheight, gwidth.
12397
12398 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12399
12400         * EmacsManager.c (QueryGeometry): Purified.
12401
12402 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12403
12404         * alloc.c (make_float): Make sure entire object is initialized, to
12405         avoid Purify warnings.
12406         (pdump_register_sub): Remove useless assignment.
12407         (pdump): Use xmalloc, not malloc.
12408         (pdump_load): Use xmalloc, not malloc.
12409
12410 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12411
12412         * callproc.c:
12413         * dired-msw.c:
12414         * fileio.c:
12415         * process-nt.c:
12416         * redisplay-msw.c:
12417         * sysdep.c: Removed redundant #include <windows.h>
12418
12419 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12420
12421         * frame.c (delete_frame_internal): Do not delete device when its
12422         implementation so declares.
12423         (delete_frame_internal): Set device selected frame to nil when
12424         last frame goes away.
12425
12426         * device-msw.c (msprinter_device_system_metrics): Implemented.
12427         (mswindows_device_system_metrics): Added 'device-dpi property.
12428
12429         * device.c: (Fdevice_printer_p): Added.
12430         Added 'offset-workspace device metric.
12431
12432         * console.h (device_metrics): Declared DM_offset_workspace.
12433
12434 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12435
12436         * fileio.c (Ffile_truename): Remove pointless and confusing
12437         initialization of elen.
12438
12439         * glyphs-widget.c: Compiler warning fixes.
12440
12441 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12442
12443         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12444         instead of a Lisp_Object as argument to make it consistent with
12445         the other LIVE_P macros.
12446         (CHECK_LIVE_PROCESS): New macro.
12447
12448         * process.c: Declare Qprocess_live_p.
12449         (Fprocess_live_p): New function.
12450         (create_process): Use PROCESS_LIVE_P.
12451         (read_process_output): Ditto.
12452         (set_process_filter): Ditto.
12453         (Fdelete_process): Ditto.
12454         (kill_buffer_processes): Ditto
12455         (process_send_signal): Use CHECK_LIVE_PROCESS.
12456         (Fprocess_input_coding_system): Check whether process is still
12457         alive (fix PR#1061).
12458         (Fprocess_output_coding_system): Ditto.
12459         (Fprocess_coding_system): Ditto.
12460         (Fset_process_input_coding_system): Ditto.
12461         (Fset_process_output_coding_system): Ditto.
12462
12463 2000-01-23  Andy Piper  <andy@xemacs.org>
12464
12465         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12466         layout and widget.
12467
12468         * glyphs.c (mark_image_instance): take into account changed
12469         image_instance format.
12470         (image_instance_equal): ditto.
12471         (image_instance_hash): ditto.
12472
12473         * glyphs-widget.c (widget_instantiate): Incorporate layout
12474         instantiation here. Delay layout of the layout until later.
12475         (layout_instantiate): deleted.
12476         (layout_query_geometry): new function. get the geometry of a
12477         layout.
12478         (layout_layout): layout a layout dynamically.
12479         (image_instantiator_widget): New function - splitting up
12480         image_instantiator_format_create_glyphs_widget for netwinder
12481         compilation.
12482         (image_instantiator_buttons):
12483         (image_instantiator_edit_fields):
12484         (image_instantiator_combo_box):
12485         (image_instantiator_scrollbar):
12486         (image_instantiator_progress_guage):
12487         (image_instantiator_tree_view):
12488         (image_instantiator_tab_control):
12489         (image_instantiator_labels):
12490         (image_instantiator_layout): ditto.
12491         (image_instantiator_format_create_glyphs_widget): Call preceding
12492         functions.
12493
12494 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12495
12496         * process.c (Fset_process_coding_system):
12497         * device-x.c (Fx_keysym_hash_table):
12498         Docstring fixes.
12499
12500         * lstream.c (Lstream_write): Return documented value, not 0.
12501
12502         * fileio.c (directory_file_name):
12503         (Fsubstitute_in_file_name):
12504         (Fsubstitute_insert_file_contents_internal):
12505         (Fwrite_region_internal):
12506         * emacs.c:
12507         * sysdep.c:
12508         * getloadavg.c:
12509         * systty.h:
12510         Remove vestigial APOLLO-conditional code.
12511
12512 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12513
12514         * getpagesize.h: Add guard macros.
12515         * libsst.h: Add guard macros.
12516         * libst.h: Add guard macros.
12517         * line-number.h: Add guard macros.
12518         * ndir.h: Add guard macros.
12519         * sysfloat.h: Add guard macros.
12520         * sysfile.h: Add guard macros.
12521         * sysproc.h: Add guard macros.
12522         * syswait.h: Add guard macros.
12523         * xintrinsic.h: Add guard macros.
12524         * xintrinsicp.h: Add guard macros.
12525         * xmmanager.h: Add guard macros.
12526         * xmmanagerp.h: Add guard macros.
12527         * xmprimitive.h: Add guard macros.
12528         * xmu.h: Add guard macros.
12529         * gpmevent.h: Add copyright statement. Add guard macros.
12530         * miscplay.h: Add guard macros.
12531         * *.h: Use consistent C-standards-approved guard macro names.
12532
12533         * opaque.c (make_opaque): Switch parameter order.
12534         * opaque.h (make_opaque): Switch parameter order.
12535         Update all callers.
12536         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12537
12538         * config.h.in (type_checking_assert): Added.
12539         (bufpos_checking_assert): Added.
12540
12541 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12542
12543         * alloc.c: Harmless pdump changes.
12544         - Use countof().
12545         - spell alignment correctly.
12546         * sysdep.c: Use countof()
12547
12548 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12549
12550         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12551         initially_selected_for_input() console method, default to 0.
12552         (semi_canonicalize_console_connection): Try to delegate to
12553         canonicalize_console_connection if no such console method.
12554         (canonicalize_console_connection): Vice versa.
12555         (print_console): Do not print nil connection.
12556
12557         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12558         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12559         (XDEVIMPF_FRAMELESS_OK): Added.
12560         (CONSOLE_INHERITS_METHOD): Added.
12561
12562         * console-msw.c (mswindows_canonicalize_console_connection):
12563         Added.
12564         (mswindows_canonicalize_device_connection): Added.
12565
12566         * console-msw.h (struct msprinter_device): Added this struct and
12567         accessor macros.
12568         (mswindows_device): Made fontlist a lisp object.
12569
12570         * device.c (semi_canonicalize_device_connection):  Try to delegate
12571         to canonicalize_device_connection if no such console method.
12572         (canonicalize_device_connection): Vice versa.
12573         (print_device): Do not print nil connection.
12574
12575         * device-msw.c (mswindows_init_device): Call InitCommonControls
12576         when have widgets.
12577         (mswindows_delete_device): Removed fontlist deallocation.
12578         (mswindows_mark_device): Added.
12579
12580         * events.c (event_equal): Added abort() at unreached code.
12581         (event_hash): Ditto.
12582
12583         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12584         fallback tags of Windows devices.
12585
12586         * general.c (syms_of_general): Initialized Qmsprinter.
12587
12588         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12589         of fallback tags of Windows devices.
12590
12591         * lisp.h: Declared Qmsprinter.
12592
12593         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12594         of strings.
12595         (mswindows_list_fonts): Ditto.
12596         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12597         that it can be used by both mswindows and msprinter devices.
12598         (initialize_font_instance): Added.
12599         (mswindows_initialize_font_instance): Use it.
12600         (msprinter_initialize_font_instance): Added.
12601
12602         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12603         and implementation flags check.
12604         (redisplay_without_hooks): Changed the call to the above.
12605         (Fredraw_device): Ditto.
12606         (Fredisplay_device): Ditto.
12607
12608         * redisplay-msw.c (get_frame_dc): Implemented.
12609         (get_frame_compdc): Implemented.
12610         (many functions): Use the two functions above to get device
12611         contexts, ether for a window or a printer.
12612
12613 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12614
12615         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12616         initialization here.
12617         (init_symbols_once_early): Call it.
12618         * emacs.c (main_1): Call it.
12619         * symsinit.h: Declare it.
12620
12621 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12622
12623         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12624         Lisp_Object.
12625         (pdump_backtrace): Ditto.
12626         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12627         (pdump_get_entry): Abort if trying to register a null pointer.
12628         (pdump_dump_data): Cleanup types when relocating.
12629         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12630         (pdump_dump_rtables): Remove bad casts.
12631         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12632         Lisp_Object instead of a EMACS_INT for the hashtable
12633         reorganization.
12634
12635 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12636
12637         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12638
12639         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12640
12641         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12642
12643         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12644
12645 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12646
12647         * faces.h (FACE_STRIKETHRU_P): Added.
12648
12649         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12650         of font variants.
12651
12652         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12653         (mswindows_set_dc_font): New function, aware of font variants,
12654         separated from mswindows_update_dc.
12655
12656         * objects-msw.h (struct mswindows_font_instance_data): Added
12657         definition.
12658
12659         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12660         cached fonts and the data structure.
12661         (mswindows_initialize_font_instance): Added creation of font data
12662         structure.
12663         (mswindows_print_font_instance): Print at least something.
12664         (mswindows_create_font_variant): Implemented.
12665         (mswindows_get_hfont): Implemented.
12666
12667 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12668
12669         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12670         prototyping problem with msvc.
12671
12672         * emacs.c (main_1): added syms_of_gui_mswindows() call
12673
12674         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12675         syms_of_gui_mswindows() function
12676
12677         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12678
12679 2000-01-18  Martin Buchholz <martin@xemacs.org>
12680
12681         * XEmacs 21.2.27 is released.
12682
12683 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12684
12685         * glyphs-eimage.c (struct tiff_error_struct):
12686         (tiff_error_func):
12687         (tiff_warning_func):
12688         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12689
12690         * unexmips.c:
12691         * unexhp9k3.c:
12692         * unexfreebsd.c:
12693         * unexec.c: Remove vestigial Lucid C code.
12694         * unexalpha.c:
12695         * unexaix.c:
12696         * termcap.c:
12697         * libsst.c: Ansify.
12698         Remove declarations of errno and strerror().
12699
12700         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12701
12702         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12703
12704 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12705
12706         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12707         Optimize.
12708
12709 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12710
12711         * md5.c:
12712         * file-coding.c:
12713         * file-coding.h:
12714         Change enum eol_type to eol_type_t.
12715
12716 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12717
12718         * gui.c (get_gui_callback): Check cons before accessing car.
12719
12720 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12721
12722         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12723         (XSETSPECIFIER_TYPE): Ditto.
12724
12725 2000-01-17  Didier Verna  <didier@xemacs.org>
12726
12727         * redisplay.c (generate_fstring_runes): compute string size in
12728         characters, not bytes.
12729
12730 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12731
12732         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12733
12734 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12735
12736         * print.c (print_error_message): Call print_prepare().
12737
12738 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12739
12740         * .dbxrc: Renamed from dbxrc.
12741
12742         * events.c (event_to_character):
12743         Use `assert (foo)' instead of `if (!foo) abort()'
12744
12745         * .gdbinit (xtype): Add documentation.
12746         * .gdbinit (check-temacs): New function.
12747         * .gdbinit (check-xemacs): New function.
12748         * dbxrc (check-xemacs): New function.
12749         * dbxrc (check-xemacs): New function.
12750
12751 2000-01-14  Andy Piper  <andy@xemacs.org>
12752
12753         * glyphs-widget.c (widget_query_geometry): Make sure that we
12754         calculate default dimensions correctly.
12755
12756 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12757
12758         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12759
12760         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12761         pdump_wire'd variable.
12762
12763         * emacs.c: (main_1): Conditionalized calls to
12764         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12765
12766 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12767
12768         * window.c (Fset_window_configuration):
12769         * sysdep.c (_start):
12770         * input-method-motif.c (res):
12771         * event-Xt.c (Xt_process_to_emacs_event):
12772         Simple compiler warning fixes.
12773
12774         * bytecode.c (funcall_compiled_function): Use the original
12775         function symbol on the backtrace list in preference to the
12776         compiled_function object in error messages.
12777
12778 2000-01-13  Andy Piper  <andy@xemacs.org>
12779
12780         * glyphs-x.c (update_widget_face): Make sure we update the widget
12781         background as well as foreground.
12782
12783 2000-01-13  Andy Piper  <andy@xemacs.org>
12784
12785         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12786         fields to subwindow.
12787         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12788         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12789         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12790         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12791
12792         * glyphs-widget.c (check_valid_tab_orientation): new function.
12793         (initialize_widget_image_instance): zero orientation and
12794         justification.
12795         (widget_instantiate): pick up orientation.
12796         (tab_control_query_geometry): return appropriate values for
12797         vertical tabs.
12798
12799         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12800         appropriate creation flags for left, right and bottom tabs.
12801
12802         * s/cygwin32.h: add tab definitions.
12803
12804 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12805
12806         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12807         frame upon hiding a subwindow.
12808         (mswindows_button_instantiate): Changed the push button style to
12809         BS_PUSHBUTTON.
12810         (mswindows_button_instantiate): Removed button BS_NOTIFY
12811         style.
12812         (mswindows_button_instantiate): Removed redundant check for
12813         a disabled gui item.
12814         (mswindows_button_instantiate): Made use of WS_TABSTOP
12815         consistent: "operable" controls (edit, button, tree, scroll) have
12816         this style, "display-only" ones (static, progress gauge) do
12817         not. This style is currently ignored by XEmacs though. Also,
12818         removed the WS_EX_CONTROLPARENT style - it is not for children,
12819         it is for their parents!
12820         (mswindows_edit_field_instantiate): Ditto.
12821         (mswindows_progress_gauge_instantiate): Ditto.
12822         (mswindows_tree_view_instantiate): Ditto.
12823         (mswindows_tab_control_instantiate): Ditto.
12824         (mswindows_scrollbar_instantiate): Ditto.
12825         (mswindows_combo_box_instantiate): Ditto.
12826         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12827         style to the "clip" window.
12828         (mswindows_button_instantiate): Removed compilation warning by
12829         equally typing terms of the ?: operator.
12830
12831 2000-01-12  Didier Verna  <didier@xemacs.org>
12832
12833         * redisplay.c (generate_fstring_runes): new parameter holding the
12834         last modeline-format extent.
12835         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12836         extent, fill the glyph block with it.
12837         (generate_fstring_runes): handle these parameters.
12838         (generate_formatted_string_db): ditto.
12839
12840         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12841         glyphs'extents in the modeline.
12842
12843 1999-01-11  Mike Woolley  <mike@bulsara.com>
12844
12845         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12846         256Mb, as a workaround for the non-starting problem many people
12847         have experienced.
12848
12849 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12850
12851         * console-tty.c (Fset_console_tty_output_coding_system):
12852         Force redrawing tty frame.
12853
12854 2000-01-10  Didier Verna  <didier@xemacs.org>
12855
12856         * redisplay.c (generate_fstring_runes): fix size computation bug.
12857
12858 2000-01-09  William M. Perry <wmperry@aventail.com>
12859
12860         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12861
12862 2000-01-09  Andy Piper  <andy@xemacs.org>
12863
12864         * glyphs-msw.c: index -> i to avoid shadows.
12865         (xbm_create_bitmap_from_data): make static.
12866         (check_valid_string_or_int): deleted.
12867         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12868
12869         * glyphs-x.c (x_update_subwindow): remove unused args.
12870
12871         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12872         back pointer - this is done in allocate_image_instance.
12873         (query_string_font): return Qnil to make the compiler happy.
12874         (unmap_subwindow): set to ~0 to make the compiler happy.
12875         (glyph_query_geometry): comment out until used.
12876         (glyph_layout): ditto.
12877
12878 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12879
12880         * insdel.c (signal_after_change): Remove extraneous unbind_to().