update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * chartab.c (save_uint8_byte_table): Don't clear the table.
4         (save_uint16_byte_table): Likewise.
5         (save_byte_table): Likewise.
6         (Fmount_char_attribute_table): New function.
7         (syms_of_chartab): Add new builtin function
8         `mount-char-attribute-table'.
9
10 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
11
12         * mule-charset.c (Fsave_charset_mapping_table): Open database as
13         "w+" mode.
14         (load_char_decoding_entry_maybe): Open database as read-only mode.
15
16         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
17         open database as "w+" mode.
18         (load_char_attribute_maybe): Open database as read-only mode.
19         (Fload_char_attribute_table): Likewise.
20
21 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
22
23         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
24         (char_table_description): Delete member `db_file'.
25         (Fmake_char_table): Don't refer `ct->db_file'.
26         (Fcopy_char_table): Likewise.
27         (Fsave_char_attribute_table): Likewise.
28         (Fclose_char_attribute_table): Likewise.
29         (Freset_char_attribute_table): Likewise.
30         (load_char_attribute_maybe): Likewise.
31         (Fload_char_attribute_table): Likewise.
32
33         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
34
35 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
38         (Fsave_char_attribute_table): Don't check `ct->db_file' if
39         `ct->db' is living.
40         (load_char_attribute_maybe): Likewise.
41         (Fload_char_attribute_table): Likewise.
42
43 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
44
45         * chartab.c (Fclose_char_attribute_table): Set Qnil on
46         `ct->db_file' unconditionally.
47
48 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
49
50         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
51         UTF-2000.
52         (char_table_description): Add description for `db_file' and `db'
53         in UTF-2000.
54         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
55         UTF-2000.
56         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
57         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
58         (Fclose_char_attribute_table): New function.
59         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
60         (load_char_attribute_maybe): Change interface; use `cit->db_file'
61         and `cit->db'.
62         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
63         (syms_of_chartab): Add new builtin function
64         `Fclose_char_attribute_table'.
65
66 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
67
68         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
69         `db' in UTF-2000.
70         (load_char_attribute_maybe): Change interface.
71         (get_char_id_table): Modify for `load_char_attribute_maybe'.
72
73 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
74
75         * database.h: Add an EXFUN for `Fdatabase_live_p'.
76
77 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
80         instead of `DECODE_CHAR' for mother; don't use special code for
81         chinese-big5 to use code space of chinese-big5-1 and
82         chinese-big5-2.
83         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
84         `MAX_CHAR_BIG5_CDP' for chinese-big5.
85
86         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
87         (MAX_CHAR_BIG5_CDP): Revival.
88
89 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
90
91         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
92         the XLFD registry-encoding name of `chinese-big5'.
93
94 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
95
96         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
97         (Qchinese_big5_cdp): Deleted.
98         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
99         (complex_vars_of_mule_charset): Delete coded-charset
100         `chinese-big5-cdp'.
101
102         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
103         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
104         `CHARSET_ID_OFFSET - n' for private CCS.
105         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
106         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
107         of `MIN_LEADING_BYTE'.
108         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
109         `(CHARSET_ID_OFFSET - 97)'.
110         (MIN_CHAR_BIG5_CDP): Deleted.
111         (MAX_CHAR_BIG5_CDP): Deleted.
112
113 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
116
117 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
118
119         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
120         (vars_of_mule): Add new variable `utf-2000-version' [moved from
121         chartab.c].
122
123         * chartab.c (Vutf_2000_version): Moved to mule.c.
124         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
125
126 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
127
128         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
129         when HAVE_CHISE_CLIENT is not defined.
130
131         * mule.c (vars_of_mule): Provide feature `chise' when
132         HAVE_CHISE_CLIENT is defined.
133
134 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
135
136         * config.h.in (UTF2000): Add comment.
137         (HAVE_CHISE_CLIENT): New macro.
138
139 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
140
141         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
142         CONSP.
143         (Fput_char_attribute): Likewise.
144         (char_attribute_system_db_file): Encode file-name of attribute.
145         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
146         the initial value.
147
148 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
149
150         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
151         (Fsave_charset_mapping_table): Use
152         `char_attribute_system_db_file'.
153         (load_char_decoding_entry_maybe): Likewise.
154
155         * chartab.h (Qsystem_char_id): New external variable.
156         (char_attribute_system_db_file): New prototype.
157
158         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
159         (char_attribute_system_db_file): New function.
160         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
161         (Freset_char_attribute_table): Likewise.
162         (load_char_attribute_maybe): Likewise.
163         (Fload_char_attribute_table): Likewise.
164         (syms_of_chartab): Add new symbol `system-char-id'.
165
166 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
167
168         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
169         `XCHARSET_GRAPHIC(ccs)'.
170
171 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
172
173         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
174
175 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
176
177         * chartab.c (Q_ucs_variants): New variable.
178         (syms_of_chartab): Add new symbol `->ucs-variants'.
179         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
180         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
181         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
182
183         * mule-charset.c (load_char_decoding_entry_maybe): New function.
184
185         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
186         `HAVE_DATABASE' is defined.
187         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
188         `HAVE_DATABASE' is defined.
189
190 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
191
192         * chartab.c (Fsave_char_attribute_table): Don't clear internal
193         attribute-table.
194         (Freset_char_attribute_table): New function.
195         (syms_of_chartab): Add new builtin function
196         `reset-char-attribute-table'.
197
198 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
199
200         * chartab.c (load_char_attribute_maybe): Don't make directories.
201
202 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
203
204         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
205
206         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
207         for decoding-table.
208
209 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
210
211         * mule-charset.c (Fsave_charset_mapping_table): Use
212         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
213
214         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
215         instead of `XCHARSET_CHARS'.
216
217 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
218
219         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
220         (XCHARSET_BYTE_SIZE): Likewise.
221
222         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
223         mule-charset.c].
224         (XCHARSET_BYTE_SIZE): Likewise.
225
226 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
227
228         * chartab.c (Fput_char_attribute): Use exec-directory instead of
229         data-directory to store database.
230         (Fsave_char_attribute_table): Likewise.
231         (load_char_attribute_maybe): Likewise.
232         (Fload_char_attribute_table): Likewise.
233
234 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
235
236         * mule-charset.c (Fsave_charset_mapping_table): New function.
237         (syms_of_mule_charset): Add new builtin function
238         `save-charset-mapping-table'.
239
240 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
241
242         * char-ucs.h (decoding_table_check_elements): Delete prototype.
243         (get_ccs_octet_table): New inline function.
244         (put_ccs_octet_table): Likewise.
245         (decoding_table_put_char): Use `get_ccs_octet_table' and
246         `put_ccs_octet_table'.
247         (decoding_table_remove_char): Use `decoding_table_put_char'.
248         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
249
250         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
251         into encoding_table.
252         (make_charset): Use Qunbound instead Qnil as initial value of
253         decoding_table.
254
255 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
256
257         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
258         element is Qunloaded.
259         (map_over_uint16_byte_table): Likewise.
260         (map_over_byte_table): Likewise.
261         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
262         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
263         database support, load encoding-table of the specified
264         coded-charset if it is not loaded yet.
265         (save_uint8_byte_table): New function of UTF-2000 with external
266         database support.
267         (save_uint16_byte_table): Likewise.
268         (save_byte_table): Likewise.
269         (Fput_char_attribute): Don't store value into external database
270         even if the external database feature is supported in UTF-2000;
271         set `attribute' as name of char-table if the external database
272         feature is supported.
273         (Fsave_char_attribute_table): New function in UTF-2000.
274         (syms_of_chartab): Add new builtin function
275         `save-char-attribute-table' in UTF-2000.
276
277 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
278
279         * chartab.c (char_attribute_table_to_put): New variable in
280         UTF-2000.
281         (Qput_char_table_map_function): Likewise.
282         (value_to_put): Likewise.
283         (Fput_char_table_map_function): New function in UTF-2000.
284         (put_char_table): Use `Fmap_char_attribute' for
285         CHARTAB_RANGE_CHARSET in UTF-2000.
286         (Fput_char_attribute): Store symbol instead of string in
287         `XCHAR_TABLE_NAME (table)'.
288         (load_char_attribute_maybe): Likewise.
289         (syms_of_chartab): Add new symbol/function
290         `put-char-table-map-function'.
291
292 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
293
294         * database.h: Add new EXFUN for `Fmap_database'.
295
296         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
297         (syms_of_database): Likewise.
298
299         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
300         UTF-2000.
301         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
302         (XCHAR_TABLE_UNLOADED): Likewise.
303
304         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
305         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
306         HAVE_DATABASE is defined.
307         (char_attribute_table_to_load): New variable of UTF-2000 with
308         external database support.
309         (Qload_char_attribute_table_map_function): Likewise.
310         (Fload_char_attribute_table_map_function): New function of
311         UTF-2000 with external database support.
312         (Fload_char_attribute_table): New function of UTF-2000.
313         (Fmap_char_attribute): Call Fload_char_attribute_table if
314         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
315         (syms_of_chartab): Add new symbol and function
316         `load-char-attribute-table-map-function' in UTF-2000 with external
317         database support; add new function `load-char-attribute-table' in
318         UTF-2000.
319
320 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * chartab.h (load_char_attribute_maybe): New prototype for
323         UTF-2000 with DATABASE support.
324         (get_char_id_table): Use `load_char_attribute_maybe' if
325         HAVE_DATABASE is defined.
326
327         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
328         with DATABASE support.
329
330 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
331
332         * chartab.c (Fput_char_attribute): Use S-expression as key of
333         external database.
334
335         * chartab.h (get_char_id_table): Use S-expression as key of
336         external database.
337
338 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
339
340         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
341         if an element is not loaded, load the corresponding attributes
342         from an external database.
343         (map_over_uint16_byte_table): Likewise.
344         (map_over_byte_table): Likewise.
345         (map_char_table): Modify for `map_over_uint8_byte_table',
346         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
347         element is not loaded, load the corresponding attributes from an
348         external database.
349         (Fput_char_attribute): Change initial values to Qunloaded.
350
351         * chartab.h (get_char_id_table): If a character attribute is not
352         loaded and the attribute value is not found in an external
353         database, store Qunbound as the attribute value.
354
355 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
356
357         * chartab.c (BT_UINT8_unloaded): New macro.
358         (UINT8_VALUE_P): Accept Qunloaded.
359         (UINT8_ENCODE): Likewise.
360         (UINT8_DECODE): Likewise.
361         (BT_UINT16_unloaded): New macro.
362         (UINT16_VALUE_P): Accept Qunloaded.
363         (UINT16_ENCODE): Likewise.
364         (UINT16_DECODE): Likewise.
365         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
366         BT_UINT16_unloaded.
367         (mark_char_table): Mark `ct->name' in UTF-2000.
368         (char_table_description): Add `name' in UTF-2000.
369         (Fmake_char_table): Initialize `ct->name'.
370         (Fcopy_char_table): Copy `ct->name'.
371         (Fput_char_attribute): Store value into an external database if
372         HAVE_DATABASE is defined.
373
374         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
375         UTF-2000.
376         (CHAR_TABLE_NAME): New macro in UTF-2000.
377         (XCHAR_TABLE_NAME): New macro in UTF-2000.
378         (get_char_id_table): Try to read an external database if Qunloaded
379         is stored in a table.
380
381         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
382         Qunloaded.
383
384 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
385
386         * database.h: Add EXFUN definitions for Fopen_database,
387         Fput_database, Fget_database and Fclose_database.
388
389         * data.c (Qunloaded): New variable in UTF-2000.
390
391         * lisp.h (Qunloaded): New variable in UTF-2000.
392
393 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
394
395         * mule-charset.c (put_char_ccs_code_point): Modify for
396         `decoding_table_remove_char' and `decoding_table_put_char'.
397         (remove_char_ccs): Modify for `decoding_table_remove_char'.
398
399         * char-ucs.h (decoding_table_remove_char): Change arguments to
400         hide decoding_table vector.
401         (decoding_table_put_char): Likewise.
402
403 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
404
405         * mule-charset.c (decoding_table_remove_char): Moved to
406         char-ucs.h.
407         (decoding_table_put_char): Likewise.
408
409         * char-ucs.h (decoding_table_check_elements): New prototype [moved
410         from mule-charset.c].
411         (decoding_table_remove_char): New inline function [moved from
412         mule-charset.c].
413         (decoding_table_put_char): Likewise.
414
415 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
416
417         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
418         extension.
419
420 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
421
422         * mule-charset.c (decode_builtin_char): Support mother charsets.
423
424 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
425
426         * mule-charset.c (Q94x94x60): New variable.
427         (charset_code_point): Support conversion `94x94x60'.
428         (Fmake_charset): Likewise.
429         (syms_of_mule_charset): Add new symbol `94x94x60'.
430
431         * char-ucs.h (CONVERSION_94x94x60): New macro.
432
433 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
434
435         * mule-charset.c (charset_code_point): Unify code about
436         `code-offset'.
437
438 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
439
440         * mule-charset.c (charset_code_point): Merge code about builtin
441         characters into code about mother charsets; don't use
442         `range_charset_code_point'.
443         (range_charset_code_point): Deleted.
444
445 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
446
447         * mule-charset.c (Qcode_offset): New variable.
448         (Fmake_charset): Use `XUINT' to get value of `min-code' and
449         `max-code'; accept new property `code-offset'.
450         (syms_of_mule_charset): Add new symbol `code-offset'.
451
452 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * mule-charset.c (range_charset_code_point): Fixed.
455
456 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * mule-charset.c (decode_builtin_char): Change semantics of
459         code-offset of coded-charset.
460         (charset_code_point): Likewise.
461         (range_charset_code_point): Likewise.
462         (complex_vars_of_mule_charset): Modify for the change.
463
464 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * mule-charset.c (Fencode_char): Reverse arguments.
467
468         * mule-charset.c (charset_code_point): Fixed.
469
470 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
471
472         * mule-charset.c (Vcharset_mojikyo): Deleted.
473         (Vcharset_mojikyo_2022_1): Deleted.
474         (Vcharset_mojikyo_pj_{1..21}): Deleted.
475         (Qmin_code): New variable in UTF-2000.
476         (Qmax_code): Likewise.
477         (Qmother): Likewise.
478         (Qconversion): Likewise.
479         (Q94x60): Likewise.
480         (Qmojikyo): Deleted.
481         (Qmojikyo_2022_1): Deleted.
482         (Qmojikyo_pj_{1..22}): Deleted.
483         (mark_charset): Mark `cs->mother'.
484         (charset_description): Add description for `mother'.
485         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
486         new arguments `mother' and `conversion'; use
487         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
488         (charset_code_point): Moved from char-ucs.h; support `mother'
489         charset feature.
490         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
491         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
492         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
493         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
494         allow 2 as the value of `graphic' in UTF-2000; add new properties
495         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
496         require `final' in UTF-2000; modify for `make_charset'.
497         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
498         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
499         (Fcharset_property): Support `mother', `min-code' and `max-code'.
500         (Fencode_char): New function.
501         (syms_of_mule_charset): Add new builtin function `encode-char' in
502         UTF-2000; add new symbols `min-code', `max-code', `mother',
503         `conversion' and `94x60'; delete symbols `mojikyo',
504         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
505         (complex_vars_of_mule_charset): Modify for `make_charset' change;
506         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
507         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
508
509         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
510         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
511
512         * char-ucs.h (Vcharset_mojikyo): Deleted.
513         (Vcharset_mojikyo_2022_1): Deleted.
514         (LEADING_BYTE_MOJIKYO): Deleted.
515         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
516         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
517         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
518         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
519         add new member `mother'; add new member `conversion'.
520         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
521         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
522         (CHARSET_MOTHER): New macro.
523         (CHARSET_CONVERSION): New macro.
524         (CONVERSION_IDENTICAL): New macro.
525         (CONVERSION_94x60): New macro.
526         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
527         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
528         (XCHARSET_MOTHER): New macro.
529         (XCHARSET_CONVERSION): New macro.
530         (MIN_CHAR_MOJIKYO): Deleted.
531         (MAX_CHAR_MOJIKYO): Deleted.
532         (DECODE_MOJIKYO_2022): Deleted.
533         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
534         (charset_code_point): Changed to non-inline function.
535         (encode_char_1): Use `charset_code_point'.
536         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
537
538 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
539
540         * lread.c (read_compiled_function): Fix prototype.
541         (read_vector): Likewise.
542
543 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
544
545         * lrecord.h (struct lrecord_header): Delete `older'.
546         (set_lheader_implementation): Delete code for `older'.
547         (set_lheader_older_implementation): Deleted.
548         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
549         (OLDER_RECORD_P): Deleted.
550         (OLDER_RECORD_HEADER_P): Deleted.
551         (alloc_older_lcrecord): Deleted.
552         (alloc_older_lcrecord_type): Deleted.
553
554         * alloc.c (all_older_lcrecords): Deleted.
555         (alloc_older_lcrecord): Deleted.
556         (disksave_object_finalization_1): Delete code for older objects.
557         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
558         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
559
560 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * mule-charset.c (decoding_table_put_char): Use `make_vector'
563         instead of `make_older_vector'.
564         (put_char_ccs_code_point): Likewise.
565         (mark_charset): Mark `cs->decoding_table'.
566         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
567
568         * lisp.h (make_older_vector): Deleted.
569         (make_vector_newer): Deleted.
570
571         * config.h.in (HAVE_GGC): Deleted.
572
573         * alloc.c (make_older_vector): Deleted.
574         (make_vector_newer_1): Deleted.
575         (make_vector_newer): Deleted.
576
577 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
578
579         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
580         (Qideograph_daikanwa_2): New variable.
581         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
582         (complex_vars_of_mule_charset): Add new coded-charset
583         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
584         `LEADING_BYTE_DAIKANWA'.
585
586         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
587         (LEADING_BYTE_DAIKANWA_1): New macro.
588         (LEADING_BYTE_DAIKANWA_2): New macro.
589         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
590
591 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
592
593         * mule-charset.c (complex_vars_of_mule_charset): Change
594         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
595         the second revised version.
596
597 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * mule-charset.c (Vcharset_ucs_smp): New variable.
600         (Vcharset_ucs_sip): New variable.
601         (Qucs_smp): New variable.
602         (Qucs_sip): New variable.
603         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
604         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
605         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
606         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
607         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
608         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
609
610         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
611         (LEADING_BYTE_UCS_SIP): New macro.
612         (MIN_CHAR_SMP): New macro.
613         (MAX_CHAR_SMP): New macro.
614         (MIN_CHAR_SIP): New macro.
615         (MAX_CHAR_SIP): New macro.
616
617 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
618
619         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
620         utf-2000.
621
622 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
623
624         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
625         value; don't store value into `encoding_table' of `Lisp_Charset'.
626         (mark_charset): `encoding_table' was deleted.
627         (charset_description): Likewise.
628         (make_charset): Likewise.
629         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
630         `put_char_ccs_code_point'.
631
632         * chartab.h (Fput_char_attribute): New EXFUN.
633
634         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
635         is unified with normal symbol space.
636         (Fget_char_attribute): Likewise.
637         (Fput_char_attribute): Likewise; behavior of
638         `put_char_ccs_code_point' is changed.
639
640         * char-ucs.h: Include "elhash.h".
641         (Vchar_attribute_hash_table): New external variable.
642         (struct Lisp_Charset): Delete `encoding_table'.
643         (CHARSET_ENCODING_TABLE): New implementation; refer
644         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
645         `Lisp_Charset'.
646
647 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
648
649         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
650         (cs) == 0.
651
652 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
653
654         * text-coding.c (char_encode_big5): Prefer charset-g1 than
655         `chinese-big5'.
656
657 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * chartab.c (uint8_byte_table_description): New constant.
660         (uint8-byte-table): Use `uint8_byte_table_description'.
661         (uint16_byte_table_description): New constant.
662         (uint16-byte-table): Use `uint16_byte_table_description'.
663
664 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
667         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
668
669 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
670
671         * mule-charset.c (Vcharset_ucs_ks): New variable.
672         (Qucs_ks): New variable.
673         (syms_of_mule_charset): Add new symbol `ucs-ks'.
674         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
675
676         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
677
678 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
681         (Fdecode_char): Likewise.
682
683         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
684         chartab.h.
685         (Fdefine_char): Modify for Fdecode_char.
686         (Ffind_char): Likewise.
687
688         * mule-charset.c (Fdecode_char): Add new optional argument
689         `defined-only'.
690         (Fdecode_builtin_char): Modify for `Fdecode_char'.
691
692 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
695         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
696         (allocate_coding_system): Initialize initial-charsets of
697         CODESYS_BIG5 in XEmacs UTF-2000.
698         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
699         CODESYS_BIG5 in XEmacs UTF-2000.
700         (decode_coding_big5): Use initial-charset-g0 and -g1 of
701         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
702
703         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
704         variables.
705         (Qideograph_hanziku_{1 .. 12}): Likewise.
706         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
707         .. 12}'.
708         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
709         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
710         `ideograph-hanziku-{1 .. 12}'.
711
712         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
713         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
714         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
715         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
716         (DECODE_DEFINED_CHAR): New inline function.
717         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
718
719 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
720
721         * mule-charset.c (Vcharset_china3_jef): Renamed from
722         `Vcharset_japanese_jef_china3'.
723         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
724         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
725         `{MIN|MAX}_CHAR_JEF_CHINA3'..
726         (syms_of_mule_charset): Rename `china3-jef' from
727         `japanese-jef-china3'.
728         (complex_vars_of_mule_charset): Likewise; rename
729         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
730
731         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
732         `LEADING_BYTE_JEF_CHINA3'.
733         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
734         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
735
736 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * mule-charset.c (encode_builtin_char_1): Comment out special code
739         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
740
741         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
742         (MAX_CHAR_MOJIKYO_0): Comment out.
743         (MIN_CHAR_CBETA): Changed to 0x00E20000.
744         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
745         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
746         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
747
748 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
751         (Qideograph_cbeta): New variable.
752         (encode_builtin_char_1): Comment out special code for
753         coded-charset `mojikyo' and `japanese-jef-china3'.
754         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
755         (complex_vars_of_mule_charset): Add new coded-charset
756         `ideograph-cbeta'.
757
758         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
759         (MIN_CHAR_CBETA): New macro.
760         (MAX_CHAR_CBETA): New macro.
761
762 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
763
764         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
765         (LEADING_BYTE_JEF_CHINA3): New macro.
766         (MIN_CHAR_JEF_CHINA3): New macro.
767         (MAX_CHAR_JEF_CHINA3): Likewise.
768         (DECODE_CHAR): Fixed.
769
770 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
773         (Qjapanese_jef_china3): New variable.
774         (encode_builtin_char_1): Support `japanese-jef-china3'.
775         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
776         (complex_vars_of_mule_charset): Add new coded-charset
777         `japanese-jef-china3'.
778
779 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
780
781         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
782         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
783         94^4, 96^3, 96^4, 128^n and 256^n set.
784         (put_char_table): Use `XCHARSET_CELL_RANGE'.
785         (map_char_table): Likewise.
786
787 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
790         UTF-2000.
791
792 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
793
794         * chartab.h (get_char_id_table): New inline function.
795
796         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
797         function.
798
799 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * chartab.h (decode_char_table_range): New prototype in XEmacs
802         UTF-2000.
803         (put_char_id_table): New inline function in XEmacs UTF-2000.
804
805         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
806         function.
807         (decode_char_table_range): Delete static declaration in XEmacs
808         UTF-2000.
809
810 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
811
812         * chartab.c (put_char_id_table): Use `put_char_table'.
813
814 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
815
816         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
817         (map_over_uint16_byte_table): Likewise.
818         (map_over_byte_table): Likewise.
819         (map_char_table): Modify for `map_over_uint8_byte_table',
820         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
821         UTF-2000.
822
823 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * chartab.c (struct map_char_table_for_charset_arg): New
826         structure.
827         (map_char_table_for_charset_fun): New function.
828         (map_char_table): Use `map_char_table' for encoding_table of
829         `range->charset'.
830
831 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
832
833         * chartab.c (map_char_table): Check a character is found in
834         range->charset instead of non default value is defined in
835         char-table when range is CHARTAB_RANGE_ROW.
836
837 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
838
839         * chartab.c (map_char_id_table): Deleted.
840         (Fmap_char_attribute): Use `map_char_table' instead of
841         `map_char_id_table'.
842
843 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
846         UTF-2000.
847         (update_syntax_table): Deleted in XEmacs UTF-2000.
848
849         * syntax.c (find_defun_start): Use `syntax_table' instead of
850         `mirror_syntax_table' in XEmacs UTF-2000.
851         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
852         UTF-2000.
853         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
854         XEmacs UTF-2000.
855         (Fmatching_paren): Likewise.
856         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
857         in XEmacs UTF-2000.
858         (find_start_of_comment): Likewise.
859         (find_end_of_comment): Likewise.
860         (Fforward_comment): Likewise.
861         (scan_lists): Likewise.
862         (char_quoted): Likewise.
863         (Fbackward_prefix_chars): Likewise.
864         (scan_sexps_forward): Likewise.
865         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
866         (update_syntax_table): Likewise.
867
868         * search.c (skip_chars): Use `syntax_table' instead of
869         `mirror_syntax_table' in XEmacs UTF-2000.
870         (wordify): Likewise.
871         (Freplace_match): Likewise.
872
873         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
874         `mirror_syntax_table' in XEmacs UTF-2000.
875         (WORDCHAR_P_UNSAFE): Likewise.
876         (re_match_2_internal): Likewise.
877
878         * font-lock.c (find_context): Use `buf->syntax_table' instead of
879         `buf->mirror_syntax_table' in XEmacs UTF-2000.
880
881         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
882         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
883
884         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
885         XEmacs UTF-2000.
886
887         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
888         UTF-2000.
889         (print_char_table): Print `default_value' in XEmacs UTF-2000.
890         (char_table_description): Delete `mirror_table' in XEmacs
891         UTF-2000.
892         (fill_char_table): Don't call `update_syntax_table' in XEmacs
893         UTF-2000.
894         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
895         (Fcopy_char_table): Likewise.
896         (put_char_table): Don't call `update_syntax_table' in XEmacs
897         UTF-2000.
898
899         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
900         `buf->mirror_syntax_table' in XEmacs UTF-2000.
901         (casify_region_internal): Likewise.
902
903         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
904
905         * buffer.c (common_init_complex_vars_of_buffer): Don't use
906         `mirror_syntax_table' in XEmacs UTF-2000.
907
908         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
909         `buf->mirror_syntax_table' in XEmacs UTF-2000.
910         (Fexpand_abbrev): Likewise.
911
912 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
913
914         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
915
916 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
917
918         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
919         (map_over_uint16_byte_table): Likewise.
920         (map_over_byte_table): Likewise.
921         (get_char_id_table): Refer `cit->default_value'.
922         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
923         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
924         of character-id ranges.
925         (mark_char_table): Mark `ct->default_value'.
926         (char_table_description): Add `default_value'.
927         (fill_char_table): Use `default_value'.
928         (decode_char_table_range): Decode `nil' as
929         `CHARTAB_RANGE_DEFAULT'.
930         (get_char_id_table): Refer `cit->default_value'.
931         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
932         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
933         temporary hack; check value of char-table is bound or not.
934         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
935
936         * chartab.h (struct Lisp_Char_Table): Add new member
937         `default_value' in XEmacs UTF-2000.
938         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
939         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
940         UTF-2000.
941
942 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
943
944         * chartab.h (Lisp_Char_ID_Table): Deleted.
945
946         * chartab.c (char_table_description): Fix typo.
947         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
948         `Lisp_Char_ID_Table'.
949
950 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
951
952         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
953         `CHAR_ID_TABLE_P'.
954
955         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
956         `CHAR_ID_TABLE_P'.
957
958         * chartab.h (XCHAR_ID_TABLE): Deleted.
959         (XSETCHAR_ID_TABLE): Deleted.
960         (CHAR_ID_TABLE_P): Deleted.
961
962         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
963         `CHAR_ID_TABLE_P'.
964         (Fget_composite_char): Likewise.
965         (put_char_table): Likewise.
966         (add_char_attribute_alist_mapper): Fixed.
967         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
968         `CHAR_ID_TABLE_P'.
969         (Fget_char_attribute): Likewise.
970         (Fget_char_attribute): Likewise.
971         (Fmap_char_attribute): Likewise.
972
973         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
974         `CHAR_ID_TABLE_P'.
975         (encode_char_1): Likewise.
976
977 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
978
979         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
980         `XCHAR_ID_TABLE'.
981
982         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
983         instead of `XCHAR_ID_TABLE'.
984         (remove_char_ccs): Likewise.
985
986         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
987         `XCHAR_ID_TABLE'.
988         (Fget_composite_char): Likewise.
989         (Fchar_variants): Likewise.
990         (put_char_table): Likewise.
991         (add_char_attribute_alist_mapper): Likewise.
992         (Fchar_attribute_alist): Likewise.
993         (Fget_char_attribute): Likewise.
994         (Fput_char_attribute): Likewise.
995         (Fmap_char_attribute): Likewise.
996         (Fmap_char_attribute): Likewise.
997
998         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
999         `XCHAR_ID_TABLE'.
1000         (encode_char_1): Likewise.
1001
1002 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1003
1004         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1005         `Lisp_Char_ID_Table'.
1006         (mark_char_id_table): Deleted.
1007         (print_char_id_table): Likewise.
1008         (char_id_table_equal): Likewise.
1009         (char_id_table_hash): Likewise.
1010         (char_id_table_description): Likewise.
1011         (char_id_table): Likewise.
1012         (make_char_id_table): Use `Fmake_char_table' and
1013         `fill_char_table'.
1014         (get_char_id_table): Use `Lisp_Char_Table' instead of
1015         `Lisp_Char_ID_Table'.
1016         (put_char_id_table): Likewise.
1017         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1018         `XCHAR_ID_TABLE'.
1019         (Fremove_char_attribute): Likewise.
1020         (syms_of_chartab): Don't define type `char-id-table'.
1021
1022         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1023         (char_id_table): Likewise.
1024         (GC_CHAR_ID_TABLE_P): Likewise.
1025         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1026         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1027         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1028         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1029         (get_char_id_table): Use `Lisp_Char_Table' instead of
1030         `Lisp_Char_ID_Table'.
1031         (put_char_id_table_0): Likewise.
1032         (put_char_id_table): Likewise.
1033
1034 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1035
1036         * chartab.h: Lisp_Byte_Table related codes are moved from
1037         chartab.h.
1038
1039         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1040
1041 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1042
1043         * chartab.h: Don't include "chartab.h".
1044         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1045         (Lisp_Char_ID_Table): Likewise.
1046         (char_id_table): Likewise.
1047         (XCHAR_ID_TABLE): Likewise.
1048         (XSETCHAR_ID_TABLE): Likewise.
1049         (CHAR_ID_TABLE_P): Likewise.
1050         (GC_CHAR_ID_TABLE_P): Likewise.
1051         (get_char_id_table): Likewise.
1052
1053         * char-ucs.h: Include "chartab.h".
1054         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1055         (Lisp_Char_ID_Table): Likewise.
1056         (char_id_table): Likewise.
1057         (XCHAR_ID_TABLE): Likewise.
1058         (XSETCHAR_ID_TABLE): Likewise.
1059         (CHAR_ID_TABLE_P): Likewise.
1060         (GC_CHAR_ID_TABLE_P): Likewise.
1061         (get_char_id_table): Likewise.
1062
1063 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1064
1065         * chartab.c (copy_uint8_byte_table): New function.
1066         (copy_uint16_byte_table): New function.
1067         (copy_byte_table): New function.
1068         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1069         characters to call.
1070         (map_over_uint16_byte_table): Likewise.
1071         (map_over_byte_table): Likewise.
1072         (get_byte_table): Move prototype to chartab.h.
1073         (put_byte_table): Likewise.
1074         (put_char_id_table_0): Moved to chartab.h.
1075         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1076         (char_table_entry_equal): Likewise.
1077         (char_table_entry_hash): Likewise.
1078         (char_table_entry_description): Likewise.
1079         (char_table_entry): Likewise.
1080         (make_char_table_entry): Likewise.
1081         (copy_char_table_entry): Likewise.
1082         (get_non_ascii_char_table_value): Likewise.
1083         (map_over_charset_ascii): Likewise.
1084         (map_over_charset_control_1): Likewise.
1085         (map_over_charset_row): Likewise.
1086         (map_over_other_charset): Likewise.
1087         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1088         (print_char_table): Likewise.
1089         (char_table_equal): Likewise.
1090         (char_table_hash): Likewise.
1091         (char_table_description): Likewise.
1092         (fill_char_table): Likewise.
1093         (Fcopy_char_table): Likewise.
1094         (get_char_table): Likewise.
1095         (Fget_range_char_table): Likewise.
1096         (put_char_table): Likewise.
1097         (map_char_table): Likewise.
1098         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1099         UTF-2000.
1100
1101 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1102
1103         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1104         `Vauto_fill_chars' in XEmacs UTF-2000.
1105
1106         * chartab.h (get_byte_table): New prototype [moved from
1107         chartab.c].
1108         (put_byte_table): Likewise [moved from chartab.c].
1109         (put_char_id_table_0): New inline function [moved from chartab.c].
1110         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1111         (Lisp_Char_Table_Entry): Likewise.
1112         (char_table_entry): Likewise.
1113         (XCHAR_TABLE_ENTRY): Likewise.
1114         (XSETCHAR_TABLE_ENTRY): Likewise.
1115         (CHAR_TABLE_ENTRYP): Likewise.
1116         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1117         (NUM_ASCII_CHARS): Likewise.
1118         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1119         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1120
1121 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * chartab.c (get_char_id_table): Change interface.
1124         (put_char_id_table_0): New function.
1125         (put_char_id_table): Change interface; new implementation.
1126         (Fget_composite_char): Modify for interface change of
1127         `get_char_id_table'.
1128         (Fchar_variants): Likewise.
1129         (add_char_attribute_alist_mapper): Likewise.
1130         (Fchar_attribute_alist): Likewise.
1131         (Fget_char_attribute): Likewise.
1132         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1133         as same as character as the first argument like `put-char-table';
1134         modify for interface change of `put_char_id_table'.
1135         (Fremove_char_attribute): Modify for interface change of
1136         `put_char_id_table'.
1137
1138 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1139
1140         * text-coding.c: Sync up with XEmacs 21.2.41.
1141         (COMPOSE_ADD_CHAR): Modify for interface change of
1142         `get_char_id_table'.
1143
1144         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1145         change of `put_char_id_table'.
1146         (remove_char_ccs): Likewise.
1147
1148         * chartab.h (put_char_id_table): Change interface.
1149
1150         * char-ucs.h (get_char_id_table): Change interface.
1151         (charset_code_point): Modify for interface change of
1152         `get_char_id_table'.
1153         (encode_char_1): Likewise.
1154
1155 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1156
1157         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1158         argument `ccs'.
1159         (map_over_uint16_byte_table): Likewise.
1160         (map_over_byte_table): Likewise.
1161         (map_char_id_table): Add new argument `range' like
1162         `map_char_table'.
1163         (Fmap_char_attribute): Add new argument `range' like
1164         `Fmap_char_table'.
1165
1166 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1167
1168         * chartab.c (map_over_uint8_byte_table): Change interface of
1169         mapping function to use struct chartab_range instead of Emchar.
1170         (map_over_uint16_byte_table): Likewise.
1171         (map_over_byte_table): Likewise.
1172         (map_char_id_table): Likewise.
1173         (struct slow_map_char_id_table_arg): Deleted.
1174         (slow_map_char_id_table_fun): Deleted.
1175         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1176         function `slow_map_char_table_fun' instead of struct
1177         `slow_map_char_id_table_arg' and function
1178         `slow_map_char_id_table_fun'.
1179
1180 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1181
1182         * mule-charset.c: Move char-it-table related codes to chartab.c.
1183         (Vutf_2000_version): Moved to chartab.c.
1184         (Fdefine_char): Likewise.
1185         (Ffind_char): Likewise.
1186         (syms_of_mule_charset): Move types `uint8-byte-table',
1187         `uint16-byte-table', `byte-table' and `char-id-table' to
1188         chartab.c; move functions `char_attribute_list,
1189         `find_char_attribute_table, `char_attribute_alist,
1190         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1191         `map_char_attribute, `define_char, `find_char, `char_variants and
1192         `get_composite_char to chartab.c; move symbols `=>ucs',
1193         `->decomposition', `compat', `isolated', `initial', `medial',
1194         `final', `vertical', `noBreak', `fraction', `super', `sub',
1195         `circle', `square', `wide', `narrow', `small' and `font' to
1196         chartab.c.
1197         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1198         setting codes for `Vcharacter_composition_table' and
1199         `Vcharacter_variant_table' to chartab.c.
1200         (complex_vars_of_mule_charset): Move setting code for
1201         `Vchar_attribute_hash_table' to chartab.c.
1202
1203         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1204         (make_char_id_table): New prototype.
1205         (put_char_id_table): Likewise.
1206         (Fget_char_attribute): Likewise.
1207
1208         * chartab.c: Move char-id-table related code from mule-charset.c.
1209         (Vutf_2000_version): Moved from mule-charset.c.
1210
1211         * char-ucs.h (Qucs): New external variable.
1212         (put_char_ccs_code_point): New prototype.
1213         (remove_char_ccs): Likewise.
1214
1215 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1216
1217         * mule-charset.c (Vcharset_ucs_jis): New variable.
1218         (Qucs_jis): Likewise.
1219         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1220         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1221
1222         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1223
1224 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1225
1226         * mule-charset.c (map_over_uint8_byte_table): New function.
1227         (map_over_uint16_byte_table): Likewise.
1228         (map_over_byte_table): Likewise.
1229         (map_char_id_table): Likewise.
1230         (slow_map_char_id_table_fun): Likewise.
1231         (Fmap_char_attribute): Likewise.
1232         (syms_of_mule_charset): Add new function `map-char-attribute'.
1233
1234 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1235
1236         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1237         (syms_of_mule_charset): Add new function `find-char'.
1238
1239 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1240
1241         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1242         XEmacs UTF-2000.
1243         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1244         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1245         XEmacs UTF-2000.
1246         (complex_vars_of_mule_charset): Add new coded-charset
1247         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1248         `ideograph-gt-pj-*'.
1249
1250         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1251
1252 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1253
1254         * mule-charset.c (encode_builtin_char_1): Purge codes about
1255         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1256         {MIN|MAX}_CHAR_HEBREW.
1257         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1258         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1259
1260         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1261         (MAX_CHAR_GREEK): Purged.
1262         (MIN_CHAR_CYRILLIC): Purged.
1263         (MAX_CHAR_CYRILLIC): Purged.
1264         (MIN_CHAR_HEBREW): Commented out.
1265         (MAX_CHAR_HEBREW): Likewise.
1266
1267 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1268
1269         * mule-charset.c (Qto_ucs): New variable.
1270         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1271         (Fdefine_char): Likewise.
1272         (syms_of_mule_charset): Add new symbol `=>ucs'.
1273
1274 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1275
1276         * mule-charset.c (Fdecode_char): Fixed.
1277
1278 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1279
1280         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1281         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1282         "tcvn5712-1".
1283
1284 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1285
1286         * mule-charset.c (Vcharset_ucs_big5): New variable.
1287         (Qucs_big5): Likewise.
1288         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1289         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1290
1291         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1292
1293 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1294
1295         * mule-charset.c (decode_builtin_char): Check Big5 code range
1296         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1297
1298 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1299
1300         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1301         (Qchinese_gb12345): Likewise.
1302         (Fdecode_builtin_char): Fixed.
1303         (syms_of_mule_charset): Add `chinese-gb12345'.
1304         (complex_vars_of_mule_charset): Add coded-charset
1305         `chinese-gb12345'.
1306
1307         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1308         (LEADING_BYTE_CHINESE_GB12345): New macro.
1309
1310 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1311
1312         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1313         and `latin-viscii-upper' for `latin-viscii'.
1314
1315 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * mule-charset.c (Fdecode_builtin_char): Comment out
1318         regularization code for ISO-IR GR representation.
1319
1320 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1321
1322         * mule-charset.c (decode_builtin_char): New function; renamed from
1323         `make_builtin_char'; return -1 instead of signal.
1324         (Fdecode_builtin_char): Use `decode_builtin_char'.
1325
1326         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1327         `make_builtin_char'.
1328         (DECODE_CHAR): Use `decode_builtin_char' instead of
1329         `make_builtin_char'; use mapping table of `chinese-big5' for
1330         `chinese-big5-{1,2}'.
1331
1332 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1333
1334         * text-coding.c (char_encode_big5): New function.
1335         (char_finish_big5): Likewise.
1336         (reset_encoding_stream): Use `char_encode_big5' and
1337         `char_finish_big5' for CODESYS_BIG5.
1338         (mule_encode): Don't use `encode_coding_big5'.
1339         (encode_coding_big5): Deleted.
1340
1341 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1342
1343         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1344         0x81- in XEmacs UTF-2000.
1345         (detect_coding_big5): Likewise.
1346
1347 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1348
1349         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1350         generate character-id if the CCS property does not have
1351         corresponding predefined character.
1352         (make_builtin_char): Return -1 if corresponding predefined
1353         character is not found.
1354         (Fdecode_char): Return nil if corresponding character is not
1355         found.
1356         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1357         don't map to builtin ucs space.
1358
1359 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1360
1361         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1362         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1363
1364 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1365
1366         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1367         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1368         (Qideograph_gt): Likewise.
1369         (Qideograph_gt_pj_{1..11}): Likewise.
1370         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1371         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1372         `ideograph-gt-pj-11'.
1373         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1374         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1375         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1376
1377         * char-ucs.h (LEADING_BYTE_GT): New macro.
1378         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1379         (MIN_CHAR_GT): Likewise.
1380         (MAX_CHAR_GT): Likewise.
1381
1382 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1383
1384         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1385         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1386
1387         * doprnt.c (unsigned_int_converters): Add `c'.
1388         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1389
1390         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1391         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1392         `MIN_CHAR_MOJIKYO'.
1393         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1394         (MAX_CHAR_MOJIKYO_0): New macro.
1395         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1396
1397 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1398
1399         * mule-charset.c (Fdefine_char): Delete cemented out code.
1400         (encode_builtin_char_1): Modify for new allocation of builtin
1401         Mojikyo characters.
1402
1403         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1404
1405 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1406
1407         * mule-charset.c (Vcharset_ucs_cns): New variable.
1408         (Qucs_cns): New variable.
1409         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1410         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1411
1412 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1413
1414         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1415
1416 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1417
1418         * search.c (search_buffer): Make `charset_base_code' as
1419         character-id >> 6 to eliminate the corresponding last byte in
1420         UTF-8 representation [I'm not sure it is right thing].
1421         (boyer_moore): Likewise.
1422
1423 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1424
1425         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1426         representation in MULE.
1427
1428 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1429
1430         * text-coding.c (Fmake_coding_system): Use
1431         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1432         `EXTERNAL_PROPERTY_LIST_LOOP'.
1433
1434 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * text-coding.c (decode_output_utf8_partial_char): New function.
1437         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1438
1439 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1440
1441         * text-coding.c (decode_coding_utf8): Output original byte
1442         sequence if it is broken; change order of conditions.
1443
1444         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1445         of conditions.
1446
1447         * mb-multibyte.h (BYTE_ASCII_P):
1448         Use bit ops for char-signedness safety.
1449         (BYTE_C0_P): Use bit ops for char-signedness safety.
1450         (BYTE_C1_P): Use bit ops for char-signedness safety.
1451
1452         * character.h: (XCHAR_OR_CHAR_INT):
1453         Always use inline function.
1454         Remove redundant type checking assert() - XINT will abort quite
1455         nicely.
1456
1457 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1458
1459         * text-coding.c: (Fencode_shift_jis_char):
1460         (Fencode_big5_char):
1461         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1462         Replace 0 with '\0' when working with bytes.
1463         Replace initial "(" with "\(" in docstrings.
1464
1465         (Fmake_coding_system):
1466         When type is ccl and value is vector, register it with a proper
1467         symbol.  And checks whether the given ccl program is valid.
1468         (mule_decode): When calling ccl_driver, if src indicates
1469         NULL pointer, set an empty string instead.
1470         (mule_encode): Likewise.
1471
1472         (detect_eol_type):
1473         (detect_coding_sjis):
1474         (decode_coding_sjis):
1475         (detect_coding_big5):
1476         (decode_coding_big5):
1477         (detect_coding_ucs4):
1478         (decode_coding_ucs4):
1479         (detect_coding_utf8):
1480         (decode_coding_utf8):
1481         (detect_coding_iso2022):
1482         (decode_coding_iso2022):
1483         (decode_coding_no_conversion):
1484         (mule_decode):
1485         Make all detecting and decoding functions take an Extbyte * arg.
1486         (text_encode_generic):
1487         (encode_coding_big5):
1488         (encode_coding_no_conversion):
1489         (mule_encode):
1490         Make all encoding functions take a Bufbyte * arg.
1491         Use size_t instead of unsigned int for memory sizes.
1492         Only cast to unsigned char whenever dereferencing Extbyte *.
1493
1494         (struct lrecord_description fcd_description_1): Use countof.
1495         (complex_vars_of_file_coding):
1496         Use countof instead of sizeof.
1497         Use CHECK_NATNUM instead of CHECK_INT.
1498
1499 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1500
1501         * mule-charset.c (Fget_char_attribute): Add new optional argument
1502         `default-value'.
1503         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1504         (remove_char_ccs): Likewise.
1505
1506 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1507
1508         * text-coding.c (char_encode_shift_jis): New implementation in
1509         UTF-2000.
1510         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1511         ...)'.
1512
1513         * mule-charset.c (Vcharset_chinese_big5): New variable in
1514         UTF-2000.
1515         (Qchinese_big5): New variable in UTF-2000.
1516         (BIG5_SAME_ROW): New macro in UTF-2000.
1517         (make_builtin_char): Use builtin characters of
1518         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1519         characters of `Vcharset_chinese_big5'.
1520         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1521         (complex_vars_of_mule_charset): Add new coded-charset
1522         `chinese-big5' in UTF-2000.
1523
1524         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1525         (Vcharset_chinese_big5): New external variable declaration.
1526         (Vcharset_japanese_jisx0208_1990): Likewise.
1527
1528 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1529
1530         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1531         function.
1532         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1533
1534 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1535
1536         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1537         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1538         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1539         `mojikyo-pj-*'.
1540
1541 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1542
1543         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1544
1545 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1546
1547         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1548         to 0.17.
1549
1550 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1551
1552         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1553         for `CHARSET_BY_ATTRIBUTES'.
1554         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1555         `CHARSET_BY_ATTRIBUTES'.
1556
1557         * text-coding.c (struct decoding_stream): Rename member `CH' to
1558         `CPOS'.
1559         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1560         (decode_coding_sjis): Likewise.
1561         (decode_coding_big5): Likewise.
1562         (decode_coding_ucs4): Likewise.
1563         (decode_coding_utf8): Likewise.
1564         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1565         `CHARSET_BY_ATTRIBUTES'.
1566         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1567         `str->counter'; decode 3, 4 bytes sets.
1568         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1569         sets.
1570         (decode_coding_no_conversion): Use `str->cpos' instead of
1571         `str->ch'.
1572
1573         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1574         (Qmojikyo_2022_1): New variable.
1575         (make_charset): Don't use `CHARSET_TYPE_*'.
1576         (range_charset_code_point): Support coded-charset
1577         `mojikyo-2022-1'.
1578         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1579         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1580         `CHARSET_BY_ATTRIBUTES'.
1581         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1582         `CHARSET_BY_ATTRIBUTES'.
1583         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1584         (complex_vars_of_mule_charset): Add new coded-charset
1585         `mojikyo-2022-1'.
1586
1587         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1588         interface; changed to inline function.
1589
1590         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1591         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1592         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1593         (CHARSET_TYPE_94): Deleted.
1594         (CHARSET_TYPE_94X94): Deleted.
1595         (CHARSET_TYPE_96): Deleted.
1596         (CHARSET_TYPE_96X96): Deleted.
1597         (CHARSET_TYPE_128): Deleted.
1598         (CHARSET_TYPE_128X128): Deleted.
1599         (CHARSET_TYPE_256): Deleted.
1600         (CHARSET_TYPE_256X256): Deleted.
1601         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1602         to inline function.
1603         (DECODE_MOJIKYO_2022): New inline function.
1604         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1605         `Vcharset_mojikyo_2022_1'.
1606
1607 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1608
1609         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1610         instead of `EQ'.
1611         (put_byte_table): Likewise.
1612         (char_id_table_equal): Use `get_byte_table' [new implementation].
1613
1614 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1615
1616         * mule-charset.c: Include <limits.h> in UTF-2000.
1617         (BT_UINT8_MIN): New macro in UTF-2000.
1618         (BT_UINT8_MAX): New macro in UTF-2000.
1619         (BT_UINT8_t): New macro in UTF-2000.
1620         (BT_UINT8_nil): New macro in UTF-2000.
1621         (BT_UINT8_unbound): New macro in UTF-2000.
1622         (INT_UINT8_P): New inline function in UTF-2000.
1623         (UINT8_VALUE_P): New inline function in UTF-2000.
1624         (UINT8_ENCODE): New inline function in UTF-2000.
1625         (UINT8_DECODE): New inline function in UTF-2000.
1626         (mark_uint8_byte_table): New function in UTF-2000.
1627         (print_uint8_byte_table): New function in UTF-2000.
1628         (uint8_byte_table_equal): New function in UTF-2000.
1629         (uint8_byte_table_hash): New function in UTF-2000.
1630         (make_uint8_byte_table): New function in UTF-2000.
1631         (uint8_byte_table_same_value_p): New function in UTF-2000.
1632         (BT_UINT16_MIN): New macro in UTF-2000.
1633         (BT_UINT16_MAX): New macro in UTF-2000.
1634         (BT_UINT16_t): New macro in UTF-2000.
1635         (BT_UINT16_nil): New macro in UTF-2000.
1636         (BT_UINT16_unbound): New macro in UTF-2000.
1637         (INT_UINT16_P): New inline function in UTF-2000.
1638         (UINT16_VALUE_P): New inline function in UTF-2000.
1639         (UINT16_ENCODE): New inline function in UTF-2000.
1640         (UINT16_DECODE): New inline function in UTF-2000.
1641         (UINT8_TO_UINT16): New inline function in UTF-2000.
1642         (mark_uint16_byte_table): New function in UTF-2000.
1643         (print_uint16_byte_table): New function in UTF-2000.
1644         (uint16_byte_table_equal): New function in UTF-2000.
1645         (uint16_byte_table_hash): New function in UTF-2000.
1646         (make_uint16_byte_table): New function in UTF-2000.
1647         (uint16_byte_table_same_value_p): New function in UTF-2000.
1648         (print_byte_table): New function in UTF-2000.
1649         (byte-table): Use `print_byte_table' as printer.
1650         (make_byte_table): Delete second argument `older'.
1651         (byte_table_same_value_p): New function in UTF-2000.
1652         (copy_byte_table): Deleted.
1653         (get_byte_table): New function in UTF-2000.
1654         (put_byte_table): New function in UTF-2000.
1655         (print_char_id_table): New function in UTF-2000.
1656         (char-id-table): Use `print_char_id_table' as printer.
1657         (make_char_id_table): Delete second argument `older'.
1658         (get_char_id_table): Use `get_byte_table [new implementation].
1659         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1660         implementation].
1661         (Ffind_char_attribute_table): New function in UTF-2000.
1662         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1663         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1664         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1665         (syms_of_mule_charset): Add new function
1666         `find-char-attribute-table' in UTF-2000.
1667
1668         * lrecord.h (enum lrecord_type): Add
1669         `lrecord_type_uint16_byte_table' and
1670         `lrecord_type_uint8_byte_table'.
1671
1672         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1673         (Lisp_Uint8_Byte_Table): New type.
1674         (XUINT8_BYTE_TABLE): New macro.
1675         (XSETUINT8_BYTE_TABLE): New macro.
1676         (UINT8_BYTE_TABLE_P): New macro.
1677         (GC_UINT8_BYTE_TABLE_P): New macro.
1678         (struct Lisp_Uint16_Byte_Table): New structure.
1679         (Lisp_Uint16_Byte_Table): New type.
1680         (XUINT16_BYTE_TABLE): New macro.
1681         (XSETUINT16_BYTE_TABLE): New macro.
1682         (UINT16_BYTE_TABLE_P): New macro.
1683         (GC_UINT16_BYTE_TABLE_P): New macro.
1684
1685 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1686
1687         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1688         (Vcharacter_ideographic_strokes_table): Deleted.
1689         (Vcharacter_total_strokes_table): Deleted.
1690         (Vcharacter_morohashi_daikanwa_table): Deleted.
1691         (Vcharacter_decomposition_table): Deleted.
1692         (Qname): Deleted because it is duplicated.
1693         (Qideographic_radical): Deleted.
1694         (Qideographic_strokes): Deleted.
1695         (Qtotal_strokes): Deleted.
1696         (Qmorohashi_daikanwa): Deleted.
1697         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1698         `ideographic-radical', `ideographic-strokes', `total-strokes',
1699         `morohashi-daikanwa' and `->decomposition'.
1700         (Fget_char_attribute): Likewise.
1701         (Fput_char_attribute): Likewise; use `make-vector' instead of
1702         `make_older_vector' for `->decomposition' value.
1703         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1704         `ideograph-daikanwa'.
1705         (syms_of_mule_charset): Delete builtin symbols `name',
1706         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1707         `morohashi-daikanwa'.
1708         (vars_of_mule_charset): Don't setup
1709         `Vcharacter_ideographic_radical_table',
1710         `Vcharacter_ideographic_strokes_table',
1711         `Vcharacter_total_strokes_table',
1712         `Vcharacter_morohashi_daikanwa_table' and
1713         `Vcharacter_decomposition_table'.
1714
1715 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1716
1717         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1718         `make_older_vector', `make_vector_newer_1' and
1719         `make_vector_newer'.
1720
1721         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1722         `make_older_vector' and `make_vector_newer'.
1723
1724         * config.h.in (HAVE_GGC): New macro.
1725
1726 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1727
1728         * mule-charset.c (struct char_attribute_list_closure): New
1729         structure in UTF-2000.
1730         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1731         (Fchar_attribute_list): Likewise.
1732         (Fset_charset_mapping_table): Use `make_vector_newer'.
1733         (Fdecode_builtin_char): New function in UTF-2000.
1734         (syms_of_mule_charset): Add new function `char-attribute-list' and
1735         `decode-builtin-char' in UTF-2000.
1736
1737         * lisp.h (make_vector_newer): New prototype.
1738
1739         * alloc.c (make_vector_newer_1): New function.
1740         (make_vector_newer): New function.
1741
1742 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1743
1744         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1745         50100)'.
1746
1747 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1748
1749         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1750         (Vcharacter_attribute_table): Deleted.
1751         (Vcharacter_name_table): Deleted.
1752         (put_char_attribute): Deleted.
1753         (remove_char_attribute): Deleted.
1754         (struct char_attribute_alist_closure): New structure.
1755         (add_char_attribute_alist_mapper): New function.
1756         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1757         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1758         (Fget_char_attribute): Likewise.
1759         (Fput_char_attribute): Likewise.
1760         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1761         of `remove_char_attribute'.
1762         (Fdefine_char): Return character.
1763         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1764         and `Vcharacter_name_table'.
1765         (complex_vars_of_mule_charset): Likewise
1766         `Vchar_attribute_hash_table'.
1767
1768 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1769
1770         * character.h (CHARC_CHARSET): New macro.
1771         (CHARC_CHARSET_ID): New macro.
1772         (CHARC_CODE_POINT): New macro.
1773         (CHARC_COLUMNS): New macro.
1774         (CHARC_TO_CHAR): New inline function.
1775         (CHARC_EQ): New inline function.
1776         (CHARC_ASCII_EQ): New inline function.
1777         (CHARC_IS_SPACE): New inline function.
1778         (ASCII_TO_CHARC): New inline function.
1779
1780         * char-ucs.h (encode_char_2): Deleted.
1781         (ENCODE_CHAR): Use `encode_char_1' again.
1782         (breakup_char_1): Likewise.
1783         (CHAR_TO_CHARC): New inline function.
1784
1785         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1786
1787 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1788
1789         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1790         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1791         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1792         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1793         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1794         `CHARC_IS_SPACE'.
1795         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1796
1797         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1798         `CHARC_CODE_POINT'.
1799         (x_output_display_block): Use `CHARC_CHARSET' and
1800         `CHARC_ASCII_EQ'.
1801
1802         * redisplay-tty.c (tty_output_display_block): Use
1803         `CHARC_ASCII_EQ'.
1804         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1805
1806         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1807
1808         * insdel.c (find_charsets_in_charc_string): Use
1809         `CHARC_CHARSET_ID'.
1810         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1811         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1812         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1813         (convert_charc_string_into_malloced_string): Likewise.
1814
1815 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1816
1817         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1818         instead of <Emchar_dynarr *> for buf; use
1819         `convert_bufbyte_string_into_charc_dynarr' instead of
1820         `convert_bufbyte_string_into_emchar_dynarr'; use
1821         `find_charsets_in_charc_string' instead of
1822         `find_charsets_in_emchar_string'.
1823
1824         * redisplay.h:
1825         - Include "character.h".
1826         (struct rune): New member `cglyph'; delete member `chr'.
1827
1828         * redisplay.c (redisplay_text_width_charc_string): New function;
1829         delete `redisplay_text_width_emchar_string'.
1830         (rtw_charc_dynarr): New variable; renamed from
1831         `rtw_emchar_dynarr'.
1832         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1833         `rtw_emchar_dynarr'; use
1834         `convert_bufbyte_string_into_charc_dynarr' instead of
1835         `convert_bufbyte_string_into_emchar_dynarr'; use
1836         `redisplay_text_width_charc_string' instead of
1837         `redisplay_text_width_emchar_string'.
1838         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1839         instead of `rtw_emchar_dynarr'; use
1840         `convert_bufbyte_string_into_charc_dynarr' instead of
1841         `convert_bufbyte_string_into_emchar_dynarr'.
1842         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1843         `redisplay_text_width_charc_string' instead of
1844         `redisplay_text_width_emchar_string'.
1845         (create_text_block): Modify for <struct rune> change.
1846         (generate_formatted_string_db): Likewise.
1847         (create_string_text_block): Likewise.
1848         (pixel_to_glyph_translation): Likewise.
1849
1850         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1851         instead of <const Emchar *>.
1852         (x_text_width): Likewise.
1853         (x_output_display_block): Use <Charc_dynarr *> instead
1854         <Emchar_dynarr *>; modify for <structure rune> change.
1855         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1856         *>.
1857
1858         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1859         <const Emchar *>; use `charc_string_displayed_columns' instead of
1860         `emchar_string_displayed_columns'.
1861         (tty_output_display_block): Use <Charc_dynarr *> instead of
1862         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1863         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1864         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1865         `tty_output_emchar_dynarr_dynarr'.
1866         (tty_output_charc_dynarr): New function; delete
1867         `tty_output_charc_dynarr'.
1868
1869         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1870         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1871         <Emchar_dynarr *> for buf; use
1872         `convert_bufbyte_string_into_charc_dynarr' instead of
1873         `convert_bufbyte_string_into_emchar_dynarr'.
1874
1875         * frame.c (title_string_charc_dynarr): New variable; renamed from
1876         `title_string_emchar_dynarr'.
1877         (generate_title_string): Use `title_string_charc_dynarr' instead
1878         of `title_string_emchar_dynarr'; use
1879         `convert_charc_string_into_malloced_string' instead of
1880         `convert_emchar_string_into_malloced_string'.
1881         (init_frame): Use `title_string_charc_dynarr' instead of
1882         `title_string_emchar_dynarr'.
1883
1884         * console.h:
1885         - Include "character.h".
1886         (struct console_methods): Use <const Charc *> instead of <const
1887         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1888         <Emchar_dynarr *> in output_string_method.
1889
1890         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1891         <Emchar_dynarr *>.
1892
1893         * console-stream.c (stream_text_width): Use <const Charc *>
1894         instead of <const Emchar *>.
1895
1896         * character.h (Charc_dynarr): New type.
1897
1898         * char-ucs.h (structure Charc): New structure; define new type
1899         `Charc'.
1900
1901         * char-lb.h (DECODE_CHAR): New inline function.
1902         (encode_char_1): New inline function.
1903         (ENCODE_CHAR): New macro.
1904         (structure Charc): New structure; define new type `Charc'.
1905
1906         * char-1byte.h (Vcharset_control_1): New macro.
1907         (Vcharset_latin_iso8859_1): New macro.
1908         (DECODE_CHAR): New inline function.
1909         (encode_char_1): New inline function.
1910         (ENCODE_CHAR): New macro.
1911         (structure Charc): New structure; define new type `Charc'.
1912
1913         * insdel.c (find_charsets_in_charc_string): New function; delete
1914         `find_charsets_in_emchar_string'.
1915         (charc_string_displayed_columns): New function; delete
1916         `emchar_string_displayed_columns'.
1917         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1918         `convert_bufbyte_string_into_emchar_dynarr'.
1919         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1920         `convert_charc_string_into_bufbyte_dynarr'.
1921         (convert_charc_string_into_malloced_string): New function; delete
1922         `convert_charc_string_into_malloced_string'.
1923
1924         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1925         `find_charsets_in_emchar_string'.
1926         (charc_string_displayed_columns): New prototype; delete
1927         `emchar_string_displayed_columns'.
1928         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1929         `convert_charc_string_into_bufbyte_dynarr'.
1930         (convert_charc_string_into_malloced_string): New prototype; delete
1931         `convert_charc_string_into_malloced_string'.
1932
1933 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1934
1935         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1936
1937 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1938
1939         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1940
1941         * char-ucs.h: Use <short> for <Charset_ID>.
1942
1943         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1944         <Charset_ID>.
1945
1946 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1947
1948         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1949         to 0.16.
1950
1951 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1952
1953         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1954         variable.
1955         (Qmorohashi_daikanwa): New variable.
1956         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1957         for `morohashi-daikanwa' attribute.
1958         (Fget_char_attribute): Likewise.
1959         (Fput_char_attribute): Likewise.
1960         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1961         has the same value of `ideograph-daikanwa'.
1962         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1963         (vars_of_mule_charset): Setup
1964         `Vcharacter_morohashi_daikanwa_table'.
1965
1966 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1969         attributes.
1970         (add_charset_to_list_mapper): Add `key' instead of
1971         `XCHARSET_NAME (value)' to return aliases.
1972
1973 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1974
1975         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1976         variable.
1977         (Vcharacter_ideographic_strokes_table): New variable.
1978         (Qideographic_radical): New variable.
1979         (Qideographic_strokes): New variable.
1980         (Fchar_attribute_alist): Use
1981         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1982         attribute; use `Vcharacter_ideographic_strokes_table' for
1983         `ideographic-strokes' attribute.
1984         (Fget_char_attribute): Likewise.
1985         (Fput_char_attribute): Likewise.
1986         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1987         `ideographic-strokes'.
1988         (vars_of_mule_charset): Setup
1989         `Vcharacter_ideographic_radical_table' and
1990         `Vcharacter_ideographic_strokes_table'.
1991
1992 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1993
1994         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1995         (Qtotal_strokes): New variable.
1996         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1997         `total-strokes' attribute.
1998         (Fget_char_attribute): Likewise.
1999         (Fput_char_attribute): Likewise.
2000         (syms_of_mule_charset): Add new symbol `total-strokes'.
2001         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2002
2003 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2004
2005         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2006         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2007         are found.
2008         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2009         `->decomposition' attribute.
2010         (Fput_char_attribute): Likewise.
2011         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2012
2013 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2014
2015         * mule-charset.c (decoding_table_check_elements): New function.
2016         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2017
2018 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2019
2020         * mule-charset.c (Fset_charset_mapping_table): Use
2021         `put_char_ccs_code_point'.
2022
2023 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2024
2025         * mule-charset.c (decoding_table_put_char): New inline function.
2026         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2027
2028 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2029
2030         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2031         (XCHARSET_BYTE_SIZE): New macro.
2032         (decoding_table_remove_char): New inline function.
2033         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2034         `decoding_table_remove_char'.
2035         (remove_char_ccs): Use `decoding_table_remove_char'.
2036         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2037
2038 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2039
2040         * mule-charset.c (Vcharacter_name_table): New variable.
2041         (Qname): New variable.
2042         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2043         attribute.
2044         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2045         `Vcharacter_name_table' for `name' attribute.
2046         (Fremove_char_attribute): Use function `remove_char_ccs'.
2047         (put_char_ccs_code_point): New function.
2048         (remove_char_ccs): New function.
2049         (syms_of_mule_charset): Add new symbol `name'.
2050         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2051
2052 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2053
2054         * mule-charset.c (make_byte_table): Add new argument `older'.
2055         (make_char_id_table): Likewise.
2056         (copy_char_id_table): Comment out because it is not used.
2057         (put_char_id_table): Modify for `make_byte_table'.
2058         (Fput_char_attribute): Make encoding_table as older object;
2059         inherit older bit of `Vcharacter_composition_table'.
2060         (mark_charset): Don't mark `cs->encoding_table'.
2061         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2062         normal object; make `Vcharacter_composition_table' as an older
2063         object; delete staticpro for `Vcharacter_composition_table'; make
2064         `Vcharacter_variant_table' as a normal object.
2065
2066         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2067         (mark_object): Don't check older object in UTF-2000.
2068
2069         * lrecord.h (struct lrecord_header): Add new member `older' in
2070         UTF-2000.
2071         (set_lheader_implementation): Setup `SLI_header->older' in
2072         UTF-2000.
2073         (set_lheader_older_implementation): New macro in UTF-2000.
2074         (OLDER_RECORD_P): New macro in UTF-2000.
2075         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2076         (alloc_older_lcrecord): New prototype in UTF-2000.
2077         (alloc_older_lcrecord_type): New macro in UTF-2000.
2078
2079 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2080
2081         * mule-charset.c (byte_table_description): Use
2082         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2083         (char_id_table_description): Delete bogus `, 1'.
2084         (Fget_char_attribute): Refer encoding_table of each coded-charset
2085         to get value of coded-charset attribute of a character.
2086         (Fput_char_attribute): Use `make_older_vector' instead of
2087         `make_vector'; use encoding_table of each coded-charset to store
2088         value of coded-charset attribute of a character.
2089         (Fremove_char_attribute): Use encoding_table of each coded-charset
2090         to store value of coded-charset attribute of a character.
2091         (mark_charset): Mark `cs->encoding_table'; don't mark
2092         `cs->decoding_table'.
2093         (charset_description): Add description of new member
2094         `encoding_table'.
2095         (make_charset): Initialize `encoding_table'.
2096
2097         * char-ucs.h (struct Lisp_Charset): Add new member
2098         `encoding_table'.
2099         (CHARSET_ENCODING_TABLE): New macro.
2100         (XCHARSET_ENCODING_TABLE): New macro.
2101         (charset_code_point): New implementation.
2102         (encode_char_1): Likewise.
2103
2104         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2105         (disksave_object_finalization_1): Call finalizers of
2106         `all_older_lcrecords' in UTF-2000.
2107         (make_older_vector): New function in UTF-2000.
2108         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2109         UTF-2000.
2110
2111         * lisp.h (make_older_vector): New prototype in UTF-2000.
2112
2113 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2114
2115         * lrecord.h (enum lrecord_type): Rename
2116         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2117
2118         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2119         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2120         `get_char_code_table'.
2121
2122         * mule-charset.c (mark_char_id_table): Renamed from
2123         `mark_char_code_table'.
2124         (char_id_table_equal): Renamed from `char_code_table_equal'.
2125         (char_id_table_hash): Renamed from `char_code_table_hash'.
2126         (make_char_id_table): Renamed from `make_char_code_table'.
2127         (copy_char_id_table): Renamed from `copy_char_code_table'.
2128         (get_char_id_table): Renamed from `get_char_code_table'.
2129         (put_char_id_table): Renamed from `put_char_code_table'.
2130         (to_char_id): Renamed from `to_char_code'.
2131
2132         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2133         `Lisp_Char_Code_Table'.
2134         (char_id_table): Renamed from `char_code_table'.
2135         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2136         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2137         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2138         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2139         (get_char_id_table): Renamed from `get_char_code_table'.
2140
2141 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2142
2143         * lrecord.h (enum lrecord_type): Rename
2144         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2145
2146         * mule-charset.c (mark_byte_table): Renamed from
2147         `mark_char_byte_table'.
2148         (byte_table_equal): Renamed from `char_byte_table_equal'.
2149         (byte_table_hash): Renamed from `byte_table_hash'.
2150         (make_byte_table): Renamed from `make_byte_table'.
2151         (copy_byte_table): Renamed from `copy_char_byte_table'.
2152
2153         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2154         `Lisp_Char_Byte_Table'.
2155         (byte_table): Renamed from `char_byte_table'.
2156         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2157         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2158         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2159         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2160
2161 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2162
2163         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2164         (dfc_convert_to_internal_format): Likewise.
2165         
2166         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2167         * text-coding.c (Fcoding_system_alias_p): New function.
2168         * text-coding.c (Fcoding_system_aliasee): New function.
2169         * text-coding.c (append_suffix_to_symbol): New function.
2170         * text-coding.c (dangling_coding_system_alias_p): New function.
2171         * text-coding.c (Ffind_coding_system):
2172         * text-coding.c (Fcopy_coding_system):
2173         * text-coding.c (encode_coding_no_conversion):
2174         * text-coding.c (syms_of_file_coding):
2175         * text-coding.c (vars_of_file_coding):
2176         Rewrite coding system alias code.
2177         Allow nested aliases, like symbolic links.
2178         Allow redefinition of coding system aliases.
2179         Prevent existence of dangling coding system aliases.
2180         Eliminate convert_to_external_format.
2181         Eliminate convert_to_internal_format.
2182         
2183         * text-coding.c: Change enum eol_type to eol_type_t.
2184
2185 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2186
2187         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2188         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2189
2190         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2191         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2192
2193 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2194
2195         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2196         `ideograph-daikanwa'.
2197
2198         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2199         (Vcharset_ucs_bmp): Likewise.
2200         (Vcharset_mojikyo): Add new extern variable definition.
2201         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2202         (Vcharset_latin_iso8859_3): Likewise.
2203         (Vcharset_latin_iso8859_4): Likewise.
2204         (Vcharset_latin_iso8859_9): Likewise.
2205         (Vcharset_latin_viscii_lower): Likewise.
2206         (Vcharset_latin_viscii_upper): Likewise.
2207         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2208         `mojikyo' code-point is used to decode.
2209         (encode_char_2): New function [to convert `mojikyo' code-point to
2210         Mojikyo font encoding].
2211         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2212         (breakup_char_1): Likewise.
2213         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2214
2215 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2216
2217         * text-coding.c (Fmake_coding_system): Add document about
2218         `disable-composition' property.
2219
2220 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2221
2222         * text-coding.c (Qdisable_composition): New variable; delete
2223         `Qcomposite'.
2224         (Fmake_coding_system): Add new property `disable-composite';
2225         delete property `composite'.
2226         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2227         instead of `!CODING_SYSTEM_COMPOSITE'.
2228         (syms_of_file_coding): Add new symbol `disable-composition';
2229         delete symbol `composite'.
2230
2231         * file-coding.h (struct Lisp_Coding_System): Add
2232         `disable_composition'; delete `enable_composition'.
2233         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2234         `CODING_SYSTEM_COMPOSITE'.
2235         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2236         `XCODING_SYSTEM_COMPOSITE'.
2237
2238 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2239
2240         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2241         to 0.15.
2242
2243 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2244
2245         * text-coding.c (Qcomposite): New variable.
2246         (Fmake_coding_system): Add new property `composite'.
2247         (struct decoding_stream): Add `combined_char_count',
2248         `combined_chars' and `combining_table' in UTF-2000.
2249         (COMPOSE_FLUSH_CHARS): New macro.
2250         (COMPOSE_ADD_CHAR): New macro.
2251         (reset_decoding_stream): Reset `str->combined_char_count' and
2252         `str->combining_table' in UTF-2000.
2253         (decode_coding_iso2022): Modify for character-decomposition.
2254         (syms_of_file_coding): Add new symbol `composite'.
2255
2256 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2257
2258         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2259         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2260         of `Vcharacter_composition_table' if `->decomposition' property
2261         has only 1 element.
2262         (Qlatin_tcvn5712): New variable.
2263         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2264         (complex_vars_of_mule_charset): Add new coded-charset
2265         `latin-tcvn5712'.
2266
2267         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2268
2269 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2270
2271         * file-coding.h (struct Lisp_Coding_System): Add
2272         `enable_composition'.
2273         (CODING_SYSTEM_COMPOSITE): New macro.
2274         (XCODING_SYSTEM_COMPOSITE): New macro.
2275
2276 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2277
2278         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2279
2280 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2281
2282         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2283         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2284
2285 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2286
2287         * mule-charset.c (Vcharset_mojikyo): New variable.
2288         (Fdefine_char): Don't use coded-charset which does not have
2289         non-builtin character range to allocate character-id.
2290         (Qmojikyo): New variable.
2291         (syms_of_mule_charset): Add new symbol `mojikyo'.
2292         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2293
2294         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2295         (LEADING_BYTE_MOJIKYO): New macro.
2296         (MIN_CHAR_MOJIKYO): New macro.
2297         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2298         (MAX_CHAR_MOJIKYO): New macro.
2299
2300 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2301
2302         * mule-charset.c (remove_char_attribute): Fixed.
2303
2304 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2305
2306         * mule-charset.c (remove_char_attribute): New function.
2307         (Fremove_char_attribute): New function.
2308         (encode_builtin_char_1): Comment out builtin-support for
2309         greek-iso8859-7 and cyrillic-iso8859-5.
2310         (Fdecode_char): Check `code' is an integer.
2311         (syms_of_mule_charset): Add `remove-char-attribute'.
2312         (MIN_CHAR_GREEK): Deleted.
2313         (MAX_CHAR_GREEK): Likewise.
2314         (MIN_CHAR_CYRILLIC): Likewise.
2315         (MAX_CHAR_CYRILLIC): Likewise.
2316         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2317         MAX_CHAR_GREEK for `greek-iso8859-7'.
2318
2319         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2320         (MAX_CHAR_GREEK): Likewise.
2321         (MIN_CHAR_CYRILLIC): Likewise.
2322         (MAX_CHAR_CYRILLIC): Likewise.
2323
2324 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2325
2326         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2327         format is used without `ucs' property.
2328         (Fdecode_char): Fix problem with GR representation.
2329         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2330         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2331
2332 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2333
2334         * mule-charset.c (make_builtin_char): New function.
2335         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2336         (Fset_charset_mapping_table): Modify for new representation of
2337         code-point.
2338         (Fdecode_char): New function.
2339         (syms_of_mule_charset): Add new builtin function `decode-char' in
2340         UTF-2000.
2341
2342         * char-ucs.h (make_builtin_char): New prototype.
2343         (DECODE_CHAR): New inline function.
2344         (MAKE_CHAR): Use `DECODE_CHAR'.
2345
2346 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2347
2348         * text-coding.c (parse_charset_conversion_specs): Use
2349         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2350         `XCHARSET_TYPE'.
2351         (iso2022_designate): Likewise.
2352
2353         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2354         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2355
2356         * mule-charset.c (Vcharset_ucs): New variable.
2357         (print_charset): Change design; use `CHARSET_CHARS' and
2358         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2359         (make_charset): Change signature to specify `chars' and
2360         `dimension' instead of `type'.
2361         (range_charset_code_point): Modify for 256^n-set.
2362         (encode_builtin_char_1): Encode as `ucs' in default.
2363         (Fmake_charset): Modify for `make_charset'.
2364         (Fmake_reverse_direction_charset): Likewise.
2365         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2366         UTF-2000.
2367         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2368         for `make_charset'.
2369
2370         * char-ucs.h (Vcharset_ucs): New variable.
2371         (LEADING_BYTE_UCS): New macro.
2372         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2373         and `chars' to `unsigned short' from `unsigned int'.
2374         (CHARSET_TYPE): Deleted.
2375         (XCHARSET_TYPE): Deleted.
2376
2377 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2378
2379         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2380
2381         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2382         (ENCODE_CHAR): New macro.
2383
2384 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2385
2386         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2387         to 0.14 (Kawachi-Katakami).
2388
2389 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2390
2391         * text-coding.c (char_encode_shift_jis): Modify for
2392         `charset_code_point'.
2393         (char_encode_iso2022): Likewise.
2394
2395         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2396         (integer) instead of list of <Lisp_Object>s (integers) as the
2397         format of code-point of a coded-charset.
2398         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2399         (encode_builtin_char_1): New function; delete
2400         `split_builtin_char'.
2401         (charset_code_point): Return <int> instead of <Lisp_Object>.
2402         (Fsplit_char): Don't use `SPLIT_CHAR'.
2403
2404         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2405         prototype for `split_builtin_char'.
2406         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2407         (charset_code_point): Likewise.
2408         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2409         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2410
2411 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2412
2413         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2414         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2415
2416 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2417
2418         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2419
2420         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2421         (MAX_CHAR_OBS_94x94): Deleted.
2422
2423 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2424
2425         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2426
2427         * char-ucs.h (MAX_CHAR_BMP): New macro.
2428
2429 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2430
2431         * text-coding.c: Sync with r21-2-24.
2432
2433 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2434
2435         * file-coding.c: Modify for UTF-2000.
2436
2437 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2438
2439         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2440         to 0.13 (Takaida).
2441
2442 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2443
2444         * mule-charset.c (split_builtin_char): Delete builtin support for
2445         `katakana-jisx0201'.
2446         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2447         BMP area in builtin representation.
2448
2449         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2450         `Vcharset_katakana_jisx0201'.
2451
2452 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2453
2454         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2455         (Qisolated): New variable.
2456         (Qinitial): New variable.
2457         (Qmedial): New variable.
2458         (Qfinal): New variable.
2459         (Qvertical): New variable.
2460         (Qsmall): New variable.
2461         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2462         `Qvertical' and `Qsmall'.
2463         (Qmojikyo_pj_[1 .. 21]): New variable.
2464         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2465         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2466         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2467         .. 21]'.
2468
2469 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2470
2471         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2472         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2473         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2474
2475 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2476
2477         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2478         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2479         BMP.
2480         (Qjapanese_jisx0208_1990): New variable.
2481         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2482         (complex_vars_of_mule_charset): Add new coded-charset
2483         `japanese-jisx0208-1990'.
2484
2485         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2486         (MIN_CHAR_JIS_X0208_1990): New macro.
2487         (MAX_CHAR_JIS_X0208_1990): New macro.
2488
2489 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2490
2491         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2492         coded-charset is not found.
2493
2494 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2495
2496         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2497         (Fdefine_char): Use `Fmake_char'.
2498
2499 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2500
2501         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2502         (Vcharset_hiragana_jisx0208): Deleted.
2503         (Vcharset_katakana_jisx0208): Deleted.
2504         (Qideograph_daikanwa): New variable.
2505         (Qhiragana_jisx0208): Deleted.
2506         (Qkatakana_jisx0208): Deleted.
2507         (split_builtin_char): Split `ideograph-daikanwa'.
2508         (Fsplit_char): New implementation for UTF-2000.
2509         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2510         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2511         (complex_vars_of_mule_charset): Add new coded-charset
2512         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2513         `katakana-jisx0208'.
2514
2515         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2516         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2517         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2518         (MIN_CHAR_DAIKANWA): New macro.
2519         (MAX_CHAR_DAIKANWA): New macro.
2520
2521 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2522
2523         * data.c (Fstring_to_number): Don't recognize floating point if
2524         base is not 10.
2525
2526 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2527
2528         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2529
2530 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2531
2532         * mule-charset.c (Qsquare): New variable.
2533         (to_char_code): Add `Qsquare'.
2534         (syms_of_mule_charset): Add new symbol `square'.
2535
2536 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2537
2538         * mule-charset.c (Qcircle): New variable.
2539         (to_char_code): Add `Qcircle'.
2540         (syms_of_mule_charset): Add new symbol `circle'.
2541
2542 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2543
2544         * mule-charset.c (Qfont): New variable.
2545         (to_char_code): Add `Qfont'.
2546         (syms_of_mule_charset): Add new symbol `font'.
2547
2548 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2549
2550         * mule-charset.c (Qsub): New variable.
2551         (to_char_code): Add `Qsub'.
2552         (syms_of_mule_charset): Add new symbol `sub'.
2553
2554 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2555
2556         * mule-charset.c (Fput_char_attribute): Convert each element of
2557         VALUE to GL position if ATTRIBUTE is a GR-set,
2558
2559 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2560
2561         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2562         coded-charset is a GR-set.
2563
2564 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2565
2566         * mule-charset.c (Fput_char_attribute): Check each element of
2567         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2568
2569 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2570
2571         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2572         UTF-2000.
2573         (Qethiopic_ucs): New variable in UTF-2000.
2574         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2575         (complex_vars_of_mule_charset): Add new coded-charset
2576         `ethiopic-ucs' in UTF-2000.
2577
2578         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2579         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2580         9)'.
2581         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2582         10)'.
2583         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2584
2585 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2586
2587         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2588         `ascii'.
2589
2590 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2591
2592         * mule-charset.c (Vcharacter_variant_table): New variable.
2593         (Q_ucs): New variable.
2594         (Fchar_variants): New function.
2595         (Fput_char_attribute): Register `->ucs' value to
2596         `Vcharacter_variant_table'.
2597         (syms_of_mule_charset): Add new function `char-variants' and new
2598         symbol `->ucs'.
2599         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2600
2601 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2602
2603         * mule-charset.c (get_char_code_table): Allow negative character
2604         code.
2605         (put_char_code_table): Likewise.
2606         (Vcharacter_composition_table): New variable.
2607         (Q_decomposition): New variable.
2608         (Qwide): New variable.
2609         (Qnarrow): New variable.
2610         (Qcompat): New variable.
2611         (QnoBreak): New variable.
2612         (Qsuper): New variable.
2613         (Qfraction): New variable.
2614         (to_char_code): New function.
2615         (Fget_composite_char): New function.
2616         (Fput_char_attribute): Register `->decomposition' value to
2617         `Vcharacter_composition_table'.
2618         (syms_of_mule_charset): Add new function `get-composite-char', new
2619         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2620         `super' and `fraction'.
2621         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2622
2623 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2624
2625         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2626         character; copy the return value.
2627
2628 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2629
2630         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2631
2632         * mule-charset.c (range_charset_code_point): Must use make_int.
2633         (split_builtin_char): New function.
2634
2635 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2636
2637         * mule-charset.c (char_byte_table): Change name from
2638         "char-code-table" to "char-byte-table".
2639         (mark_char_code_table): New function.
2640         (char_code_table_equal): New function.
2641         (char_code_table_hash): New function.
2642         (char_code_table_description): New constant.
2643         (char_code_table): New type.
2644         (make_char_code_table): New function.
2645         (copy_char_code_table): New function.
2646         (get_char_code_table): Modify for `char_code_table' type.
2647         (put_char_code_table): Likewise.
2648         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2649         (Kashiwara).
2650
2651         * char-ucs.h (char_code_table): New type.
2652         (XCHAR_CODE_TABLE): New macro.
2653         (XSETCHAR_CODE_TABLE): New macro.
2654         (CHAR_CODE_TABLE_P): New macro.
2655         (GC_CHAR_CODE_TABLE_P): New macro.
2656         (struct Lisp_Char_Code_Table): New structure.
2657
2658 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2659
2660         * mule-charset.c (Fmake_charset): Setup byte_offset for
2661         {94|96}^n-set.
2662
2663 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2664
2665         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2666         character.
2667
2668 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2669
2670         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2671         is found.
2672
2673 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2674
2675         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2676         charset, it is regarded as a charset.
2677         (put_char_attribute): New function in UTF-2000.
2678         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2679         charset, mapping-table of the charset is modified.
2680         (Fdefine_char): New function in UTF-2000.
2681         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2682         `Fput_char_attribute'.
2683         (syms_of_mule_charset): Add new function `define-char' and new
2684         symbol `ucs' in UTF-2000.
2685         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2686
2687 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2688
2689         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2690         non-UTF-2000 configuration.
2691
2692 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2693
2694         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2695         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2696
2697         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2698         deleted.
2699         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2700         (Fset_charset_mapping_table): Likewise.
2701
2702         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2703         (CHARSET_ENCODING_TABLE): Delete.
2704         (XCHARSET_ENCODING_TABLE): Delete.
2705         (charset_code_point): New interface.
2706
2707 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2708
2709         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2710         instead of `charset_get_byte1' and `charset_get_byte2'.
2711
2712         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2713         (charset_get_byte2): Deleted.
2714
2715 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2716
2717         * char-ucs.h (SPLIT_CHAR): New inline function.
2718         (breakup_char_1): Use `SPLIT_CHAR'.
2719
2720         * mule-charset.c (range_charset_code_point): New function.
2721         (charset_code_point): New function.
2722
2723         * char-ucs.h (range_charset_code_point): New interface.
2724         (breakup_char_1): Use `range_charset_code_point'.
2725
2726 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2727
2728         * mule-charset.c (Fmake_charset): Delete unused local variable
2729         `code_offset'.
2730
2731         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2732         (breakup_char_1): Find a charset and code-point in
2733         `Vcharacter_attribute_table'.
2734
2735 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2736
2737         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2738         to 0.10 (Yao).
2739
2740 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2741
2742         * mule-charset.c (Vcharacter_attribute_table): New variable.
2743         (Fchar_attribute_alist): New function.
2744         (Fget_char_attribute): New function.
2745         (Fput_char_attribute): New function.
2746         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2747         too.
2748         (syms_of_mule_charset): Add new function `char-attribute-alist',
2749         `get-char-attribute' and `put-char-attribute'.
2750         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2751
2752 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2753
2754         * mule-charset.c (Fmake_charset): Just use
2755         `get_unallocated_leading_byte'.
2756
2757         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2758         sets; don't use final-byte based number for private sets.
2759
2760 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2761
2762         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2763         integer.
2764
2765 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2766
2767         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2768         to 0.9.
2769
2770 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2771
2772         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2773         of `CHAR_LEADING_BYTE' in UTF-2000.
2774
2775         * insdel.c (find_charsets_in_bufbyte_string): Use
2776         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2777         (find_charsets_in_emchar_string): Likewise.
2778
2779         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2780         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2781
2782         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2783         (CHAR_CHARSET_ID): New macro.
2784
2785 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2786
2787         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2788         charset-id - MIN_LEADING_BYTE.
2789         (put_char_table): Likewise.
2790
2791 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2792
2793         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2794         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2795         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2796         (CHARSET_ID_OFFSET): New macro.
2797         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2798         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2799         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2800         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2801         4).
2802         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2803         5).
2804         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2805         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2806         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2807         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2808         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2809
2810 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2811
2812         * mule-charset.c (next_allocated_leading_byte): New variable in
2813         UTF-2000.
2814         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2815         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2816         (get_unallocated_leading_byte): Simply use
2817         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2818         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2819         UTF-2000.
2820
2821         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2822         (MAX_LEADING_BYTE_PRIVATE): New macro.
2823         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2824         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2825
2826 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2827
2828         * mule-charset.c (Fmake_charset): Allocate final-byte based
2829         charset-id for 94-set, 96-set and 94x94-set.
2830
2831 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2832
2833         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2834         ambiguous `else'.
2835         (Fmake_charset): Likewise.
2836         (complex_vars_of_mule_charset): Modify the font registry of
2837         `ucs-bmp' not to match `Ethiopic-Unicode'.
2838
2839 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2840
2841         * mule-charset.c (complex_vars_of_mule_charset): Add font
2842         registory of `ucs-bmp'.
2843
2844 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2845
2846         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2847         coded-charsets in `default-coded-charset-priority-list' when
2848         breaking up a character.
2849
2850         * mule-charset.c (Vcharset_latin_viscii): New variable.
2851         (Qlatin_viscii): New variable.
2852         (make_charset): Don't use `decoding_table'.
2853         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2854         byte_offset.
2855         (Fset_charset_mapping_table): New implementation.
2856         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2857         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2858         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2859         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2860         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2861         charset `latin_viscii'.
2862
2863         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2864         (CHARSET_TYPE_94X94): Change to 1 from 2.
2865         (CHARSET_TYPE_96): Change to 2 from 1.
2866         (CHARSET_TYPE_128): New macro.
2867         (CHARSET_TYPE_128X128): Change to 5 from 4.
2868         (CHARSET_TYPE_256): New macro.
2869         (CHARSET_TYPE_256X256): Change to 7 from 5.
2870         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2871
2872 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2873
2874         * text-coding.c (char_encode_shift_jis): Refer
2875         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2876         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2877
2878         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2879         (char_byte_table_equal): New function in UTF-2000.
2880         (char_byte_table_hash): New function in UTF-2000.
2881         (char_byte_table_description): New constant in UTF-2000.
2882         (char_byte_table): New type in UTF-2000.
2883         (make_char_byte_table): New function in UTF-2000.
2884         (copy_char_byte_table): New function in UTF-2000.
2885         (make_char_code_table): New macro in UTF-2000.
2886         (get_char_code_table): New function in UTF-2000.
2887         (put_char_code_table): New function in UTF-2000.
2888         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2889         (charset_description): Add setting in UTF-2000.
2890         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2891         `CHARSET_TO_BYTE1_TABLE(cs)'.
2892         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2893         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2894         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2895         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2896         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2897         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2898         `CHARSET_TO_BYTE2_TABLE(cs)'.
2899
2900         * char-ucs.h (char_byte_table): New type.
2901         (XCHAR_BYTE_TABLE): New macro.
2902         (XSETCHAR_BYTE_TABLE): New macro.
2903         (CHAR_BYTE_TABLE_P): New macro.
2904         (GC_CHAR_BYTE_TABLE_P): New macro.
2905         (struct Lisp_Char_Byte_Table): New structure.
2906         (get_char_code_table): New interface.
2907         (Emchar_to_byte_table): Deleted.
2908         (get_byte_from_character_table): Deleted.
2909         (struct Lisp_Charset): Add `encoding_table'; delete
2910         `to_byte1_table' and `to_byte2_table'.
2911         (CHARSET_ENCODING_TABLE): New macro.
2912         (CHARSET_TO_BYTE1_TABLE): Deleted.
2913         (CHARSET_TO_BYTE2_TABLE): Deleted.
2914         (XCHARSET_ENCODING_TABLE): New macro.
2915         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2916         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2917
2918 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2919
2920         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2921         `vietnamese-viscii-*'.
2922
2923 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2924
2925         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2926         (Qvietnamese_viscii_upper): New variable.
2927         (Fdefine_charset_alias): New function.
2928         (syms_of_mule_charset): Add new function `define-charset-alias'.
2929         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2930         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2931         `latin-viscii-*'.
2932
2933 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2934
2935         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2936         (MAX_CHAR_OBS_94x94): New macro.
2937         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2938         for 94x94 sets.
2939
2940         * mule-charset.c (put_byte_from_character_table): Change unit size
2941         from 128 to 256.
2942         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2943         not defined.
2944         (Fmake_reverse_direction_charset): Modify dummy argument of
2945         `make_charset' for non-UTF-2000 environment.
2946
2947 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2948
2949         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2950
2951         * mule-charset.c (destroy_byte_from_character_table): New macro.
2952         (latin_jisx0201_to_ucs): Deleted.
2953         (latin_iso8859_2_to_ucs): Deleted.
2954         (latin_iso8859_3_to_ucs): Deleted.
2955         (latin_iso8859_4_to_ucs): Deleted.
2956         (latin_iso8859_9_to_ucs): Deleted.
2957         (latin_viscii_lower_to_ucs): Deleted.
2958         (latin_viscii_upper_to_ucs): Deleted.
2959         (mark_charset): Mark `cs->decoding_table'.
2960         (Fcharset_mapping_table): Fix DOC-string.
2961         (Fset_charset_mapping_table): New function.
2962         (syms_of_mule_charset): Add nwe function
2963         `set-charset-mapping-table'.
2964         (complex_vars_of_mule_charset): Don't setup and use
2965         `latin_*_to_ucs'.
2966
2967 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2968
2969         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2970         charset.
2971
2972 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2973
2974         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2975         (Vcharset_katakana_jisx0208): New variable.
2976         (Qhiragana_jisx0208): New variable.
2977         (Qkatakana_jisx0208): New variable.
2978         (make_charset): Add new argument `byte_offset'.
2979         (charset_get_byte1): Modify for new coded-charset definition; use
2980         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2981         `XCHARSET_BYTE_OFFSET'.
2982         (Fmake_charset): Modify for `make_charset'.
2983         (Fmake_reverse_direction_charset): Likewise.
2984         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2985         `katakana-jisx0208'.
2986         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2987         `.'  in font registry of charset `katakana-jisx0201',
2988         `latin-jisx0201', `vietnamese-viscii-lower' and
2989         `vietnamese-viscii-upper'; modify DOC-string of charset
2990         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2991         registry of charset `japanese-jisx0208' not to use font for JIS
2992         X0208:1990; add new charset `hiragana-jisx0208' and
2993         `katakana-jisx0208'.
2994
2995         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2996         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2997         (struct Lisp_Charset): Add `byte_offset'.
2998         (CHARSET_BYTE_OFFSET): New macro.
2999         (XCHARSET_UCS_MIN): New macro.
3000         (XCHARSET_UCS_MAX): New macro.
3001         (XCHARSET_CODE_OFFSET): New macro.
3002         (XCHARSET_BYTE_OFFSET): New macro.
3003         (MIN_CHAR_HIRAGANA): New macro.
3004         (MAX_CHAR_HIRAGANA): New macro.
3005         (MIN_CHAR_KATAKANA): New macro.
3006         (MAX_CHAR_KATAKANA): New macro.
3007         (MAKE_CHAR): Modify for new coded-charset definition; use
3008         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3009         `XCHARSET_BYTE_OFFSET'.
3010
3011 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3012
3013         * mule-charset.c (CHAR96): Deleted.
3014         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3015         <Lisp_Object>.
3016         (latin_iso8859_2_to_ucs): Likewise.
3017         (latin_iso8859_3_to_ucs): Likewise.
3018         (latin_iso8859_4_to_ucs): Likewise.
3019         (latin_iso8859_9_to_ucs): Likewise.
3020         (latin_viscii_lower_to_ucs): Likewise.
3021         (latin_viscii_upper_to_ucs): Likewise.
3022         (latin_tcvn5712_to_ucs): Commented out.
3023         (make_charset): Change type of argument `decoding_table' from
3024         <Emchar*> to <Lisp_Object> [vector of characters].
3025         (Fmake_charset): Modify for `make_charset'.
3026         (Fmake_reverse_direction_charset): Likewise.
3027         (Fcharset_mapping_table): New function in UTF-2000.
3028         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3029         UTF-2000.
3030         (complex_vars_of_mule_charset): Modify for type change of
3031         `*_to_ucs'; modify for `make_charset'.
3032
3033         * char-ucs.h (struct Lisp_Charset): Change type of
3034         `decoding_table' from <Emchar*> to <Lisp_Object>.
3035         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3036
3037 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3038
3039         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3040         error with non-UTF-2000-Mule.
3041
3042 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3043
3044         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3045         in lisp again].
3046         (Vcharset_chinese_cns11643_4): Likewise.
3047         (Vcharset_chinese_cns11643_5): Likewise.
3048         (Vcharset_chinese_cns11643_6): Likewise.
3049         (Vcharset_chinese_cns11643_7): Likewise.
3050         (Qchinese_cns11643_3): Likewise.
3051         (Qchinese_cns11643_4): Likewise.
3052         (Qchinese_cns11643_5): Likewise.
3053         (Qchinese_cns11643_6): Likewise.
3054         (Qchinese_cns11643_7): Likewise.
3055         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3056         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3057         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3058         (complex_vars_of_mule_charset): Likewise.
3059
3060 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3061
3062         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3063         96-set.
3064         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3065         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3066
3067 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3068
3069         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3070         0xFF60.
3071         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3072         (breakup_char_1): Likewise.
3073
3074         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3075         one of them includes the specified character.
3076
3077 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3078
3079         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3080
3081 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3082
3083         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3084
3085 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3086
3087         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3088         definition for non-UTF-2000 Mule.
3089         (latin_iso8859_3_to_ucs): Likewise.
3090         (latin_iso8859_4_to_ucs): Likewise.
3091         (latin_iso8859_9_to_ucs): Likewise.
3092         (latin_jisx0201_to_ucs): Likewise.
3093         (MIN_CHAR_THAI): Likewise.
3094         (MAX_CHAR_THAI): Likewise.
3095         (MIN_CHAR_GREEK): Likewise.
3096         (MAX_CHAR_GREEK): Likewise.
3097         (MIN_CHAR_HEBREW): Likewise.
3098         (MAX_CHAR_HEBREW): Likewise.
3099         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3100         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3101         (MIN_CHAR_CYRILLIC): Likewise.
3102         (MAX_CHAR_CYRILLIC): Likewise.
3103
3104 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3105
3106         * char-ucs.h (breakup_char_1): Use
3107         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3108         thai-tis620 and katakana-jisx0201 area.
3109
3110 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3111
3112         * char-ucs.h (breakup_char_1): Use
3113         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3114         area.
3115
3116         * text-coding.c (reset_encoding_stream): Fixed.
3117         (char_encode_ucs4): Delete `& 255'.
3118
3119         * char-ucs.h (breakup_char_1): Use
3120         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3121
3122 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3123
3124         * file-coding.c (Fmake_coding_system): Don't set up
3125         `codesys->fixed.size'.
3126         (encode_coding_no_conversion): Don't refer
3127         `str->codesys->fixed.size'.
3128
3129 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3130
3131         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3132         (latin_a_char_to_byte1): Deleted.
3133         (latin_a_char_to_byte2): Deleted.
3134
3135 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3136
3137         * mule-charset.c (make_charset): Add new argument `ucs_min',
3138         `ucs_max' and `code_offset'.
3139         (charset_get_byte1): New implementation [delete specific charset
3140         depended implementations].
3141         (Fmake_charset): Modify for `make_charset'.
3142         (Fmake_reverse_direction_charset): Likewise.
3143         (complex_vars_of_mule_charset): Likewise.
3144
3145         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3146         `code_offset'.
3147         (CHARSET_UCS_MIN): New macro.
3148         (CHARSET_UCS_MAX): New macro.
3149         (CHARSET_CODE_OFFSET): New macro.
3150         (MAKE_CHAR): Delete charset depended definitions [except
3151         katakana-jisx0201].
3152
3153 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3154
3155         * char-ucs.h (breakup_char_1): Use
3156         `Vdefault_coded_charset_priority_list' for C0-Controls,
3157         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3158
3159 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3160
3161         * char-ucs.h (charset_get_byte1): New function.
3162         (XCHARSET_GET_BYTE1): Deleted.
3163         (charset_get_byte2): New function.
3164         (XCHARSET_GET_BYTE2): Deleted.
3165         (Vdefault_coded_charset_priority_list): New external variable.
3166         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3167         `Vdefault_preferred_coded_charset_list'.
3168
3169         * mule-charset.c (charset_get_byte1): New function.
3170         (charset_get_byte2): New function.
3171         (Vdefault_coded_charset_priority_list): New variable.
3172         (vars_of_mule_charset): Add new variable
3173         `default-coded-charset-priority-list'.
3174
3175 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3176
3177         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3178         (XCHARSET_GET_BYTE2): New inline function.
3179         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3180         `XCHARSET_GET_BYTE2'.
3181
3182 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3183
3184         * mule-charset.c (make_charset): Initialize
3185         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3186         NULL if table is not defined.
3187
3188 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3189
3190         * text-coding.c (char_encode_shift_jis): Use
3191         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3192         `ucs_to_latin_jisx0201'.
3193
3194         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3195         (ucs_to_latin_iso8859_2): Deleted.
3196         (ucs_to_latin_iso8859_3): Deleted.
3197         (ucs_to_latin_iso8859_4): Deleted.
3198         (ucs_to_latin_iso8859_9): Deleted.
3199         (ucs_to_latin_viscii_lower): Deleted.
3200         (ucs_to_latin_viscii_upper): Deleted.
3201         (ucs_to_latin_tcvn5712): Deleted.
3202         (make_charset): Add new argument `decoding_table'; set up
3203         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3204         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3205         `decoding_table' is defined in UTF-2000.
3206         (Fmake_charset): Modify for `make_charset'.
3207         (Fmake_reverse_direction_charset): Likewise.
3208         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3209         and `GENERATE_96_SET'.
3210
3211         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3212         (ucs_to_latin_jisx0201): Deleted.
3213         (latin_iso8859_2_to_ucs): Deleted.
3214         (ucs_to_latin_iso8859_2): Deleted.
3215         (latin_iso8859_3_to_ucs): Deleted.
3216         (ucs_to_latin_iso8859_3): Deleted.
3217         (latin_iso8859_4_to_ucs): Deleted.
3218         (ucs_to_latin_iso8859_4): Deleted.
3219         (latin_iso8859_9_to_ucs): Deleted.
3220         (ucs_to_latin_iso8859_9): Deleted.
3221         (latin_viscii_lower_to_ucs): Deleted.
3222         (ucs_to_latin_viscii_lower): Deleted.
3223         (latin_viscii_upper_to_ucs): Deleted.
3224         (ucs_to_latin_viscii_upper): Deleted.
3225         (struct Lisp_Charset): Renamed `encoding_table' to
3226         `to_byte1_table'; add `to_byte2_table'.
3227         (CHARSET_DECODING_TABLE): New macro.
3228         (CHARSET_TO_BYTE1_TABLE): New macro.
3229         (CHARSET_TO_BYTE2_TABLE): New macro.
3230         (XCHARSET_DECODING_TABLE): New macro.
3231         (XCHARSET_TO_BYTE1_TABLE): New macro.
3232         (XCHARSET_TO_BYTE2_TABLE): New macro.
3233         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3234         tables.
3235         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3236         don't use `ucs_to_*' tables.
3237
3238 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3239
3240         * text-coding.c (Fmake_coding_system): Don't set up
3241         `codesys->fixed.size'.
3242         (encode_coding_no_conversion): Use `if' instead of `switch'.
3243
3244         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3245
3246 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3247
3248         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3249         (Fmake_charset): Modify for `make_charset'.
3250         (Fmake_reverse_direction_charset): Likewise.
3251         (complex_vars_of_mule_charset): Likewise.
3252
3253 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3254
3255         * text-coding.c (char_encode_shift_jis): Use table
3256         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3257
3258 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3259
3260         * text-coding.c (text_encode_generic): Use `if' instead of
3261         `switch'.
3262         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3263         decode JIS-Latin.
3264
3265 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3266
3267         * text-coding.c (encode_coding_sjis): Deleted.
3268         (char_encode_shift_jis): New function.
3269         (char_finish_shift_jis): New function.
3270         (reset_encoding_stream): Set up `encode_char' and `finish' for
3271         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3272         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3273         (char_encode_utf8): Treat `eol_type'.
3274
3275 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3276
3277         * file-coding.c (decode_coding_iso2022): Use
3278         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3279
3280 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3281
3282         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3283         to 0.7 (Hirano).
3284
3285 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3286
3287         * char-lb.h (CHAR_COLUMNS): New macro.
3288
3289 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3290
3291         * text-coding.c (char_encode_ucs4): New function.
3292         (char_finish_ucs4): New function.
3293         (encode_coding_ucs4): Deleted.
3294         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3295         (text_encode_generic): Delete local variable `charset' and `half'.
3296         (ucs_to_mule_table): Deleted.
3297         (mule_to_ucs_table): Deleted.
3298         (Fset_ucs_char): Deleted.
3299         (ucs_to_char): Deleted.
3300         (Fucs_char): Deleted.
3301         (Fset_char_ucs): Deleted.
3302         (Fchar_ucs): Deleted.
3303         (decode_ucs4): Deleted.
3304         (mule_char_to_ucs4): Deleted.
3305         (encode_ucs4): Deleted.
3306         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3307         (decode_coding_utf8): Likewise.
3308         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3309         (char_encode_iso2022): Fixed.
3310         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3311         `Fset_char_ucs' and `Fchar_ucs'.
3312         (complex_vars_of_file_coding): Don't initialize
3313         `ucs_to_mule_table'.
3314
3315         * objects-tty.c (tty_initialize_font_instance): Don't use
3316         `XCHARSET_COLUMNS'.
3317
3318         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3319         UTF-2000.
3320
3321         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3322         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3323
3324         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3325         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3326         (emchar_string_displayed_columns): Likewise.
3327
3328         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3329         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3330         (string_column_at_point): Likewise.
3331         (Fmove_to_column): Likewise.
3332
3333         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3334         `encoding_table' and `decoding_table'.
3335         (CHARSET_REP_BYTES): Deleted.
3336         (XCHARSET_REP_BYTES): Deleted.
3337         (XCHARSET_COLUMNS): Deleted.
3338         (CHAR_COLUMNS): New macro.
3339         (lookup_composite_char): Deleted unconditionally.
3340         (composite_char_string): Likewise.
3341
3342 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3343
3344         * char-ucs.h (Emchar_to_byte_table): New type.
3345         (get_byte_from_character_table): New function interface.
3346         (Vcharset_latin_jisx0201): New variable.
3347         (latin_jisx0201_to_ucs): New variable.
3348         (ucs_to_latin_jisx0201): New variable.
3349         (Vcharset_latin_iso8859_2): New variable.
3350         (latin_iso8859_2_to_ucs): New variable.
3351         (ucs_to_latin_iso8859_2): New variable.
3352         (Vcharset_latin_iso8859_3): New variable.
3353         (latin_iso8859_3_to_ucs): New variable.
3354         (ucs_to_latin_iso8859_3): New variable.
3355         (Vcharset_latin_iso8859_4): New variable.
3356         (latin_iso8859_4_to_ucs): New variable.
3357         (ucs_to_latin_iso8859_4): New variable.
3358         (Vcharset_latin_iso8859_9): New variable.
3359         (latin_iso8859_9_to_ucs): New variable.
3360         (ucs_to_latin_iso8859_9): New variable.
3361         (Vcharset_latin_viscii_lower): New variable.
3362         (latin_viscii_lower_to_ucs): New variable.
3363         (ucs_to_latin_viscii_lower): New variable.
3364         (Vcharset_latin_viscii_upper): New variable.
3365         (latin_viscii_upper_to_ucs): New variable.
3366         (ucs_to_latin_viscii_upper): New variable.
3367         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3368         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3369         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3370         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3371         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3372         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3373         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3374         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3375         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3376         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3377
3378         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3379         (Vcharset_latin_viscii_upper): New variable.
3380         (make_byte_from_character_table): New function.
3381         (put_byte_from_character_table): New function.
3382         (get_byte_from_character_table): New function.
3383         (CHAR96): New macro.
3384         (ucs_to_latin_jisx0201): New variable.
3385         (latin_jisx0201_to_ucs): New variable.
3386         (ucs_to_latin_iso8859_2): New variable.
3387         (latin_iso8859_2_to_ucs): New variable.
3388         (ucs_to_latin_iso8859_3): New variable.
3389         (latin_iso8859_3_to_ucs): New variable.
3390         (ucs_to_latin_iso8859_4): New variable.
3391         (latin_iso8859_4_to_ucs): New variable.
3392         (ucs_to_latin_iso8859_9): New variable.
3393         (latin_iso8859_9_to_ucs): New variable.
3394         (ucs_to_latin_viscii_lower): New variable.
3395         (latin_viscii_lower_to_ucs): New variable.
3396         (ucs_to_latin_viscii_upper): New variable.
3397         (latin_viscii_upper_to_ucs): New variable.
3398         (ucs_to_latin_tcvn5712): New variable.
3399         (latin_tcvn5712_to_ucs): New variable.
3400         (Qlatin_viscii_lower): New variable.
3401         (Qlatin_viscii_upper): New variable.
3402         (syms_of_mule_charset): Set up new symbol
3403         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3404         (complex_vars_of_mule_charset): Set up new charset
3405         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3406         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3407         `ucs_to_<CHARSET>' tables.
3408
3409 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3410
3411         * text-coding.c: New file.
3412
3413 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3414
3415         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3416
3417         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3418         (MAKE_CHAR): Modify for `ucs-bmp'.
3419         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3420         non-MULE characters of BMP.
3421
3422 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3423
3424         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3425         to 0.6.
3426
3427 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3428
3429         * lstream.h:
3430         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3431         - Include character.h for `CHAR_ASCII_P'.
3432
3433         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3434
3435         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3436         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3437
3438         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3439         (BYTE_C0_P): Likewise.
3440         (BYTE_C1_P): Likewise.
3441         (Lstream_get_emchar_1): Likewise.
3442         (Lstream_fput_emchar): Likewise.
3443         (Lstream_funget_emchar): Likewise.
3444         (copy_internal_to_external): Likewise.
3445         (copy_external_to_internal): Likewise.
3446
3447         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3448         (BYTE_C0_P): Likewise.
3449         (BYTE_C1_P): Likewise.
3450         (Lstream_get_emchar_1): Likewise.
3451         (Lstream_fput_emchar): Likewise.
3452         (Lstream_funget_emchar): Likewise.
3453         (copy_internal_to_external): Likewise.
3454         (copy_external_to_internal): Likewise.
3455
3456         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3457         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3458
3459         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3460         (BYTE_ASCII_P): Moved to mb-1byte.h.
3461
3462 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3463
3464         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3465
3466         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3467         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3468         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3469         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3470         (VALIDATE_CHARPTR_FORWARD): Likewise.
3471         (simple_charptr_emchar): Moved to mb-multibyte.h.
3472         (simple_set_charptr_emchar): Likewise.
3473         (simple_charptr_copy_char): Likewise.
3474         (non_ascii_charptr_emchar): Likewise.
3475         (non_ascii_set_charptr_emchar): Likewise.
3476         (non_ascii_charptr_copy_char): Likewise.
3477         (charptr_emchar): Moved to mb-*byte.h.
3478         (set_charptr_emchar): Likewise.
3479         (charptr_copy_char): Likewise.
3480
3481         * mb-1byte.h, mb-multibyte.h: New files.
3482
3483 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3484
3485         * mb-utf-8.h (MULTIBYTE): New macro.
3486         (MAX_EMCHAR_LEN): Moved from buffer.h.
3487         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3488
3489         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3490
3491         * mb-lb.h, multibyte.h: New files.
3492
3493         * char-1byte.h (Charset_ID): Moved from buffer.h.
3494         (MIN_LEADING_BYTE): Likewise.
3495         (LEADING_BYTE_ASCII): Likewise.
3496         (NUM_LEADING_BYTES): Likewise.
3497         (CHARSETP): Likewise.
3498         (CHARSET_BY_LEADING_BYTE): Likewise.
3499         (XCHARSET_LEADING_BYTE): Likewise.
3500         (XCHARSET_GRAPHIC): Likewise.
3501         (XCHARSET_COLUMNS): Likewise.
3502         (XCHARSET_DIMENSION): Likewise.
3503         (CHAR_CHARSET): Likewise.
3504         (CHAR_LEADING_BYTE): Likewise.
3505         (BREAKUP_CHAR): Likewise.
3506         (Vcharset_ascii): Likewise.
3507
3508         * buffer.h: Include multibyte.h unconditionally.
3509         (VALID_CHARPTR_P): Moved to multibyte.h.
3510         (ASSERT_VALID_CHARPTR): Likewise.
3511         (REAL_INC_CHARPTR): Likewise.
3512         (REAL_INC_CHARBYTIND): Likewise.
3513         (REAL_DEC_CHARPTR): Likewise.
3514         (INC_CHARPTR): Likewise.
3515         (INC_CHARBYTIND): Likewise.
3516         (DEC_CHARPTR): Likewise.
3517         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3518         (VALIDATE_CHARPTR_FORWARD): Likewise.
3519         (charptr_n_addr): Likewise.
3520         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3521         (simple_charptr_emchar): Moved to multibyte.h.
3522         (simple_set_charptr_emchar): Likewise.
3523         (simple_charptr_copy_char): Likewise.
3524         (non_ascii_charptr_emchar): Likewise.
3525         (non_ascii_set_charptr_emchar): Likewise.
3526         (non_ascii_charptr_copy_char): Likewise.
3527         (charptr_emchar): Likewise.
3528         (set_charptr_emchar): Likewise.
3529         (charptr_copy_char): Likewise.
3530         (charptr_emchar_n): Likewise.
3531         (Charset_ID): Moved to char-1byte.h.
3532         (Vcharset_ascii): Likewise.
3533         (CHAR_CHARSET): Likewise.
3534         (CHAR_LEADING_BYTE): Likewise.
3535         (LEADING_BYTE_ASCII): Likewise.
3536         (NUM_LEADING_BYTES): Likewise.
3537         (MIN_LEADING_BYTE): Likewise.
3538         (CHARSETP): Likewise.
3539         (CHARSET_BY_LEADING_BYTE): Likewise.
3540         (XCHARSET_LEADING_BYTE): Likewise.
3541         (XCHARSET_GRAPHIC): Likewise.
3542         (XCHARSET_COLUMNS): Likewise.
3543         (XCHARSET_DIMENSION): Likewise.
3544         (BREAKUP_CHAR): Likewise.
3545
3546 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3547
3548         * character.h: Add document about interface for characters.
3549
3550         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3551         (MAKE_CHAR): Delete comment about
3552         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3553         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3554         (BREAKUP_CHAR): Modify name of arguments.
3555         (CHAR_CHARSET): Modify name of argument.
3556
3557         * buffer.h: Delete document about Emchar accessors.
3558
3559 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3560
3561         * character.h (CHAR_INTP): Moved from buffer.h
3562         (CHAR_OR_CHAR_INTP): Likewise.
3563         (XCHAR_OR_CHAR_INT): Likewise.
3564         (CHECK_CHAR_COERCE_INT): Likewise.
3565
3566         * buffer.h (CHAR_INTP): Moved to character.h
3567         (CHAR_OR_CHAR_INTP): Likewise.
3568         (XCHAR_OR_CHAR_INT): Likewise.
3569         (CHECK_CHAR_COERCE_INT): Likewise.
3570
3571 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3572
3573         * character.h:
3574         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3575         - Include char-1byte.h, char-lb.h or char-ucs.h.
3576
3577         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3578
3579         * buffer.h: Include character unconditionally.
3580         (valid_char_p): Moved to char-*.h.
3581         (non_ascii_valid_char_p): Moved to char-lb.h.
3582
3583         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3584
3585 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3586
3587         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3588         in UTF-2000 because it is not ported yet and not to use
3589         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3590         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3591         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3592
3593         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3594         (CHAR_ASCII_P): Moved from character.h.
3595
3596         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3597         (CHAR_ASCII_P): Likewise.
3598         (CHAR_FIELD1_MASK): Deleted.
3599         (CHAR_FIELD2_MASK): Deleted.
3600         (CHAR_FIELD3_MASK): Deleted.
3601         (MAX_CHAR_BASIC_LATIN): New macro.
3602         (CHAR_FIELD1): Deleted.
3603         (CHAR_FIELD2_INTERNAL): Deleted.
3604         (CHAR_FIELD3_INTERNAL): Deleted.
3605         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3606         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3607         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3608         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3609         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3610         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3611         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3612         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3613         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3614         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3615         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3616         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3617         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3618         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3619         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3620         (MIN_CHAR_COMPOSITION): Deleted.
3621         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3622         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3623
3624 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3625
3626         * buffer.h: Include mb-utf-8.h in UTF-2000.
3627
3628         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3629
3630         * mb-utf-8.h: New file.
3631
3632 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3633
3634         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3635         instead of `int'.
3636
3637         * mule-charset.h, buffer.h (Charset_ID): New type.
3638
3639 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3640
3641         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3642         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3643         instead of `MULE_CHAR_PRIVATE_OFFSET',
3644         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3645         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3646         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3647
3648         * character.h (Vcharset_japanese_jisx0212): New variable
3649         definition.
3650
3651 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3652
3653         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3654         (charset_by_attributes): Delete array about direction.
3655         (latin_a_char_to_charset): New variable in UTF-2000.
3656         (latin_a_char_to_byte1): New variable in UTF-2000.
3657         (latin_a_char_to_byte2): New variable in UTF-2000.
3658         (Qucs_bmp): New variable.
3659         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3660         `Bufbyte'.
3661         (next_allocated_2_byte_leading_byte): Likewise.
3662         (non_ascii_set_charptr_emchar): Likewise.
3663         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3664         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3665         `charset_by_attributes'.
3666         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3667         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3668         and `CHARSET_BY_LEADING_BYTE'.
3669         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3670         `utf-2000-version' to `vars_of_mule_charset'.
3671         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3672         define `leading-code-private-11' in UTF-2000; move setting of
3673         `utf-2000-version' from `syms_of_mule_charset'.
3674         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3675         UTF-2000.
3676
3677         * character.h (Charset_ID): New type.
3678         (LEADING_BYTE_UCS_BMP): New macro.
3679         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3680         (CHARSET_ID_OFFSET_94): New macro.
3681         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3682         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3683         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3684         final-byte.
3685         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3686         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3687         (CHARSET_ID_OFFSET_96): New macro.
3688         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3689         CHARSET_ID_OFFSET_96 and final-byte.
3690         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3691         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3692         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3693         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3694         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3695         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3696         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3697         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3698         (LEADING_BYTE_THAI_TIS620): Likewise.
3699         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3700         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3701         (CHARSET_ID_OFFSET_94x94): New macro.
3702         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3703         CHARSET_ID_OFFSET_94x94 and final-byte.
3704         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3705         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3706         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3707         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3708         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3709         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3710         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3711         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3712         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3713         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3714         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3715         (CHARSET_TYPE_128X128): New macro.
3716         (CHARSET_TYPE_256X256): New macro.
3717         (XCHARSET_PRIVATE_P): Delete unconditionally.
3718         (charset_by_attributes): Delete array about direction.
3719         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3720         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3721         (MIN_CHAR_94): New macro.
3722         (MAX_CHAR_94): New macro.
3723         (MIN_CHAR_96): New macro.
3724         (MAX_CHAR_96): New macro.
3725         (MIN_CHAR_94x94): New macro.
3726         (MAX_CHAR_94x94): New macro.
3727         (MIN_CHAR_96x96): New macro.
3728         (MAX_CHAR_96x96): New macro.
3729         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3730         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3731         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3732         - 32)'.
3733         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3734         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3735         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3736         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3737         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3738         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3739         `XCHARSET_LEADING_BYTE' to make code-point.
3740         (latin_a_char_to_charset): New variable.
3741         (latin_a_char_to_byte1): New variable.
3742         (latin_a_char_to_byte2): New variable.
3743         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3744         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3745         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3746
3747         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3748         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3749         (find_charsets_in_emchar_string): Likewise.
3750         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3751
3752         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3753         `int'.
3754         (decode_coding_iso2022): Likewise.
3755
3756         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3757         of `unsigned char'.
3758
3759         * redisplay.c (redisplay_text_width_emchar_string): Use
3760         `Charset_ID' instead of `unsigned char'.
3761         (redisplay_frame_text_width_string): Likewise.
3762
3763         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3764         `unsigned char'.
3765
3766         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3767         instead of `unsigned char'.
3768         (face_cachel_charset_font_metric_info): Likewise.
3769
3770         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3771         (get_non_ascii_char_table_value): Likewise.
3772         (get_char_table): Likewise.
3773         (put_char_table): Likewise.
3774         (map_over_other_charset): Likewise.
3775         (map_char_table): Likewise.
3776
3777         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3778         instead of `unsigned char'.
3779
3780 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3781
3782         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3783         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3784
3785         * mule-charset.c (leading_code_private_11): Don't define in
3786         UTF-2000.
3787
3788         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3789         in UTF-2000 because it is not ported yet and not to use
3790         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3791
3792 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3793
3794         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3795
3796 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3797
3798         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3799         in UTF-2000.
3800
3801         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3802         of unsigned char to store leading-byte.
3803
3804         * chartab.c (get_non_ascii_char_table_value): Don't use
3805         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3806
3807         * file-coding.c (encode_coding_big5): Delete bogus implementation
3808         in UTF2000.
3809
3810         * character.h (LEADING_BYTE_*): Delete definition for
3811         non-UTF-2000.
3812         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3813         (LEADING_BYTE_PREFIX_P): Deleted.
3814         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3815         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3816         (BUFBYTE_LEADING_BYTE_P): Deleted.
3817         (CHARSET_PRIVATE_P): Deleted unconditionally.
3818         (rep_bytes_by_first_byte): Deleted unconditionally.
3819         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3820         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3821         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3822         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3823         (CHAR_FIELD2): Deleted.
3824         (CHAR_FIELD3): Deleted.
3825         (MAKE_CHAR): Delete definition for non-UTF-2000.
3826         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3827         (breakup_char_1): New implementation.
3828         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3829         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3830
3831 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3832
3833         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3834         condition.
3835
3836 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3837
3838         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3839         (CHARSET_PRIVATE_P): Likewise.
3840         (XCHARSET_PRIVATE_P): Likewise.
3841         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3842
3843         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3844         UTF2000.
3845         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3846
3847 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3848
3849         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3850         (NUM_LEADING_BYTES): Changed from 128 to 256.
3851         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3852         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3853         UTF2000.
3854         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3855
3856         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3857         UTF2000.
3858         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3859         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3860         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3861         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3862         (Qchinese_cns11643_3): New variable in UTF2000.
3863         (Qchinese_cns11643_4): New variable in UTF2000.
3864         (Qchinese_cns11643_5): New variable in UTF2000.
3865         (Qchinese_cns11643_6): New variable in UTF2000.
3866         (Qchinese_cns11643_7): New variable in UTF2000.
3867         (syms_of_mule_charset): Define `chinese-cns11643-3',
3868         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3869         and `chinese-cns11643-7' in UTF2000.
3870         (vars_of_mule_charset): Initialize
3871         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3872         + 1 in UTF2000.
3873         (complex_vars_of_mule_charset): Setup charset
3874         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3875         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3876
3877 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3878
3879         * mule-charset.c: Move setting for `leading-code-private-11' from
3880         `syms_of_mule_charset' to `vars_of_mule_charset'.
3881
3882 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3883
3884         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3885         and `NUM_LEADING_BYTES' in assert.
3886
3887 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3888
3889         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3890         instead of 128.
3891         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3892         `NUM_LEADING_BYTES' instead of 128.
3893
3894 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3895
3896         * mule-charset.h (charset_by_leading_byte): Use
3897         `NUM_LEADING_BYTES' instead of 128.
3898         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3899
3900         * mule-charset.c (charset_by_leading_byte): Use
3901         `NUM_LEADING_BYTES' instead of 128.
3902         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3903
3904         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3905         128.
3906
3907 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3908
3909         * mule-charset.c (syms_of_mule_charset): Update to
3910         0.4 (Shin-Imamiya).
3911
3912 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3913
3914         * file-coding.c (encode_coding_sjis): New implementation for
3915         UTF2000.  (decode_coding_sjis): Ditto.
3916
3917 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3918
3919         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3920         Don't define in UTF2000.
3921
3922         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3923         defined.
3924
3925         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3926         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3927         MULE.
3928
3929 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3930
3931         * config.h.in (CHAR_IS_UCS4): New macro.
3932
3933         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3934         conventional MULE representation.
3935         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3936
3937         * mule-charset.h: Reverted to original.
3938
3939         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3940         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3941         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3942
3943         * character.h: New file.
3944
3945         * file-coding.c (Fmake_coding_system): Set 1 to
3946         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3947         defined.
3948         (encode_coding_no_conversion): New implementation for UTF2000.
3949
3950         * file-coding.h (struct Lisp_Coding_System): Add new member
3951         `fixed.size'.
3952
3953 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3954
3955         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3956         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3957         (encode_coding_iso2022): New implementation for UTF2000.
3958
3959 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3960
3961         * mule-canna.c (c2mu): New implementation for UTF2000.
3962         (m2c): Likewise.
3963
3964 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3965
3966         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3967
3968 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3969
3970         * file-coding.c (reset_encoding_stream): Set 0 to
3971         `str->iso2022.current_char_boundary' in UTF2000.
3972         (encode_utf8): Don't define in UTF2000.
3973         (encode_coding_utf8): New implementation for UTF-8 representation
3974         of UTF2000.
3975         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3976
3977 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3978
3979         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3980
3981         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3982         UTF2000.
3983         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3984
3985         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3986
3987         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3988         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3989         as UTF-8 in UTF2000.
3990         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3991         (non_ascii_valid_char_p): Don't define in UTF2000.
3992         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3993         (Lstream_get_emchar_1): Likewise.
3994         (utf-2000-version): New variable in UTF2000.
3995
3996         * lread.c (read_escape): Add new reader `u'.
3997
3998         * insdel.c (three_to_one_table): Don't define in UTF2000.
3999         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4000         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4001         UTF2000.
4002         (bytind_to_bufpos_func): Likewise.
4003         (buffer_mule_signal_inserted_region): Likewise.
4004         (vars_of_insdel): Don't initialize `three_to_one_table'.
4005         (init_buffer_text): Use `buf->text->mule_size' instead of
4006         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4007         UTF2000.
4008
4009         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4010         UTF-8 representation in UTF2000.
4011         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4012         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4013         (decode_coding_iso2022): Don't define local variable `lb' in
4014         UTF2000; don't use LEADING_BYTE in UTF2000; use
4015         `DECODE_ADD_UCS_CHAR' in UTF2000.
4016         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4017
4018         * config.h.in (UTF2000): New macro.
4019
4020         * buffer.h (struct buffer_text): Add new member `mule_size' and
4021         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4022         (valid_char_p): Return always 1 in UTF2000.
4023         (MAX_EMCHAR_LEN): 6 in UTF2000.
4024         (three_to_one_table): Don't define in UTF2000.
4025         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4026         UTF2000.
4027         (real_bytind_to_bufpos): Likewise.
4028
4029         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4030
4031 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4032
4033         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4034         representation change.
4035         (Vutf_2000_version): New variable.
4036         (leading_code_private_11): New variable.
4037         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4038         `leading-code-private-11'.
4039
4040         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4041         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4042         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4043         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4044         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4045         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4046         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4047         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4048         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4049         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4050         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4051         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4052         (MIN_CHAR_GREEK): New macro.
4053         (MAX_CHAR_GREEK): New macro.
4054         (MIN_CHAR_CYRILLIC): New macro.
4055         (MAX_CHAR_CYRILLIC): New macro.
4056         (MIN_CHAR_HEBREW): New macro.
4057         (MAX_CHAR_HEBREW): New macro.
4058         (MIN_CHAR_THAI): New macro.
4059         (MAX_CHAR_THAI): New macro.
4060         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4061         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4062         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4063         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4064         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4065         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4066         (CHAR_FIELD2): New inline function.
4067         (CHAR_FIELD3): New inline function.
4068         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4069         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4070         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4071         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4072         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4073         (MIN_CHAR_COMPOSITION): Likewise.
4074         (CHAR_LEADING_BYTE): Modified for character representation change.
4075         (MAKE_CHAR): Likewise.
4076
4077         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4078         (Vcharset_greek_iso8859_7): Likewise.
4079         (Vcharset_cyrillic_iso8859_5): Likewise.
4080         (Vcharset_hebrew_iso8859_8): Likewise.
4081         (Vcharset_thai_tis620): Likewise.
4082         (Vcharset_katakana_jisx0201): Likewise.
4083
4084 2001-02-08  Martin Buchholz <martin@xemacs.org>
4085
4086         * XEmacs 21.2.44 "Thalia" is released.
4087
4088 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4089
4090         Fixes crashes in kill-emacs on some systems.
4091         * process-unix.c (unix_kill_child_process):
4092         It's OK for kill() to fail with ESRCH.
4093
4094 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4095
4096         Contortions to make .gdbinit tricks work on most systems.
4097         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4098         * alloc.c (dbg_valmask): Make non-const.
4099         * alloc.c (dbg_typemask): Make non-const.
4100         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4101         * alloc.c (dbg_valbits): Make non-const.
4102         * alloc.c (dbg_gctypebits): Make non-const.
4103         * .gdbinit (decode_object): Make it work with AIX cc.
4104
4105 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4106
4107         * elhash.c (make_general_lisp_hash_table):
4108         Use simpler and more efficient calloc to clear entries.
4109
4110 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4111
4112         * window.c (window_scroll): Work around an AIX C compiler bug.
4113         Fixes 'scroll-up' does nothing problem with xlC.
4114
4115 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4116
4117         * .gdbinit: Remove obsolete comment.
4118
4119 2001-01-31  Mike Alexander  <mta@arbortext.com>
4120
4121         * select.c (Fown_selection_internal): Set owned_p for device
4122         method correctly.
4123
4124 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4125
4126         Port to g++ 2.97.
4127         "not" cannot be used as a macro name as it is an operator in C++
4128         * config.h.in: Stop #defining `not'.
4129         * chartab.c (check_category_char): not ==> not_p
4130         * chartab.h: Likewise.
4131         * regex.c (re_match_2_internal): Likewise.
4132
4133 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4134
4135         * lisp-disunion.h: Fix up comments.
4136
4137 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4138
4139         * keymap.c (define_key_check_and_coerce_keysym):
4140         (syms_of_keymap):
4141         Support mouse-6 and mouse-7 bindings in the obvious way.
4142
4143 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4144
4145         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4146
4147 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4148
4149         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4150         Previous patch missed DEFVAR_INT_MAGIC.
4151         Make sure future DEFVAR_foo use correct types.
4152         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4153         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4154         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4155         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4156         * (DEFVAR_INT): Likewise.
4157         * redisplay.c (vertical_clip): Should be of type Fixnum.
4158         * redisplay.c (horizontal_clip): Likewise.
4159         * lisp.h (dump_add_opaque_int): New.
4160         (dump_add_opaque_fixnum): New.
4161
4162 2001-01-29  Andy Piper  <andy@xemacs.org>
4163
4164         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4165         since they can be eval'ed
4166
4167 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4168
4169         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4170         Oops, XEmacs redefines `class'.  Use `typename' instead.
4171
4172 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4173
4174         * dumper.c: Fix C++ compile errors.
4175
4176 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4177
4178         * tparam.c: Use correct prototypes.
4179
4180 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4181
4182         * sysproc.h: #include util.h for NetBSD's openpty.
4183
4184 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4185
4186         More 64-bit correctness.
4187         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4188         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4189         Fix up comments.
4190         This finally finishes the 64-bit SGI port.
4191         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4192         * symbols.c: Fix up comments and type casts.
4193         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4194         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4195         * symeval.h (Fixnum): New type.
4196         * symeval.h (symbol_value_type): Fix up comment.
4197
4198         * commands.h:
4199         * nt.c:
4200         * emacs.c:
4201         * data.c:
4202         * redisplay.c:
4203         * abbrev.c:
4204         * dired-msw.c:
4205         * event-Xt.c:
4206         * eldap.c:
4207         * window.c:
4208         * sound.c:
4209         * event-stream.c:
4210         * eval.c:
4211         * buffer.c:
4212         * mule-canna.c: A million DEFVAR_INTs here...
4213         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4214         * extents.c:
4215         * cmdloop.c:
4216         * lisp.h:
4217         * select-x.c:
4218         * console-x.h:
4219         * event-msw.c:
4220         * mule-wnnfns.c:
4221         * hpplay.c:
4222         * ralloc.c:
4223         * alloc.c:
4224         * keymap.c:
4225         * profile.c:
4226         s/int/Fixnum/g in DEFVAR_INT declarations.
4227
4228 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4229
4230         Port pdump to SGI alignment-sensitive environment.
4231         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4232         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4233         properly aligned.
4234         Define and use aligned reading and writing macros.
4235         Use buffered stdio instead of posix i/o for faster dumping.
4236         Eliminate kludgy 256 byte space for header.
4237         Read and write from dump file using structs for alignment safety.
4238         * dumper.c (pdump_align_stream): New.
4239         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4240         * dumper.c (PDUMP_READ_ALIGNED): New.
4241         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4242         * dumper.c (pdump_static_Lisp_Object): New struct.
4243         * dumper.c (pdump_static_pointer): New struct.
4244         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4245         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4246         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4247         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4248
4249         * dumper.c (pdump_backtrace):
4250         * dumper.c (pdump_get_indirect_count):
4251         * dumper.c (pdump_register_object):
4252         * dumper.c (pdump_register_struct):
4253         * dumper.c (pdump_reloc_one):
4254         * dumper.c (pdump_scan_by_alignment):
4255         * dumper.c (pdump_dump_from_root_struct_ptrs):
4256         * dumper.c (pdump_dump_opaques):
4257         * dumper.c (pdump_dump_rtables):
4258         * dumper.c (pdump_dump_from_root_objects):
4259         * dumper.c (pdump):
4260         * dumper.c (pdump_load_finish):
4261         Use aligned reading and writing.
4262
4263         * dumper.c (pdump_free): Make static.
4264         * dumper.c (pdump_hFile): Likewise.
4265         * dumper.c (pdump_hMap): Likewise.
4266
4267 2001-01-26  Martin Buchholz <martin@xemacs.org>
4268
4269         * XEmacs 21.2.43 "Terspichore" is released.
4270
4271 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4272
4273         Type fiddling for window_config.saved_windows_count
4274         * window.c (struct window_config): 
4275         Make saved_windows_count member unsigned.
4276         * window.c (sizeof_window_config_for_n_windows): 
4277         Make parameter unsigned.
4278         * window.c (mark_window_config):
4279         * window.c (window_config_equal):
4280         * window.c (free_window_configuration):
4281         * window.c (Fset_window_configuration):
4282         * window.c (count_windows):
4283         * window.c (Fcurrent_window_configuration):
4284         * window.c (reinit_vars_of_window):
4285         Update all callers and users.
4286
4287 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4288
4289         Alignment correctness for flexible arrays.
4290         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4291         Make alignment-correct. Add interesting comments.
4292         * alloc.c (size_vector):
4293         * alloc.c (make_vector_internal):
4294         * alloc.c (make_bit_vector_internal):
4295         * alloc.c (sweep_bit_vectors_1):
4296         * fns.c (size_bit_vector):
4297         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4298         * window.c (sizeof_window_config_for_n_windows): 
4299         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4300
4301 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4302
4303         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4304
4305 2001-01-23  Andy Piper  <andy@xemacs.org>
4306
4307         * select.c (Fown_selection_internal): pass owned_p
4308
4309         * select-msw.c (mswindows_own_selection): New Signature.
4310
4311         * console.h (struct console_methods): add owned_p to
4312         _own_selection.
4313
4314         * select-x.c (x_own_selection): pass owned_p
4315         (hack_motif_clipboard_selection): use owned_p
4316         (vars_of_select_x): new variable -
4317         x_selection_strict_motif_ownership.
4318
4319 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4320
4321         * specifier.h (specifier_data_offset): Remove pointless parens.
4322         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4323
4324 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4325
4326         Make Lisp_Object sizeof methods be alignment-correct.
4327         pdump must restore objects to the same alignment as the C compiler
4328         assumes.  It really matters on SGIs.
4329         * lstream.c (aligned_sizeof_lstream): New.
4330         (sizeof_lstream): Use aligned_sizeof_lstream.
4331         (Lstream_new): Likewise.
4332         * opaque.c (aligned_sizeof_opaque): New.
4333         (sizeof_opaque): Use aligned_sizeof_opaque.
4334         (make_opaque): Likewise.
4335         * specifier.c (aligned_sizeof_specifier): New.
4336         (sizeof_specifier): Use aligned_sizeof_specifier.
4337         (make_specifier_internal): Likewise.
4338
4339 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4340
4341         * lstream.h (struct lstream): Use max_align_t for trailing data.
4342         * specifier.h (struct Lisp_Specifier): Likewise.
4343
4344 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4345
4346         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4347         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4348         (CCL_SUSPEND): Likewise.
4349         (CCL_INVALID_CMD): Likewise.
4350         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4351         (ccl_driver): Likewise.
4352         (CCL_WRITE_CHAR): Macro hygiene.
4353         (CCL_WRITE_STRING): Macro hygiene.
4354
4355 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4356
4357         Port "portable" dumper to SunOS 4 and HP-UX.
4358         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4359         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4360         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4361
4362 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4363
4364         * lisp.h (ALIGNOF): A better definition for C++.
4365
4366 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4367
4368         Macro hygiene.
4369         Fix printf warnings: int format, long int arg.
4370         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4371         (PUSH_FAILURE_POINT): Use correct printf formats.
4372         (POP_FAILURE_POINT): Use correct printf formats.  
4373         Use do {...} while (0)
4374
4375 2001-01-20  Martin Buchholz <martin@xemacs.org>
4376
4377         * XEmacs 21.2.42 "Poseidon" is released.
4378
4379 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4380
4381         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4382
4383 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4384
4385         De-kludgify FIXED_TYPE free list frobbing.
4386         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4387         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4388         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4389         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4390         * alloc.c (LRECORD_FREE_P): New.
4391         * alloc.c (MARK_LRECORD_AS_FREE): New.
4392         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4393         * alloc.c (STRUCT_FREE_P): Deleted.
4394         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4395         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4396         * alloc.c (STRING_CHARS_FREE_P): New.
4397         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4398         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4399         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4400         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4401         * alloc.c (resize_string): Use new definitions.
4402         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4403         * alloc.c (verify_string_chars_integrity): Use new definitions.
4404         * alloc.c (compact_string_chars): Use new definitions.
4405         * alloc.c: Update monster comments.
4406         * lrecord.h (lrecord_type): Add some new lrecord types for
4407         alloc.c's use.
4408
4409 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4410
4411         Improve alignment hackery.
4412         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4413         (max_align_t): Moved from opaque.h - general purpose.
4414         (ALIGN_PTR): Use size_t, not long.
4415         * opaque.h (max_align_t): Move to lisp.h.
4416
4417 2001-01-18  Norbert Koch  <nk@LF.net>
4418
4419         * gui.h: Fix and add prototypes to fix build problems.
4420
4421 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4422
4423         temacs is going away, so `dump-temacs' is now a bad name.
4424         * .dbxrc (dump-temacs): Rename to `dmp'.
4425         * .gdbinit (dump-temacs): Rename to `dmp'.
4426
4427 2001-01-17  Andy Piper  <andy@xemacs.org>
4428
4429         * glyphs.c (print_image_instance): comment to make martin happy.
4430
4431         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4432         change.
4433
4434         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4435         activation.
4436         (mswindows_tab_control_redisplay): warning suppression.
4437
4438         * glyphs-widget.c (widget_update): re-write to cope with updated
4439         items.
4440         (widget_instantiate): use new gui_item functions.
4441         (tab_control_update): deleted.
4442         (progress_gauge_update): deleted.
4443         (image_instantiator_progress_guage): take out update reference.
4444         (image_instantiator_tree_view): ditto.
4445         (image_instantiator_tab_control): ditto.
4446
4447         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4448         Right the new way.
4449         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4450         return whether anything was changed.
4451         (update_gui_item_keywords): as it sounds.
4452
4453         * gui.h: declare widget_gui_parse_item_keywords.
4454
4455         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4456         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4457
4458 2001-01-17  Martin Buchholz <martin@xemacs.org>
4459
4460         * XEmacs 21.2.41 "Polyhymnia" is released.
4461
4462 2001-01-16  Didier Verna  <didier@xemacs.org>
4463
4464         * glyphs.c (image_instantiate): don't use fallbacks when
4465         instantiating a face's background pixmap by inheritance.
4466
4467 2001-01-14  Mike Sperber <mike@xemacs.org>
4468
4469         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4470         Conditionalize accordingly.
4471
4472 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4473
4474         * dumper.c (pdump_file_get): Fix a compiler warning.
4475
4476 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4477
4478         Make Purify happy when pdumping.
4479         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4480         iniitalizing all bits of new lisp object memory.
4481         * symbols.c (Fmake_local_variable): Likewise.
4482         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4483         * symbols.c (Fdefvaralias): Likewise.
4484         * mule-charset.c (vars_of_mule_charset): Likewise.
4485
4486 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4487         Add the `-nd' flag when running pre-dump operations under the debugger.
4488         * .dbxrc (run-temacs): Add `-nd'.
4489         * .dbxrc (update-elc): Likewise.
4490         * .dbxrc (dump-temacs): Likewise.
4491         * .gdbinit (run-temacs): Likewise.
4492         * .gdbinit (check-temacs): Likewise.
4493         * .gdbinit (update-elc): Likewise.
4494         * .gdbinit (dump-temacs): Likewise.
4495
4496 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4497
4498         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4499         export OBJECT_MODE=64
4500         configure --pdump --use-union-type=no
4501         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4502         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4503
4504         * miscplay.c (sndcnv8U_2mono):
4505         Avoid two uses of `++' in the same expression.
4506         Suppresses a GCC warning.
4507
4508 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4509
4510         Make sure future compilers don't miscompile alloc.c.
4511         * alloc.c:
4512         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4513         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4514
4515 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4516
4517         * dumper.c: A little post-pdump-rename comment fixup.
4518
4519 2001-01-09  Jerry James  <james@eecs.ku.edu>
4520
4521         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4522
4523 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4524
4525         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4526         script:
4527         #!/bin/sh
4528         replace_symbol () {
4529           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4530         }
4531
4532         replace_symbol pdump_wire_lists pdump_weak_object_chains
4533         replace_symbol pdump_wire_list dump_add_weak_object_chain
4534
4535         replace_symbol pdump_wires pdump_root_objects
4536         replace_symbol pdump_wire dump_add_root_object
4537
4538         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4539         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4540
4541         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4542         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4543         replace_symbol dumpstructinfo pdump_root_struct_ptr
4544         replace_symbol dumpstruct dump_add_root_struct_ptr
4545
4546         replace_symbol dumpopaque dump_add_opaque
4547         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4548         replace_symbol dumpopaqueinfos pdump_opaques
4549         replace_symbol dumpopaqueinfo pdump_opaque
4550
4551         replace_symbol nb_structdump nb_root_struct_ptrs
4552         replace_symbol nb_opaquedump nb_opaques
4553
4554         replace_symbol align_table pdump_align_table
4555         replace_symbol dump_header pdump_header
4556
4557         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4558         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4559
4560
4561 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4562
4563         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4564         optimizing bytecount_to_charcount().
4565
4566 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4567
4568         * config.h.in:
4569         (HAVE_DLFCN_H): Removed.
4570         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4571
4572 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4573
4574         Portable dumper maintainability improvements.
4575         * alloc.c (staticpro):
4576         * alloc.c (staticpro_nodump):
4577         * alloc.c (garbage_collect_1):
4578         * alloc.c (reinit_alloc_once_early):
4579         * alloc.c (init_alloc_once_early):
4580         * alloc.c: Move dumper functions to alloc.c.
4581         * dumper.c (pdump_backtrace):
4582         * dumper.c (pdump_dump_structs):
4583         * dumper.c (pdump_dump_opaques):
4584         * dumper.c (pdump_dump_rtables):
4585         * dumper.c (pdump_dump_wired):
4586         * dumper.c (pdump):
4587         * dumper.c (pdump_load_check):
4588         * dumper.c (pdump_load_finish):
4589         * dumper.c (pdump_file_unmap):
4590         * dumper.c (pdump_file_get):
4591         * dumper.c (pdump_resource_free):
4592         * dumper.c (pdump_resource_get):
4593         * dumper.c (pdump_file_free):
4594         * dumper.c (pdump_file_try):
4595         * dumper.c (pdump_load):
4596         Remove fixed size limits on staticpro(), staticpro_nodump(),
4597         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4598         Remove custom code for dumping lrecord_implementations_table - use
4599         dumpopaque instead.
4600         Remove (most of the) custom code for dumping staticpros - dump it
4601         like any other dynarr.
4602
4603         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4604         * dumper.c: Moved functions from alloc.c.
4605         * alloc.c (dumpstruct): Moved to dumper.c.
4606         * alloc.c (dumpopaque): Likewise.
4607         * alloc.c (pdump_wire): Likewise.
4608         * alloc.c (pdump_wire_list): Likewise.
4609
4610         * lisp.h (Dynarr_sizeof): New.
4611         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4612         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4613         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4614
4615         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4616         * lisp.h (dumpopaque): ditto.
4617         * lisp.h (pdump_wire): ditto.
4618         * lisp.h (pdump_wire_list): ditto.
4619
4620 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4621
4622         * make-src-depend (PrintPatternDeps):
4623         Use `sort' to make output independent of perl version.
4624
4625 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4626
4627         Port to Netbsd 1.5.
4628         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4629         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4630
4631 2001-01-03  Didier Verna  <didier@xemacs.org>
4632
4633         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4634         that `focus_frame' is alive before thinking of calling
4635         `redisplay_redraw_cursor' on it.
4636
4637 2001-01-08  Martin Buchholz <martin@xemacs.org>
4638
4639         * XEmacs 21.2.40 is released.
4640
4641 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4642
4643         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4644
4645 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4646
4647         * alloc.c (dbg_valmask): Make const.
4648         * alloc.c (dbg_typemask): Make const.
4649         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4650         * alloc.c (dbg_valbits): Make const.
4651         * alloc.c (dbg_gctypebits): Make const.
4652
4653 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4654
4655         * redisplay-x.c (x_bevel_area):
4656         redisplay.h (struct rune):
4657         Typo fixes in comments.
4658
4659 2001-01-05  Andy Piper  <andy@xemacs.org>
4660
4661         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4662         adjustment.
4663
4664         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4665
4666 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4667
4668         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4669
4670         * mule-ccl.c (stack_idx_of_map_multiple):
4671         Non const global data must not be initialized!
4672         Found by MIYASHITA Hisashi.
4673
4674 2001-01-02  Andy Piper  <andy@xemacs.org>
4675
4676         * frame.c (change_frame_size): make sure frame size is always
4677         marked as changed.
4678
4679         * glyphs.c (image_instance_layout): minor code reuse.
4680
4681         * window.c (Fcurrent_window_configuration): revert previous
4682         change.
4683
4684 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4685
4686         * glyphs.h:
4687         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4688
4689 2000-12-31  Andy Piper  <andy@xemacs.org>
4690
4691         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4692         when widget gets unmapped.
4693
4694         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4695         function. Make sure widgets losing focus don't just drop it.
4696         (handle_focus_event_1): record the widget with focus.
4697
4698 2000-12-31  Andy Piper  <andy@xemacs.org>
4699
4700         * window.c (allocate_window): use
4701         make_image_instance_cache_hash_table.
4702         (make_dummy_parent): ditto.
4703         (Fset_window_configuration): ditto.
4704
4705         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4706
4707         * glyphs.c (process_image_string_instantiator): use
4708         INSTANTIATOR_TYPE.
4709         (get_image_instantiator_governing_domain): ditto.
4710         (normalize_image_instantiator): ditto.
4711         (instantiate_image_instantiator): ditto.
4712         (make_image_instance_1): ditto.
4713         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4714         (instantiator_eq_equal): new function for use with instance hash
4715         tables.
4716         (instantiator_eq_hash): ditto.
4717         (make_image_instance_cache_hash_table): create a suitable hash
4718         table for storing image instances.
4719
4720         * elhash.h (hash_table_weakness): new internal weakness type
4721         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4722         declare new functions.
4723
4724         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4725         another weakness type for glyphs.
4726         (make_standard_lisp_hash_table): new function split out from
4727         make_general_lisp_hash_table.
4728         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4729         (hash_table_instantiate): ditto.
4730         (Fmake_hash_table): ditto.
4731
4732 2000-12-31  Martin Buchholz <martin@xemacs.org>
4733
4734         * XEmacs 21.2.39 is released.
4735
4736 2000-12-29  Andy Piper  <andy@xemacs.org>
4737
4738         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4739
4740         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4741         the frame has changed so that we pick up geometry changes such as
4742         menubar visibility.
4743
4744 2000-12-28  Andy Piper  <andy@xemacs.org>
4745
4746         * lastfile.c (my_ebss): make a char array so we can pad the
4747         bss. Fixes cygwin unexec.
4748
4749         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4750
4751 2000-12-26  Andy Piper  <andy@xemacs.org>
4752
4753         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4754         comments and try and be more precise about a non-/SIGIO world.
4755         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4756         SIGIO.
4757
4758         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4759         we don't normalize to zero width or height.
4760
4761 2000-12-24  Andy Piper  <andy@xemacs.org>
4762
4763         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4764
4765 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4766
4767         * s/sco5.h: SCO 5 has pty support.
4768
4769 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4770
4771         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4772         input-method-xlib.c contains whole contents of input-method-xfs.c,
4773         so we can use input-method-xlib.c's code for USE_XFONTSET
4774         using #ifdefs.
4775         * input-method-xfs.c: removed.
4776
4777 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4778
4779         * file-coding.h (enum coding_category_type): reorder enumerators to
4780         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4781         (now one greater than largest real coding_category_type enumerator).
4782         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4783         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4784         Fcoding_category_list, Fset_coding_priority_list,
4785         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4786         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4787
4788 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4789
4790         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4791         * redisplay-output.c (redisplay_output_window): Clear top of window
4792         when face is changed.
4793         * redisplay-x.c (x_redraw_exposed_window): Call
4794         redisplay_clear_top_of_window.
4795         * redisplay.h: Publish redisplay_clear_top_of_window.
4796
4797 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4798
4799         * buffer.c (Fkill_buffer): Map over all devices.
4800         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4801         (list_windows): New function.
4802         (list_all_windows): Ditto.
4803         (Freplace_buffer_in_windows): Use them.
4804
4805 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4806
4807         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4808         (Fopen_database): Use `db_create' instead of `db_open'.
4809         (syms_of_database): Initialize Qqueue.
4810
4811 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4812
4813         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4814         buffer_local_face_property.
4815         * buffer.h (struct buffer): New member buffer_local_face_property.
4816         * window.c (Fset_window_buffer):  Mark window's face as changed
4817         when buffer has buffer local face.
4818         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4819         * objects.c (color_after_change): Set buffer_local_face_property
4820         when locale of face specifier is buffer.
4821         * objects.c (font_after_change): Ditto.
4822         * objects.c (face_boolean_after_change): Ditto.
4823         * glyphs.c (image_after_change): Ditto.
4824
4825 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4826
4827         * nt.c (mswindows_fstat): Report file permissions, volume serial
4828         number, etc. Code adapted from FSF Emacs 20.7.
4829
4830 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4831
4832         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4833         of stat when we don't have symbolic links, to make sure
4834         mswindows_stat is called on mswindows.
4835
4836 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4837
4838         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4839
4840 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4841
4842         * doprnt.c (emacs_doprnt_1): More printing fixes.
4843         Make printing of numbers compatible with libc and FSF Emacs.
4844         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4845         Use the system printf to do most of the hard work of formatting,
4846         instead of doprnt_1().
4847         Calculate memory to allocate for format string.
4848         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4849         (doprnt_1): Cleaner code and documentation.
4850
4851 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4852
4853         * Makefile.in.in: Use the loop variable to install headers.
4854
4855 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4856
4857         * window.c (Fsplit_window): Don't invalidate face cache.
4858
4859 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4860
4861         * minibuf.c (Fall_completions): Undo the previous change
4862         which removed checking elements start with space.
4863
4864 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4865
4866         * mule-canna.c: Didier suppression.
4867
4868 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4869
4870         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4871         (warning suppression).  Add English comment translations.
4872
4873 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4874
4875         * unexelfsgi.c (unexec): Better test for mmap failure.
4876
4877 2000-12-05  Martin Buchholz <martin@xemacs.org>
4878
4879         * XEmacs 21.2.38 is released.
4880
4881 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4882
4883         * redisplay.c (bar-cursor): Make a user variable.
4884
4885         * symsinit.h: Add init_postgresql_from_environment.
4886
4887 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4888
4889         * regex.c: Convert to clean C.
4890
4891 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4892
4893         * realpath.c:
4894         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4895         initialization.
4896         (sys_readlink): renamed to system_readlink to avoid conflict with
4897         the other sys_readlink.
4898
4899 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4900
4901         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4902
4903 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4904
4905         * postgresql.c (init_postgresql_from_environment): new function.
4906         (vars_of_postgresql): Move code initializing Lisp variables out and
4907         into init_postgresql_from_environment.
4908         emacs.c (main_1): Call init_postgresql_from_environment if and only
4909         if running a dumped XEmacs.
4910
4911 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4912
4913         * buffer.c: Make find-file-compare-truenames default to true on
4914         windows.
4915
4916         * realpath.c (win32_abs_start):
4917         (cygwin_readlink):
4918         (win32_readlink): New functions.
4919         (xrealpath): Return really real filenames on windows.
4920
4921         * fileio.c (Ffile_truename): Make file-truename work on windows.
4922
4923 2000-11-29  Didier Verna  <didier@xemacs.org>
4924
4925         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4926         * faces.c (update_face_cachel_data): use it.
4927         * faces.c (add_face_cachel): use it. Complete background pixmap
4928         frobbing in face cache if `update_face_cachel_data' has not done so.
4929
4930 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4931
4932         * search.c (string_match_1): Don't set last_thing_searched
4933         when search failed.
4934
4935 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4936
4937         * buffer.c: Include casetab.h
4938         (common_init_complex_vars_of_buffer): Use new case-table object.
4939         * buffer.h: Include casetab.h
4940         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4941         (DOWNCASE_TABLE_OF): Ditto.
4942         * bufslots.h: Remove char-tables and add case-table.
4943         * casetab.c: Include casetab.h
4944         (CASE_TABLE_P): Removed.
4945         (mark_case_table): New function.
4946         (allocate_case_table): New function.
4947         (Fcase_table_p): Use new case-table.
4948         (case_table_char): New function.
4949         (Fget_case_table): Ditto.
4950         (Fput_case_table): Ditto.
4951         (Fput_case_table_pair): Ditto.
4952         (Fcopy_case_table): Ditto.
4953         (Fcurrent_case_table): Return case-table.
4954         (Fstandard_case_table): Return case-table.
4955         (Fset_case_table): Fix doc-string.
4956         (set_case_table): Use case-table
4957         (syms_of_casetab): DEFSUBR new functions.
4958         (complex_vars_of_casetab): Set up standard case-table.
4959         * casetab.h: New file.
4960         * editfns.c: Include casetab.h
4961         (Fcompare_buffer_substrings): Use case-table.
4962         * inline.c: Include casetab.h
4963         * lisp.h: Remove bogus extern.
4964         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4965         * search.c: Include casetab.h
4966         (TRANSLATE_ASCII): Removed.
4967         (TRANSLATE): Unconditionally translate character.
4968         (looking_at_1): Use case-table.
4969         (string_match_1): Ditto.
4970         (fast_string_match): Ditto.
4971         (search_command): Ditto.
4972         (search_buffer): Separate boyer_moore.  Check whether
4973         boyer_moore is possible.
4974         (simple_search): New function.
4975         (boyer_moore): Separated from search_buffer. Translate char.
4976
4977 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4978
4979         * regex.c (RE_TR_ASCII): Removed.
4980         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4981         (PATFETCH): Call PATFETCH_RAW.
4982         (PATFETCH_RAW): Fetch Emchar.
4983         (PATUNFETCH): Decrement charptr.
4984         (GET_BUFFER_SPACE): Rename b to buf_end.
4985         (BUF_PUSH): Ditto.
4986         (BUF_PUSH_2): Ditto.
4987         (BUF_PUSH_3): Ditto.
4988         (EXTEND_BUFFER): Ditto.
4989         (SET_LIST_BIT): Ditto.
4990         (regex_compile): Ditto.  Translate non ASCII char.
4991         (compile_range): Ditto.
4992         (re_search_2): Ditto.
4993         (re_match_2_internal): Compare Emchar.
4994         (bcmp_translate): Ditto.
4995
4996 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4997
4998         * lisp.h (basic char/int typedefs):  comment improvement.
4999
5000 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5001
5002         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5003         unstomp inhibit_site_lisp.  Improve comments.
5004
5005 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5006
5007         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5008
5009 2000-11-28  Andy Piper  <andy@xemacs.org>
5010
5011         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5012         clipped display for windows in the gutter also.
5013         (redisplay_display_boxes_in_window_p): change semantics of return
5014         codes to be more intuitive.
5015
5016         * gutter.h: declare display_boxes_in_gutter_p.
5017
5018         * gutter.c (display_boxes_in_gutter_p): new function for
5019         redisplay.
5020
5021 2000-11-22  Andy Piper  <andy@xemacs.org>
5022
5023         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5024         autodetect domain.
5025
5026 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5027
5028         * callproc.c (Fold_call_process_internal):
5029         * gpm.c (Freceive_gpm_event):
5030         (tty_get_foreign_selection): Might be just warning supression.
5031         * fileio.c (Fwrite_region_internal):
5032         (Fset_visited_file_modtime):
5033         * keymap.c (event_matches_key_specifier_p):
5034         Initialize GCPROed variable.
5035
5036         * menubar-x.c (command_builder_find_menu_accelerator):
5037         Initialize before use.
5038
5039 2000-11-23  Andy Piper  <andy@xemacs.org>
5040
5041         * unexcw.c (unexec): make the resulting executable executable.
5042
5043 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5044
5045         * doc.c (get_doc_string):
5046         Use size_t, not int, for result of XSTRING_LENGTH.
5047
5048         * cmds.c (Fdelete_char):
5049         * cmds.c (Fpoint_at_eol):
5050         * cmds.c (Fself_insert_command):
5051         Use EMACS_INT, not int, for result of XINT.
5052         Someday, someone will want to insert more than 2**31 identical characters.
5053
5054         * cmds.c (Fdelete_char):
5055         * cmds.c (Fdelete_backward_char):
5056         * syntax.c (Fforward_word):
5057         * syntax.c (Fforward_comment):
5058         Make COUNT argument optional, for consistency with forward-char et al.
5059
5060 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5061
5062         * lisp.h:
5063         * print.c (long_to_string):
5064         Return a useful value: the pointer at end of data written.
5065
5066         * doprnt.c:
5067         Use `static const char * const' for constant strings.
5068         (union printf_arg): Delete `i', `ui' members.
5069         (get_doprnt_args):
5070         (emacs_doprnt_1):
5071         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5072         Do all printf-ing via the `l' specifier.
5073         Use EMACS_INT instead of int.
5074         Optimize.
5075
5076 2000-11-20  Didier Verna  <didier@xemacs.org>
5077
5078         * faces.c (update_face_cachel_data): don't frob the background
5079         pixmap when the window is being created. The face is needed but
5080         does not exist yet.
5081
5082 2000-11-20  Andy Piper  <andy@xemacs.org>
5083
5084         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5085         messing with a debug environment.
5086
5087 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5088
5089         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5090
5091 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5092
5093         * casetab.c (Fcase_table_p): Fix compile error and crash.
5094
5095 2000-11-18  Philip Aston  <philipa@mail.com>
5096
5097         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5098
5099 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5100
5101         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5102         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5103
5104 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5105
5106         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5107         * unexelf.c: Use HAVE_ELF_H.
5108         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5109         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5110         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5111         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5112         for testing.
5113         So this is an unexelfsgi.c from a different line of development.
5114
5115 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5116
5117         * regex.c (RE_TR_ASCII): New function.
5118         (RE_TRANSLATE): Call it.
5119
5120 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5121
5122         * buffer.h (TRT_TABLE_OF): Remove assert.
5123         (IN_TRT_TABLE_DOMAIN): Removed.
5124
5125 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5126
5127         * free-hook.c (log_gcpro):
5128         (show_gcprohist): Add support for GCPRO5.
5129
5130 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5131
5132         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5133
5134 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5135
5136         * symeval.h: Declare flush_all_buffer_local_cache.
5137
5138         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5139         (flush_buffer_local_cache): Added.
5140         (flush_all_buffer_local_cache): Added.
5141
5142         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5143
5144         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5145         (pdump_dump_data): Ditto.
5146         (pdump_reloc_one): Ditto.
5147         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5148         before dumping.
5149
5150
5151 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5152
5153         * buffer.c: Remove if 0'ed entry.
5154         * buffer.h: Rewrite TRT to use char-table.
5155         * bufslots.h: Remove mirror tables.
5156         * casetab.c: Remove mirror tables.
5157         (CASE_TABLE_P): New macro.
5158         (Fcase_table_p): Element of a case table is string or char-table.
5159         (make_mirror_trt_table): Removed.
5160         (set_case_table): Setup char-table from strings for backward
5161         compatibility.
5162         * dired.c (Fdirectory_files):
5163         * dired-msw.c: (mswindows_get_files):
5164         * lisp.h: Change prototype of re_pattern_buffer.
5165         * regex.c: (RE_TRANSLATE): New macro.
5166         (TRANSLATE_P): Ditto.
5167         Change translate to type RE_TRANSLATE_TYPE.
5168         * regex.h: Define RE_TRANSLATE_TYPE
5169         * search.c (TRANSLATE): New macro.
5170         (TRANSLATE_ASCII): New macro.
5171         Translate table is changed to Lisp_Object.
5172         (signal_failure): Inhibit return.
5173
5174 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5175
5176         * device-msw.c:
5177         * eldap.c:
5178         * event-Xt.c:
5179         * event-stream.c:
5180         * print.c:
5181         Do UNGCPRO before return.
5182
5183 2000-11-14  Martin Buchholz <martin@xemacs.org>
5184
5185         * XEmacs 21.2.37 is released.
5186
5187 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5188
5189         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5190         Add comments about discarded return value.
5191
5192 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5193
5194         * callint.c:
5195         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5196
5197 2000-10-27  Andy Piper  <andy@xemacs.org>
5198
5199         * gutter.c (Fset_default_gutter_position): default left and right
5200         gutters to visible.
5201         (calculate_gutter_size): calculate resonable heuristic for left
5202         and right gutter sizes.
5203         (specifier_vars_of_gutter): change left and right gutter sizes to
5204         autodetect.
5205         (calculate_gutter_size_from_display_lines): new function.
5206         (output_gutter): check for resizing on left and right gutters.
5207         (clear_gutter): don't special case top and left gutters.
5208         (specifier_vars_of_gutter): use new signature for
5209         set_specifier_caching.
5210
5211         * glyphs-x.c (x_redisplay_widget): spelling fix.
5212         * glyphs.c (specifier_vars_of_glyphs):
5213         * menubar.c (specifier_vars_of_menubar):
5214         * redisplay.c (specifier_vars_of_redisplay):
5215         * toolbar.c (specifier_vars_of_toolbar):
5216         * window.c (specifier_vars_of_window):
5217         * scrollbar.c (specifier_vars_of_scrollbar):
5218         (complex_vars_of_scrollbar): use new signature for
5219         set_specifier_caching.
5220
5221         * specifier.c (set_specifier_caching): include recompute flag.
5222         (recompute_one_cached_specifier_in_window): always recompute if
5223         flag set.
5224         (recompute_one_cached_specifier_in_frame): ditto.
5225
5226         * specifier.h (struct specifier_caching): add recompute flag.
5227
5228 2000-10-24  Andy Piper  <andy@xemacs.org>
5229
5230         * unexcw.c (copy_executable_and_dump_data_section): add new
5231         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5232         5.0 happy.
5233
5234 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5235
5236         * console-x.h (x_device): New member modifier_release_time.
5237         * event-Xt.c (x_handle_sticky_modifiers):
5238         Bound interval modifier keys are sticky.
5239         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5240         * events.h: extern it.
5241
5242 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5243
5244         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5245
5246 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5247
5248         * event-stream.c (execute_command_event): Preserve current_events
5249         and the like when event is misc-user-event.
5250         Inhibit quit during the call to maybe_echo_keys.
5251
5252 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5253
5254         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5255         symlink when buffer is killed.
5256         (inhibit_clash_detection): New variable.
5257
5258 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5259
5260         * console.c (Fset_input_method): Trigger redisplay on tty.
5261
5262 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5263
5264         * process.c (Fprocess_status): Revert to previous behavior:
5265         (process-status "nosuchprocess") ==> nil
5266
5267 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5268
5269         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5270         Work around another GCC 2.95.2 optimizer bug.
5271
5272 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5273
5274         * process.c (Fget_process): Use LIST_LOOP_2.
5275         (kill_buffer_processes): Use LIST_LOOP_2.
5276
5277         * minibuf.c (Fall_completions):
5278         Delete old non-functional code for FSF fourth argument.
5279
5280         * frame.c (frame_matches_frame_spec):
5281         Renamed from `frame_matches_frametype'.  Update all callers.
5282         (device_matches_device_spec):
5283         Renamed from 'device_matches_console_spec'.  Update all callers.
5284
5285         * doc.c (Fsubstitute_command_keys):
5286         Remove buffer overflow crash.  Small code cleanups.
5287
5288         * casetab.c (check_case_table): Simpler code.
5289
5290         * window.c (Freplace_buffer_in_windows):
5291         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5292         (and similar implementation) as Fdelete_windows_on.
5293         Update all callers.
5294
5295         * alloc.c (Fmake_list):
5296         * alloc.c (make_vector):
5297         * alloc.c (Fmake_vector):
5298         * alloc.c (make_bit_vector):
5299         * alloc.c (Fmake_bit_vector):
5300         * alloc.c (Fbit_vector):
5301         * alloc.c (Fmake_string):
5302         * alloc.c (Fpurecopy):
5303         * alloc.c (Fmemory_limit):
5304         * buffer.c:
5305         * buffer.c (Fget_buffer):
5306         * buffer.c (Fkill_buffer):
5307         * buffer.c (complex_vars_of_buffer):
5308         * bytecode.c (Fcompiled_function_stack_depth):
5309         * callint.c (Fprefix_numeric_value):
5310         * event-stream.c:
5311         * event-stream.c (Fread_key_sequence):
5312         * casetab.c:
5313         * casetab.c (Fcase_table_p):
5314         * casetab.c (check_case_table):
5315         * casetab.c (Fset_case_table):
5316         * casetab.c (Fset_standard_case_table):
5317         * chartab.c:
5318         * chartab.c (Fchar_table_type):
5319         * chartab.c (Freset_char_table):
5320         * chartab.c (Fget_char_table):
5321         * chartab.c (Fget_range_char_table):
5322         * chartab.c (Fput_char_table):
5323         * chartab.c (Fmap_char_table):
5324         * chartab.c (Fcategory_table_p):
5325         * chartab.c (Fcheck_category_at):
5326         * chartab.c (Fchar_in_category_p):
5327         * chartab.c (Fcategory_table):
5328         * chartab.c (Fcopy_category_table):
5329         * chartab.c (Fset_category_table):
5330         * chartab.c (Fcategory_designator_p):
5331         * chartab.c (Fcategory_table_value_p):
5332         * cmds.c (Fdelete_char):
5333         * cmds.c (Fdelete_backward_char):
5334         * cmds.c (Fself_insert_command):
5335         * cmds.c (Fself_insert_internal):
5336         * console.c (Fvalid_console_type_p):
5337         * console.c (Fcdfw_console):
5338         * console.c (Fconsole_type):
5339         * console.c (Fconsole_name):
5340         * console.c (Fconsole_device_list):
5341         * console.c (Fconsole_on_window_system_p):
5342         * data.c:
5343         * data.c (Feq):
5344         * data.c (Fold_eq):
5345         * data.c (Fsubr_interactive):
5346         * data.c (Fchar_to_int):
5347         * data.c (Fint_to_char):
5348         * data.c (Fsetcar):
5349         * data.c (Fsetcdr):
5350         * data.c (Fnumber_to_string):
5351         * data.c (Fstring_to_number):
5352         * data.c (Frem):
5353         * database.c (mark_database):
5354         * database.c (finalize_database):
5355         * database.c (Fdatabase_live_p):
5356         * database.c (Fdatabasep):
5357         * device-x.c (Fx_get_resource):
5358         * device.c (Fdfw_device):
5359         * dired.c:
5360         * dired.c (Ffile_name_completion):
5361         * dired.c (Ffile_name_all_completions):
5362         * dired.c (Fuser_name_completion):
5363         * dired.c (Fuser_name_completion_1):
5364         * dired.c (Fuser_name_all_completions):
5365         * doc.c (Fdocumentation):
5366         * doc.c (Fdocumentation_property):
5367         * doc.c (Fsubstitute_command_keys):
5368         * editfns.c:
5369         * editfns.c (Fchar_to_string):
5370         * editfns.c (Fstring_to_char):
5371         * editfns.c (Ftemp_directory):
5372         * editfns.c (Finsert_char):
5373         * editfns.c (Fbuffer_substring_no_properties):
5374         * editfns.c (Fnarrow_to_region):
5375         * editfns.c (Fchar_equal):
5376         * editfns.c (Fchar_Equal):
5377         * editfns.c (Ftranspose_regions):
5378         * emacs.c (Fdump_emacs):
5379         * eval.c (Fthrow):
5380         * eval.c (Fcommand_execute):
5381         * eval.c (Fautoload):
5382         * eval.c (Fbacktrace):
5383         * eval.c (Fbacktrace_frame):
5384         * events.c:
5385         * events.c (Fcopy_event):
5386         * events.c (Fcharacter_to_event):
5387         * events.c (Fevent_button):
5388         * events.c (Fevent_process):
5389         * extents.c:
5390         * extents.c (Fnext_extent_change):
5391         * extents.c (Fextent_property):
5392         * faces.c (Ffacep):
5393         * faces.c (Fmake_face):
5394         * file-coding.c:
5395         * file-coding.c (Fencode_shift_jis_char):
5396         * file-coding.c (Fencode_big5_char):
5397         * fileio.c (Ffile_name_directory):
5398         * fileio.c (Ffile_name_nondirectory):
5399         * fileio.c (Ffile_name_as_directory):
5400         * fileio.c (Fdirectory_file_name):
5401         * fileio.c (Ffile_truename):
5402         * fileio.c (Fsubstitute_in_file_name):
5403         * fileio.c (Ffile_modes):
5404         * fileio.c (Fset_file_modes):
5405         * fileio.c (Fset_default_file_modes):
5406         * fileio.c (Fverify_visited_file_modtime):
5407         * floatfns.c (Facos):
5408         * floatfns.c (Fasin):
5409         * floatfns.c (Fatan):
5410         * floatfns.c (Fcos):
5411         * floatfns.c (Fsin):
5412         * floatfns.c (Ftan):
5413         * floatfns.c (Fbessel_j0):
5414         * floatfns.c (Fbessel_j1):
5415         * floatfns.c (Fbessel_jn):
5416         * floatfns.c (Fbessel_y0):
5417         * floatfns.c (Fbessel_y1):
5418         * floatfns.c (Fbessel_yn):
5419         * floatfns.c (Ferf):
5420         * floatfns.c (Ferfc):
5421         * floatfns.c (Flog_gamma):
5422         * floatfns.c (Fexp):
5423         * floatfns.c (Fexpt):
5424         * floatfns.c (Flog):
5425         * floatfns.c (Flog10):
5426         * floatfns.c (Fsqrt):
5427         * floatfns.c (Fcube_root):
5428         * floatfns.c (Facosh):
5429         * floatfns.c (Fasinh):
5430         * floatfns.c (Fatanh):
5431         * floatfns.c (Fcosh):
5432         * floatfns.c (Fsinh):
5433         * floatfns.c (Ftanh):
5434         * floatfns.c (Fabs):
5435         * floatfns.c (Ffloat):
5436         * floatfns.c (Flogb):
5437         * floatfns.c (Fceiling):
5438         * floatfns.c (Ffloor):
5439         * floatfns.c (Fround):
5440         * floatfns.c (Ftruncate):
5441         * floatfns.c (Ffceiling):
5442         * floatfns.c (Fffloor):
5443         * floatfns.c (Ffround):
5444         * floatfns.c (Fftruncate):
5445         * fns.c (Fstring_equal):
5446         * fns.c (Fstring_lessp):
5447         * fns.c (concat2):
5448         * fns.c (concat3):
5449         * fns.c (vconcat2):
5450         * fns.c (vconcat3):
5451         * fns.c (Fsubstring):
5452         * fns.c (Fassoc):
5453         * fns.c (Fold_assoc):
5454         * fns.c (assoc_no_quit):
5455         * fns.c (Fassq):
5456         * fns.c (Fold_assq):
5457         * fns.c (assq_no_quit):
5458         * fns.c (Frassoc):
5459         * fns.c (Fold_rassoc):
5460         * fns.c (Frassq):
5461         * fns.c (Fold_rassq):
5462         * fns.c (rassq_no_quit):
5463         * fns.c (Fremassoc):
5464         * fns.c (remassoc_no_quit):
5465         * fns.c (Fremassq):
5466         * fns.c (remassq_no_quit):
5467         * fns.c (Fremrassoc):
5468         * fns.c (Fremrassq):
5469         * fns.c (remrassq_no_quit):
5470         * fns.c (Fsort):
5471         * fns.c (Fplist_get):
5472         * fns.c (Fplist_put):
5473         * fns.c (Fplist_remprop):
5474         * fns.c (Fplist_member):
5475         * fns.c (Flax_plist_get):
5476         * fns.c (Flax_plist_put):
5477         * fns.c (Flax_plist_remprop):
5478         * fns.c (Flax_plist_member):
5479         * fns.c (Fequal):
5480         * fns.c (Fold_equal):
5481         * fns.c (Frequire):
5482         * fns.c (Fbase64_encode_region):
5483         * fns.c (Fbase64_encode_string):
5484         * fns.c (Fbase64_decode_region):
5485         * frame.c:
5486         * frame.c (frame_matches_frame_spec):
5487         * frame.c (device_matches_device_spec):
5488         * frame.c (next_frame):
5489         * frame.c (previous_frame):
5490         * frame.c (Fnext_frame):
5491         * frame.c (Fprevious_frame):
5492         * frame.c (Fframe_property):
5493         * frame.c (Fset_frame_height):
5494         * frame.c (Fset_frame_size):
5495         * frame.h:
5496         * glyphs.c:
5497         * glyphs.c (if):
5498         * glyphs.c (decode_error_behavior_flag):
5499         * glyphs.c (Fmake_image_instance):
5500         * indent.c (Findent_to):
5501         * intl.c (Fignore_defer_gettext):
5502         * keymap.c (Fkeymapp):
5503         * keymap.c (Flookup_key):
5504         * lread.c:
5505         * lread.c (Fload_internal):
5506         * lread.c (Feval_buffer):
5507         * lread.c (Feval_region):
5508         * macros.c (Fexecute_kbd_macro):
5509         * marker.c (set_marker_internal):
5510         * marker.c (Fset_marker):
5511         * marker.c (set_marker_restricted):
5512         * marker.c (Fcopy_marker):
5513         * marker.c (noseeum_copy_marker):
5514         * menubar.c:
5515         * menubar.c (Fpopup_menu):
5516         * minibuf.c:
5517         * mule-charset.c (Fcharset_name):
5518         * mule-charset.c (Fchar_charset):
5519         * mule-charset.c (Fchar_octet):
5520         * mule-charset.c (Fsplit_char):
5521         * mule-wnnfns.c (Fwnn_open):
5522         * mule-wnnfns.c (Fwnn_dict_comment):
5523         * mule-wnnfns.c (Fwnn_quit_henkan):
5524         * mule-wnnfns.c (Fwnn_word_toroku):
5525         * mule-wnnfns.c (Fwnn_word_sakujo):
5526         * mule-wnnfns.c (Fwnn_word_use):
5527         * mule-wnnfns.c (Fwnn_hindo_set):
5528         * objects.c:
5529         * objects.c (Fmake_color_instance):
5530         * objects.c (Fmake_font_instance):
5531         * print.c (Fwrite_char):
5532         * process.c:
5533         * process.c (mark_process):
5534         * process.c (print_process):
5535         * process.c (get_process_from_usid):
5536         * process.c (Fprocessp):
5537         * process.c (Fprocess_live_p):
5538         * process.c (Fget_process):
5539         * process.c (Fget_buffer_process):
5540         * process.c (get_process):
5541         * process.c (Fprocess_id):
5542         * process.c (Fprocess_name):
5543         * process.c (Fprocess_command):
5544         * process.c (init_process_io_handles):
5545         * process.c (start_process_unwind):
5546         * process.c (Fstart_process_internal):
5547         * process.c (Fopen_multicast_group_internal):
5548         * process.c (Fset_process_window_size):
5549         * process.c (read_process_output):
5550         * process.c (send_process):
5551         * process.c (Fprocess_tty_name):
5552         * process.c (Fset_process_buffer):
5553         * process.c (Fprocess_buffer):
5554         * process.c (Fprocess_mark):
5555         * process.c (set_process_filter):
5556         * process.c (Fset_process_filter):
5557         * process.c (Fprocess_filter):
5558         * process.c (Fprocess_send_region):
5559         * process.c (Fprocess_send_string):
5560         * process.c (exec_sentinel):
5561         * process.c (Fset_process_sentinel):
5562         * process.c (Fprocess_sentinel):
5563         * process.c (status_notify):
5564         * process.c (Fprocess_status):
5565         * process.c (Fprocess_exit_status):
5566         * process.c (process_send_signal):
5567         * process.c (Fprocess_send_eof):
5568         * process.c (deactivate_process):
5569         * process.c (remove_process):
5570         * process.c (Fdelete_process):
5571         * process.c (kill_buffer_processes):
5572         * process.c (Fprocess_kill_without_query):
5573         * process.c (Fprocess_kill_without_query_p):
5574         * rangetab.c:
5575         * rangetab.c (Fget_range_table):
5576         * rangetab.c (Fput_range_table):
5577         * rangetab.c (Fremove_range_table):
5578         * rangetab.c (Fclear_range_table):
5579         * search.c:
5580         * search.c (Fskip_chars_forward):
5581         * search.c (Fskip_chars_backward):
5582         * search.c (Fskip_syntax_forward):
5583         * search.c (Fskip_syntax_backward):
5584         * search.c (search_command):
5585         * search.c (Freplace_match):
5586         * search.c (Fregexp_quote):
5587         * select.c (Fown_selection_internal):
5588         * select.c (Fselection_owner_p):
5589         * select.c (Fselection_exists_p):
5590         * select.c (Fget_selection_internal):
5591         * specifier.c:
5592         * symbols.c:
5593         * symbols.c (Fintern):
5594         * symbols.c (Fintern_soft):
5595         * symbols.c (Funintern):
5596         * symbols.c (Fapropos_internal):
5597         * symbols.c (Fset_default):
5598         * syntax.c:
5599         * syntax.c (Fsyntax_table_p):
5600         * syntax.c (Fcopy_syntax_table):
5601         * syntax.c (Fset_syntax_table):
5602         * syntax.c (Fchar_syntax):
5603         * syntax.c (syntax_match):
5604         * syntax.c (Fmatching_paren):
5605         * syntax.c (Fforward_word):
5606         * syntax.c (scan_lists):
5607         * syntax.c (Fscan_lists):
5608         * syntax.c (Fscan_sexps):
5609         * syntax.c (Fparse_partial_sexp):
5610         * toolbar.c (Fcheck_toolbar_button_syntax):
5611         * tooltalk.doc:
5612         * window.c:
5613         * window.c (Fwindowp):
5614         * window.c (Fwindow_live_p):
5615         * window.c (Fwindow_point):
5616         * window.c (Fdelete_window):
5617         * window.c (Fnext_window):
5618         * window.c (Fprevious_window):
5619         * window.c (Fother_window):
5620         * window.c (window_loop):
5621         * window.c (Fget_lru_window):
5622         * window.c (Fsplit_window):
5623         * window.c (Fenlarge_window):
5624         * window.c (Fenlarge_window_pixels):
5625         * window.c (Fshrink_window):
5626         * window.c (Fshrink_window_pixels):
5627         * window.c (change_window_height):
5628         * window.c (Fwindow_configuration_p):
5629         * window.c (Fcurrent_window_configuration):
5630         * window.h:
5631         * casefiddle.c (casify_object):
5632         * casefiddle.c (Fupcase):
5633         * casefiddle.c (Fdowncase):
5634         * casefiddle.c (Fcapitalize):
5635         * casefiddle.c (Fupcase_initials):
5636         * casefiddle.c (casify_region_internal):
5637         * casefiddle.c (casify_region):
5638         * casefiddle.c (Fupcase_region):
5639         * casefiddle.c (Fdowncase_region):
5640         * casefiddle.c (Fcapitalize_region):
5641         * casefiddle.c (Fupcase_initials_region):
5642         * casefiddle.c (Fupcase_word):
5643         * casefiddle.c (Fdowncase_word):
5644         * casefiddle.c (Fcapitalize_word):
5645         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5646         Replace 0 with '\0' when working with bytes.
5647         Replace initial "(" with "\(" in docstrings.
5648
5649 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5650
5651         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5652
5653         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5654
5655 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5656
5657         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5658
5659 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5660
5661         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5662         correctly.
5663
5664 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5665
5666         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5667         (inhibit_auto_save_session): New variable.
5668         (vars_of_fileio): Declare and initialize them.
5669         * fileio.c (Fdo_auto_save): Don't create session file if
5670         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5671
5672 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5673
5674         * sgiplay.c (play_internal): C++ compilability.
5675         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5676         * callproc.c (Fold_call_process_internal):
5677         Remove unused vars `env', `first'.
5678         * scrollbar.c (update_scrollbar_instance):
5679         #### unused var `current_window'.
5680         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5681         etc. within #ifdef NOT_YET.
5682         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5683         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5684         * specifier.c (specifier_instance):
5685         #### unused var `tag'.
5686         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5687
5688 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5689
5690         * fns.c (Fbutlast):
5691         * fns.c (list_sort):
5692         * fns.c (Ffillarray):
5693         * fns.c (bytecode_nconc2):
5694         * fns.c (Fnconc):
5695         * fns.c (mapcar1):
5696         * fns.c (Fmapconcat):
5697         Be pedantically 64-bit correct.  For the time when someone will
5698         want to have a list with length > 2**32.
5699
5700         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5701         Work around MIPSpro compiler bug.
5702
5703         * process-unix.c (unix_kill_child_process): Add snarky comment.
5704         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5705
5706         * config.h.in: Oops, _getpt ==> _getpty
5707
5708 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5709
5710         * config.h.in:
5711         * regex.c:
5712         Use void*, not char*, as return type of alloca().
5713
5714         * alloc.c (free_marker): Side effect inside assert expression!
5715
5716 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5717
5718         * mule-charset.c (Fset_charset_ccl_program): To check
5719         if the given ccl program is valid, use setup_ccl_program()
5720         instead of CHECK_VECTOR().
5721         (Fmake_charset): Likewise.
5722
5723 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5724
5725         * faces.c (get_extent_fragment_face_cache_index):
5726         Fix cachel.merged_faces memory leak.
5727
5728 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5729
5730         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5731         Reset MSB of octets obtained by DECODE_SJIS
5732         because of the incompatibility with Emacs.
5733         (ccl_driver)<CCL_ENCODE_SJIS>:
5734         Set MSB of octets before passing them to
5735         ENCODE_SJIS because of the incompatibility
5736         with Emacs.
5737
5738 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5739
5740         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5741         (DECLARE_LRECORD): Undo the last change.
5742         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5743
5744 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5745
5746         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5747         the implementation to lrecord_implementations_table.
5748
5749 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5750
5751         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5752         initial value of `lrecord_type_##c_name' and
5753         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5754         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5755         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5756         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5757         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5758
5759 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5760
5761         * miscplay.c (sndcnv8S_2mono):
5762         (sndcnv2monounsigned):
5763         (sndcnvULaw_2linear):
5764         (sndcnv16swap):
5765         Remove implementation-defined behavior.
5766
5767 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5768
5769         * input-method-xlib.c: Warning suppression.
5770
5771 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5772
5773         * mule-ccl.c: Sync up with Emacs 21.0.90.
5774         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5775         Do nothing.
5776         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5777         Likewise.
5778         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5779         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5780         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5781         leading char belongs to official 2-dimensional charset.
5782         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5783         write the given character as is.  Otherwise,
5784         if it is a multibyte char, convert it by
5785         non_ascii_set_charptr_emchar, then write it.
5786         (CCL_WRITE_STRING): Likewise.
5787         (ccl_get_compiled_code): New function.
5788         (setup_ccl_program): When ccl_prog is invalid,
5789         return -1.
5790         (Fregister_code_conversion_map): New function.
5791         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5792
5793         * mule-ccl.h: Sync up with Emacs 21.0.90.
5794         (Fregister_ccl_program): export it.
5795
5796         * redisplay-msw.c (separate_textual_runs):
5797         If ccl program is not valid, don't do ccl conversion.
5798
5799         * redisplay-x.c (separate_textual_runs): Ditto.
5800
5801         * file-coding.c (Fmake_coding_system):
5802         When type is ccl and value is vector, register it
5803         with a proper symbol.  And checks whether the
5804         given ccl program is valid.
5805         (mule_decode): When calling ccl_driver, if src indicates
5806         NULL pointer, set an empty string instead.
5807         (mule_encode): Likewise.
5808
5809 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5810
5811         The following large batch of changes gets us back to a state of
5812         C++ compilability.  Extbyte is now a char, which means that
5813         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5814
5815         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5816
5817         * sound.c (Fplay_sound): Type correctness.
5818
5819         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5820         (x_get_window_property): Type correctness.
5821         (receive_incremental_selection): unsigned char ==> Extbyte
5822         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5823         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5824         (Fx_store_cutbuffer_internal): Type correctness.
5825
5826         * process-unix.c (try_to_initialize_subtty): Type correctness.
5827
5828         * objects-x.c (x_print_color_instance): Type correctness.
5829         (x_print_font_instance): Type correctness.
5830         (x_list_fonts): SExtbyte ==> Extbyte.
5831         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5832         (x_find_charset_font): SExtbyte ==> Extbyte.
5833         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5834         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5835         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5836         Use bufbyte_strcmp.
5837
5838         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5839         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5840         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5841         (BYTE_C0_P): Use bit ops for char-signedness safety.
5842         (BYTE_C1_P): Use bit ops for char-signedness safety.
5843         (CHARSET_BY_LEADING_BYTE):
5844         (CHARSET_BY_ATTRIBUTES):
5845         Always use inline function.
5846         Use type_checking_assert.
5847         Hide chlook.
5848
5849         * mule-charset.c (non_ascii_charptr_copy_char):
5850         Modify to work with both ASCII and non-ASCII characters.
5851         Improve docs and variable names.
5852         Replace over-clever fall-through switch with a simple loop.
5853         (Lstream_get_emchar_1):
5854         Replace over-clever fall-through switch with a simple loop.
5855
5856         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5857         Warning suppression.
5858
5859         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5860         the return value of Lstream_getc, which could be EOF as well.
5861
5862         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5863
5864         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5865         APIs can be used on Extbytes without casts.  Risky!
5866         (SExtbyte): Remove.
5867         (UExtbyte): Remove.
5868
5869         * input-method-xlib.c (XIM_init_device):
5870         Use Xlib.h instead of IntrinsicP.h.
5871         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5872         which will break in X11R7.
5873         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5874         to call XRegisterIMInstantiateCallback with correct types.
5875
5876         * gui-x.c (button_item_to_widget_value): Type correctness.
5877
5878         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5879
5880         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5881         (xbm_instantiate_1): Type correctness.
5882         (BUILD_GLYPH_INST):  Type correctness.
5883
5884         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5885
5886         * file-coding.c:
5887         (decode_coding_sjis):
5888         (decode_coding_big5):
5889         (decode_coding_ucs4):
5890         (decode_coding_utf8):
5891         (decode_coding_iso2022):
5892         (decode_coding_no_conversion):
5893         Make all decoding functions take an Extbyte * arg.
5894         (encode_coding_sjis):
5895         (encode_coding_big5):
5896         (encode_coding_ucs4):
5897         (encode_coding_utf8):
5898         (encode_coding_iso2022):
5899         (encode_coding_no_conversion):
5900         Make all encoding functions take a Bufbyte * arg.
5901         Use size_t instead of unsigned int for memory sizes.
5902         Only cast to unsigned char whenever dereferencing Extbyte *.
5903
5904         * doc.c (unparesseuxify_doc_string): Type correctness.
5905
5906         * console-x.c (split_up_display_spec):
5907         Rewrite without using details of internal string representation.
5908         (x_semi_canonicalize_device_connection): Type correctness.
5909
5910         * config.h.in:
5911         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5912         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5913         (HAVE_XFREE386): Removed.
5914
5915         * buffer.h (DEC_CHARPTR): `const' correctness.
5916         (bufbyte_strcmp): New.
5917         (bufbyte_memcmp): New.
5918
5919         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5920
5921         * buffer.h (XCHAR_OR_CHAR_INT):
5922         Always use inline function.
5923         Remove redundant type checking assert() - XINT will abort quite nicely.
5924
5925 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5926
5927         * search.c (Freplace_match): Set newtext to an empty string.
5928
5929 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5930
5931         * s/decosf1-3.h: Remove #include of stropts.h
5932         * s/ptx.h: Remove #include of stropts.h
5933         * s/usg5-4.h: Remove #include of stropts.h
5934         * sysproc.h:
5935         * config.h.in:
5936         Use stropts.h, not sys/stropts.h.
5937         Use strtio.h, not sys/strtio.h.
5938
5939 2000-10-04  Martin Buchholz <martin@xemacs.org>
5940
5941         * XEmacs 21.2.36 is released.
5942
5943 2000-09-21  Andy Piper  <andy@xemacs.org>
5944
5945         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5946         changes still involve copying the widget tree.
5947         (update_widget_face): make sure a change is register in the widget
5948         tree. Call update_tab_widget_face appropriately.
5949         (update_tab_widget_face): ditto.
5950         (x_tab_control_redisplay): make sure non-structural changes still
5951         involve copying the widget tree.
5952
5953 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5954
5955         * lread.c (locate_file): Check the path element is non-nil.
5956
5957 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5958
5959         * lisp.h: Warning suppression for SCO compilers.
5960
5961         * redisplay-tty.c (reset_tty_modes): Fix crash.
5962         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5963
5964 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5965
5966         Big signal/process handling overhaul.  Bugs fixed:
5967         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5968         M-x comint-kill-subjob should work for both values nil and t of
5969         process-connection-type. It was broken on most platforms.
5970         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5971         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5972         * process-unix.c: Signal/Process handling overhaul.
5973         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5974         (allocate_pty): Use all available modern methods of allocating
5975         ptys, falling back to old style BSD allocation as a last resort.
5976         Use allegedly more secure Unix98 pty allocation by default.
5977         (allocate_pty_the_old_fashioned_way): New. the last resort.
5978         (unix_create_process): Push ptem, ldterm, ttcompat where
5979         available.  Autoconfiscate.
5980         (try_to_initialize_subtty): New.
5981         (unix_kill_child_process): Proper signal handling for ptys on most
5982         platforms, using special knowledge of AIX, BSD, etc...
5983         (unix_create_process): Always disconnect_controlling_terminal() for
5984         subprocesses, whether using ptys or not.
5985         * process.h: Remove old getpt-dependent PTY code.
5986         * process.c (Fprocess_send_signal): New, obvious generic function.
5987         (decode_signal): New.
5988         (Finterrupt_process):
5989         (Fkill_process):
5990         (Fquit_process):
5991         (Fstop_process):
5992         (Fcontinue_process):
5993         (Fsignal_process): Use decode_signal.
5994         (process_send_signal):
5995         Many docstring corrections.
5996         Allow any signal to be sent to a process object.
5997         * config.h.in: Add symbols for big signal/process overhaul.
5998         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5999         * sysproc.h: Include process-related headers, where available:
6000         sys/stropts.h sys/strtio.h pty.h libutil.h
6001         * s/irix4-0.h:
6002         * s/irix5-0.h:
6003         * s/cygwin32.h:
6004         * s/gnu.h:
6005         * s/linux.h:
6006         * s/hpux.h:
6007         * s/aix3-1.h:
6008         Remove old S&M pty stuff.
6009         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6010         * systty.h: Simplify cpp hackery, improve comments.
6011         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6012
6013         * editfns.c (Fformat_time_string):
6014         Be a little more paranoid with the return value of ctime.
6015
6016         * fileio.c (check_executable):
6017         (check_writable):
6018         Use symbolic constants X_OK, W_OK.
6019
6020         * console-x.c (split_up_display_spec): Fix a warning.
6021
6022 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6023
6024         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6025         * ntproc.c (sys_spawnve): make_string ==> build_string
6026         Small clarity improvements.
6027
6028 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6029
6030         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6031
6032         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6033
6034         * config.h.in (HAVE_STRCASECMP): Remove.
6035
6036 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6037
6038         * redisplay-output.c (redisplay_output_pixmap):
6039         Cleaner and possibly more 64-bit correct code.
6040
6041 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6042
6043         * dumper.c (pdump_load_finish): move restoration of
6044         `noninteractive1' to emacs.c (main_1).
6045         * emacs.c (main_1): protect LISP-visible command-line flags
6046         from pdump_load().
6047
6048 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6049
6050         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6051         DUMP_TARGET instead of literal program names.
6052
6053 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6054
6055         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6056
6057 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6058
6059         * *: Spelling mega-patch
6060
6061 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6062
6063         * fns.c (bad_bad_turtle):
6064         Delete "Eek!" comment, since we fixed the bug to which it refers.
6065
6066 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6067
6068         * alloca.c: Replace REGISTER with register.
6069
6070 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6071
6072         * file-coding.c (ucs_to_char): Use countof.
6073
6074 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6075
6076         * file-coding.c: (ucs_to_char):
6077         (complex_vars_of_file_coding):
6078         Use countof instead of sizeof.
6079         Use CHECK_NATNUM instead of CHECK_INT.
6080
6081         * sysdep.c (strcasecmp): Remove.
6082         * device-x.c (ascii_strcasecmp): New.
6083         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6084         Avoid using non-standard non-portable strcasecmp.
6085
6086 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6087
6088         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6089         * font-lock.c: remove reference to emacsfns.h.
6090         * search.c: small doc improvement.
6091         * event-Xt.c: correct file names in comments.
6092         * console-x.h Correct file names in comments.
6093         * frame.c: Correct file names in comments.
6094         * event-stream.c: remove Energize from comments.
6095
6096 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6097
6098         * symeval.h (DEFERROR_STANDARD):
6099         (DEFERROR):
6100         (DEFSYMBOL):
6101         (DEFSYMBOL_NO_DUMP):
6102         (DEFSYMBOL_MULTIWORD_PREDICATE):
6103         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6104         (DEFKEYWORD):
6105         The construct &##name is not sensible C.
6106         Fixes compilation errors with Unixware native compiler.
6107
6108 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6109
6110         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6111         (next_frame_internal): Removed.  We now just have next_frame.
6112         (next_frame):
6113         Write a simpler and cleaner one-pass algorithm.
6114         Remove called_from_delete_device arg and #ifdefed-out code.
6115         (previous_frame):
6116         Renamed from prev_frame.  Update callers.
6117         Cleaned up to have an analogous implementation to next_frame.
6118         (other_visible_frames_internal): Remove the
6119         called_from_delete_device bogus arg, and hence, remove this
6120         function.  Just use other_visible_frames().
6121
6122         * window.c (Fnext_window):
6123         Prettify docstring.
6124         Since next_frame() is guaranteed to return a frame, remove check
6125         for nil inserted in previous patch.
6126         (Fprevious_window):
6127         Prettify docstring.
6128         Make code look more like Fnext_window.
6129         (window_loop):
6130         Respect the `console' arg when iterating through windows.
6131         Fixes bug: (get-buffer-window buffer t device) not respecting
6132         the `device' arg.
6133         This function needs more work, as others have pointed out.
6134
6135         * frame.h: Rename prev_frame to previous_frame.
6136         device_matches_console_spec no longer takes a `frame' arg.
6137
6138         * s/gnu.h:
6139         * s/linux.h:
6140         * s/hpux.h:
6141         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6142         From "Golubev I. N." <gin@mo.msk.ru>.
6143
6144         * make-src-depend: Fix typo.
6145
6146 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6147
6148         * window.c (Fnext_window):
6149         next_frame() might return nil, not a frame.
6150         Fixes this crash:
6151         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6152
6153         * frame.c (next_frame_internal):
6154         We've passed a frame if we've passed its device.
6155         Fixes this crash:
6156         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6157 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6158
6159 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6160
6161         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6162         Allow option to suppress accelerators in menu/dialog items.
6163         (populate_or_checksum_helper): Pass dialog title through above.
6164
6165 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6166
6167         * event-msw.c (mswindows_key_to_emacs_keysym):
6168         Add "pause" key, fix "menu" key.
6169
6170 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6171
6172         * eval.c (reinit_vars_of_eval):
6173         Increase max_lisp_eval_depth to 1000,
6174         required for thai-xtis.el to byte-compile under some circumstances.
6175
6176 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6177
6178         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6179         From Kenichi Handa.
6180
6181 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6182
6183         * make-src-depend: Make the generated Makefiles smaller.
6184
6185         * s/hpux.h (SETUP_SLAVE_PTY):
6186         Provide a %d in the format string for the errno argument.
6187
6188         * editfns.c (Ftemp_directory):
6189         Warning fix.
6190         Avoid buffer overrun on very long file name.
6191
6192         * input-method-xlib.c (XIM_init_device):
6193         6th parameter of XRegisterIMInstantiateCallback has different
6194         pointer types on different OSes, so simply cast to (void *).
6195
6196         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6197
6198         * sysdll.c (dll_open):
6199         shl_load will hang hard if passed a NULL filename.
6200         Simply return NULL for compatibility with dlopen.
6201         * sysdll.c: Conform to XEmacs coding standards.
6202
6203         * sysdep.c (get_pty_max_bytes):
6204         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6205
6206 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6207
6208         * tooltalk.c: Add #include <syssignal.h>
6209
6210 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6211
6212         * s/hpux.h: Don't use undefined function sigunblock().
6213
6214 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6215
6216         * config.h.in: Add HAVE_BALLOON_HELP.
6217         * emacs.c: Use HAVE_BALLOON_HELP.
6218         * Makefile.in.in (x_objs):
6219         Make Balloon Help conditional on finding shape.h.
6220
6221 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6222
6223         * syntax.c (regex_emacs_buffer_p): New variable.
6224         * syntax.h (regex_emacs_buffer_p): extern.
6225         * search.c (looking_at_1):
6226         (string_match_1):
6227         (fast_string_match):
6228         (search_buffer): Set regex_emacs_buffer_p.
6229         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6230         when before_dot, at_dot, after_dot.
6231
6232 2000-08-23  Andy Piper  <andy@xemacs.org>
6233
6234         * gui-x.c (popup_selection_callback): Only set action_occurred
6235         when we really have an image instance.
6236         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6237
6238 2000-08-23  Andy Piper  <andy@xemacs.org>
6239
6240         * gui-msw.c (mswindows_handle_gui_wm_command): set
6241         action_occurred.
6242         * gui-x.c (popup_selection_callback): ditto.
6243
6244         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6245         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6246         (struct Lisp_Image_Instance): add action_occurred flag.
6247
6248         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6249         (image_instance_changed): ditto.
6250         (reset_frame_subwindow_instance_cache): only unmap windows - do
6251         not remove them from the cache also.
6252
6253         * glyphs-widget.c (tab_control_update): better debug.
6254         (progress_gauge_update): ditto.
6255         (layout_update): ditto.
6256         (layout_instantiate): ditto.
6257         (tab_control_order_only_changed): cope with null pending items.
6258
6259         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6260         debug. Force selection of an item when an action occurred. Cope
6261         with null pending_items.
6262         (mswindows_progress_gauge_redisplay): better debug.
6263         * glyphs-x.c (x_tab_control_redisplay): ditto.
6264
6265         * redisplay.c (redisplay_frame): reset the frame cache if the
6266         frame is garbaged.
6267
6268         * window.c (Fset_window_configuration): potentially re-enable
6269         frame cache reset.
6270         (window_unmap_subwindows): need to finalize instances here since
6271         it is only used in mark_window_as_deleted.
6272
6273 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6274
6275         * nas.c (SndOpenDataForReading):
6276         nas.c (WaveOpenDataForReading):
6277         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6278         Somehow escaped from the 2000-08-14 patch.
6279
6280 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6281
6282         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6283         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6284
6285 2000-08-21  Andy Piper  <andy@xemacs.org>
6286
6287         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6288         window if it is not already displayed.
6289
6290         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6291         it is not already displayed.
6292
6293         * window.c (Fset_window_configuration): don't reset the frame
6294         cache.
6295
6296         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6297         instances from the frame cache if we are actually finalizing them.
6298         (reset_frame_subwindow_instance_cache): reset frame cache only
6299         after unmapping everything.
6300         (map_subwindow): set displayed flag after mapping.
6301
6302 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6303
6304         * data.c (indirect_function):
6305         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6306
6307         * eval.c (function_argcount):
6308         Use original function when signaling errors.
6309
6310 2000-08-18  Andy Piper  <andy@xemacs.org>
6311
6312         * frame.c (delete_frame_internal): use new
6313         free_frame_subwindow_instances name.
6314
6315         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6316         (add_tab_item): make return type correct.
6317         (mswindows_tab_control_instantiate): assert index of tab.
6318         (mswindows_tab_control_redisplay): Re-code to use
6319         gui_item_equal_sans_selected and gui_item_list_find_selected.
6320
6321         * glyphs-widget.c (tab_control_update): Correct comment.
6322
6323         * window.c (window_unmap_subwindows): use new
6324         unmap_subwindow_instance_cache_mapper.
6325         (window_unmap_subwindows_cache_mapper): deleted.
6326         (Fset_window_configuration): comparisons should now be with
6327         EQ. Preserve the subwindow instance cache across configuration
6328         changes.
6329         (allocate_window): ditto.
6330         (make_dummy_parent): ditto.
6331
6332         * glyphs.c (free_frame_subwindow_instances): rename from
6333         free_frame_subwindow_instance_cache. finalize all instances rather
6334         than just those in the display cache.
6335         (finalize_all_subwindow_instances): walk windows unmapping and
6336         finalizing subwindows.
6337         (unmap_subwindow_instance_cache_mapper): moved from
6338         window.c. Allow finalization as well as unmapping.
6339
6340         * gui.c (gui_item_list_find_selected): new function.
6341
6342         * gui.h (gui_item_list_find_selected): declare.
6343
6344         * glyphs-x.c (x_tab_control_redisplay): pick tab
6345         explicitly. Re-code to use gui_item_equal_sans_selected and
6346         gui_item_list_find_selected.
6347
6348         * glyphs-x.h: add lwlib-utils.h
6349
6350         * buffer.c (Frecord_buffer): undo previous change.
6351
6352 2000-08-09  Vin Shelton  <acs@xemacs.org>
6353
6354         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6355         possible.  Create temporary files more securely.  The patch was
6356         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6357         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6358         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6359         for details.
6360
6361 2000-08-07  Ben Wing  <ben@xemacs.org>
6362
6363         * getloadavg.c: remove duplicate (and windows-breaking)
6364         includes of fcntl.h and sys/file.h.
6365
6366         * nt.c: remove duplicate getloadavg() definition.
6367
6368         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6369         encodings.
6370
6371 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6372
6373         * eval.c (function_argcount): If function needs to be autoloaded
6374         actually use the loaded definition.
6375         GCPRO function.
6376
6377 2000-08-05  Ben Wing  <ben@xemacs.org>
6378
6379         * getloadavg.c: add prototype for getloadavg().  remove
6380         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6381         of the code).  remove duplicate header includes.
6382
6383         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6384
6385         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6386         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6387         useful load average.
6388
6389         * alloc.c (reinit_alloc_once_early): removed references to
6390         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6391         the lisp vars are the only things referencing the malloc_sbrk_*
6392         vars, and they were already if 0'd out.  these vars only exist
6393         in the older malloc.c, which is basically unused, and they're
6394         only for informational purposes.
6395
6396         * m\*.h: removed useless VIRT_ADDR_VARIES.
6397
6398         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6399
6400 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6401
6402         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6403         color if the image is a mono pixmap.
6404
6405 2000-07-30  Ben Wing  <ben@xemacs.org>
6406
6407         * Makefile.in.in (release):
6408         Remove stray @.
6409
6410         * buffer.c (directory_is_current_directory):
6411         * dired-msw.c (mswindows_get_files):
6412         * dired.c:
6413         * dired.c (Fdirectory_files):
6414         * dired.c (file_name_completion_stat):
6415         * dired.c (Ffile_attributes):
6416         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6417         preprocessor tricks, to avoid problems on some machines
6418         (e.g. SCO).
6419
6420         * callproc.c (egetenv): GC docs.
6421
6422         * console-msw.h:
6423         * console-msw.h (struct mswindows_dialog_id):
6424         * lrecord.h (lrecord_type):
6425         New object for use with MSW dialogs.
6426
6427         * console.h (struct console_methods):
6428         New enable/disable frame methods, for proper modal dialogs.
6429
6430         * device-msw.c (msprinter_default_printer): Fix to follow
6431         proper Mule conventions.
6432
6433         * device-msw.c:
6434         * device-msw.c (signal_open_printer_error):
6435         * device-msw.c (msprinter_init_device):
6436         * device-msw.c (ensure_not_printing):
6437         * device-msw.c (plist_get_margin):
6438         * device-msw.c (Fmsprinter_select_settings):
6439         * device-msw.c (finalize_devmode):
6440         * device-msw.c (Fmsprinter_settings_despecialize):
6441         * device-msw.c (signal_enum_priner_error):
6442         * extents.c (decode_extent):
6443         * extents.c (decode_map_extents_flags):
6444         * extents.c (decode_extent_at_flag):
6445         * extents.c (Fextent_at):
6446         * extents.c (Fextents_at):
6447         * extents.c (symbol_to_glyph_layout):
6448         [[[[2]]]] Use structured errors.
6449
6450         * dialog-msw.c:
6451         * dialog-msw.c (mswindows_is_dialog_msg):
6452         * dialog-msw.c (mark_mswindows_dialog_id):
6453         * dialog-msw.c (dialog_proc):
6454         * dialog-msw.c (handle_question_dialog_box):
6455         * dialog-msw.c (syms_of_dialog_mswindows):
6456         Define new object to clean up marking; use it as a dialog identifier.
6457         Call new delete-dialog-box-hook.
6458
6459         * dialog-x.c (dbox_selection_callback):
6460         * dialog-x.c (dbox_descriptor_to_widget_value):
6461         * dialog-x.c (x_make_dialog_box_internal):
6462         Call new delete-dialog-box-hook.
6463         Return an id.
6464
6465         * dialog.c:
6466         * dialog.c (syms_of_dialog):
6467         * dialog.c (vars_of_dialog):
6468         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6469
6470         * eval.c:
6471         * eval.c (signal_call_debugger):
6472         when noninteractive, output stack traces on the console instead
6473         of in a (never-seen) buffer.
6474
6475         * eval.c (signal_type_error):
6476         * eval.c (invalid_argument_2):
6477         * lisp.h:
6478         new funs for use w/structured errors.
6479
6480         * event-Xt.c:
6481         * event-Xt.c (x_to_emacs_keysym):
6482         * event-Xt.c (describe_event):
6483         * event-Xt.c (emacs_Xt_event_handler):
6484         * event-Xt.c (vars_of_event_Xt):
6485         * event-msw.c:
6486         * event-msw.c (mswindows_wnd_proc):
6487         * event-msw.c (vars_of_event_mswindows):
6488         rename {x,mswindows}-debug-events to debug-{}-events for
6489         consistency with other debug-foo variables.
6490
6491         * event-stream.c:
6492         document next-event more clearly.
6493
6494         * fileio.c (Ffile_name_directory):
6495         * fileio.c (Ffile_name_nondirectory):
6496         * fileio.c (Funhandled_file_name_directory):
6497         * fileio.c (file_name_as_directory):
6498         * fileio.c (Ffile_name_as_directory):
6499         * fileio.c (directory_file_name):
6500         * fileio.c (Fdirectory_file_name):
6501         * fileio.c (Fmake_temp_name):
6502         * fileio.c (Ffile_truename):
6503         * fileio.c (Fsubstitute_in_file_name):
6504         * fileio.c (expand_and_dir_to_file):
6505         * fileio.c (barf_or_query_if_file_exists):
6506         * fileio.c (check_executable):
6507         * fileio.c (Ffile_exists_p):
6508         * fileio.c (Ffile_writable_p):
6509         * fileio.c (Ffile_directory_p):
6510         * fileio.c (Ffile_regular_p):
6511         * fileio.c (Ffile_modes):
6512         * fileio.c (Ffile_newer_than_file_p):
6513         * fileio.c (Fverify_visited_file_modtime):
6514         * fileio.c (Fset_visited_file_modtime):
6515         * fileio.c (auto_save_1):
6516         (1). (2).
6517         fix up gcpro's.
6518
6519         * frame-msw.c:
6520         * frame-msw.c (mswindows_init_frame_1):
6521         * frame-msw.c (mswindows_enable_frame):
6522         * frame-msw.c (error_frame_unsizable):
6523         * frame-msw.c (msprinter_init_frame_1):
6524         * frame-msw.c (msprinter_init_frame_3):
6525         * frame-msw.c (console_type_create_frame_mswindows):
6526         (2).
6527         implement new enable/disable frame methods.
6528
6529         * frame-x.c:
6530         * frame-x.c (x_enable_frame):
6531         * frame-x.c (console_type_create_frame_x):
6532         implement new enable/disable frame methods.
6533
6534         * frame.c:
6535         * frame.c (Fdisable_frame):
6536         * frame.c (syms_of_frame):
6537         * frame.h (struct frame):
6538         implement new enable/disable frame methods/functions.
6539
6540         * general-slots.h:
6541         add initial-focus.
6542
6543         * glyphs-msw.c (mswindows_widget_instantiate):
6544         comment that initial-focus should be implemented.
6545
6546         * glyphs-widget.c:
6547         * glyphs-widget.c (check_valid_instantiator):
6548         * glyphs-widget.c (check_valid_orientation):
6549         * glyphs-widget.c (check_valid_tab_orientation):
6550         * glyphs-widget.c (check_valid_justification):
6551         * glyphs-widget.c (check_valid_border):
6552         * glyphs-widget.c (check_valid_callback):
6553         * glyphs-widget.c (check_valid_int_or_function):
6554         * glyphs-widget.c (check_valid_string_or_vector):
6555         * glyphs-widget.c (check_valid_item_list_1):
6556         * glyphs-widget.c (widget_validate):
6557         * glyphs-widget.c (combo_box_validate):
6558         * glyphs-widget.c (widget_instantiate):
6559         * glyphs-widget.c (syms_of_glyphs_widget):
6560         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6561         * glyphs-widget.c (image_instantiator_combo_box):
6562         * glyphs-widget.c (image_instantiator_scrollbar):
6563         * glyphs-widget.c (image_instantiator_tab_control):
6564         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6565         (2).
6566         support (unimplemented) keyword initial-focus.
6567         reindent long macros.
6568
6569         * glyphs-x.c (x_redisplay_widget):
6570         * glyphs-x.c (x_button_instantiate):
6571         * glyphs-x.c (x_button_redisplay):
6572         * glyphs-x.c (x_progress_gauge_instantiate):
6573         * glyphs-x.c (x_edit_field_instantiate):
6574         * glyphs-x.c (x_combo_box_instantiate):
6575         * glyphs-x.c (x_tab_control_instantiate):
6576         * glyphs-x.c (x_label_instantiate):
6577         * gui-x.c:
6578         * gui-x.c (button_item_to_widget_value):
6579         * gui-x.c (gui_items_to_widget_values_1):
6580         * gui-x.c (gui_item_children_to_widget_values):
6581         * gui-x.c (gui_items_to_widget_values):
6582         * gui-x.h:
6583         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6584         add new flag to gui-parsing routines to indicate whether
6585         accelerator specs should be supported.
6586
6587         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6588
6589         * glyphs.h (struct Lisp_Image_Instance):
6590         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6591         add initial-focus flag.
6592
6593         * gui.c:
6594         * gui.c (syms_of_gui):
6595         * gui.c (vars_of_gui):
6596         clean up menu-no-selection-hook.
6597
6598         * gui.h:
6599         support delete-dialog-box-hook.
6600
6601         * lread.c (Fload_internal):
6602         * lread.c (locate_file_in_directory_mapper):
6603         (1).
6604
6605         * lrecord.h:
6606         * lrecord.h (struct toolbar_button):
6607         * lrecord.h (syms_of_toolbar):
6608         document how to create a new object.
6609
6610         * menubar-msw.c (mswindows_char_is_accelerator):
6611         may be called on frames w/o menus.
6612
6613         * menubar.c (vars_of_menubar):
6614         clean up :filter docs.
6615
6616         * nt.c (readdir):
6617         * ntproc.c:
6618         (1).
6619
6620         * process-nt.c:
6621         * process-nt.c (validate_signal_number):
6622         * process-nt.c (signal_cannot_launch):
6623         * process-nt.c (nt_create_process):
6624         * process-nt.c (nt_send_process):
6625         * process-nt.c (nt_kill_child_process):
6626         * process-nt.c (nt_open_network_stream):
6627         * process-nt.c (syms_of_process_nt):
6628         (2).
6629         delete quote-handling.  call new lisp code that does it better.
6630
6631         * process-unix.c (connect_to_file_descriptor):
6632         * process-unix.c (allocate_pty):
6633         * process-unix.c (unix_send_process):
6634         * process-unix.c (unix_kill_child_process):
6635         * process-unix.c (unix_open_network_stream):
6636         * process-unix.c (unix_open_multicast_group):
6637         (1). (2).
6638
6639         * process.c:
6640         * process.c (Fstart_process_internal):
6641         (2).  need to canonicalize process path even if absolute.
6642
6643         * select-msw.c (symbol_to_ms_cf):
6644         * select-msw.c (ms_cf_to_symbol):
6645         * select-msw.c (cf_is_autofreed):
6646         * select-msw.c (mswindows_destroy_selection):
6647         * select.c:
6648         * select.c (syms_of_select):
6649         * select.h:
6650         support dibv5, fix bugs. (from Mike Alexander)
6651
6652         * select.c (Fget_selection_internal):
6653         * select.c (select_convert_out):
6654
6655         * sysdep.c:
6656         * sysdep.c (xemacs_stat):
6657         renamed.
6658
6659         * sysdep.c (mkdir):
6660         * sysdep.c (rmdir):
6661         but keep original stat() here because we provide encapsulation
6662         around these funs.
6663
6664         * sysfile.h:
6665         * sysfile.h (fstat):
6666         remove stat garbage.
6667
6668         * syswindows.h:
6669         fix X/MSW conflict.
6670         don't include tchar.h.  it's inappropriate because it makes
6671         compile-time distinctions when we want runtime distinctions.
6672         (we provide our own tchar replacements)
6673
6674         * toolbar.c:
6675         use default object printer for toolbar-button.
6676
6677         * unexcw.c:
6678         make sure we don't encapsulate.
6679
6680         * window.c (vars_of_window):
6681         emphasize that temp-buffer-show-hook is obsolete.
6682
6683 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6684
6685         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6686         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6687
6688         * events.c (Fevent_timestamp_lessp):
6689         Not 64-bit clean.  Use EMACS_INT, not int.
6690
6691 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6692
6693         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6694         unsigned int and changed the last enum to
6695         lrecord_type_last_built_in_type.
6696         (lrecord_implementations_table): changed prototype to know how
6697         long the array is supposed to be.
6698         (lrecord_type_count): new unsigned int to keep track of the
6699         current number of lisp lrecord types.
6700         (DEFINE_EXTERNAL_LRECORD):
6701         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6702         dynamic-modules to declare new lisp types. They are the same
6703         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6704         int for each new type, and increment lrecord_type_count by 1.
6705
6706         * alloc.c (lrecord_implementations_table): Changed to reference
6707         lrecord_type_last_built_in_type for the size of the array.
6708         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6709
6710 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6711
6712         * glyphs.h (check_valid_item_list): Renamed from
6713         check_valid_item_list_1.
6714
6715 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6716
6717         * select.c (Qselect_coerce): New.
6718         * select.c (Vselection_coercion_alist): New.
6719         * select.c (syms_of_select): Declare.
6720         * select.c (get-selection-internal): Use it.
6721         Use the new select-coerce functionality.
6722
6723         * select.c (select_coerce): New.
6724         * select.h (select_coerce): Declare.
6725         New function to coerce one type of data into another.
6726
6727 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6728
6729         * callproc.c (Fcall_process_internal):
6730         (Fcall_process_internal):
6731         * process-unix.c (unix_create_process):
6732         Save and restore the value of errno, so that error messages are accurate.
6733
6734 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6735
6736         * elhash.c (print_hash_table):
6737         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6738         Prettify docstrings and indentation.
6739
6740 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6741
6742         * window.c (Fwindow_pixel_edges): Subtract frame border and
6743         gutter size.
6744
6745 2000-07-31  Andy Piper  <andy@xemacs.org>
6746
6747         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6748         will acknowledge the change.
6749
6750         * glyphs.h: declare tab_control_order_only_changed.
6751
6752         * glyphs-x.c (x_tab_control_redisplay): use
6753         tab_control_order_only_changed.
6754
6755         * glyphs-widget.c (tab_control_order_only_changed): new function.
6756
6757         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6758         tab_control_order_only_changed.
6759
6760         * gui.c (gui_item_equal_sans_selected): new function.
6761         (gui_item_equal): use it.
6762
6763         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6764         :properties in favor of :items..
6765
6766         * glyphs-widget.c (check_valid_item_list): rename from
6767         check_valid_item_list_1.
6768         (check_valid_item_list_1): renamed.
6769         (combo_box_validate): deprecate :properties in favor of :items.
6770         (widget_instantiate): ditto.
6771         (tab_control_update): ditto.
6772         (image_instantiator_combo_box): ditto.
6773         (image_instantiator_tree_view): ditto.
6774         (image_instantiator_tab_control): ditto.
6775         (layout_post_instantiate): remove dead code.
6776
6777         * print.c (debug_print_no_newline): only write to debugger if in
6778         WIN32_NATIVE.
6779
6780         * elhash.c (Fmake_hash_table): update doc string.
6781
6782         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6783         messages whilst in GC. This at least stops XEmacs crashing but has
6784         the potential for wierd behaviour.
6785
6786 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6787
6788         * config.h.in:
6789         Make existence of s&m files optional.
6790
6791         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6792         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6793         * s/gnu.h: Remove HAVE_GETLOADAVG.
6794         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6795         * s/sol2.h: Remove HAVE_GETLOADAVG.
6796         * lisp.h: Remove getloadavg() declaration.
6797         * fns.c:
6798         Include <sys/loadavg.h> if available.
6799         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6800         * config.h.in:  Group together getloadavg()-related macros.
6801         Use only configure-time tests to detect getloadavg().
6802
6803 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6804
6805         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6806
6807 2000-07-25  Andy Piper  <andy@xemacs.org>
6808
6809         * syswindows.h: add tchar.h for native builds.
6810
6811         * frame.c (syms_of_frame): remove set-glyph-image.
6812
6813         * general-slots.h: add Qset_glyph_image.
6814
6815         * glyphs-widget.c (layout_update): add domain arg to
6816         set-glyph-image.
6817         (syms_of_glyphs_widget): remove set-glyph-image.
6818
6819 2000-07-23  Ben Wing  <ben@xemacs.org>
6820
6821         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6822         Vpopup_frame_list.
6823
6824 2000-07-22  Andy Piper  <andy@xemacs.org>
6825
6826         * symsinit.h: add syms_of_win32().
6827
6828         * gui-msw.c (syms_of_gui_mswindows): remove
6829         Fmswindows_shell_execute.
6830         (Fmswindows_shell_execute): moved to win32.c.
6831
6832         * emacs.c (main_1): add syms_of_win32 ().
6833
6834         * win32.c (init_potentially_nonexistent_functions): rewrite in
6835         compiler-friendly terms.
6836         (Fmswindows_shell_execute): move here from gui-msw.c.
6837         (syms_of_win32): new.
6838
6839         * device-msw.c (Fmswindows_printer_list): clean up args to
6840         EnumPrinters.
6841         Don't include tchar under cygwin or mingw.
6842         (msprinter_default_printer): make cygwin-friendly.
6843
6844 2000-07-21  Andy Piper  <andy@xemacs.org>
6845
6846         * glyphs-widget.c (image_instantiator_tree_view): use tab
6847         control's update function.
6848         (layout_property): new function. Retrieve items.
6849
6850         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6851         function. Re-populate the tree view from the pending items.
6852
6853         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6854         is designated the parent if the domain is an image instance. This
6855         is needed so that dirtiness can be cascade up the hierarchy and
6856         thus for layout children to be redisplayed correctly.
6857         (allocate_image_instance): rename glyph -> parent.
6858
6859         * redisplay.h: change redisplay_output_layout signature.
6860
6861         * redisplay-msw.c (mswindows_output_display_block): use domain
6862         arg.
6863
6864         * redisplay-x.c (x_output_display_block): use domain arg.
6865
6866 2000-07-10  Andy Piper  <andy@xemacs.org>
6867
6868         * window.c (Fset_window_configuration): add comment.
6869
6870         * redisplay-output.c (compare_runes):
6871         (redisplay_output_subwindow): redisplay rather than update subwindow.
6872         (redisplay_output_layout): ditto.
6873
6874         * redisplay-msw.c (mswindows_frame_output_end):
6875         (mswindows_frame_output_end): make defer window pos optional.
6876
6877         * lisp.h: add Flast.
6878
6879         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6880         normalize method. Change update method to be for changed
6881         instantiators. Add redisplay method. Change signature of layout
6882         method.
6883         (struct Lisp_Image_Instance): add instantiator.
6884         (IMAGE_INSTANCE_INSTANTIATOR): new.
6885         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6886         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6887         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6888
6889         * glyphs.c:
6890         (find_instantiator_differences): new function.
6891         (Fset_instantiator_property): new convenience function.
6892         (check_image_instance_structure): strictly check for vector
6893         instantiators.
6894         (normalize_image_instantiator): make non-static.
6895         (instantiate_image_instantiator): pass on dest_mask and use new
6896         signatures for image_instance_layout and friends.
6897         (mark_image_instance): mark the instantiator. Mark the subwindow
6898         face not the widget face.
6899         (image_instance_equal): add instantiator.
6900         (image_instance_hash): ditto.
6901         (allocate_image_instance): ditto.
6902         (Fset_image_instance_property): removed.
6903         (Fimage_instance_file_name): ditto.
6904         (Fcolorize_image_instance): ditto.
6905         (image_instance_layout): add offsets to be set.
6906         (update_image_instance): new function. update an image instance
6907         from its changed instantiator.
6908         (inherit_normalize): add dest_mask.
6909         (xbm_normalize): ditto.
6910         (xface_normalize): ditto.
6911         (xpm_normalize): ditto.
6912         (text_update): set_property -> update.
6913         (image_instantiate): use the glyph identity as a hash key, not the
6914         instantiator.
6915         (glyph_width): use new image_instance_layout signature.
6916         (glyph_ascent): ditto.
6917         (glyph_descent): ditto.
6918         (glyph_height): ditto.
6919         (glyph_query_geometry): ressurrect.
6920         (glyph_layout): ditto.
6921         (redisplay_subwindow): update -> redisplay.
6922         (syms_of_glyphs): add Fset_instantiator_property.
6923         (image_instantiator_format_create): set_property -> update.
6924
6925         * glyphs-x.c:
6926         (autodetect_normalize): add dest_maks to signature.
6927         (x_redisplay_subwindow): update -> redisplay.
6928         (x_redisplay_widget): ditto.
6929         (x_button_redisplay): ditto.
6930         (x_progress_gauge_redisplay): ditto.
6931         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6932         stacking order.
6933         (console_type_create_glyphs_x): update -> redisplay.
6934         (image_instantiator_format_create_glyphs_x): ditto.
6935
6936         * glyphs-widget.c:
6937         (check_valid_instantiator): disallow glyphs in the instantiator,
6938         they must now be vectors.
6939         (check_valid_instantiator_list): ditto.
6940         (glyph_instantiator_to_glyph): use internal symbol rather than
6941         intern.
6942         (widget_update): renamed from widget_set_property. Call cascaded
6943         update methods.
6944         (redisplay_widget): renamed from update_widget.
6945         (widget_layout): image_instance_layout now takes position as well
6946         as size.
6947         (widget_normalize): ditto.
6948         (widget_instantiate): ditto.
6949         (tab_control_query_geometry) ditto.:
6950         (tab_control_update): renamed from tab_control_set_property.
6951         (progress_gauge_update): set_property -> update.
6952         (layout_normalize): rewrite so that child instantiators are
6953         normalized also.
6954         (layout_update): new function. Create glyphs from the normalized
6955         children and cope with any other layout keywords. We do not
6956         instantiate children here that will be take care of by
6957         redisplay_output_layout.
6958         (layout_instantiate): call layout_update and not much else.
6959         (layout_post_instantiate): not sure whether this is needed
6960         anymore.
6961         (layout_query_geometry): query glyph geometry rather than
6962         image_instance geometry.
6963         (layout_layout): set offsets from pass in parameters. Use glyph
6964         geometry and layout functions rather than image instance ones.
6965         (native_layout_layout): ditto.
6966         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6967         (image_instantiator_widget): set_property -> update.
6968         (image_instantiator_buttons): ditto.
6969         (image_instantiator_progress_guage): ditto.
6970         (image_instantiator_tab_control): ditto.
6971         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6972         (image_instantiator_layout): add update method.
6973
6974         * glyphs-msw.c (bmp_normalize):
6975         (mswindows_resource_normalize): add dest_mask so that it can be
6976         proprogated by layout_normalize.
6977         (begin_defer_window_pos): make optional because it may not be the
6978         right thing to do and it introduces differences with X.
6979         (mswindows_unmap_subwindow): ditto.
6980         (mswindows_map_subwindow): ditto.
6981         (mswindows_redisplay_subwindow): renamed from
6982         mswindows_update_subwindow.
6983         (mswindows_redisplay_widget): ditto.
6984         (mswindows_button_redisplay): renamed from
6985         mswindows_button_update. Update is now what the instantiation
6986         function does for a changed instantiator.
6987         (mswindows_progress_gauge_instantiate): set the progress value
6988         here if appropriate.
6989         (mswindows_tab_control_redisplay): cope with re-ordering of the
6990         members of the tab widget by simply selecting the new top
6991         widget. This makes things appear ok if you click on a tab.
6992         (mswindows_combo_box_instantiate): image_instance_layout now takes
6993         position as well as size.
6994         (mswindows_progress_gauge_redisplay): renamed from
6995         mswindows_progress_gauge_update.
6996         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6997         (image_instantiator_format_create_glyphs_mswindows): ditto.
6998
6999         * glyphs-eimage.c (jpeg_normalize):
7000         (gif_normalize):
7001         (png_normalize):
7002         (tiff_normalize): add dest_mask so that it can be proprogated by
7003         layout_normalize.
7004
7005         * elhash.c:
7006         (print_hash_table):
7007         (hash_table_weakness_validate):
7008         (decode_hash_table_weakness):
7009         (Fhash_table_weakness):
7010         (Fhash_table_type):
7011         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7012
7013         * console.h (struct console_methods): move update_* to
7014         redisplay_*.
7015
7016 2000-07-20  Ben Wing  <ben@xemacs.org>
7017
7018         * *.[ch] (XSETOBJ): remove unused middle argument.
7019         lisp-disunion.h: correct wrap_object() to one argument.
7020
7021 2000-07-15  Ben Wing  <ben@xemacs.org>
7022
7023         * s/cygwin32.h:
7024         * s/cygwin32.h (CYGWIN_CONV_PATH):
7025         Add missing logb prototype for v1.1.
7026         Use post-b20 names and alias to pre-b20 names when pre-b20.
7027
7028         * s/windowsnt.h: [5].
7029
7030 2000-07-15  Ben Wing  <ben@xemacs.org>
7031
7032         * Makefile.in.in (x_objs):
7033         * Makefile.in.in (sheap_objs):
7034         * Makefile.in.in (objs):
7035         added win32.o, cosmetic cleanups.
7036
7037         * alloc.c (Fmake_byte_code):
7038         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7039         etc. macros which declare their own args now.
7040
7041         * alloc.c (syms_of_alloc):
7042         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7043
7044         * buffer.c:
7045         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7046
7047         * buffer.c (Fget_file_buffer):
7048         Fixed GCPRO problem.
7049
7050         * buffer.c (get_truename_buffer):
7051         Fixed comment about GC checking.
7052
7053         * buffer.c (syms_of_buffer):
7054         Undeclared those dedicated frame funs.
7055         [2].
7056
7057         * buffer.h:
7058         Define convenience macros for internal/external conversions.
7059         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7060         and Qenvironment_variable_encoding for cleaner code.
7061
7062         * bufslots.h:
7063         Remove dedicated-frame; in lisp.
7064
7065         * bytecode.c (funcall_compiled_function):
7066         [1].
7067
7068         * bytecode.c (syms_of_bytecode):
7069         [2].
7070
7071         * console-msw.c:
7072         * console-msw.c (mswindows_show_console): Rewrote.
7073
7074         * console-msw.c (Fmswindows_debugging_output): New.
7075         Sends to OutputDebugString (special MSWin debugger interface).
7076
7077         * console-msw.c (Fmswindows_message_box):
7078         Fixed stupid bugs so it works when called from kill-emacs.
7079
7080         * console-msw.c (syms_of_console_mswindows):
7081         Declare Fmswindows_debugging_output.
7082
7083         * console-msw.h:
7084         New MSWin prototypes.
7085
7086         * console-msw.h (struct mswindows_frame):
7087         New entry last-click-mods for improved button-modifier support.
7088
7089         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7090         New struct entry `popup' with corresponding accessor.
7091
7092         * console-x.c:
7093         * console-x.c (split_up_display_spec):
7094         * console-x.c (get_display_arg_connection):
7095         * console-x.c (x_semi_canonicalize_console_connection):
7096         * console-x.c (x_canonicalize_device_connection):
7097         [[[6]]]: Change char to more specific type.
7098         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7099
7100         * console-x.c (x_semi_canonicalize_console_connection):
7101         * console-x.c (x_canonicalize_device_connection):
7102         [[[9]]]: Fix up error signalling to use new structured error system.
7103
7104         * console-x.h:
7105         [[[4]]]: Define codesys aliases:
7106         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7107         Qx_color_name_encoding, Qx_display_name_encoding.
7108
7109         * console.h (struct console_methods):
7110         New method make_dialog_box_internal supersedes older
7111         popup_dialog_box method.
7112
7113         * data.c:
7114         Define many new errors, part of new structured errors.
7115
7116         * data.c (init_errors_once_early):
7117         * data.c (syms_of_data):
7118         [2].
7119
7120         * device-msw.c (mswindows_init_device):
7121         [[[5]]]: Cleanup to support NT 3.51.
7122
7123         * device-msw.c (decode_devmode): Cleanup.
7124
7125         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7126         * device-msw.c (mswindows_handle_print_dialog_box):
7127         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7128         * device-msw.c (syms_of_device_mswindows):
7129         Delete the dialog box primitives recently introduced by Kirill and
7130         instead interface to general dialog box interface.
7131
7132         * device-x.c:
7133         * device-x.c (compute_x_app_name):
7134         * device-x.c (x_init_device):
7135         * device-x.c (Fx_valid_keysym_name_p):
7136         * device-x.c (Fx_set_font_path):
7137         [6].
7138         [7].
7139
7140         * device.h (wrap_device): New.
7141         First of its kind; meant to replace XSETDEVICE.
7142
7143         * dialog-msw.c: Many file-dialog symbols.
7144
7145         * dialog-msw.c (mswindows_register_popup_frame): New.
7146         * dialog-msw.c (mswindows_is_dialog_msg): New.
7147         For supporting kbd traversal in dialog boxes.
7148
7149         * dialog-msw.c (dialog_proc):
7150         Support hitting ESC in dialogs.
7151
7152         * dialog-msw.c (struct):
7153         Common dialog box errors.
7154
7155         * dialog-msw.c (handle_file_dialog_box): New.
7156         Add file dialog code.
7157
7158         * dialog-msw.c (handle_question_dialog_box):
7159         Redo existing code to support new question dialog syntax.
7160
7161         * dialog-msw.c (console_type_create_dialog_mswindows):
7162         We support new dialog console method.
7163
7164         * dialog-msw.c (syms_of_dialog_mswindows):
7165         * dialog-msw.c (vars_of_dialog_mswindows):
7166         New file dialog symbols, vars.
7167
7168         * dialog-x.c:
7169         * dialog-x.c (maybe_run_dbox_text_callback):
7170         * dialog-x.c (dbox_descriptor_to_widget_value):
7171         * dialog-x.c (x_make_dialog_box_internal):
7172         * dialog-x.c (console_type_create_dialog_x):
7173         Mule-ize entire file.
7174         Redo to support question dialog syntax.
7175         [6].
7176
7177         * dialog.c:
7178         * dialog.c (Fmake_dialog_box_internal):
7179         * dialog.c (syms_of_dialog):
7180         Kill old popup-dialog-box, replace with new primitive.
7181         Just call device method or signal error.
7182
7183         * eldap.c (Fldap_open):
7184         * eldap.c (Fldap_search_basic):
7185         * eldap.c (Fldap_add):
7186         * eldap.c (Fldap_modify):
7187         [1].
7188         [7].
7189
7190         * emacs.c:
7191         * emacs.c (make_arg_list_1):
7192         * emacs.c (make_arg_list):
7193         Mule-ize call to dll_init().
7194         [6].
7195         [8].
7196
7197         * emacs.c (make_argc_argv):
7198         * emacs.c (free_argc_argv):
7199         * emacs.c (init_cmdargs):
7200         * emacs.c (main_1):
7201         * emacs.c (Fkill_emacs):
7202         * emacs.c (Fdump_emacs):
7203         Update comments about what can be used in syms_* etc.
7204         Call init_win32() when necessary.
7205         Fix up MS Win dialog box in kill-buffer to actually work right.
7206         [7].
7207
7208         * eval.c:
7209         * eval.c (For):
7210         * eval.c (Fand):
7211         * eval.c (Fprogn):
7212         * eval.c (Fprog1):
7213         * eval.c (Fprog2):
7214         * eval.c (FletX):
7215         * eval.c (Flet):
7216         * eval.c (condition_case_3):
7217         * eval.c (Feval):
7218         * eval.c (function_argcount):
7219         * eval.c (funcall_lambda):
7220         [1].
7221
7222         * eval.c (type_error): New.
7223         * eval.c (maybe_type_error): New.
7224         * eval.c (continuable_type_error): New.
7225         * eval.c (maybe_continuable_type_error): New.
7226         * eval.c (type_error_with_frob): New.
7227         * eval.c (maybe_type_error_with_frob): New.
7228         * eval.c (continuable_type_error_with_frob): New.
7229         * eval.c (maybe_continuable_type_error_with_frob): New.
7230         New functions for use with structured errors.
7231
7232         * event-Xt.c:
7233         * event-Xt.c (x_event_to_emacs_event):
7234         Buttons are now modifiers too.
7235
7236         * event-Xt.c (emacs_Xt_current_event_timestamp):
7237         Implement new event method.
7238         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7239
7240         * event-msw.c:
7241         * event-msw.c (ntpipe_shove_writer): [5].
7242         * event-msw.c (mswindows_enqueue_mouse_button_event):
7243         * event-msw.c (mswindows_drain_windows_queue):
7244         * event-msw.c (mswindows_wnd_proc): [7].
7245         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7246         * event-msw.c (mswindows_modifier_state):
7247         Throughout: support new button modifiers.
7248
7249         * event-msw.c (emacs_mswindows_current_event_timestamp):
7250         Implement new event method.
7251         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7252
7253         * event-stream.c:
7254         * event-stream.c (event_stream_current_event_timestamp): New.
7255         * event-stream.c (maybe_kbd_translate): New functionality.
7256         * event-stream.c (vars_of_event_stream):
7257         Document new kbd-translate-table functionality.
7258
7259         * event-stream.c (Fcurrent_event_timestamp): New.
7260         New primitive for use in fabricated events.
7261         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7262
7263         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7264
7265         * events.c:
7266         * events.c (Fmake_event):
7267         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7268         [1].
7269         [9].
7270
7271         * events.c (format_event_object): fix gcc warnings.
7272
7273         * events.c (Fevent_timestamp): Document new primitives.
7274
7275         * events.c (TIMESTAMP_HALFSPACE): New.
7276
7277         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7278         comparing timestamps correctly (half-space algorithm).
7279
7280         * events.c (Fevent_modifier_bits): Doc fix.
7281
7282         * events.c (Fevent_modifiers): Major doc addition.
7283         * events.c (event_x_y_pixel_internal): Typo fix.
7284         * events.c (syms_of_events): Declare new primitives.
7285
7286         * events.h:
7287         Update long comment for button modifiers, timestamps.
7288
7289         * events.h (struct event_stream):
7290         New current_event_timestamp method.
7291
7292         * extents.c:
7293         * extents.c (extent_in_region_p):
7294         * extents.c (decode_extent):
7295         * extents.c (Fset_extent_parent):
7296         * extents.c (decode_map_extents_flags):
7297         Fix gcc warnings.
7298         [9].
7299
7300         * extents.c (struct extent_at_arg):
7301         * extents.c (decode_extent_at_flag):
7302         * extents.c (extent_at_mapper):
7303         * extents.c (extent_at_bytind):
7304         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7305         * extents.c (Fextents_at): New primitive. [9].
7306         * extents.c (symbol_to_glyph_layout): [9].
7307         Support new primitive `extents-at'.
7308
7309
7310         * extents.c (get_text_property_bytind):
7311         extent_at_bytind has another arg.
7312         [9].
7313
7314         * extents.c (syms_of_extents): New primitive.
7315
7316         * file-coding.c (Fmake_coding_system): [1].
7317         * file-coding.c (subsidiary_coding_system): fix gcc warning
7318         * file-coding.c (syms_of_file_coding): [2].
7319
7320         * fileio.c (Fexpand_file_name):
7321         * fileio.c (Fsysnetunam):
7322         * fileio.c (Ffile_exists_p):
7323         * fileio.c (Ffile_executable_p):
7324         * fileio.c (Fverify_visited_file_modtime):
7325         Clean up GCPROing.
7326
7327         * fileio.c (syms_of_fileio): [2].
7328
7329         * filelock.c (lock_file_1):
7330         * filelock.c (current_lock_owner):
7331         * filelock.c (lock_if_free):
7332         * filelock.c (lock_file):
7333         * filelock.c (unlock_file):
7334         Clean up GCPROing.
7335
7336         * fns.c (concat): Fix gcc warning.
7337
7338         * fns.c (Fmember):
7339         * fns.c (Fold_member):
7340         * fns.c (Fmemq):
7341         * fns.c (Fold_memq):
7342         * fns.c (memq_no_quit):
7343         * fns.c (Fassoc):
7344         * fns.c (Fold_assoc):
7345         * fns.c (Fassq):
7346         * fns.c (Fold_assq):
7347         * fns.c (assq_no_quit):
7348         * fns.c (Frassoc):
7349         * fns.c (Fold_rassoc):
7350         * fns.c (Frassq):
7351         * fns.c (Fold_rassq):
7352         * fns.c (rassq_no_quit):
7353         * fns.c (Fdelete):
7354         * fns.c (Fold_delete):
7355         * fns.c (Fdelq):
7356         * fns.c (Fold_delq):
7357         * fns.c (delq_no_quit):
7358         * fns.c (Fremassoc):
7359         * fns.c (Fremassq):
7360         * fns.c (remassq_no_quit):
7361         * fns.c (Fremrassoc):
7362         * fns.c (Fremrassq):
7363         * fns.c (remrassq_no_quit):
7364         * fns.c (Freverse):
7365         * fns.c (mapcar1):
7366         [1].
7367
7368         * frame-msw.c (mswindows_init_frame_1):
7369         * frame-msw.c (mswindows_delete_frame):
7370         Register popups with dialog code so keyboard traversing works.
7371
7372         * frame-tty.c (tty_raise_frame_no_select): [1].
7373
7374         * frame-x.c:
7375         * frame-x.c (x_set_frame_text_value):
7376         * frame-x.c (x_set_frame_properties):
7377         * frame-x.c (x_create_widgets):
7378         [7].
7379
7380         * frame.c:
7381         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7382
7383         * frame.h (wrap_frame): New.
7384         Macro like wrap_device.
7385
7386         * general.c:
7387         * general.c (SYMBOL):
7388         * general.c (syms_of_general):
7389         Major reorg.  This is now just a wrapper and symbols themselves
7390         are listed in general-slots.h.
7391
7392         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7393         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7394
7395         * glyphs-msw.c (mswindows_native_layout_instantiate):
7396         Add DS_CONTROL so keyboard traversal will work.
7397
7398         * glyphs-widget.c:
7399         * glyphs-widget.c (syms_of_glyphs_widget):
7400         Move some symbols to general-slots.h.
7401
7402         * glyphs-x.c:
7403         * glyphs-x.c (xbm_instantiate_1):
7404         * glyphs-x.c (x_xbm_instantiate):
7405         * glyphs-x.c (x_xface_instantiate):
7406         * glyphs-x.c (autodetect_instantiate):
7407         * glyphs-x.c (cursor_font_instantiate):
7408         * glyphs-x.c (x_update_widget):
7409         * glyphs-x.c (x_widget_instantiate):
7410         * glyphs.c (bitmap_to_lisp_data):
7411         * glyphs.c (pixmap_to_lisp_data):
7412         [7].
7413
7414         * glyphs.c (syms_of_glyphs):
7415         [2].
7416
7417         * gui-x.c:
7418         * gui-x.c (print_widget_value):
7419         * gui-x.c (menu_separator_style_and_to_external):
7420         * gui-x.c (add_accel_and_to_external):
7421         * gui-x.c (button_item_to_widget_value):
7422         * gui-x.c (gui_items_to_widget_values_1):
7423         * gui-x.c (gui_items_to_widget_values):
7424         * gui-x.c (syms_of_gui_x):
7425         * gui-x.c (vars_of_gui_x):
7426         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7427         [9].
7428
7429         * gui-x.h:
7430         Muleize, prototype changes matching gui-x.c.
7431
7432         * gui.c:
7433         * gui.c (separator_string_p):
7434         * gui.c (gui_item_add_keyval_pair):
7435         * gui.c (make_gui_item_from_keywords_internal):
7436         * gui.c (signal_too_long_error):
7437         * gui.c (parse_gui_item_tree_item):
7438         * gui.c (syms_of_gui):
7439         * gui.c (vars_of_gui):
7440         * gui.h:
7441         menu-no-selection-hook moved here (used by MSWin).
7442         Move some symbols to general-slots.h.
7443         [6].
7444         [9].
7445
7446         * insdel.c (get_buffer_pos_char):
7447         * insdel.c (get_buffer_range_char):
7448         Add GC comments.
7449
7450         * keymap.c (keymap_lookup_directly):
7451         * keymap.c (keymap_store):
7452         * keymap.c (ensure_meta_prefix_char_keymapp):
7453         * keymap.c (describe_map):
7454         * keymap.h:
7455         Support new button modifiers.
7456
7457         * lisp-disunion.h (wrap_object):
7458         * lisp-disunion.h (XSETOBJ):
7459         Rename make_obj to wrap_object.
7460
7461         * lisp-union.h:
7462         * lisp-union.h (make_int):
7463         * lisp-union.h (make_char):
7464         Support wrap_object.
7465
7466         * lisp.h:
7467         * lisp.h (LIST_LOOP):
7468         * lisp.h (EXTERNAL_LIST_LOOP):
7469         * lisp.h (LIST_LOOP_2):
7470         * lisp.h (EXTERNAL_LIST_LOOP_1):
7471         * lisp.h (EXTERNAL_LIST_LOOP_2):
7472         * lisp.h (EXTERNAL_LIST_LOOP_3):
7473         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7474         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7475         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7476         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7477         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7478         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7479         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7480         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7481         * lisp.h (struct Lisp_Symbol):
7482         * lisp.h (maybe_continuable_error_with_frob):
7483         Fix up section comments.
7484         Add new types for char to indicate usage.
7485         Delete symbols auto-generated from general-slots.h.
7486         Add prototypes for structured error functions.
7487         Add long comments describing looping macros and change interface
7488         so that lvalues are automatically declared.
7489         Add NO_DECLARE macro in case callers want to declare lvalues
7490         themselves.
7491
7492         * lread.c (read_syntax_error):
7493         * lread.c (continuable_read_syntax_error):
7494         * lread.c (read_structure):
7495         * lread.c (sequence_reader):
7496         * lread.c (read_list_conser):
7497         * lread.c (read_compiled_function):
7498         Rename syntax_error and continuable_syntax_error to avoid clash
7499         with same-named structured error functions.
7500
7501         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7502         * menubar-msw.c (populate_menu_add_item):
7503         * menubar-msw.c (populate_or_checksum_helper):
7504         [5].
7505         [9].
7506
7507         * menubar-x.c:
7508         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7509         Mule-ize whole file.
7510
7511         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7512
7513         * mule-charset.c (Fmake_charset):
7514         * mule-wnnfns.c (Fwnn_set_param):
7515         [1].
7516
7517         * ntproc.c (create_child):
7518         * ntproc.c (Fwin32_set_current_locale):
7519         Add comments portending doom.
7520
7521         * objects-msw.c:
7522         * objects-msw.c (old_font_enum_callback_2):
7523         * objects-msw.c (font_enum_callback_1):
7524         * objects-msw.c (mswindows_enumerate_fonts):
7525         [5].
7526
7527         * objects-x.c:
7528         * objects-x.c (allocate_nearest_color):
7529         * objects-x.c (x_parse_nearest_color):
7530         * objects-x.c (x_initialize_color_instance):
7531         * objects-x.c (x_print_color_instance):
7532         * objects-x.c (x_finalize_color_instance):
7533         * objects-x.c (x_valid_color_name_p):
7534         * objects-x.c (x_initialize_font_instance):
7535         * objects-x.c (x_print_font_instance):
7536         * objects-x.c (valid_x_font_name_p):
7537         * objects-x.c (truename_via_FONT_prop):
7538         * objects-x.c (truename_via_random_props):
7539         * objects-x.c (truename_via_XListFonts):
7540         * objects-x.c (x_font_truename):
7541         * objects-x.c (x_font_instance_truename):
7542         * objects-x.c (x_font_instance_properties):
7543         * objects-x.c (x_list_fonts):
7544         * objects-x.c (x_find_charset_font):
7545         Mule-ize entire file.
7546         [7].
7547
7548         * objects-x.h:
7549         Mule-verify.
7550
7551         * print.c:
7552         * print.c (std_handle_out_external):
7553         * print.c (debug_print_no_newline):
7554         * print.c (syms_of_print):
7555         Output to all debugger kinds in debug-print.
7556         Fix console-output code under MSWin to actually work.
7557
7558         * process-nt.c (send_signal):
7559         * process-nt.c (nt_create_process):
7560         Use newer Unicode macros.
7561
7562         * process-unix.c (unix_create_process):
7563         * process-unix.c (unix_canonicalize_host_name):
7564         * process-unix.c (unix_open_network_stream):
7565         [7].
7566
7567         * scrollbar-x.c:
7568         Mule-verify.
7569
7570         * search.c (syms_of_search):
7571         [2].
7572
7573         * select-msw.c (mswindows_destroy_selection):
7574         Use LIST_LOOP_2.
7575
7576         * select-x.c (symbol_to_x_atom):
7577         [7].
7578
7579         * select.c (syms_of_select):
7580         [2].
7581
7582         * sound.c (Fplay_sound_file):
7583         [7].
7584
7585         * specifier.c:
7586         * specifier.c (decode_specifier_type):
7587         * specifier.c (Fvalid_specifier_locale_type_p):
7588         * specifier.c (check_valid_locale_or_locale_type):
7589         * specifier.c (decode_locale):
7590         * specifier.c (decode_locale_type):
7591         * specifier.c (decode_locale_list):
7592         * specifier.c (check_valid_domain):
7593         * specifier.c (decode_specifier_tag_set):
7594         * specifier.c (Fcanonicalize_tag_set):
7595         * specifier.c (Fdefine_specifier_tag):
7596         * specifier.c (Fspecifier_tag_predicate):
7597         * specifier.c (check_valid_inst_list):
7598         * specifier.c (check_valid_spec_list):
7599         * specifier.c (decode_how_to_add_specification):
7600         * specifier.c (check_modifiable_specifier):
7601         * specifier.c (specifier_add_spec):
7602         * specifier.c (boolean_validate):
7603         * specifier.c (display_table_validate):
7604         [9].
7605
7606         * specifier.c (syms_of_specifier):
7607         Move some symbols to general-slots.h.
7608         [2].
7609
7610         * symbols.c:
7611         * symbols.c (Fmapatoms):
7612         * symbols.c (Fapropos_internal):
7613         Add GCPROs.
7614
7615         * symbols.c (set_default_buffer_slot_variable):
7616         * symbols.c (set_default_console_slot_variable):
7617         [1].
7618
7619         * symbols.c (defsymbol_massage_name_1):
7620         * symbols.c (defkeyword_massage_name):
7621         * symbols.c (deferror_1):
7622         * symbols.c (deferror):
7623         * symbols.c (deferror_massage_name_and_message):
7624         * symeval.h:
7625         * symeval.h (DEFSYMBOL):
7626         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7627
7628         * symbols.c (syms_of_symbols):
7629         [2].
7630
7631         * symsinit.h:
7632         * symsinit.h (init_win32): New.
7633         Also new is syms_of_dialog_mswindows.
7634
7635         * syswindows.h:
7636         Add new Unicode macros, missing Cygwin wide-char functions,
7637         convenience conversion macros for Qmswindows_tstr, macros for
7638         encapsulating required MSWin <-> Cygwin filename conversions,
7639         prototype for dynamically-extracted (not in NT 3.51) functions.
7640
7641         * toolbar-x.c:
7642         Mule-verify.
7643
7644         * tooltalk.c (Fadd_tooltalk_message_arg):
7645         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7646         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7647         [7].
7648
7649         * tooltalk.c (syms_of_tooltalk):
7650         [2].
7651
7652         * unexnt.c:
7653         * unexnt.c (unexec):
7654         Fix up headers, declaration of unexec() to be more standard.
7655
7656 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7657
7658         * offix.h: Revert change to guard macros - they're used in offix.c!
7659
7660 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7661
7662         * lisp.h: Defsubred Fdelete.
7663
7664         * console-msw.h:  (msprinter_default_printer): Added.
7665
7666         * console-msw.c (msprinter_canonicalize_console_connection):
7667         (msprinter_canonicalize_device_connection): Added.
7668
7669         * device-msw.c (msprinter_default_printer):
7670         (Fmswingows_get_default_printer):
7671         (signal_enum_priner_error):
7672         (Fmswingows_printer_list): Added.
7673
7674 2000-07-19  Martin Buchholz <martin@xemacs.org>
7675
7676         * XEmacs 21.2.35 is released.
7677
7678 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7679
7680         * select-x.c (x_handle_selection_request):
7681         Text selected in xemacs and pasted into xterm failed to appear.
7682         Spelling fixes and cosmetic changes.
7683
7684 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7685
7686         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7687         XEmacs frame (fix for doubling chars in dialog boxes).
7688
7689 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7690
7691         * select.c (select_convert_in, select_convert_out):
7692         Don't call intern() every time.
7693
7694         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7695         * select.c (vars_of_select): Initialise them.
7696
7697 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7698
7699         * select.c (selection-coercible-types): New.
7700
7701         * select.c (own-selection-internal):
7702         * select.c (get-selection-internal):
7703         MULE bug fix - these should default to COMPOUND_TEXT and not
7704         STRING for MULE. I think.
7705
7706         * select.c (select_convert_out): Use selection-coercible-types
7707         to find types that we can attempt to perform coercions on.
7708
7709 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7710
7711         * mule-wnnfns.c:
7712         * mule-canna.c:
7713         Add coding: cookie to identify encoding.
7714
7715         * mule-canna.c (CANNA_mode_keys): make static.
7716         Use proper prototypes, even for functions of no arguments.
7717         Remove external prototype for Fding().
7718
7719         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7720
7721         * select.c (syms_of_select): Add missing DEFSUBR.
7722
7723 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7724
7725         * select.c (get_selection_internal, own_selection_internal):
7726         Make the type default to STRING, rather than placing a nil type
7727         into Vselection_alist.
7728
7729 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7730
7731         * gpmevent.c (tty_selection_exists_p):
7732         * gpmevent.c (tty_own_selection):
7733         Updated parameter lists.
7734
7735 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7736
7737         * select.h (selection-alist): Removed declaration.
7738
7739         * select.h (get_local_selection):
7740         * select.c (get_local_selection):
7741         Made static.
7742
7743         * select.h (convert_selection): Removed declaration.
7744         * select.c (convert_selection): Removed.
7745         This function belongs in Lisp.
7746
7747         * select.h (select_convert_in): Declare.
7748         * select.h (select_convert_out): Declare.
7749         * select.c (select_convert_in): New.
7750         * select.c (select_convert_out): New.
7751         New conversion functions for other files to call.
7752
7753         * select.h (select_notify_buffer_kill): Declare.
7754         * select.c (select_notify_buffer_kill): New.
7755         New functions that get called from kill-buffer.
7756
7757         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7758         X-specific lisp code.
7759
7760         * select.h: Declare some of the lisp-visible functions for
7761         external use.
7762
7763         * select.c (clean_local_selection_data): Removed. This was
7764         a disgusting function, and previously should have been in
7765         select-x.c in any case. The functionality is now provided
7766         in select-convert-from-integer (select.el).
7767
7768         * select.c (available-selection-types): Fixed stupidity where
7769         INTEGER and ATOM got added twice. Also add STRING when we see an
7770         extent.
7771
7772         * select.c (get-selection-internal): Removed symbol stripping. No
7773         longer causes conversion when data comes from the internal cache.
7774
7775         * select.c (syms_of_select): Added new functions.
7776
7777         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7778         error checking - previously this called abort!
7779
7780         * select-x.c (x_own_selection): Changed comment.
7781
7782         * select-x.c (x_handle_selection_request): Use select_convert_out.
7783         Don't mess with selection-alist; it's an internal variable of select.c.
7784
7785         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7786
7787         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7788         rather than messing with selection-alist.
7789
7790         * select-msw.c (mswindows_get_foreign_selection):
7791         Use TO_INTERNAL_FORMAT rather than hacking.
7792
7793 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7794
7795         * process-unix.c (unix_open_multicast_group):
7796         (unix_open_multicast_group): Remove useless casts.
7797
7798 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7799
7800         * sound.c (Fplay_sound): Fix `unused variable' warning.
7801
7802         * emacs.c (main): Use correct type for _environ on SCO5.
7803
7804 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7805
7806         * console.h (own_selection_method):
7807         * console.h (selection_exists_p_method):
7808         * console.h (available_selection_types_method): New.
7809         * console.h (register_selection_data_type_method): New.
7810         * console.h (selection_data_type_name): New.
7811
7812         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7813         function & alist to track GlobalAlloc()'d handles that need
7814         releasing when the clipboard data gets replaced or emptied.
7815
7816         * event-msw.c (mswindows_wnd_proc): Call it.
7817
7818         * lisp.h, general.c (Qappend): New symbol representing a
7819         `how-to-add' mode.
7820
7821         * select.c (own-selection-internal):
7822         * select.c (selection-exists-p):
7823         * select.c (available-selection-types): New.
7824         * select.c (register-selection-data-type): New.
7825         * select.c (selection-data-type-name): New.  New functions to deal
7826         with device-specific selection data formats.
7827         * select.c (selection-converter-out-alist): Renamed.
7828         * select.c (selection-converter-in-alist): New.
7829         * select.c (selection-appender-alist): New.  Added new alists.
7830         * select.c (syms_of_select, vars_of_select): Added new symbols &
7831         variables.
7832         * select.c (get_local_selection): Split.
7833         * select.c: Removed spurious type checking - selections may now be
7834         of any type, not just strings.
7835         * select.c (own-selection-internal):
7836
7837         * select.h, select.c (convert_selection): New. Created
7838         convert_selection() function based on get_local_selection().
7839         * select.h, select.c (QCF_*): New symbols representing mswindows
7840         clipboard formats.
7841         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7842         symbols representing `how-to-add' modes.
7843
7844         * select-msw.c (x_sym_p): New.
7845         * select-msw.c (symbol_to_ms_cf): New.
7846         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7847         symbols & clipboard formats. Can also handle string names.
7848         * select-msw.c (mswindows_own_selection):
7849         * select-msw.c (mswindows_selection_exists_p):
7850         Added `data-type' parameter. Use it.
7851         * select-msw.c (mswindows_available_selection_types): New.
7852         * select-msw.c (mswindows_register_selection_data_type): New.
7853         * select-msw.c (mswindows_selection_data_type_name): New.
7854         * select-msw.c (mswindows_own_selection):
7855         * select-msw.c (mswindows_get_foreign_selection):
7856         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7857         * select-msw.c (console_create_select_mswindows): Added new methods.
7858         * select-msw.c (mswindows_destroy_selection): New.
7859         * select-msw.c (Vhandle_alist): New list.
7860         * select-msw.c (mswindows_own_selection):
7861
7862         * select-x.c (x_own_selection):
7863         * select-x.c (x_selection_exists_p):
7864         * select-x.c: Added some comments about maybe using new
7865         functionality.
7866         * select-x.c (x_own_selection):
7867
7868         * specifier.c: Remove definition of Qappend (now in general.c)
7869         * specifier.c (syms_of_specifier): Remove Qappend.
7870
7871 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7872
7873         * config.h.in: Add socklen_t.
7874
7875         * s/decosf4-0.h: No special compiler flags needed or desired.
7876         In particular, undefine _BSD for DEC OSF 4.0.
7877
7878 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7879
7880         * redisplay-msw.c (msprinter_frame_output_end): Added.
7881         (console_type_create_redisplay_mswindows): Referred the above.
7882
7883         * frame.c (setup_frame_without_minibuffer): Do not create a
7884         default minibuffer frame on a printer device.
7885
7886         * frame-msw.c (apply_dc_geometry): Added.
7887         (msprinter_start_page):
7888         (msprinter_init_frame_3):
7889         (msprinter_eject_page): Use it.
7890
7891         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7892         and removed residual duplex and orientation properties.
7893
7894 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7895
7896         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7897
7898         * unexalpha.c: Remove system prototypes from C sources!
7899
7900 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7901
7902         * eval.c: Remove references to M-x edit-options in DEFUNs for
7903         `defvar' and `defconst'.
7904
7905 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7906
7907         * config.h.in: Remove SMART_INCLUDE hackery.
7908
7909         PostgreSQL hacking:
7910         * config.h.in: Don't use SMART_INCLUDE.
7911
7912         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7913         * inline.c: Simply #include "postgresql.h"
7914         * postgresql.c:
7915         - Don't use SMART_INCLUDE
7916         - Use simply "const".
7917         - Use standard doc string conventions.
7918         - Use correct type for result of PQstatus.
7919
7920 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7921
7922         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7923
7924         C++ compilation changes.
7925         * config.h.in (EXTERN_C): Define.
7926         * config.h.in (not): This is also a C++ keyword.
7927         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7928         * cm.c: Use EXTERN_C.
7929         * redisplay-tty.c: Use EXTERN_C.
7930         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7931
7932 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7933
7934         * general.c: Remove duplicate definition for Qfunction.
7935
7936 2000-07-08  Ben Wing  <ben@xemacs.org>
7937
7938         * device-msw.c (msprinter_init_device):
7939         * device-msw.c (sync_printer_with_devmode):
7940         * device-msw.c (handle_devmode_changes):
7941         * device-msw.c (print_dialog_worker):
7942         * device-msw.c (Fmsprinter_apply_settings):
7943         * device-msw.c (hash_devmode):
7944         * device-msw.c (Fmsprinter_settings_despecialize):
7945         use Qmswindows_tstr, not Qctext.
7946
7947         * vm-limit.c (check_memory_limits):
7948         avoid infinite loop printing warning messages.
7949
7950 2000-07-05  Craig Lanning  <lanning@scra.org>
7951
7952         * Makefile.in.in: Add support for including the Windows resources
7953         when building with the cygwin and mingw targets.
7954
7955         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7956         not set or not correct.
7957         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7958         (init_initial_directory): Don't try to use $PWD on the
7959         WIN32_NATIVE target.
7960
7961         * s\cygwin32.h:
7962         [[Add -mwindows to eliminate console window.]] not required --ben
7963         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7964         (MAIL_USE_POP): removed; now handled by configure.
7965
7966         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7967         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7968         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7969         (MAIL_USE_POP): removed; now handled by configure.
7970         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7971         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7972         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7973         constant string.
7974         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7975         up from <winsock.h> via systime.h.
7976         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7977         (getpagesize): from Dan Holmsand, added.
7978         Added #endif which was left dangling by Ben's mega patch; added
7979         comment to help prevent this in the future.
7980
7981         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7982
7983 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7984
7985         * console-msw.h (struct mswindows_device): Removed unnecessary
7986         cached device geometry values.
7987         Added update_tick and an accessor macro.
7988         (Lisp_Devmode): Added lrecord declaration.
7989         (struct msprinter_device): Contain devmode as a Lisp object.
7990         Added mswindows_get_selected_frame_hwnd();
7991
7992         * console.h (struct console_methods): Indentation nitpicking.
7993
7994         * device-msw.c (mswindows_init_device): Do not initialize geometry
7995         cache. Initialize update tick.
7996         (mswindows_device_system_metrics): Ask the device for its geometry.
7997         (global_free_2_maybe):
7998         (devmode_to_hglobal):
7999         (handle_printer_changes):
8000         (ensure_not_printing):
8001         (print_dialog_worker):
8002         (Fmsprinter_print_setup_dialog):
8003         (Fmsprinter_print_dialog):
8004         (plist_get_margin):
8005         (plist_set_margin):
8006         (Fmsprinter_page_setup_dialog): Added functions.
8007         (sync_printer_with_devmode):
8008         (handle_devmode_changes):
8009         (Fmsprinter_get_settings):
8010         (Fmsprinter_select_settings):
8011         (Fmsprinter_apply_settings):
8012         (allocate_devmode):
8013         (Fmsprinter_settings_copy):
8014         (Fmsprinter_settings_despecialize):
8015         (print_devmode):
8016         (finalize_devmode):
8017         (equal_devmode):
8018         (hash_devmode): Added functions
8019         (syms_of_device_mswindows): Init devmode lrecord class.
8020
8021         * device.h: Added an exfun for find-device.
8022
8023         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8024         geometry; although, recreate the device compatible DC.
8025
8026         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8027         (msprinter_init_frame_3):
8028         (msprinter_frame_property):
8029         (msprinter_internal_frame_property_p):
8030         (msprinter_frame_properties):
8031         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8032         print job properties (will move to device settings).
8033
8034         * lisp.h: Added symbols.
8035
8036         * general.c (syms_of_general): Declared them.
8037
8038         * hash.c (string_hash): Added.
8039
8040         * lrecord.h (lrecord_type): Added devmode lrecord type.
8041
8042 2000-07-02  Mike Sperber <mike@xemacs.org>
8043
8044         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8045         FreeBSD 4.0.
8046
8047 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8048
8049         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8050         integer.
8051
8052 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8053
8054         * data.c (Fstring_to_number): Don't recognize floating point if
8055         base is not 10.
8056
8057 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8058
8059         * glyphs-widget.c (tab_control_query_geometry):
8060         (widget_query_geometry):
8061         (button_query_geometry):
8062         * glyphs.c (text_query_geometry):
8063         Enforce type correctness.
8064
8065 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8066
8067         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8068         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8069
8070 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8071
8072         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8073         conflicts with gcc's fixincluded version of FOO.h.
8074
8075         * glyphs.h (image_instance_geometry): Remove trailing `,'
8076
8077 2000-06-08  Mike Alexander  <mta@arbortext.com>
8078
8079         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8080         (shove_thread): Don't write the same output twice
8081         (make_ntpipe_output_stream): Increase priority of shove thread
8082         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8083         chance to run
8084         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8085         it.
8086
8087 2000-06-12  Ben Wing  <ben@xemacs.org>
8088
8089         * s\mingw32.h (sigset):
8090         * s\windowsnt.h (sigset):
8091         rename msw_ to mswindows_ for consistency with general convention.
8092
8093 2000-06-12  Ben Wing  <ben@xemacs.org>
8094
8095         * console-msw.c:
8096         * console-msw.c (mswindows_get_console_hwnd):
8097         * console-msw.c (mswindows_ensure_console_allocated):
8098         * console-msw.c (mswindows_hide_console):
8099         * console-msw.c (mswindows_show_console):
8100         * console-msw.c (mswindows_ensure_console_buffered):
8101         * console-msw.c (mswindows_output_console_string):
8102         * console-msw.c (mswindows_windows9x_p):
8103         * console-msw.h:
8104         * device-msw.c (mswindows_get_workspace_coords):
8105         * device-msw.c (mswindows_device_system_metrics):
8106         * dialog-msw.c (mswindows_popup_dialog_box):
8107         * event-msw.c (mswindows_wnd_proc):
8108         * frame-msw.c (mswindows_size_frame_internal):
8109         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8110         * menubar-msw.c (displayable_menu_item):
8111         * menubar-msw.c (mswindows_char_is_accelerator):
8112         * nt.c:
8113         * nt.c (mswindows_sigset):
8114         * nt.c (mswindows_sigrelse):
8115         * nt.c (mswindows_sigpause):
8116         * nt.c (mswindows_raise):
8117         * nt.c (timer_proc):
8118         * ntproc.c:
8119         * ntproc.c (find_child_console):
8120         * ntproc.c (sys_kill):
8121         * print.c:
8122         * print.c (std_handle_out_external):
8123         * process-nt.c (find_child_console):
8124         * process-nt.c (send_signal_the_95_way):
8125         * process-nt.c (ensure_console_window_exists):
8126         * process-nt.c (nt_create_process):
8127         * syssignal.h:
8128         rename msw_ to mswindows_ for consistency with general convention.
8129
8130         * emacs.c:
8131         * dumper.c:
8132         include nt.h, not syswindows.h.
8133
8134         * nt.c (mswindows_fstat):
8135         * nt.c (mswindows_stat):
8136         prefix mswindows_ instead of attempting to directly override the
8137         library functions.  fix declarations.
8138
8139         * nt.h:
8140         include syswindows.h.  move some sysdep.h stuff here.
8141
8142         * ntheap.h:
8143         include syswindows.h, not <windows.h>.
8144
8145         * ntplay.c:
8146         clean up headers.
8147
8148         * sysdep.c:
8149         clean up headers.
8150
8151         * sysdep.c (sys_fstat):
8152         * sysdep.c (sys_stat):
8153         call mswindows versions when appropriate.
8154
8155         * sysdep.h:
8156         move mswin decls to nt.h.
8157
8158         * syswindows.h:
8159         add long comment describing appropriate use of the various windows
8160         headers.
8161
8162 2000-06-11  Ben Wing  <ben@xemacs.org>
8163
8164         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8165
8166 2000-06-10  Ben Wing  <ben@xemacs.org>
8167
8168         * Makefile.in.in (release):
8169         Correction to make sure xemacs.exe always dumped when correct.
8170
8171         * alloca.c:
8172         * balloon_help.c:
8173         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8174
8175         * buffer.c (set_buffer_internal):
8176         [[[[2]]]]: Remove HAVE_FEP code.
8177
8178         * buffer.c (init_initial_directory):
8179         [3].
8180
8181         * bytecode.c:
8182         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8183         individual files.
8184
8185         * callproc.c:
8186         * callproc.c (call_process_cleanup):
8187         * callproc.c (Fold_call_process_internal):
8188         * callproc.c (child_setup):
8189         * callproc.c (getenv_internal):
8190         * callproc.c (init_callproc):
8191         * callproc.c (vars_of_callproc):
8192         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8193         __CYGWIN32__ -> CYGWIN.
8194         DOS_NT -> WIN32_NATIVE.
8195         Remove MSDOS support/references, converting to WIN32_NATIVE
8196           where correct.
8197         __MINGW32__ -> MINGW.
8198         Fix windows.h includes.
8199         Remove bogus HAVE_NTGUI.
8200
8201         * config.h.in:
8202         [2].
8203
8204         * console-msw.c:
8205         mswindows_message_outputted added for use in allowing startup
8206         errors on the console to be seen.
8207
8208         * console-msw.c (msw_ensure_console_allocated):
8209         * console-msw.c (msw_output_console_string):
8210         * console-msw.c (DHEADER):
8211         * console-msw.c (DOPAQUE_DATA):
8212         * console-msw.c (DEVENT):
8213         * console-msw.c (DCONS):
8214         * console-msw.c (DCONSCDR):
8215         * console-msw.c (DSTRING):
8216         * console-msw.c (DVECTOR):
8217         * console-msw.c (DSYMBOL):
8218         * console-msw.c (DSYMNAME):
8219         Fix warnings.
8220
8221         * console-stream.c (stream_init_console):
8222         Fix text/binary problems.
8223
8224         * device-msw.c:
8225         * device-msw.c (mswindows_finish_init_device):
8226         * device-msw.c (mswindows_delete_device):
8227         [1].
8228
8229         * device.c (handle_asynch_device_change):
8230         [3].
8231
8232         * dgif_lib.c:
8233         * dgif_lib.c (DGifOpenFileName):
8234         * dgif_lib.c (DGifOpenFileHandle):
8235         * dgif_lib.c (DGifGetLine):
8236         * dgif_lib.c (DGifGetPixel):
8237         Added config.h/lisp.h, fix up includes.
8238         [1].
8239
8240         * dired-msw.c:
8241         [4].
8242
8243         * dired.c:
8244         * dired.c (file_name_completion):
8245         * dired.c (Ffile_attributes):
8246         * dired.c (syms_of_dired):
8247         [1].
8248
8249         * dumper.c:
8250         * dumper.c (pdump_file_unmap):
8251         * dumper.c (pdump_load):
8252         [1].
8253
8254         * editfns.c:
8255         * editfns.c (Ftemp_directory):
8256         * editfns.c (user_login_name):
8257         * editfns.c (Fuser_real_login_name):
8258         * editfns.c (get_home_directory):
8259         [1].
8260
8261         * elhash.c (finish_marking_weak_hash_tables):
8262         [[[[5]]]]: Fix GCC warnings.
8263
8264         * emacs.c:
8265         * emacs.c (mswindows_handle_hardware_exceptions):
8266         * emacs.c (make_arg_list_1):
8267         * emacs.c (main_1):
8268         * emacs.c (Fkill_emacs):
8269         * emacs.c (Fdump_emacs):
8270         [1].
8271         Fix problems with nested crashes, add long comment.
8272
8273         * event-Xt.c (init_event_Xt_late):
8274         [1].
8275
8276         * event-msw.c:
8277         * event-msw.c (mswindows_dde_callback):
8278         * event-msw.c (mswindows_handle_sticky_modifiers):
8279         * event-msw.c (mswindows_wnd_proc):
8280         [1].
8281         [5].
8282
8283         * events.c (character_to_event):
8284         [1].
8285
8286         * fileio.c:
8287         * fileio.c (Ffile_name_directory):
8288         * fileio.c (Ffile_name_nondirectory):
8289         * fileio.c (directory_file_name):
8290         * fileio.c (Fexpand_file_name):
8291         * fileio.c (Fsubstitute_in_file_name):
8292         * fileio.c (Ffile_name_absolute_p):
8293         * fileio.c (check_executable):
8294         * fileio.c (Ffile_readable_p):
8295         * fileio.c (Ffile_accessible_directory_p):
8296         * fileio.c (Ffile_modes):
8297         * fileio.c (Funix_sync):
8298         * fileio.c (vars_of_fileio):
8299         [1]. [4].
8300
8301         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8302
8303         Expand getdefdir defn.
8304         Fix bogus rename() comment.
8305
8306         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8307         to use standard XEmacs include files, e.g. sysfile.h, rather
8308         than system-specific includes.
8309
8310         * fns.c:
8311         * fns.c (Fsubseq):
8312         [5]. [6].
8313
8314         * frame.c (vars_of_frame):
8315         [1].
8316
8317         * getloadavg.c:
8318         * getloadavg.c (getloadavg):
8319         [1]. [6].
8320         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8321         (We don't use it elsewhere in the code; just add a comment.)
8322
8323         * gif_io.c:
8324         [6].
8325         Add config.h.
8326
8327         * glyphs-msw.c:
8328         * glyphs-msw.c (mswindows_resource_instantiate):
8329         [1].
8330
8331         * glyphs-x.c (x_native_layout_instantiate):
8332         [5].
8333
8334         * gui-msw.c (Fmswindows_shell_execute):
8335         [1].
8336
8337         * insdel.c:
8338         [4].
8339
8340         * lisp.h:
8341         [4]. [5].
8342
8343         * lread.c (locate_file_in_directory_mapper):
8344         [1].
8345
8346         * lstream.c:
8347         [4].
8348
8349         * mem-limits.h:
8350         * mem-limits.h (get_lim_data):
8351         [1].
8352
8353         * menubar-msw.c:
8354         [4].
8355
8356         * ndir.h:
8357         [1].
8358
8359         * nt.c:
8360         * nt.c (getwd):
8361         * nt.c (closedir):
8362         * nt.c (rva_to_section):
8363         * nt.c (mswindows_executable_type):
8364         [1]. [6].
8365         Fix closedir() defn.
8366
8367         * nt.h:
8368         [[[[8]]]]: *_OK defs moved to sysfile.h.
8369
8370         * ntproc.c:
8371         [6]. [7].
8372
8373         * objects-x.c:
8374         [4].
8375
8376         * print.c:
8377         * print.c (std_handle_out_external):
8378         [1]. [4].
8379
8380         * process-nt.c:
8381         * process-nt.c (nt_create_process):
8382         [6].
8383         try to fix process quoting somewhat.
8384
8385         * process-unix.c (unix_create_process):
8386         [1].
8387
8388         * process.c:
8389         * process.c (vars_of_process):
8390         Add Vnull_device.
8391
8392         * process.h:
8393         [1].
8394
8395         * realpath.c:
8396         * realpath.c (xrealpath):
8397         [1].
8398
8399         * redisplay-tty.c (init_tty_for_redisplay):
8400         [3].
8401
8402         * redisplay.c:
8403         [4]. [6].
8404
8405         * scrollbar-msw.c:
8406         [4].
8407
8408         * sheap.c:
8409         * sheap.c (more_static_core):
8410         * sheap.c (report_sheap_usage):
8411         [5]. [6].
8412
8413         * signal.c:
8414         * signal.c (alarm_signal):
8415         [1]. [6].
8416
8417         * sound.c:
8418         [6].
8419
8420         * strftime.c:
8421         * strftime.c (zone_name):
8422         [1]. [5].
8423
8424         * symsinit.h (init_sunpro):
8425         [1].
8426
8427         * syscommctrl.h:
8428         commctrl.h not in Cygwin b20.1.
8429
8430         * sysdep.c:
8431         * sysdep.c (endif):
8432         * sysdep.c (sys_subshell):
8433         * sysdep.c (init_baud_rate):
8434         * sysdep.c (emacs_get_tty):
8435         * sysdep.c (emacs_set_tty):
8436         * sysdep.c (tty_init_sys_modes_on_device):
8437         * sysdep.c (init_system_name):
8438         * sysdep.c (sys_open):
8439         * sysdep.c (interruptible_open):
8440         * sysdep.c (sys_fopen):
8441         * sysdep.c (sys_mkdir):
8442         * sysdep.c (sys_rename):
8443         * sysdep.c (get_process_times_1):
8444         [1]. [6].
8445
8446         * sysdep.h:
8447         [1].
8448
8449         * sysdir.h:
8450         * sysdir.h (DIRENTRY_NONEMPTY):
8451         [1]. [6].
8452
8453         * sysdll.c (dll_init):
8454         * sysdll.h:
8455         [1].
8456
8457         * sysfile.h:
8458         [1]. [6]. [8].
8459         added text/binary defs.
8460
8461         * sysfloat.h:
8462         [1].
8463
8464         * sysproc.h:
8465         * sysproc.h (EDESTADDRREQ):
8466         * sysproc.h (poll_fds_for_input):
8467         [1]. [6].
8468
8469         * syspwd.h:
8470         [6].
8471
8472         * syssignal.h:
8473         [1].
8474
8475         * systime.h:
8476         [1]. [6].
8477
8478         * systty.h:
8479         [1].
8480
8481         * syswindows.h:
8482         [1].
8483         Always define WIN32_LEAN_AND_MEAN.
8484
8485         * unexcw.c (unexec):
8486         [5].
8487
8488         * unexec.c:
8489         * unexec.c (copy_text_and_data):
8490         * unexec.c (adjust_lnnoptrs):
8491         [1].
8492
8493         * unexnt.c:
8494         * unexnt.c (_start):
8495         [1].
8496
8497 2000-06-07  Ben Wing  <ben@xemacs.org>
8498
8499         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8500         was used only as a model.  We've long since extracted any useful
8501         logic or code out of this. (I just did an exhaustive search.)
8502
8503         * s\msdos.h: Removed.
8504
8505         * s\windows95.h: Removed.
8506
8507 2000-06-10  Ben Wing  <ben@xemacs.org>
8508
8509         * s\cygwin32.h:
8510         [1]. [5].
8511         Don't use extern with fun defs.
8512
8513         * s\mingw32.h:
8514         [1]. [7].
8515         Remove nt\inc include.
8516         Remove getdisk, getdefdir. (The former is unused, the latter
8517         expanded in fileio.h.)
8518
8519         * s\windowsnt.h:
8520         * s\windowsnt.h (WIN32_NATIVE):
8521         * s\windowsnt.h (HAVE_STRCASECMP):
8522         [1]. [7].
8523         Add long comment about preprocessor changes.
8524         Remove getdisk, getdefdir. (The former is unused, the latter
8525         expanded in fileio.h.)
8526
8527 2000-06-10  Ben Wing  <ben@xemacs.org>
8528
8529         * m\arm.h:
8530         * m\delta.h:
8531         * m\intel386.h:
8532         * m\sequent.h:
8533         * m\template.h:
8534         * m\windowsnt.h:
8535         [1].
8536         Remove bogus/unused NO_SOCK_SIGIO.
8537
8538 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8539
8540         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8541         not an Emchar.
8542
8543 2000-06-04  Mike Sperber <mike@xemacs.org>
8544
8545         * casetab.c (set_case_table): For `set-standard-case-table',
8546         actually deposit the new case tables where the rest of XEmacs can
8547         see them.
8548
8549 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8550
8551         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8552
8553 2000-06-05  Ben Wing  <ben@xemacs.org>
8554
8555         * callproc.c (child_setup): Don't do close_load_descs() under
8556         MS Windows.  Put in a comment explaining why.
8557
8558 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8559
8560         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8561         Toolkit shell" which breaks `kill-compilation' on Windows NT
8562         native, retaining STDERR handling improvements.
8563
8564 2000-06-01  Andreas Jaeger  <aj@suse.de>
8565
8566         * s/s390.h: Support for S390, based on a patch by Martin
8567         Schwidefsky <schwidefsky@de.ibm.com>.
8568
8569 2000-05-30  Andy Piper  <andy@xemacs.org>
8570
8571         * window.c (allocate_window):
8572         (make_dummy_parent):
8573         (Fset_window_configuration): use new hashtable type.
8574
8575         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8576         (struct image_instantiator_methods):
8577         (struct Lisp_Image_Instance): make instance geometry signed.
8578
8579         * glyphs.c (instantiate_image_instantiator):
8580         (image_instance_query_geometry):
8581         (image_instance_layout):
8582         (image_instance_layout):
8583         (query_string_geometry):
8584         (text_query_geometry):
8585         (image_instantiate):
8586         (image_instantiate):
8587         (cache_subwindow_instance_in_frame_maybe):
8588         (subwindow_query_geometry): make instance geometry signed.
8589
8590         * glyphs-widget.c (widget_query_geometry):
8591         (widget_layout):
8592         (button_query_geometry):
8593         (tree_view_query_geometry):
8594         (tab_control_query_geometry):
8595         (layout_query_geometry):
8596         (layout_layout):
8597         (native_layout_layout): make instance geometry signed.
8598
8599 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8600
8601         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8602         constant.
8603
8604         * general.c (syms_of_general): Add Qfull_assoc symbol.
8605
8606         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8607         correctly.
8608         (decode_weak_list_type): Decode full-assoc type.
8609         (encode_weak_list_type): Encode full-assoc type.
8610         (Fmake_weak_list): Update doc string.
8611
8612 2000-05-30  Andy Piper  <andy@xemacs.org>
8613
8614         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8615
8616         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8617         (decode_hash_table_weakness): ditto.
8618         (Fhash_table_weakness): ditto.
8619         (Fhash_table_type): ditto.
8620         (finish_marking_weak_hash_tables): ditto.
8621         (hash_table_weakness_validate): ditto.
8622         (syms_of_elhash): ditto.
8623
8624 2000-05-28  Martin Buchholz <martin@xemacs.org>
8625
8626         * XEmacs 21.2.34 is released.
8627
8628 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8629
8630         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8631         start cache.
8632         (updating_line_start_cache): Gone.
8633         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8634         generic code to force a minimum of 1 line laid out in the
8635         CMOTION_DISP case.
8636
8637 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8638
8639         * glyphs.c (instantiate_image_instantiator): Check for initialized
8640         height & width no longer special cases IMAGE_NOTHING.
8641         (nothing_instantiate): Set height and width of instance.
8642
8643 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8644
8645         * unexelf.c (unexec): Search for ".data" section.
8646         Initialize new_data2_offset from old_data_index.
8647         Remove redundant check for ElfW.
8648
8649 2000-05-23  Andy Piper  <andy@xemacs.org>
8650
8651         * glyphs.c (get_image_instantiator_governing_domain): allow more
8652         specific domains as the governing domain rather than expecting an
8653         exact match. This fixes problems with layouts.
8654
8655 2000-05-22  Andy Piper  <andy@xemacs.org>
8656
8657         * redisplay-output.c (compare_runes): check for non-images
8658
8659         * glyphs.c (set_glyph_dirty_p): ditto.
8660         (update_glyph_cachel_data): ditto.
8661
8662         * glyphs-widget.c (layout_post_instantiate): ditto.
8663         (layout_post_instantiate): ditto.
8664
8665         * event-msw.c (mswindows_wnd_proc): warning removal.
8666
8667 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8668
8669         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8670
8671         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8672
8673         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8674
8675         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8676         (mswindows_executable_type): mingw32 now has enough headers for
8677         this to work.
8678
8679 2000-05-20  Andy Piper  <andy@xemacs.org>
8680
8681         * console-msw.c (mswindows_output_last_error): ; -> ,
8682
8683 2000-05-12  Andy Piper  <andy@xemacs.org>
8684
8685         * console-msw.c (FROB): compare ints with ints.
8686
8687 2000-05-11  Andy Piper  <andy@xemacs.org>
8688
8689         * glyphs-x.c (x_finalize_image_instance): make minimal build
8690         happy.
8691
8692 2000-05-20  Ben Wing  <ben@xemacs.org>
8693
8694         * event-Xt.c:
8695         * event-Xt.c (vars_of_event_Xt):
8696         move modifier-keys-are-sticky to event-stream.c.
8697
8698         * event-msw.c:
8699         * event-msw.c (mswindows_enqueue_mouse_button_event):
8700         * event-msw.c (key_needs_default_processing_p):
8701         * event-msw.c (XEMSW_LCONTROL):
8702         * event-msw.c (mswindows_handle_sticky_modifiers):
8703         * event-msw.c (FROB):
8704         * event-msw.c (clear_sticky_modifiers):
8705         * event-msw.c (output_modifier_keyboard_state):
8706         * event-msw.c (output_alt_keyboard_state):
8707         * event-msw.c (mswindows_wnd_proc):
8708         * event-msw.c (mswindows_modifier_state):
8709         * event-msw.c (emacs_mswindows_handle_magic_event):
8710         implement sticky modifiers.
8711
8712         * event-stream.c:
8713         * event-stream.c (vars_of_event_stream):
8714         move modifier-keys-are-sticky here.
8715
8716         * lisp.h:
8717         add CHECK_FUNCTION.
8718
8719         * rangetab.c:
8720         implement map-range-table.
8721
8722
8723 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8724
8725         * redisplay-tty.c (reset_tty_modes):
8726         (tty_redisplay_shutdown): Adjust argument type to
8727         tty_frame_output_end.
8728
8729 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8730
8731         * eval.c (Fbacktrace): Don't output a line with only right
8732         parenthesis.
8733
8734 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8735
8736         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8737         (Fpq_reset_poll): Ditto.
8738
8739 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8740
8741         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8742
8743 2000-05-16  Ben Wing  <ben@xemacs.org>
8744
8745         * buffer.c:
8746         * buffer.c (dfc_convert_to/from_internal_format):
8747         * buffer.c (reinit_vars_of_buffer):
8748         Fix conversion functions to allow reentrancy.
8749
8750         * console-msw.c:
8751         * console-msw.c (mswindows_output_last_error):
8752         New fun, generally useful -- output a human-readable
8753         version of GetLastError() on the console.
8754
8755         * console-msw.h:
8756         * console-msw.h (struct mswindows_frame):
8757         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8758
8759         * console-stream.c (stream_output_begin):
8760         * console-stream.c (stream_output_end):
8761         * console-stream.c (stream_output_vertical_divider):
8762         * console-stream.c (stream_clear_region):
8763         * console-stream.c (stream_flash):
8764         * console-stream.c (console_type_create_stream):
8765         Delete blank stream methods, not needed.
8766
8767         * console.h (struct console_methods):
8768         Split begin/end methods into window and frame.
8769
8770         * event-msw.c:
8771         * event-msw.c (mswindows_handle_paint):
8772         * event-msw.c (output_alt_keyboard_state):
8773         * event-msw.c (mswindows_wnd_proc):
8774         * event-msw.c (vars_of_event_mswindows):
8775         Comment about problems with ignored-expose.
8776         Define mswindows-debug-events; not really implemented.
8777
8778         * frame-msw.c (mswindows_init_frame_1):
8779         random cleanups.
8780
8781         * glyphs-msw.c:
8782         * glyphs-msw.c (begin_defer_window_pos):
8783         * glyphs-msw.c (mswindows_unmap_subwindow):
8784         * glyphs-msw.c (mswindows_map_subwindow):
8785         * glyphs-msw.c (mswindows_resize_subwindow):
8786         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8787
8788         * glyphs.c (make_image_instance_1):
8789         Fix crash.
8790
8791         * gutter.c (Fredisplay_gutter_area):
8792         Use new begin/end methods.
8793
8794         * lisp.h (Dynarr_new2):
8795         New creation fun.
8796
8797         * redisplay-msw.c:
8798         * redisplay-msw.c (mswindows_frame_output_begin):
8799         * redisplay-msw.c (mswindows_frame_output_end):
8800         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8801         New begin/end methods -- handle DeferWindowPos.
8802
8803         * redisplay-output.c (redisplay_move_cursor):
8804         * redisplay-output.c (redraw_cursor_in_window):
8805         * redisplay-output.c (redisplay_update_line):
8806         * redisplay-output.c (redisplay_output_window):
8807         New begin/end methods.
8808
8809         * redisplay-tty.c:
8810         * redisplay-tty.c (tty_frame_output_begin):
8811         * redisplay-tty.c (tty_frame_output_end):
8812         * redisplay-tty.c (console_type_create_redisplay_tty):
8813         New begin/end methods.
8814
8815         * redisplay-x.c:
8816         * redisplay-x.c (x_window_output_begin):
8817         * redisplay-x.c (x_window_output_end):
8818         * redisplay-x.c (console_type_create_redisplay_x):
8819         New begin/end methods.
8820
8821         * redisplay.c (redisplay_frame):
8822         * redisplay.c (Fredisplay_echo_area):
8823         New begin/end methods.
8824         use MAYBE_DEVMETH for clear_frame; it may not exist.
8825
8826         * window.h (WINDOW_XFRAME):
8827         WINDOW_XFOO macros -- get locale and decode struct pointer.
8828
8829
8830 2000-05-12  Ben Wing  <ben@xemacs.org>
8831
8832         * emacs.c:
8833         * emacs.c (ensure_no_quitting_from_now_on):
8834         * emacs.c (fatal_error_signal):
8835         * emacs.c (mswindows_handle_hardware_exceptions):
8836         * emacs.c (main):
8837         * emacs.c (Fkill_emacs):
8838         * emacs.c (shut_down_emacs):
8839         * emacs.c (assert_failed):
8840         various improvements in fatal error handling.
8841
8842         * eval.c:
8843         move preparing_for_armageddon to emacs.c.
8844
8845         * lisp.h:
8846         declare fatal_error_in_progress.
8847
8848         * print.c:
8849         * print.c (std_handle_out_external):
8850         * print.c (std_handle_out_va):
8851         * print.c (stderr_out):
8852         * print.c (stdout_out):
8853         use console under mswin when no standard output.
8854         don't do code conversion during fatal error.
8855
8856         * scrollbar.c (Fscrollbar_page_up):
8857         * scrollbar.c (Fscrollbar_page_down):
8858         fix missing else.  reindent.
8859
8860 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8861
8862         Emergency fix.
8863
8864         * glyphs.h (GLYPH_CACHEL_DESCENT):
8865         (GLYPH_CACHEL_DESCENT):
8866         (GLYPH_CACHEL_DESCENT):
8867         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8868         used in case these are inline functions.
8869         Use more absurd values to error check.
8870
8871         include window.h for error check functions.
8872
8873 2000-05-11  Ben Wing  <ben@xemacs.org>
8874
8875         * cmdloop.c (Freally_early_error_handler):
8876         Display message box under windows; otherwise, message will disappear
8877         before it can be viewed.
8878
8879         * console-msw.c:
8880         * console-msw.c (Fmswindows_message_box):
8881         * console-msw.c (FROB):
8882         * console-msw.c (syms_of_console_mswindows):
8883         Define new fun `mswindows-message-box'.
8884         #### I will merge this into `popup-dialog-box'; just give me
8885         a bit of time.
8886
8887         * general.c:
8888         * general.c (syms_of_general):
8889         Some new symbols used in `mswindows-message-box'.
8890
8891         * glyphs.c:
8892         * glyphs.c (Fset_image_instance_property):
8893         put warning in this fun.
8894
8895         * glyphs.h:
8896         * glyphs.h (GLYPH_CACHEL_WIDTH):
8897         * glyphs.h (GLYPH_CACHEL_ASCENT):
8898         * glyphs.h (GLYPH_CACHEL):
8899         * glyphs.h (GLYPH_CACHEL_GLYPH):
8900         define error-checking versions to try to catch a bug i've seen --
8901         redisplay gets in an infinite loop because the glyph width of the
8902         continuation glyph is 65535.
8903
8904         * lisp.h:
8905         Extern message-box stuff.
8906
8907         * window.c (allocate_window):
8908         * window.c (make_dummy_parent):
8909         * window.c (Fset_window_configuration):
8910         Use EQUAL not EQ for subwindow caches to make them work a bit
8911         better. (Something is still very broken.)
8912
8913
8914 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8915
8916         * glyphs.c (image_instantiate): Suppress gcc warnings.
8917         (Fmake_image_instance): Fix doc string.
8918         * specifier.c (Fmake_specifier): Ditto.
8919
8920 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8921
8922         * paths.h.in (PATH_LOCK): Removed.
8923         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8924         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8925
8926 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8927
8928         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8929         Document (featurep '(and xemacs 21.02)).
8930
8931 2000-05-09  Ben Wing  <ben@xemacs.org>
8932
8933         * buffer.c (complex_vars_of_buffer):
8934         update modeline-format doc.
8935
8936         * device.h:
8937         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8938
8939         * emacs.c:
8940         timeline of all released versions of Emacs, for use in creating
8941         authorship comments and in synching up.
8942
8943         * glyphs-widget.c (image_instantiator_buttons):
8944         * glyphs-widget.c (image_instantiator_edit_fields):
8945         * glyphs-widget.c (image_instantiator_combo_box):
8946         * glyphs-widget.c (image_instantiator_scrollbar):
8947         * glyphs-widget.c (image_instantiator_progress_guage):
8948         * glyphs-widget.c (image_instantiator_tree_view):
8949         * glyphs-widget.c (image_instantiator_tab_control):
8950         * glyphs-widget.c (image_instantiator_labels):
8951         * glyphs-widget.c (image_instantiator_layout):
8952         * glyphs-widget.c (image_instantiator_native_layout):
8953         rename decode_domain method to governing_domain.
8954
8955         * glyphs.c:
8956         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8957         * glyphs.c (add_entry_to_device_ii_format_list):
8958         make sure we don't put an entry more than once into the list.
8959         * glyphs.c (check_instance_cache_mapper):
8960         *************************************************************
8961         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8962         HAVE BEEN GETTING.
8963         *************************************************************
8964         * glyphs.c (get_image_instantiator_governing_domain):
8965         clean up, expand on new concept of governing domain.
8966         * glyphs.c (instantiate_image_instantiator):
8967         * glyphs.c (allocate_image_instance):
8968         use governing_domain instead of cache_domain in naming.
8969         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8970         * glyphs.c (make_image_instance_1):
8971         * glyphs.c (Fmake_image_instance):
8972         allow for any domain (not just device), and process the
8973         governing domain correctly.  very big doc fix.
8974         * glyphs.c (Fimage_instance_domain):
8975         new primitive, to retrieve the governing domain of an image instance.
8976         * glyphs.c (image_instantiate):
8977         use new governing_domain stuff.  this fixes a crash you could get
8978         by instantiating certain widget glyphs in frame locales. (should
8979         signal an error instead of crashing.)
8980         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8981         * glyphs.c (Fglyphp): clean up doc.
8982         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8983         * glyphs.c (syms_of_glyphs):
8984         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8985         * glyphs.c (image_instantiator_format_create): add some comments about
8986         bogus code.
8987         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8988         for current-display-table. (Apparently Hrjove implemented in 1998 a
8989         design I wrote up in 1996, but didn't update the doc string.)
8990
8991         * glyphs.h: clean up a doc string.
8992         * glyphs.h (governing_domain):
8993         * glyphs.h (struct image_instantiator_methods):
8994         changes for governing_domain stuff.
8995
8996         * gutter.c:
8997         * gutter.c (Fgutter_specifier_p):
8998         * gutter.c (Fgutter_size_specifier_p):
8999         * gutter.c (Fgutter_visible_specifier_p):
9000         * objects.c:
9001         * objects.c (Fcolor_specifier_p):
9002         * objects.c (Ffont_specifier_p):
9003         * objects.c (Fface_boolean_specifier_p):
9004         doc strings moved to make-*-specifier.
9005
9006         * redisplay.c (add_disp_table_entry_runes_1):
9007         * redisplay.c (generate_fstring_runes):
9008         * redisplay.c (screen):
9009         add random comments and doc strings.
9010
9011         * specifier.c:
9012         * specifier.c (Fmake_specifier):
9013         major overhaul of this doc string.
9014
9015         * specifier.c (Fvalid_specifier_domain_p):
9016         comment about the bogosity of image instances being domains.
9017         * specifier.c (decode_domain):
9018         now non-static, used in glyphs.c.
9019         * specifier.c (specifier_instance):
9020         comment about the bogosity of image instances being domains.
9021         * specifier.c (Fgeneric_specifier_p):
9022         move doc string to make-generic-specifier.
9023         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9024         rebackslashify.
9025
9026         * specifier.h:
9027         * specifier.h (DOMAIN_FRAME):
9028         * specifier.h (DOMAIN_LIVE_P):
9029         * specifier.h (DOMAIN_XDEVICE):
9030         rebackslashify.
9031         add comments about problems with these macros.
9032         prototype for decode_domain.
9033
9034         * toolbar.c:
9035         * toolbar.c (Ftoolbar_specifier_p):
9036         move doc string to `make-toolbar-specifier'.
9037
9038         * window.c (window_unmap_subwindows_cache_mapper):
9039         *************************************************************
9040         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9041         HAVE BEEN GETTING.
9042         *************************************************************
9043
9044 2000-05-09  Andy Piper  <andy@xemacs.org>
9045
9046         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9047
9048         * window.c (Fset_window_configuration): reset the frame subwindow
9049         cache and re-initialize the window subwindow caches.
9050
9051         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9052
9053 2000-05-09  Ben Wing  <ben@xemacs.org>
9054
9055         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9056         DWORD.
9057
9058 2000-04-26  Mike Woolley  <mike@bulsara.com>
9059
9060         * ntheap.c: Changed recreate_heap to limit the amount reserved
9061         for the heap to that which is actually available. Also now
9062         displays a message box (with some dignostics) in the event that
9063         it still can't start.
9064
9065 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9066
9067         * callproc.c (Fold_call_process_internal): GCPRO path
9068
9069 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9070
9071         Patch by Bill Perry.
9072
9073         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9074         back data instead of #ifdef.
9075         (Fscrollbar_page_down): ditto.
9076
9077 2000-05-07  Ben Wing  <ben@xemacs.org>
9078
9079         * buffer.h:
9080         Kludge for defining Qmswindows_tstr.
9081
9082         * nt.c:
9083         * nt.c (open_input_file):
9084         * nt.c (open_output_file):
9085         * nt.c (rva_to_section):
9086         * nt.c (mswindows_executable_type):
9087         Move all memory-mapped-file routines here (some were in unexnt.c,
9088         which is bad because they are used by process-nt.c, and unexnt
9089         won't be around when portable dumping).  Synched the above routines
9090         with FSF 20.6.
9091
9092         * nt.h:
9093         Removed ifdef'd out bogus code.
9094         Fixed some prototypes.
9095
9096         * nt.h (file_data):
9097         * nt.h (OFFSET_TO_RVA):
9098         * nt.h (RVA_TO_OFFSET):
9099         * nt.h (RVA_TO_PTR):
9100         Moved the memory-mapped-file structures, macros and prototypes
9101         here, to parallel nt.c.  ntheap.h should really be removed
9102         entirely, and it's a non-portable-dumper specific file.
9103
9104         * ntheap.h (round_to_next):
9105         Moved the memory-mapped-file structures, macros and prototypes
9106         to nt.h.
9107
9108         * ntproc.c (compare_env):
9109         Moved rva_to_section and mswindows_executable_type to nt.c.
9110         Moved compare_env to process-nt.c.
9111         ntproc.c will die, one day.
9112
9113         * ntproc.c (sys_spawnve):
9114         Account for win32_ -> mswindows_.
9115
9116         * process-nt.c:
9117         * process-nt.c (struct nt_process_data):
9118         * process-nt.c (ensure_console_window_exists):
9119         * process-nt.c (compare_env):
9120         * process-nt.c (nt_create_process):
9121         * process-nt.c (nt_kill_process_by_pid):
9122         * process-nt.c (syms_of_process_nt):
9123         * process-nt.c (vars_of_process_nt):
9124         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9125         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9126         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9127         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9128         Move compare_env here from ntproc.c.
9129
9130         * process.c (Fprocess_send_region):
9131         Takes an optional fourth argument, BUFFER, which should fix some
9132         problems with call-process.
9133
9134         * syscommctrl.h:
9135         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9136
9137         * syswindows.h:
9138         Move ICC_BAR_CLASSES to syscommctrl.h.
9139         Add preliminary macros for MSWindows/Mule.  More to come.
9140
9141         * unexnt.c:
9142         * unexnt.c (unexec):
9143         open_output_file moved to nt.c.
9144
9145
9146 2000-05-05  Andy Piper  <andy@xemacs.org>
9147
9148         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9149         instance from the frame cache also since GC may catch up too late
9150         to make frame deletion sane.
9151
9152 2000-05-04  Andy Piper  <andy@xemacs.org>
9153
9154         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9155         (x_finalize_image_instance): ungcpro on deletion.
9156
9157         * glyphs.c (image_instantiator_format_create): give pointers a
9158         query geometry method so that the geometry is at least set.
9159
9160         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9161         initialize layouts if using widgets.
9162
9163 2000-05-03  Andy Piper  <andy@xemacs.org>
9164
9165         * nt.c: remove bogus reference to sysmmsystem.h
9166
9167         * gui-x.c (popup_selection_callback): fix no selection abort.
9168
9169 2000-05-02  Andy Piper  <andy@xemacs.org>
9170
9171         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9172         (mswindows_widget_instantiate): ditto.
9173
9174         * glyphs-widget.c (initialize_widget_image_instance): initialize
9175         children correctly.
9176         (widget_instantiate): cope with children and items in the same
9177         instance.
9178
9179         * glyphs.c (mark_image_instance): cope with children as a first
9180         class member.
9181         (image_instance_equal): ditto.
9182         (image_instance_hash): ditto.
9183         (image_instance_changed): ditto.
9184
9185 2000-04-30  Andy Piper  <andy@xemacs.org>
9186
9187         * glyphs.c (subwindow_query_geometry): new function. Return some
9188         defaults.
9189         (subwindow_instantiate): don't assign dimensions if none have been
9190         given.
9191         (image_instantiator_format_create): add subwindow_query_geometry.
9192         (print_image_instance): cope with layouts as widgets.
9193
9194 2000-04-29  Andy Piper  <andy@xemacs.org>
9195
9196         * frame.c (delete_frame_internal): call
9197         free_frame_subwindow_instance_cache so that all subwindows are
9198         finalized before their parent.
9199         (mark_frame): remove subwindow_cachels.
9200         (Fmake_frame): remove subwindow_cachel manipulation.
9201         (allocate_frame_core): subwindow_instance_cache is a weak list.
9202         (delete_frame_internal): set subwindow_instance_cache to nil.
9203
9204         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9205         finalization safe.
9206         (mswindows_finalize_image_instance): use the device
9207         not the domain as the domain may have died already.
9208
9209         * glyphs-x.c (x_finalize_image_instance): ditto.
9210         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9211         HEIGHT.
9212
9213         * redisplay-output.c (redisplay_unmap_subwindows): update for
9214         subwindow instance cache as a weak list.
9215         (redisplay_unmap_subwindows_maybe): ditto.
9216         (redisplay_unmap_subwindows_except_us): ditto.
9217
9218         * glyphs.c (unmap_subwindow): error checking will check the domain
9219         so don't deal with it here. Don't use cachels anymore.
9220         (map_subwindow): ditto.
9221         (update_subwindow_cachel_data): remove old accessor names.
9222         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9223         (Fresize_subwindow): don't update cachel.
9224         (mark_subwindow_cachels):
9225         (update_subwindow_cachel_data):
9226         (add_subwindow_cachel):
9227         (get_subwindow_cachel_index):
9228         (update_subwindow_cachel):
9229         (reset_subwindow_cachels):
9230         (mark_subwindow_cachels_as_not_updated): deleted.
9231         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9232         subwindow instance to the frame cache.
9233         (find_matching_subwindow): update for subwindow instance cache as
9234         a weak list.
9235         (update_widget_instances): ditto.
9236         (image_instance_type_to_mask):inlined.
9237         (free_frame_subwindow_instance_cache): new function. finalize all
9238         subwindows that are instantiated.
9239
9240         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9241         of cachel information.
9242         (IMAGE_INSTANCE_DISPLAY_X):
9243         (IMAGE_INSTANCE_DISPLAY_Y):
9244         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9245         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9246         (XIMAGE_INSTANCE_DISPLAY_X):
9247         (XIMAGE_INSTANCE_DISPLAY_Y):
9248         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9249         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9250         remove subwindow_cachel structure and function references.
9251         (image_instance_type_to_mask): inline from glyphs.c
9252
9253         * redisplay.c (redisplay_frame): remove subwindow_cachel
9254         references.
9255
9256         * frame.h (struct frame): remove subwindow_cachels.
9257         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9258
9259         * frameslots.h: add subwindow_instance_cache.
9260
9261         * window.c (replace_window): check subwindow cache of replacement.
9262         (window_unmap_subwindows_cache_mapper):
9263         (window_unmap_subwindows): new functions. Unmap all subwindows
9264         cached on this window.
9265         (mark_window_as_deleted): unmap all subwindows.
9266
9267 2000-04-27  Andy Piper  <andy@xemacs.org>
9268
9269         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9270
9271         * glyphs-widget.c (widget_layout): return something.
9272         (layout_layout): return something. Fail if not initialized.
9273         (layout_query_geometry): ditto.
9274         (image_instantiator_native_layout): new function. Initialized the
9275         native layout type.
9276         (widget_instantiate): don't do layout stuff here.
9277
9278         * glyphs.c (instantiate_image_instantiator): reorded calling or
9279         instantiate and post_instantiate with layout in between.
9280         (image_instance_layout): be more selective about deciding whether
9281         the layout has been done or not.
9282
9283         * glyphs.h (struct image_instantiator_methods): return a value
9284         from layout_method.
9285
9286 2000-04-26  Andy Piper  <andy@xemacs.org>
9287
9288         * glyphs.c (allocate_image_instance): make initial width and
9289         height unspecified. Set initialized to 0.
9290
9291         * syscommctrl.h new file. Encapsulates commctrl.h.
9292
9293         * syswindows.h new file. Encapsulates windows.h.
9294
9295         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9296         * nt.c: ditto.
9297         * console-msw.h: ditto.
9298
9299         * redisplay-tty.c (tty_output_display_block): remove layout references.
9300
9301         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9302         window handle rather than just the frame.
9303
9304         * glyphs.c (mark_image_instance): remove layout references.
9305         (print_image_instance): ditto.
9306         (image_instance_equal): ditto.
9307         (image_instance_hash): ditto.
9308         (decode_image_instance_type): ditto.
9309         (encode_image_instance_type): ditto.
9310         (image_instantiate): ditto.
9311         (allocate_glyph): ditto.
9312         (Fimage_instance_height): ditto.
9313         (Fimage_instance_width): ditto.
9314         (update_subwindow): ditto.
9315
9316         * redisplay-x.c (x_output_display_block): recode for layouts as
9317         widgets.
9318
9319         * redisplay-output.c (redisplay_output_layout): recode for layouts
9320         as widgets.
9321         (compare_runes): remove layout references.
9322
9323         * redisplay-msw.c (mswindows_output_display_block): recode for
9324         layouts as widgets.
9325
9326         * glyphs-widget.c (image_instantiator_layout): remove
9327         layout_possible_dest_types.
9328         (layout_possible_dest_types): deleted.
9329
9330         * glyphs.h (image_instance_type): remove layout references.
9331         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9332         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9333         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9334
9335 2000-04-25  Andy Piper  <andy@xemacs.org>
9336
9337         * glyphs-widget.c (image_instantiator_buttons):
9338         (image_instantiator_edit_fields):
9339         (image_instantiator_combo_box):
9340         (image_instantiator_scrollbar):
9341         (image_instantiator_progress_guage):
9342         (image_instantiator_tree_view):
9343         (image_instantiator_tab_control):
9344         (image_instantiator_labels):
9345         (image_instantiator_layout): call default post_instantiate method.
9346         (widget_post_instantiate): new function. Simply lays out the
9347         widgets.
9348
9349         * glyphs.h (struct image_instantiator_methods): add
9350         post_instantiate method.
9351
9352         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9353         method calls.
9354
9355 2000-04-23  Andy Piper  <andy@xemacs.org>
9356
9357         * glyphs.h (struct image_instantiator_methods): add
9358         decode_domain_method.
9359         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9360         derived from the domain.
9361         (IMAGE_INSTANCE_FRAME): new accessor.
9362         (XIMAGE_INSTANCE_FRAME): ditto.
9363
9364         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9365         instead of _SUBWINDOW_FRAME.
9366         (finalize_image_instance): ditto.
9367         (Fimage_instance_foreground): ditto.
9368         (Fimage_instance_background): ditto.
9369         (image_instantiate): ditto.
9370         (update_subwindow_cachel): ditto.
9371         (update_subwindow): ditto.
9372         (unmap_subwindow): ditto.
9373         (map_subwindow): ditto
9374         (subwindow_instantiate): ditto.
9375         * glyphs-msw.c (mswindows_update_widget): ditto.
9376         (mswindows_progress_gauge_instantiate): ditto.
9377         (mswindows_tab_control_update): ditto.
9378         * glyphs-x.c (x_update_widget): ditto.
9379         (x_widget_instantiate): ditto.
9380         (x_tab_control_instantiate): ditto.
9381         (x_tab_control_update): ditto.
9382         * event-msw.c (mswindows_wnd_proc): ditto
9383
9384         * glyphs-widget.c (image_instantiator_layout): use
9385         subwindow_decode_domain.
9386         (image_instantiator_buttons): ditto.
9387         (image_instantiator_edit_fields): ditto.
9388         (image_instantiator_combo_box): ditto.
9389         (image_instantiator_scrollbar): ditto.
9390         (image_instantiator_progress_guage): ditto.
9391         (image_instantiator_tree_view): ditto.
9392         (image_instantiator_tab_control): ditto.
9393         (image_instantiator_labels): ditto.
9394         (image_instantiator_layout): ditto.
9395
9396         * glyphs.c: add instance error checking to many functions.
9397         (instantiate_image_instantiator): decode device from cache_domain.
9398         (image_instantiate): partially rewrite by using
9399         decode_image_instantiator_domain to determine what domain the
9400         instance needs to be cached in.
9401         (decode_image_instantiator_domain): new function. Determine what
9402         domain the image needs to be cached in.
9403         (check_window_subwindow_cache): new error checking function.
9404         (check_instance_cache_mapper): ditto.
9405         (check_image_instance_structure): ditto.
9406         (subwindow_decode_domain): new function. Encodes a window as a
9407         subwindow's cache domain.
9408         (image_instantiator_format_create): use it for text and
9409         subwindows.
9410
9411 2000-04-21  Andy Piper  <andy@xemacs.org>
9412
9413         * glyphs.c (image_instance_device): new function.
9414         (image_instance_frame): new function.
9415         (image_instance_window): new function.
9416         (image_instance_live_p): new function.
9417
9418         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9419         cache to nil.
9420
9421         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9422         (IMAGE_INSTANCE_DOMAIN): new accessor.
9423         (XIMAGE_INSTANCE_DOMAIN): ditto.
9424
9425         * glyphs-x.c (x_finalize_image_instance): device->domain.
9426
9427         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9428         (mswindows_finalize_image_instance): ditto.
9429
9430         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9431         (gif_instantiate): ditto.
9432         (png_instantiate): ditto.
9433         (tiff_instantiate): ditto.
9434
9435         * glyphs.c (instantiate_image_instantiator): use domain rather
9436         than device.
9437         (mark_image_instance): device -> domain.
9438         (print_image_instance): ditto.
9439         (finalize_image_instance): ditto.
9440         (image_instance_equal): ditto.
9441         (allocate_image_instance): ditto.
9442         (Fcolorize_image_instance): ditto.
9443         (query_string_geometry): ditto.
9444         (image_instantiate): ditto
9445         (query_string_font): ditto.
9446         (image_instantiate): ditto.
9447         (update_subwindow): ditto.
9448         (unmap_subwindow): ditto.
9449         (map_subwindow): ditto.
9450         (subwindow_instantiate): ditto.
9451
9452         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9453         (DOMAIN_FRAME): ditto.
9454         (DOMAIN_WINDOW): ditto.
9455         (DOMAIN_LIVE_P): ditto.
9456         (XDOMAIN_DEVICE): ditto.
9457         (XDOMAIN_FRAME): ditto.
9458         (XDOMAIN_WINDOW): ditto.
9459
9460         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9461         a valid specifier domain.
9462
9463 2000-04-19  Andy Piper  <andy@xemacs.org>
9464
9465         * glyphs-widget.c (syms_of_glyphs_widget): remove
9466         widget-callback-current-channel.
9467         (vars_of_glyphs_widget): ditto.
9468         * glyphs.h: ditto
9469
9470         * gui.c (get_gui_callback): revert to previous behaviour.
9471
9472 2000-04-18  Andy Piper  <andy@xemacs.org>
9473
9474         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9475         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9476         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9477
9478         * glyphs.c (image_instance_equal): add margin_width.
9479         (image_instance_hash): ditto.
9480
9481         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9482         (layout_query_geometry): ditto.
9483         (layout_layout): ditto.
9484         (syms_of_glyphs_widget): add margin-width.
9485         (image_instantiator_layout): allow margin-width.
9486
9487         * glyphs.c (update_widget_instances): make a normal function.
9488         (syms_of_glyphs): remove Qupdate_widget_instances.
9489         * glyphs.h: ditto.
9490
9491         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9492         so that we don't corrupt ideas about the last event or
9493         command. Remove widget-callback-current-channel fiddling.
9494         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9495
9496 2000-05-01  Martin Buchholz <martin@xemacs.org>
9497
9498         * XEmacs 21.2.33 is released.
9499
9500 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9501
9502         * make-src-depend: Allow dots in header file name.
9503
9504 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9505
9506         * mule-charset.h (struct charset_lookup): Add
9507         next_allocated_1_byte_leading_byte and
9508         next_allocated_2_byte_leading_byte.
9509         * mule-charset.c: Move above two variables so that those values
9510         will be dumped.
9511
9512 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9513
9514         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9515         when string length is zero.
9516         (find_charsets_in_emchar_string): Ditto.
9517
9518 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9519
9520         * lisp.h: extern Qdialog and Qmenubar.
9521
9522         * gui-x.c: added events.h.
9523                 also fixed typo which made the file uncompilable.
9524
9525         * general.c: Added Qmenubar and Qdialog
9526
9527 2000-04-28  Ben Wing  <ben@xemacs.org>
9528
9529         * frame-msw.c (mswindows_init_frame_1):
9530         * frame-msw.c (mswindows_mark_frame):
9531         * event-msw.c (mswindows_enqueue_dispatch_event):
9532         * console-msw.h:
9533         * console-msw.h (struct mswindows_frame):
9534         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9535         there are now three hash tables for callbacks.
9536         mswindows_enqueue_dispatch_event is no longer static.
9537
9538         * dialog-x.c (maybe_run_dbox_text_callback):
9539         * dialog-x.c (dbox_descriptor_to_widget_value):
9540         switch to new cons3 form for callbacks.
9541
9542         * glyphs-msw.c (mswindows_register_gui_item):
9543         * glyphs-msw.c (mswindows_widget_instantiate):
9544         * glyphs-msw.c (add_tree_item):
9545         * glyphs-msw.c (add_tab_item):
9546         new image instance parameter, so it can be passed to callback-ex.
9547         respect :callback-ex as well as :callback.
9548
9549         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9550         add :callback-ex.
9551
9552         * glyphs.c (print_image_instance):
9553         prettify, e.g. now prints widget type.
9554
9555         * gui-x.h:
9556         certain funs have new image instance parameter.
9557
9558         * gui.c:
9559         * gui.c (get_gui_callback):
9560         * gui.c (gui_item_add_keyval_pair):
9561         * gui.c (gui_item_init):
9562         * gui.c (gui_add_item_keywords_to_plist):
9563         * gui.c (mark_gui_item):
9564         * gui.c (gui_item_hash):
9565         * gui.c (gui_item_equal):
9566         * gui.c (copy_gui_item):
9567         * gui.c (syms_of_gui):
9568         recognize callback-ex in a number of places.
9569         also, fix the annoying "can't get out of yes-no dialog" bug.
9570
9571         * gui.h:
9572         * gui.h (struct Lisp_Gui_Item):
9573         recognize callback-ex in a number of places.
9574
9575         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9576         new parameter in button_item_to_widget_value.
9577
9578         * glyphs-x.c (x_update_widget):
9579         * glyphs-x.c (x_button_instantiate):
9580         * glyphs-x.c (x_button_update):
9581         * glyphs-x.c (x_progress_gauge_instantiate):
9582         * glyphs-x.c (x_edit_field_instantiate):
9583         * glyphs-x.c (x_combo_box_instantiate):
9584         * glyphs-x.c (x_tab_control_instantiate):
9585         * glyphs-x.c (x_label_instantiate):
9586         new image instance parameter in various places.
9587
9588         * event-Xt.c:
9589         * event-Xt.c (enqueue_Xt_dispatch_event):
9590         this fun gets exported.
9591
9592         * gui-msw.c:
9593         * gui-msw.c (mswindows_handle_gui_wm_command):
9594         handle both :callback and :callback-ex, and generate our own
9595         event because it's one of the callback-ex arguments.
9596
9597         * gui-x.c:
9598         * gui-x.c (popup_selection_callback):
9599         handle both :callback and :callback-ex, and generate our own
9600         event because it's one of the callback-ex arguments.
9601         * gui-x.c (button_item_to_widget_value):
9602         * gui-x.c (gui_items_to_widget_values_1):
9603         * gui-x.c (gui_item_children_to_widget_values):
9604         * gui-x.c (gui_items_to_widget_values):
9605         new image instance parameter in various places.
9606
9607         * fns.c (Freplace_list):
9608         fix small typo in doc string.
9609
9610         * lisp.h:
9611         declare enqueue_Xt_dispatch_event.
9612
9613 2000-04-28  Ben Wing  <ben@xemacs.org>
9614
9615         * buffer.c:
9616         * buffer.c (Frecord_buffer):
9617         * buffer.c (syms_of_buffer):
9618         delete record-buffer-hook.
9619
9620         * fns.c:
9621         * fns.c (Freplace_list):
9622         * fns.c (syms_of_fns):
9623         new primitive replace-list.
9624
9625         * frameslots.h:
9626         slot for old buffer-alist.
9627
9628         * lisp.h:
9629         exfun replace-list.
9630
9631         * redisplay.c:
9632         * redisplay.c (redisplay_frame):
9633         * redisplay.c (syms_of_redisplay):
9634         * redisplay.c (vars_of_redisplay):
9635         new hook buffer-list-changed-hook.
9636         call it.
9637
9638 2000-04-27  Ben Wing  <ben@xemacs.org>
9639
9640         * extents.h: extern in_modeline_generation.
9641
9642         * redisplay.c (generate_formatted_string_db): set
9643         in_modeline_generation.
9644
9645         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9646         flags if in modeline generation.  otherwise frame-modified-tick
9647         is ticked far too often.
9648         Declare in_modeline_generation.
9649
9650 2000-04-26  Ben Wing  <ben@xemacs.org>
9651
9652         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9653         option.
9654         (vars_of_emacs): add quick-build as an error-checking option.
9655         A bit kludgy, but there doesn't seem much point in creating
9656         a real var for this.
9657
9658         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9659
9660 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9661
9662         * redisplay.h (struct display_line): Add a new variable,
9663         line_continuation.
9664
9665         * redisplay.c (create_text_block): Set dl->line_continuation if
9666         the line continues.
9667         (create_string_text_block): Ditto.
9668         (regenerate_window_incrementally): Use line_continuation instead
9669         of searching continuation glyph.
9670         (add_margin_runes): Call add_glyph_rune.
9671         (add_glyph_rune): Handle margin glyph.
9672
9673 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9674
9675         * filelock.c (fill_in_lock_file_name):
9676         ANSIfy.
9677         Check for IS_ANY_SEP instead of '/'.
9678         (lock_file_1):
9679         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9680         Never check errno without first seeing that system call failed.
9681         (unlock_file): Add GCPRO.
9682         (Flock_buffer): Fix docstring.
9683         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9684
9685 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9686
9687         * sysdep.c (get_pty_max_bytes):
9688         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9689         strings longer than 252 bytes.
9690
9691         * md5.c: Unconditionally include ANSI header <limits.h>
9692
9693         * glyphs-x.c (convert_EImage_to_XImage):
9694         * lisp-union.h (union Lisp_Object):
9695         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9696
9697 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9698
9699         * filelock.c (current_lock_owner): Remove unused variable o, p.
9700
9701 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9702
9703         * callint.c: Remove multiply defined symbol Qlet
9704         (syms_of_callint): ditto.
9705
9706 2000-04-14  Andy Piper  <andy@xemacs.org>
9707
9708         * general.c (syms_of_general): add last-command, this-command, let
9709         and funcall.
9710
9711         * lisp.h: declare various symbols.
9712
9713         * glyphs.h: declare Qwidget_callback_current_channel;
9714
9715         * glyphs-widget.c (syms_of_glyphs_widget): add
9716         Qgui_callback_current_channel.
9717         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9718
9719         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9720         widget-callback-current-channel when invoking the interactive
9721         arg. Also bind last-command and next-command when invoking the
9722         widget updates.
9723         * gui-x.c (popup_selection_callback): ditto.
9724
9725         * gui.c (get_gui_callback): massage args so that we are always
9726         calling eval. This allows us to add our own variable bindings
9727         outside.
9728
9729         * glyphs-x.c (x_button_instantiate): use
9730         gui_items_to_widget_values since this is GC safe.
9731         (x_progress_gauge_instantiate): ditto.
9732         (x_edit_field_instantiate): ditto.
9733         (x_label_instantiate): ditto.
9734
9735         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9736         (emacs_Xt_event_widget_focus_out): new function
9737         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9738         focus.
9739         (emacs_Xt_event_add_widget_actions): new function. add focus
9740         functions as actions.
9741         (init_event_Xt_late): use it.
9742
9743 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9744
9745         * event-stream.c (Fdispatch_event): Doc fix.
9746
9747 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9748
9749         * postgresql.c: Remove all references to PQsetenv*.
9750
9751         * postgresql.h: Remove references to PGsetenvHandler object.
9752         * lrecord.h (lrecord_type): Ditto.
9753
9754 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9755
9756         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9757         real_heigh and real_width members, and accessor macros for these.
9758
9759         * glyphs-msw.c (init_image_instance_geometry): New function.
9760         (init_image_instance_from_dibitmap): Use it.
9761         (mswindows_resource_instantiate): Use it.
9762         (init_image_instance_from_xbm_inline): Use it.
9763         (mswindows_initialize_image_instance_mask): Use real bitmap
9764         geometry.
9765         (mswindows_create_resized_bitmap): Ditto.
9766         (mswindows_create_resized_mask): Ditto.
9767
9768         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9769         and bitmap to their surface size.
9770
9771 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9772
9773         * process-unix.c (unix_send_process): Guard against process MIA
9774         after Faccept_process_output.
9775
9776 2000-04-11  Ben Wing  <ben@xemacs.org>
9777
9778         * eval.c (unbind_to_hairy): fix brokenness introduced by
9779         nanosecond speed improvements.
9780
9781 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9782
9783         * sunplay.c (init_device): To play sounds correctly, the device
9784         apparently needs to be initialized at least once by XEmacs.  Make
9785         it so.
9786
9787 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9788
9789         * redisplay.c (add_margin_runes): Add text image glyph
9790           handling.
9791
9792 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9793
9794         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9795         gcc is newer than 2.5.
9796
9797 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9798
9799         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9800
9801         * fns.c (size_bit_vector):
9802         * alloc.c (size_vector):
9803         (make_vector_internal):
9804         (make_bit_vector_internal):
9805         (sweep_bit_vectors_1):
9806         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9807
9808 2000-04-06  Andy Piper  <andy@xemacs.org>
9809
9810         * gmalloc.c (malloc): undo previous change.
9811         (malloc): ditto.
9812         (free): ditto.
9813         (realloc): ditto.
9814
9815 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9816
9817         * line-number.c (buffer_line_number): Revert to former version.
9818
9819 2000-04-06  Andy Piper  <andy@xemacs.org>
9820
9821         * gmalloc.c (malloc): add error checking.
9822         (malloc): ditto.
9823         (free): ditto.
9824         (realloc): ditto.
9825
9826         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9827         button_item_to_widget_value arg.
9828
9829         * glyphs-x.c (x_button_instantiate): add extra
9830         button_item_to_widget_value arg.
9831         (x_progress_gauge_instantiate): ditto.
9832         (x_edit_field_instantiate): ditto.
9833         (x_label_instantiate): ditto.
9834
9835         * gui-x.c (gui_items_to_widget_values_1): add extra
9836         button_item_to_widget_value arg.
9837         (button_item_to_widget_value): add extra menu_item_p arg.
9838
9839         * gui-x.h: change signature of button_item_to_widget_value.
9840
9841         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9842         button_item_to_widget_value arg.
9843
9844 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9845
9846         * buffer.h (struct buffer): auto_save_modified should be long.
9847
9848 2000-04-05  Andy Piper  <andy@xemacs.org>
9849
9850         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9851         type.
9852         (button_query_geometry): give a little more room so that athena
9853         buttons fit.
9854
9855 2000-04-05  Andy Piper  <andy@xemacs.org>
9856
9857         * faces.c (complex_vars_of_faces): The widget face should inherit
9858         the font of the gui-element face.
9859
9860 2000-04-04  Andy Piper  <andy@xemacs.org>
9861
9862         * glyphs-x.c (x_button_update): new function. unconditionally
9863         update a button's state when the instance is dirty.
9864         (image_instantiator_format_create_glyphs_x): add x_button_update.
9865         (x_widget_instantiate): remove old resize cruft.
9866
9867 2000-04-02  Andy Piper  <andy@xemacs.org>
9868
9869         * frame.c (change_frame_size_1): The introduction of gutters means
9870         that we need to allow 0 as a potential frame dimension.
9871
9872 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9873
9874         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9875         image glyph if allow_cursor.
9876         (add_hscroll_rune): Don't allow cursor to border glyph.
9877         (create_text_block): Ditto.
9878
9879         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9880         text not in buffer.
9881         (redisplay_output_layout): Call ensure_face_cachel_complete for
9882         text image glyph.
9883
9884
9885 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9886
9887         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9888
9889         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9890         not in buffer
9891
9892         * redisplay-tty.c (tty_output_display_block): Delete the routine
9893         for text image glyph
9894         * redisplay-x.c (x_output_display_block): ditto
9895         * redisplay-msw.c (mswindows_output_display_block): ditto
9896
9897 2000-02-02  Mike Alexander  <mta@arbortext.com>
9898
9899         Note: Some of these were committed by accident as part of other
9900         patches.
9901
9902         * regex.c (regex_compile): Avoid compiler warnings.
9903
9904         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9905
9906         * nt.h: Declare term_ntproc correctly.
9907
9908         * nt.c: Remove incorrect declaration of get_home_directory which
9909         is declared correctly in lisp.h.
9910
9911         * keymap.c (get_keyelt): Avoid compiler warnings.
9912         (raw_lookup_key_mapper): Avoid compiler warnings.
9913
9914         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9915
9916         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9917
9918         * filemode.c (mode_string): Avoid compiler warnings.
9919
9920         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9921         avoid warning.
9922
9923         * events-mod.h: Undef some things that winuser.h defines differently.
9924
9925         * data.c (Faset): Avoid compiler warnings.
9926
9927         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9928
9929 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9930
9931         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9932         Fall through to simple beep on error.
9933         Replace "extern" by real header file.
9934
9935         * linuxplay.c: Use nativesound.h
9936         (play_sound_data): Return error code. Be less verbose on error.
9937
9938         * sunplay.c: Use nativesound.h
9939         (play_sound_data): Return error code. Be less verbose on error.
9940
9941         * ntplay.c: Use nativesound.h
9942         (play_sound_data): Return fake error code
9943
9944         * sgiplay.c: Use nativesound.h
9945         (play_sound_data): Return error code
9946
9947         * hpplay.c: Use nativesound.h, partially implement
9948         new error code. Break compilation until finished.
9949         (play_sound_data): error code.
9950
9951         * nativesound.h (play_sound_file):
9952           (play_sound_data): Prototype in new header.
9953
9954 2000-03-31  Andy Piper  <andy@xemacs.org>
9955
9956         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9957         for toggle and radio buttons.
9958         (image_instantiator_buttons): use it.
9959
9960 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9961
9962         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9963         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9964         found. Scrollbar event probably belonged to some old config.
9965
9966 2000-03-31  Andy Piper  <andy@xemacs.org>
9967
9968         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9969         than 1.
9970         (initialize_widget_image_instance): default layout to
9971         LAYOUT_HORIZONTAL rather than 0.
9972         (widget_instantiate): reverse the item list at the end rather than
9973         every iteration.
9974         (layout_layout): re-code for the border text at the front of the
9975         item list rather than at the end.
9976         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9977         provided by the user.
9978         (widget_query_geometry): comment.
9979
9980 2000-03-30  Andy Piper  <andy@xemacs.org>
9981
9982         * glyphs-widget.c (image_instantiator_layout): allow standard
9983         widget keywords in layouts.
9984
9985         * gutter.c (output_gutter): cope with nil gutter contents.
9986
9987         * frame.c (Fset_frame_properties): add gutter docs.
9988
9989 2000-03-29  Andy Piper  <andy@xemacs.org>
9990
9991         * toolbar-msw.c (TBSTYLE_FLAT): add.
9992         (mswindows_output_toolbar): minor fiddling.
9993
9994 2000-03-29  Andy Piper  <andy@xemacs.org>
9995
9996         * gutter.c (output_gutter): force gutter size recalculation if
9997         what we are trying to display won't fit.
9998         (update_gutter_geometry): new function. A per-gutter version of
9999         update_frame_gutter_geometry.
10000         (update_frame_gutter_geometry): use it.
10001         (redraw_exposed_gutter): add extra debugging output.
10002
10003 2000-03-28  Mike Alexander  <mta@arbortext.com>
10004
10005         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10006         (pdump_file_unmap): Implement it on Windows
10007         (pdump_file_get): Save alocated handles for pdump_file_unmap
10008
10009 2000-03-28  Andy Piper  <andy@xemacs.org>
10010
10011         * gui.c (get_gui_callback): treat Quit specially.
10012
10013 2000-03-27  Andy Piper  <andy@xemacs.org>
10014
10015         * glyphs.c (image_instantiate): be careful to check in the same
10016         way we assigned.
10017
10018 2000-03-27  Didier Verna  <didier@xemacs.org>
10019
10020         * config.h.in: define the proper SMART_INCLUDE macro.
10021         handle renaming of `foo_h_path' to `foo_h_file'.
10022
10023         * database.c: ditto.
10024
10025         * emacs.c: ditto.
10026
10027         * linuxplay.c: ditto.
10028
10029         * terminfo.c: ditto.
10030
10031         * tooltalk.h: ditto.
10032
10033 2000-03-27  Andy Piper  <andy@xemacs.org>
10034
10035         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10036         gets updated whenever the face might have changed.
10037
10038 2000-03-26  Mike Alexander  <mta@arbortext.com>
10039
10040         * dumper.c (pdump_resource_free): Fix the comment.
10041
10042 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10043
10044         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10045
10046 2000-03-22  Mike Alexander  <mta@arbortext.com>
10047
10048         * dumper.c: Include Windows headers on Windows
10049         (pdump_resource_free): Add a body to the function
10050         (pdump_load): exe_name -> exe_path and add some comments.
10051
10052 2000-03-25  Mike Alexander  <mta@arbortext.com>
10053
10054         * gui.c (copy_gui_item_tree): Return a value in all cases
10055
10056 2000-03-21  Didier Verna  <didier@xemacs.org>
10057
10058         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10059         lwlib/config.h.in.
10060         (SMART_INCLUDE): new macro.
10061         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10062         the proper location.
10063
10064         * postgresql.c: use it.
10065
10066         * inline.c: ditto.
10067
10068 2000-03-24  Andy Piper  <andy@xemacs.org>
10069
10070         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10071         do this.
10072
10073 2000-03-24  Andy Piper  <andy@xemacs.org>
10074
10075         * redisplay-output.c (compare_runes): use image_instance_changed
10076         to detect changes. Do not depend on glyphs_changed, only depend on
10077         dirtiness.
10078          (redisplay_output_layout): add debug messages.
10079         (compare_runes): ditto.
10080
10081         * glyphs.h: declare new functions.
10082         (struct Lisp_Image_Instance): remove percent and associated
10083         accessors.
10084
10085         * gui.h: declare new copying functions.
10086
10087         * gui.c (copy_gui_item_tree): new function.
10088         (copy_gui_item): new function.
10089         (gui_item_id_hash): revert to standard hash.
10090         (gui_item_hash): ditto.
10091         (gui_item_hash_internal): deleted.
10092         (mark_gui_item): mark value.
10093         (gui_item_add_keyval_pair): add value.
10094         (gui_item_init): ditto.
10095         (gui_add_item_keywords_to_plist): ditto.
10096         (gui_item_equal): ditto.
10097         (syms_of_gui): add Q_value.
10098
10099         * glyphs-x.c (x_progress_gauge_update): use pending items and
10100         value for setting the state.
10101         (x_update_widget): don't set items from pending here.
10102
10103         * glyphs-widget.c (update_widget): update items here.
10104         (progress_gauge_set_property): use items for storing value. Put
10105         new value in pending items.
10106
10107         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10108         items for new value. Convert percent -> value.
10109         (mswindows_tab_control_update): don't update items here.
10110
10111         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10112         (update_subwindow): ditto.
10113         (image_instance_changed): new function. Compare hash values and
10114         past and present widget items.
10115         (image_instantiate): We more careful about where we instantiate
10116         things.
10117         (image_instantiate): add error checking.
10118
10119         * gutter.c (syms_of_gutter): use -hook.
10120
10121 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10122
10123         * console-tty.c (Fset_console_tty_input_coding_system): Use
10124         Qkeyboard.
10125         (Fset_console_tty_output_coding_system): Use Qterminal.
10126         (tty_init_console): Use Qkeyboard and Qterminal.
10127
10128 2000-03-21  Ben Wing  <ben@xemacs.org>
10129
10130         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10131         From Mike Alexander <mta@arbortext.com>.
10132
10133 2000-03-21  Ben Wing  <ben@xemacs.org>
10134
10135         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10136         process brokenness.  Proper implementation to come.
10137         * callproc.c:
10138         Rename call-process-internal to old-call-process-internal.
10139         New impl. in process.el.
10140
10141 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10142
10143         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10144
10145 2000-03-20  Andy Piper  <andy@xemacs.org>
10146
10147         * glyphs.c (full_list_hash): make hashes of the same elements in
10148         different orders return different values.
10149
10150 2000-03-20  Martin Buchholz <martin@xemacs.org>
10151
10152         * XEmacs 21.2.32 is released.
10153
10154 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10155
10156         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10157         (DFC_MALLOC_USE_CONVERTED_DATA):
10158         Add aliasing-safe casts to allow use with char* or unsigned char*
10159         lvalues.
10160
10161         * eldap.c (Fldap_open):
10162         (Fldap_search_basic):
10163         (Fldap_add):
10164         (Fldap_modify):
10165         Make C++-compilable.
10166         Make sure GCPRO'ed variables are initialized.
10167         Use temp variables to avoid repeated calls to Flength.
10168
10169 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10170
10171         * sysfile.h:
10172         Make sure PATH_MAX is always defined.
10173         Include limits.h for PATH_MAX.
10174         Deprecate use of MAXPATHLEN.
10175
10176 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10177
10178         * emacs.c: Add reinit_vars_of_fileio.
10179         * symsinit.h: Add reinit_vars_of_fileio.
10180         * fileio.c (reinit_vars_of_fileio): New.
10181         * fileio.c (Fmake_temp_name):
10182         Initialize temp_name random number from microseconds to make
10183         collisions even less likely.  Initialize always at process startup
10184         time.  (make-temp-name) used to return the same file name twice in
10185         a row when PDUMP.
10186         Random stylistic fiddling.
10187         Comment fixes.
10188
10189 2000-03-20  Andy Piper  <andy@xemacs.org>
10190
10191         * glyphs.c (image_instantiate): allow text glyphs to be
10192         instantiated in the minibuffer window.
10193
10194 2000-03-19  Andy Piper  <andy@xemacs.org>
10195
10196         * glyphs.c (image_instance_hash): be careful about which items we
10197         hash on.
10198
10199         * glyphs-widget.c (tab_control_set_property): record into pending
10200         items rather than the actual items.
10201
10202         * glyphs-x.c (x_update_widget): use pending items to update with.
10203
10204         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10205         to update with.
10206
10207         * glyphs.c (mark_image_instance): mark pending items.
10208
10209         * window.c (Fset_window_configuration): record the buffer.
10210         (Fselect_window): totally revert previous change which breaks many
10211         things.
10212
10213 2000-03-18  Andy Piper  <andy@xemacs.org>
10214
10215         * glyphs-msw.c (mswindows_tab_control_update): force selected
10216         item.
10217
10218         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10219         window domain cache, otherwise we get inconsistencies at
10220         startup. There is something fishy at startup which can lead to the
10221         minibuffer being the selected window when the gutter content is
10222         instantiated.
10223
10224         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10225         gcpros.
10226         (parse_gui_item_tree_children): ditto.
10227         (parse_gui_item_tree_item): ditto.
10228
10229         * glyphs.c (Fupdate_widget_instances): return something.
10230
10231 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10232
10233         * window.c (Fselect_window): Undo 2000-03-17 change.
10234
10235 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10236
10237         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10238         against v7.0 libraries.  Insta-coredump city until the postgres
10239         folks fix it.
10240
10241 2000-03-17  Andy Piper  <andy@xemacs.org>
10242
10243         * faces.c (complex_vars_of_faces): don't give the widget face an
10244         inherited background pixmap.
10245
10246         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10247         selected item.
10248
10249         * event-stream.c (Fdispatch_non_command_events): return something.
10250
10251         * gutter.c (output_gutter): use widget face.
10252         (clear_gutter): ditto.
10253
10254         * NEWS: adjust again.
10255
10256         * window.c (Fselect_window): make sure this runs to completion to
10257         avoid oddities with Fset_window_configuration.
10258         (Fcurrent_window_configuration): in general do not save the
10259         minibuffer as the selected window.
10260
10261         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10262
10263 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10264
10265         * emacs.c (Frunning_temacs_p): Revert previous patch.
10266         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10267
10268 2000-03-16  Andy Piper  <andy@xemacs.org>
10269
10270         * glyphs-x.c (x_tab_control_update): if no widget values then
10271         return.
10272
10273         * NEWS: update for new features.
10274
10275         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10276         synthetic event to the native system.
10277         (reinit_vars_of_event_Xt): set force_event_pending to
10278         emacs_Xt_force_event_pending.
10279
10280         * events.h (struct event_stream): add force_event_pending.
10281
10282         * specifier.c (recompute_one_cached_specifier_in_window): add
10283         comment.
10284
10285         * redisplay.c (redisplay_frame): don't call
10286         update_frame_subwindows. Reset subwindow cachels when
10287         subwindows_changed, removing this was an optimization too far.
10288
10289         * redisplay-output.c (compare_runes): reorganize so that we catch
10290         glyph changes when we want them. Set optimize_output when this
10291         would help layouts.
10292         (redisplay_output_layout): remove frame_really_changed, use
10293         optimize_output instead.
10294
10295         * redisplay-msw.c (mswindows_output_display_block): reset
10296         optimize_output after outputting a glyph.
10297         * redisplay-x.c (x_output_display_block): ditto.
10298         * redisplay-tty.c (tty_output_display_block): ditto.
10299
10300         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10301         functions.
10302         (gutter_specs_changed): do specific gutter positions.
10303         (top_gutter_specs_changed): new function. Only update the
10304         specified gutter specs.
10305         (bottom_gutter_specs_changed): ditto.
10306         (left_gutter_specs_changed): ditto.
10307         (right_gutter_specs_changed): ditto.
10308
10309         * gui.c (gui_item_hash_internal): new function, does a real hash.
10310         (gui_item_id_hash): use it.
10311         (gui_item_hash): hash the eval'ed gui_item.
10312
10313         * gui-x.c (popup_selection_callback): send an eval event to call
10314         Fupdate_widget_instances.
10315
10316         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10317         to call Fupdate_widget_instances.
10318
10319         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10320         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10321
10322         * glyphs.c: (update_frame_subwindows): deleted.
10323         (Fupdate_widget_instances): new function for updating the dirty
10324         state of widgets that might have changed.
10325         (syms_of_glyphs): add Qupdate_widget_instances.
10326         (full_list_hash): hash a list completely.
10327         (image_instance_hash): use it for items and properties.
10328
10329         * frame-msw.c (mswindows_size_frame_internal): remove unused
10330         variable.
10331
10332         * faces.h (struct face_cachel): fix comment.
10333
10334         * event-stream.c (Fdispatch_non_command_events): new
10335         function. Process non-command events, forcing an event cycle
10336         beforehand.
10337         (syms_of_event_stream): declare.
10338         (event_stream_force_event_pending): new function. Force an event
10339         on the native event queue so that an event cycle will occur next
10340         time we check.
10341
10342         * event-msw.c:
10343         (struct ntpipe_shove_stream):
10344         (mswindows_enqueue_dispatch_event):
10345         (mswindows_dequeue_dispatch_event):
10346         (mswindows_cancel_dispatch_event):
10347         (mswindows_pump_outstanding_events):
10348         (mswindows_drain_windows_queue):
10349         (mswindows_handle_paint):
10350         (mswindows_wnd_proc):
10351         (mswindows_key_to_emacs_keysym):
10352         (get_process_input_waitable):
10353         (emacs_mswindows_delete_stream_pair): re-indent file.
10354         (mswindows_need_event): do not process further fds if the windows
10355         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10356         fixes the 100% cpu problem.
10357         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10358
10359 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10360
10361         * alloc.h: New.
10362         * dumper.h: New.
10363         * dumper.c: New.
10364
10365         * emacs.c: Moved dump file searching to dumper.c.
10366         (Frunning_temacs_p): Fixed.
10367
10368         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10369         last_lrecord_type_index_assigned.
10370
10371 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10372
10373         * symsinit.h: Added reinit parameter to init_console_stream
10374         declaration.
10375
10376         * lisp.h: Added file parameter to pdump_load declaration.
10377
10378         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10379         support.  Added dump file searching.
10380
10381         * config.h.in: Added EMACS_PROGNAME.
10382
10383         * console-stream.c (init_console_stream): Fix reinitialisation
10384         when running from temacs.
10385
10386         * alloc.c (pdump): Add id support.
10387         (pdump_load): Add file parameter and signature/id support.
10388
10389         * Makefile.in.in: Add full pdump support.
10390
10391 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10392
10393         * postgresql.c: Update documentation to reflect latest code
10394         status.
10395         (print_result): Show tuple counts in printed representation when
10396         appropriate.
10397         (Fpq_put_nbytes): MULE-ize.
10398         (Fpq_get_line_async): Ditto.
10399
10400 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10401
10402         * postgresql.c (Fpq_lo_import): Fix return value.
10403         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10404
10405 2000-03-13  Ben Wing  <ben@xemacs.org>
10406
10407         * alloc.c (pdump_load):
10408         Fix compile warning under mswin.
10409
10410 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10411
10412         * postgresql.c: Mule-ization, bug fixes.
10413         Use PG_CODING to encapsulate coding system name changes.
10414         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10415         (pg-coding-system): Create.
10416
10417         (Fpq_conn_defaults): Mule-ize.
10418         (Fpq_connectdb): Mule-ize & bug fix.
10419         (Fpq_connect_start): Mule-ize.
10420         (Fpq_set_client_encoding): Mule-ize.
10421         (Fpq_finish): Document `DEAD' connection status.
10422         (Fpq_clear): Ditto.
10423         (Fpq_pgconn): Mule-ize.
10424         (Fpq_exec): Mule-ize & bug fix.
10425         (Fpq_send_query): Ditto.
10426         (Fpq_get_result): Ditto.
10427         (Fpq_res_status): Mule-ize.
10428         (Fpq_result_error_message): Mule-ize.
10429         (Fpq_ntuples): fix comments.
10430         (Fpq_fname): Mule-ize.
10431         (Fpq_fnumber): Mule-ize.
10432         (Fpq_ftype): fix comments.
10433         (Fpq_get_value): Mule-ize.
10434         (Fpq_cmd_status): Ditto.
10435         (Fpq_cmd_tuples): Ditto.
10436         (Fpq_oid_value): Ditto.
10437         (Fpq_notifies): Ditto.
10438         (Fpq_lo_import): Ditto.
10439         (Fpq_lo_export): Ditto.
10440         (Fpq_get_line): Ditto.
10441         (Fpq_put_line): Mule-ize and bug fix.
10442         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10443
10444 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10445
10446         * postgresql.c (vars_of_postgresql): Mule-ize.
10447         (Fpq_conn_defaults): Ditto.
10448
10449 2000-03-12  Ben Wing  <ben@xemacs.org>
10450
10451         * alloc.c (Fmake_byte_code):
10452         * alloc.c (debug_string_purity_print):
10453         * alloc.c (pdump_backtrace):
10454         * alloc.c (pdump_get_indirect_count):
10455         * alloc.c (pdump_register_sub):
10456         * alloc.c (pdump_register_object):
10457         * alloc.c (pdump_register_struct):
10458         * alloc.c (pdump_dump_data):
10459         * alloc.c (pdump_reloc_one):
10460         Minor cleanups.
10461
10462         * console-msw.c:
10463         * console-msw.c (GetConsoleHwnd):
10464         * console-msw.c (msw_hide_console):
10465         * console-msw.c (msw_show_console):
10466         * console-msw.c (msw_ensure_console_buffered):
10467         * console-msw.c (msw_output_console_string):
10468         * console-msw.c (console_type_create_mswindows):
10469
10470         a) Added functions to manipulate the console window for use with
10471         shell support.
10472
10473         b) Added support for writing text to the console, which is now
10474         used under Windows when xemacs is not being run non-interactively,
10475         to write text that would otherwise be destined for stdout because
10476         under these circumstances, text written to stdout tends to
10477         disappear and not be seen.
10478
10479         * console-msw.h:
10480         * event-Xt.c:
10481         * event-Xt.c (x_event_to_emacs_event):
10482         * event-Xt.c (describe_event_window):
10483         * events-mod.h (XEMACS_MOD_CONTROL):
10484         * events.c:
10485         * events.c (Fmake_event):
10486         * events.c (character_to_event):
10487         * events.c (event_to_character):
10488         * events.c (format_event_object):
10489         * events.c (Fevent_modifiers):
10490         * events.h:
10491         * events.h (struct key_data):
10492         * events.h (struct button_data):
10493         * events.h (struct misc_user_data):
10494         * frame-x.c (Fcde_start_drag_internal):
10495         * frame-x.c (Foffix_start_drag_internal):
10496         * gpmevent.c (Freceive_gpm_event):
10497         * keymap.c:
10498         * keymap.c (bucky_sym_to_bucky_bit):
10499         * keymap.c (control_meta_superify):
10500         * keymap.c (make_key_description):
10501         * keymap.c (keymap_lookup_directly):
10502         * keymap.c (create_bucky_submap):
10503         * keymap.c (keymap_store):
10504         * keymap.c (define_key_check_and_coerce_keysym):
10505         * keymap.c (define_key_parser):
10506         * keymap.c (define_key_alternate_name):
10507         * keymap.c (Fdefine_key):
10508         * keymap.c (raw_lookup_key_mapper):
10509         * keymap.c (struct map_keymap_unsorted_closure):
10510         * keymap.c (map_keymap_unsorted_mapper):
10511         * keymap.c (map_keymap_sort_predicate):
10512         * keymap.c (map_keymap_sorted):
10513         * keymap.c (accessible_keymaps_mapper_1):
10514         * keymap.c (where_is_recursive_mapper):
10515         * keymap.c (describe_map_mapper):
10516         * keymap.c (describe_map_sort_predicate):
10517         * keymap.c (describe_map):
10518         * keymap.c (complex_vars_of_keymap):
10519         And a number of other files, the key modifier preprocessor
10520         constants that xemacs uses have names that conflict with constants
10521         defined under MS Windows for other purposes, so they were renamed
10522         to begin with the prefix XEMACS_. The variables that hold such
10523         modifiers were changed to consistently be of type int to fix
10524         various compile warnings.
10525
10526         * console.c (complex_vars_of_console):
10527         * device.c:
10528         * device-msw.c:
10529         * device-msw.c (mswindows_finish_init_device):
10530         * device-msw.c (msw_get_workspace_coords):
10531         * device-msw.c (mswindows_device_system_metrics):
10532         and various other files, added support for a new
10533         device property called offset-workspace which returns the position
10534         of the upper left corner of the workspace area and goes along with
10535         the existing size-workspace property.
10536
10537         * dialog-msw.c:
10538         * dialog-msw.c (push_bufbyte_string_as_unicode):
10539         * dialog-msw.c (mswindows_popup_dialog_box):
10540         Added support for XEmacs-style accelerator specifications in
10541         button text.  Note: I didn't add support for this under X Windows,
10542         and somebody needs to do this.
10543
10544         * dialog.c:
10545         * dialog.c (Fpopup_dialog_box):
10546         Documented the support for accelerators that was just mentioned.
10547
10548         editfns.c (get_home_directory): Changed behavior under Windows
10549         when HOME not defined; former behavior was irretrievably broken.
10550
10551         * emacs.c:
10552         * emacs.c (main_1):
10553         * emacs.c (main):
10554         * minibuf.c (clear_echo_area_internal):
10555         * minibuf.c (echo_area_append):
10556         * print.c:
10557         * print.c (std_handle_out_external):
10558         * print.c (std_handle_out_va):
10559         * print.c (fatal):
10560         * print.c (write_string_to_stdio_stream):
10561         * print.c (output_string):
10562         * print.c (debug_print):
10563         * print.c (debug_backtrace):
10564         * print.c (debug_short_backtrace):
10565         Cleaned up the code that prints text to stdout so that this can be
10566         changed to output into a console window instead under MS Windows,
10567         as described above.
10568
10569         * eval.c:
10570         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10571         * eval.c (internal_catch):
10572         * eval.c (unwind_to_catch):
10573         * eval.c (throw_or_bomb_out):
10574         * eval.c (condition_case_1):
10575         * eval.c (signal_1):
10576         * eval.c (check_error_state_sanity):
10577         * eval.c (call_with_suspended_errors_1):
10578         * eval.c (call_with_suspended_errors):
10579         * eval.c (reinit_vars_of_eval):
10580         Added code to catch throw loops and check for a pesky bug that may
10581         be gone now.
10582
10583         * event-msw.c:
10584         * event-msw.c (key_needs_default_processing_p):
10585         * event-msw.c (mswindows_wnd_proc):
10586         * event-msw.c (mswindows_modifier_state):
10587         * event-msw.c (emacs_mswindows_quit_p):
10588         * event-msw.c (vars_of_event_mswindows):
10589         a) Added support for using the alt key to select menu items as is
10590         standard under MS Windows.  This is controlled using the variable
10591         menu-accelerator-enabled, just like under X Windows.  There is an
10592         option on the options menu to turn this support on.  I really
10593         think that it should be on by default under Windows, but I'm not
10594         going to make this change yet.
10595
10596         b)  Added support for dynamic display size changes under Windows.
10597
10598         * event-stream.c:
10599         * event-stream.c (maybe_echo_keys):
10600         * event-stream.c (Fnext_event):
10601         * event-stream.c (command_builder_find_leaf):
10602         * event-stream.c (lookup_command_event):
10603         * event-stream.c (execute_command_event):
10604         * event-stream.c (pre_command_hook):
10605         * event-stream.c (post_command_hook):
10606         * event-stream.c (syms_of_event_stream):
10607         * event-stream.c (vars_of_event_stream):
10608         * event-stream.c (complex_vars_of_event_stream):
10609         * events.h (struct command_builder):
10610
10611         a) Tried to clean up a little bit the horribly written x-specific
10612         accelerator code that crept into this file.  I moved this code
10613         into menubar-x.c where it belongs. I also needed to move the
10614         command builder structure into the file events.h because it is
10615         accessed directly by this accelerator code.  What I didn't do, but
10616         which should be done at some point, is to properly abstract this
10617         code using device methods instead of the kludgy way that it
10618         currently hooks into the event code.
10619
10620         b) Added the lisp variables this-command-properties and
10621         last-command- properties, which should be used to synchronize two
10622         adjacent commands in preference to playing games with the variable
10623         this-command, which is typically what happens.
10624
10625         c) Added some slightly nasty code to hook into the lisp support
10626         for shifted- motion-key selection.  This is actually necessary for
10627         somewhat complicated reasons, which are described in
10628         simple.el. (NB: I think the proper thing would be to have the code
10629         that calls the pre and post command hooks also call out to generic
10630         lisp functions in simple.el, where all built-in stuff could be
10631         added.  I will think about this more.)
10632
10633         * event-unixoid.c (poll_fds_for_input):
10634         * lread.c (readchar):
10635         * redisplay-tty.c (tty_clear_frame):
10636         * redisplay-x.c (x_get_gc):
10637         * signal.c (interrupt_signal):
10638         And a whole bunch of other files: fixed up places that printed
10639         directly to stderr to instead call the function stderr_out so that
10640         the changes I made under Windows work correctly.
10641
10642         * filemode.c (mode_string):
10643         Warning fixes.
10644
10645         * frame-msw.c:
10646         * frame-msw.c (mswindows_size_frame_internal):
10647         Fixed the computation of frame size and position to keep the frame
10648         within the workspace area, rather than within the physical
10649         dimensions of the screen, so that the frame doesn't overlap window
10650         manager decorations, such as the start menu and toolbar, typically
10651         at the bottom of the screen.
10652
10653         * frame.c (vars_of_frame):
10654         Changed the default frame title format under MS Windows to consist
10655         of buffername-XEmacs, which is standard under MS Windows.  I think
10656         it might be a good idea to change this everywhere because I think
10657         it is superior to the current frame title format, but this is the
10658         kind of change that is likely to cause some people to get annoyed,
10659         so I'm not making it.
10660
10661         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10662
10663         * gui-msw.c (mswindows_handle_gui_wm_command):
10664         Fixed compile warnings.
10665
10666         * gui-x.c:
10667         * gui-x.c (strdup_and_add_accel):
10668         * gui-x.c (button_item_to_widget_value):
10669         * gui-x.h:
10670         Added code to automatically put an accelerator onto the beginning
10671         of menu items that don't have one as is now the standard, and is
10672         described more later.  Also fixed things so that the menu item
10673         name can be an evaluated expression, again a new standard.
10674
10675         * gui.c:
10676         * gui.c (gui_item_add_keyval_pair):
10677         * gui.c (make_gui_item_from_keywords_internal):
10678         * gui.c (gui_add_item_keywords_to_plist):
10679         * gui.c (gui_item_accelerator):
10680         * gui.c (gui_name_accelerator):
10681         * gui.c (gui_item_included_p):
10682         * gui.c (gui_item_display_flush_left):
10683         * gui.c (gui_item_display_flush_right):
10684         * gui.c (parse_gui_item_tree_item):
10685         * gui.c (parse_gui_item_tree_children):
10686         * gui.c (parse_gui_item_tree_list):
10687         Mule-ized.  Cleanup.  GCPRO addition.
10688
10689         * line-number.c (buffer_line_number):
10690         * lisp.h:
10691         * lisp.h (EMACS_INT_MAX):
10692         Added the manifest constant EMACS_INT_MIN corresponding to the
10693         existing constant EMACS_INT_MAX.  This is partially to fix compile
10694         warnings under Windows, and partly for cleanliness.
10695
10696         * menubar-msw.c:
10697         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10698         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10699         * menubar-msw.c (displayable_menu_item):
10700         * menubar-msw.c (populate_menu_add_item):
10701         * menubar-msw.c (populate_or_checksum_helper):
10702         * menubar-msw.c (populate_menu):
10703         * menubar-msw.c (update_frame_menubar_maybe):
10704         * menubar-msw.c (prune_menubar):
10705         * menubar-msw.c (msw_char_is_accelerator):
10706         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10707         * menubar-msw.c (mswindows_handle_wm_command):
10708         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10709         * menubar-msw.c (mswindows_handle_wm_initmenu):
10710         * menubar-msw.c (mswindows_update_frame_menubars):
10711         * menubar-msw.c (mswindows_free_frame_menubars):
10712         * menubar-msw.c (mswindows_popup_menu):
10713         Fixed a bug in handling accelerators where an extra character
10714         would be displayed in the menu item.  Also generalized the
10715         function displayable_menu_item because it is now used by the
10716         dialog box code as well.  And finally, added code in the functions
10717         that create the menubar to extract a list of accelerators for the
10718         top level menubar, which is used in the event code to determine
10719         whether a particular alt-key combination should be used to invoke
10720         a menu item, or should be passed through to access the standard
10721         XEmacs keymap binding for this key combination.
10722
10723         Much needed GCPROing.
10724
10725         * menubar-x.c:
10726         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10727         * menubar-x.c (menu_item_descriptor_to_widget_value):
10728         * menubar-x.c (restore_in_menu_callback):
10729         * menubar-x.c (x_popup_menu):
10730         * menubar-x.c (menu_move_up):
10731         * menubar-x.c (menu_move_down):
10732         * menubar-x.c (menu_move_left):
10733         * menubar-x.c (menu_move_right):
10734         * menubar-x.c (menu_select_item):
10735         * menubar-x.c (command_builder_operate_menu_accelerator):
10736         * menubar-x.c (menu_accelerator_junk_on_error):
10737         * menubar-x.c (command_builder_find_menu_accelerator):
10738         * menubar-x.c (Faccelerate_menu):
10739         * menubar.h:
10740         Moved a whole bunch of code here that was previously in
10741         event-stream.c as described above.  There is also code connected
10742         to the new standard of adding an accelerator to the beginning of
10743         menu items that don't have one as described above and below.
10744
10745         * menubar.c:
10746         * menubar.c (menu_parse_submenu_keywords):
10747         * menubar.c (Fmenu_find_real_submenu):
10748         * menubar.c (Fnormalize_menu_item_name):
10749         * menubar.c (syms_of_menubar):
10750         * menubar.c (vars_of_menubar):
10751         * menubar.c (complex_vars_of_menubar):
10752
10753         a) Cleaned up a bunch of documentation and improved it.
10754
10755         b) XEmacs now automatically adds an accelerator onto the beginning
10756         of any menu items that don't have one.  I did this because there
10757         will inevitably be some menu items on the main menubar that don't
10758         have accelerators on them because the package that adds that
10759         particular menu item hasn't yet been fixed up to have accelerators
10760         in them and it looked rather strange to have some items with and
10761         some items without accelerators, especially since even in items
10762         without accelerators, you can, at least under windows, still
10763         access the item through an accelerator corresponding to the first
10764         character in the item's name.  If people don't like this behavior,
10765         I can add a variable to turn it off optionally, but I'm not sure
10766         this is a good idea because we really do need to have accelerators
10767         on all of the menu items, and if a package doesn't like the
10768         accelerators being put on the first character, then it should put
10769         the accelerators where they belong.
10770
10771         c) I made a behavior change, which is that the descriptor that
10772         specifies the text of the menu item, which formerly was just a
10773         string, can now also be an evaluated expression.  This makes this
10774         descriptor parallel with all of the others, which could also be
10775         evaluated expressions.  This also obviates the need for the
10776         keyword :label, which was previously listed in the documentation
10777         as unimplemented, and which was for the same purpose.
10778
10779         d) GCPROing.
10780
10781         * ntproc.c:
10782         * ntproc.c (new_child):
10783         * ntproc.c (sys_spawnve):
10784         * ntproc.c (find_child_console):
10785         * ntproc.c (sys_kill):
10786         Fixed compile warnings.  By the way, this file should really go
10787         away entirely, and this will happen as soon as Kirill makes his
10788         final round of process cleanups, which affect the function
10789         call-process.
10790
10791         * process-nt.c:
10792         * process-nt.c (struct nt_process_data):
10793         * process-nt.c (find_process_from_pid):
10794         * process-nt.c (send_signal_the_nt_way):
10795         * process-nt.c (enable_child_signals):
10796         * process-nt.c (find_child_console):
10797         * process-nt.c (send_signal_the_95_way):
10798         * process-nt.c (nt_finalize_process_data):
10799         * process-nt.c (ensure_console_window_exists):
10800         * process-nt.c (nt_create_process):
10801         * process-nt.c (nt_kill_child_process):
10802         * process-nt.c (nt_kill_process_by_pid):
10803         * process-nt.c (nt_open_network_stream):
10804         * process-nt.c (vars_of_process_nt):
10805         Copied over code from Emacs 20.5 to correctly send signals to sub-
10806         processes under Windows 95.  Also added code to automatically
10807         create and hide console window when a sub-process is created under
10808         Windows 95, which obviates the need for the separate runemacs.exe
10809         executable, and finally implemented some variables that were
10810         implemented in Emacs 20.5, but previously not in XEmacs.  These
10811         include mswindows- start-process-share-console and
10812         mswindows-start-process-inherit-error-mode. (Both of these only
10813         apply to Windows 95.)
10814
10815         * regex.c (regex_compile): Fixed a compile warning.
10816
10817         * select-msw.c:
10818         * select-msw.c (mswindows_own_selection):
10819         * select-msw.c (mswindows_get_foreign_selection):
10820         * select-msw.c (mswindows_disown_selection):
10821         * select-msw.c (console_type_create_select_mswindows):
10822         * select-msw.c (syms_of_select_mswindows):
10823         Cleaned up the file and implemented the device method
10824         selection_exists_p, which had accidentally been left out.  Also
10825         removed four lisp functions that were remnants from before the
10826         time when the selection code was properly device abstracted.
10827         These functions are no longer needed because there are generic
10828         equivalents, and because they were added recently and don't exist
10829         in FSF Emacs, I don't think there's any problem with just deleting
10830         them.
10831
10832         * sysdep.c:
10833         * sysdep.c (sys_subshell):
10834         Fixed a compile warning, although in this case there's probably
10835         something wrong with this code, and it ought to be looked into
10836         more thoroughly by somebody who understands it.
10837
10838         * window.c:
10839         * window.c (Fwindow_text_area_height):
10840         * window.c (Fwindow_width):
10841         * window.c (Fwindow_full_width):
10842         * window.c (Fwindow_pixel_width):
10843         * window.c (debug_print_window):
10844         * window.c (syms_of_window):
10845         Added functions window-text-area-height and window-full-width,
10846         which are functions for returning various width and height
10847         characteristics of a window. (One of these functions is necessary
10848         for making the file dialog box work correctly, and the other one
10849         was added for completeness.)  Also added a table to the
10850         documentation for window-height which describes the entire scheme
10851         for accessing width and height characteristics of a window.
10852
10853 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10854
10855         * nt.c (fstat): Added a comment for another problem with
10856         non-encapsulated [f]stat(), reported by Adrian Aichner
10857         <aichner@ecf.teradyne.com>.
10858
10859 2000-03-11  Andy Piper  <andy@xemacs.org>
10860
10861         * window.c (make_dummy_parent): initialize subwindow instance
10862         cache.
10863         (Fset_window_configuration): zero extent_modiff.
10864
10865 2000-03-10  Andy Piper  <andy@xemacs.org>
10866
10867         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10868         more changes can be triggered.
10869         (Fredisplay_frame): ditto.
10870         (Fredraw_device): ditto.
10871         (Fredisplay_device): ditto.
10872         (redisplay_frame): make non-static.
10873         (redisplay_frame): call update_frame_gutter_geometry outside of
10874         display proper.
10875
10876         * gutter.h: declare update_frame_gutter_geometry.
10877
10878         * redisplay.h: declare redisplay_frame.
10879
10880         * gutter.c (update_frame_gutter_geometry): move geometry changes
10881         in update_frame_gutters here. Geometry changes can only occur
10882         outside of redisplay.
10883         (update_frame_gutters): remove geometry change code.
10884         (Fredisplay_gutter_area): make sure that we are in display when we
10885         update and that we have flushed any size changes.
10886
10887 2000-03-11  Andy Piper  <andy@xemacs.org>
10888
10889         * alloc.c (pdump_dump_data): remove i & count shadows.
10890
10891 2000-02-27  Mike Alexander  <mta@arbortext.com>
10892
10893         * sysdep.h: Declare pdump_read_file
10894
10895         * sysdep.c (pdump_read_file): New function
10896
10897         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10898         dump data
10899
10900 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10901
10902         * lrecord.h: add `lrecord_type_pgsetenv'.
10903
10904 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10905
10906         * symsinit.h: declare (vars|syms)_of* functions.
10907         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10908
10909 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10910
10911         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10912
10913         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10914         GCCs.
10915
10916         * emacs.c (main_1): Call postgres initialization code.
10917
10918         * postgresql.h: New file.  PostgreSQL RDBMS support.
10919         * postgresql.c: New file.
10920
10921 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10922
10923         * redisplay-output.c (redisplay_output_display_block): Disable
10924         redundant code.
10925
10926 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10927
10928         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10929         (Fcanna_henkan_next): Ditto.
10930         (Fcanna_bunsetu_henkou): Ditto.
10931         (Fcanna_henkan_kakutei): Ditto.
10932         (Fcanna_henkan_end): Ditto.
10933         (Fcanna_henkan_quit): Ditto.
10934         (Fcanna_henkan_next): Set retun value correctly.
10935         (c2mu): Use unsigned char instead of signed char.
10936
10937 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10938
10939         * emacs.c (main_1): Always call syms_of_gui.
10940         * inline.c: include gui.h
10941
10942 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10943
10944         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10945         converted to Lisp_Object.
10946         (Qtop_bottom): New variable.
10947         (syms_of_redisplay): Initialize it.
10948         * redisplay.h (Vvisible_bell): Ditto.
10949         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10950         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10951         only flash top and bottom.
10952
10953 2000-03-08  Andy Piper  <andy@xemacs.org>
10954
10955         * buffer.c (Frename_buffer): record new buffer name the right way.
10956
10957 2000-03-08  Andy Piper  <andy@xemacs.org>
10958
10959         * glyphs.c (update_subwindow): increase hash depth so that widget
10960         items get picked up properly.
10961
10962         * redisplay-output.c (compare_runes): increase hash depth so that
10963         widget items get picked up properly.
10964
10965 2000-03-08  Andy Piper  <andy@xemacs.org>
10966
10967         * gutter.c (output_gutter): add some debug.
10968
10969         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10970         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10971         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10972
10973         * redisplay-output.c (compare_runes): use display_hash to
10974         determine if glyphs really are not the same.
10975
10976         * glyphs.c (update_subwindow): check display_hash to see if
10977         anything really needs to be updated. If not then do
10978         nothing. Record the display_hash after updating.
10979         (image_instance_equal): compare the image_instance face also.
10980
10981 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10982
10983         * redisplay.h: Fix comment style.
10984
10985 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10986
10987         * consle-msw.h (struct mswindows_frame):
10988         Added new member paint_pending to indicate whether a WM_PAINT
10989         magic event has been queued for this frame.
10990
10991         * event-msw.c (mswindows_drain_windows_queue):
10992         Don't queue a WM_PAINT magic event if one is already queued.
10993         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10994
10995         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10996
10997 2000-03-07  Didier Verna  <didier@xemacs.org>
10998
10999         * dired.c: #include `regex.h' after `sysfile.h'.
11000
11001 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11002
11003         * sound.c (init_nas_sound): Fix compiler warning.
11004
11005         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11006         (FREE_STRUCT_P):
11007         (MARK_STRUCT_AS_FREE):
11008         (MARK_STRUCT_AS_NOT_FREE):
11009         Make `gcc -fstrict-aliasing' work properly.
11010
11011 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11012
11013         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11014         (mswindows_delete_device): Call CoUnnitialize().
11015
11016         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11017
11018 2000-02-25    <CraigL@DyCon.com>
11019
11020         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11021         <errno.h>.
11022
11023         * sysdep.c: This extern declaration for environ prevents MinGW
11024         from finding the variable in CRTDLL.DLL.
11025
11026         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11027         windows headers.
11028         (SHGFI_EXETYPE): ..
11029         (WM_MOUSEWHEEL): ..
11030         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11031         definitions.
11032         (MMRESULT): Removed, now defined in cygwin's windows headers.
11033         (TIMECAPS): ..
11034         (uid_t,gid_t,pid_t,ssize_t): ..
11035         (_timeb): Removed, MinGW defines both _timeb and timeb.
11036         (HAVE_H_ERRNO): Added.
11037         (HAVE_TZNAME): Added, configure is not detecting this.
11038
11039 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11040
11041         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11042         * syntax.c (syntax_match): Use it.
11043
11044         * cmds.c: Import auto-fill-chars from FSF Emacs.
11045         (Vauto_fill_chars): New variables.
11046         (internal_self_insert): Check Vauto_fill_chars.
11047         (vars_of_cmds):
11048         Declare auto-fill-chars as a Lisp variable and initialize it.
11049
11050 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11051
11052         * fileio.c (Fmake_symbolic_link):
11053         (Ffile_symlink_p):
11054         Run handlers even if local machine doesn't have symlinks.
11055
11056 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11057
11058         * event-msw.c (mswindows_drain_windows_queue):
11059         Don't generate paint magic events for non-XEmacs frames.
11060
11061 2000-03-05  Andy Piper  <andy@xemacs.org>
11062
11063         * redisplay.c (redisplay_frame): generate_displayable_area and
11064         friends assumes that we are not in GC, we therefore have to make
11065         sure that this doesn't happen.
11066
11067         * gutter.c (calculate_gutter_size): generate_displayable_area
11068         assumes that we are not in GC, we therefore have to make sure that
11069         this doesn't happen.
11070
11071 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11072
11073         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11074
11075 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11076
11077         * redisplay.c (regenerate_window): Make sure we set a sane value
11078         for end_pos even if we jump out of the loop.
11079         (regenerate_window): Answer Ben's question :-).
11080         (start_end_of_last_line): Add may_error argument.
11081         (start_of_last_line):
11082         (end_of_last_line): Pass may_error = 0.
11083         (end_of_last_line_may_error): New function.
11084         (pixel_to_glyph_translation): Use it, so we don't crash in
11085         event_to_glyph.
11086
11087 2000-03-04  Andy Piper  <andy@xemacs.org>
11088
11089         * window.h (struct window): add gutter_extent_modiff.
11090
11091         * window.c (allocate_window): zero out gutter_extent_modiff.
11092
11093         * redisplay.h: declare sync_display_line_structs.
11094
11095         * redisplay.c (add_glyph_rune): add a better comment.
11096
11097         * redisplay-output.c (sync_display_line_structs): made non-static.
11098         (compare_runes): remove unneccesary glyph cachel access.
11099
11100         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11101
11102         * gutter.c (output_gutter): don't output the gutter if extent
11103         changes only involve extents in buffers. use 4 sets of display
11104         lines.
11105         (gutter_extent_signal_changed_region_maybe): new function. Mark
11106         extents in gutters as changed.
11107         (update_frame_gutters): use 4 sets of display lines.
11108         (reset_gutter_display_lines): ditto.
11109         (free_frame_gutters): ditto.
11110         (redraw_exposed_gutter): force output of gutters.
11111
11112         * frame.h (struct frame): add 4 sets of gutter display lines.
11113
11114         * extents.c: (extent_changed_for_redisplay): signal changes to
11115         extents in strings in the gutter as well as extents in buffers.
11116
11117 2000-03-02  Andy Piper  <andy@xemacs.org>
11118
11119         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11120
11121         * frame.c (Fmake_frame): make sure the gutters get initialized
11122         after the frame is visible.
11123         (set_frame_selected_window): re-arrange compilation macros a
11124         little.
11125         (change_frame_size_1): mark gutters changed.
11126
11127         * device.c (Fset_device_class): mark gutters changed.
11128
11129 2000-03-01  Andy Piper  <andy@xemacs.org>
11130
11131         * window.c (window_top_frame_gutter_height): deleted.
11132         (window_bottom_frame_gutter_height): ditto.
11133         (window_left_frame_gutter_height): ditto.
11134         (window_right_frame_gutter_height): ditto.
11135         (window_top_gutter_height): don't use them.
11136         (window_bottom_gutter_height): ditto.
11137         (window_left_gutter_width): ditto.
11138         (window_right_gutter_width): ditto.
11139         (Fsplit_window): ditto.
11140         (Fwindow_pixel_edges): don't use border dimensions here.
11141
11142         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11143         (update_scrollbar_instance): ditto.
11144
11145         * redisplay.c (generate_modeline): don't take gutters into account.
11146         (generate_modeline): ditto.
11147         (redisplay_frame): small gutter display optimization.
11148
11149         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11150
11151         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11152         gutters into account.
11153
11154         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11155         for window position and type.
11156
11157         * gutter.c (get_gutter_coords): fix for frame gutters.
11158         (update_frame_gutters): update frame geometry if the gutters have
11159         changed.
11160         (init_frame_gutters): record current gutter geometries.
11161
11162         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11163         var.
11164         (mswindows_widget_instantiate): ditto.
11165
11166         * frame.h (struct frame): add current_gutter_bounds.
11167
11168         * frame.c (change_frame_size_1): position window and minibuffer
11169         appropriately taking into account the frame gutters.
11170
11171         * frame-x.c: (x_initialize_frame_size): take into account the
11172         frame gutters.
11173
11174 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11175
11176         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11177
11178 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11179
11180         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11181
11182 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11183
11184         * file-coding.c (reset_decoding_stream): Clear previous
11185         detection state when autodetect.
11186
11187 2000-02-29  Didier Verna  <didier@xemacs.org>
11188
11189         * extents.c (set_extent_glyph_1): don't require extents to be
11190         attached.
11191
11192 2000-02-27  Andy Piper  <andy@xemacs.org>
11193
11194         * gutter.c (Fset_default_gutter_position): don't default left and
11195         right gutter visibility to t.
11196         (Fset_default_gutter_position): run
11197         default-gutter-position-changed-hook.
11198         (syms_of_gutter): add default-gutter-position-changed-hook.
11199
11200 2000-02-26  Andy Piper  <andy@xemacs.org>
11201
11202         * specifier.c (Fmake_specifier): add gutter references.
11203
11204         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11205
11206         * lisp.h: declare Fvalid_plist_p.
11207
11208         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11209         as changed.
11210         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11211         well as its visibility so that it gets reconstructed.
11212         (construct_window_gutter_spec): new function. Construct a string
11213         to be displayed in the gutter from a plist of strings. Take care
11214         to only use elements that are declared as visible.
11215         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11216         WINDOW_GUTTER.
11217         (gutter_validate): allow plists of strings in the specifier.
11218         (gutter_specs_changed): construct the real_gutter from the gutter
11219         specs using construct_window_gutter_spec.
11220         (gutter_visible_validate): gutter-visible is a new specifier type.
11221         (Fgutter_visible_specifier_p): new function for the new specifier.
11222         (syms_of_gutter): declare gutter-visible and
11223         Fgutter_visible_specifier_p.
11224         (specifier_type_create_gutter): intitalize new gutter-visible
11225         specifier.
11226         (reinit_specifier_type_create_gutter): ditto.
11227         (specifier_vars_of_gutter): use new specifier type for gutter
11228         visibility.
11229         (init_frame_gutters): construct real_gutter correctly.
11230         (Fgutter_specifier_p): beef up documentation.
11231         (Fgutter_size_specifier_p): ditto.
11232
11233         * winslots.h: add real_gutter slots.
11234
11235 2000-02-25  Andy Piper  <andy@xemacs.org>
11236
11237         * device-msw.c: Be kind to older cygwin versions. From Raymond
11238         Toy <toy@rtp.ericsson.se>.
11239
11240         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11241         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11242
11243 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11244
11245         * elhash.c (MARK_OBJ): Practice macro hygiene.
11246
11247 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11248
11249         * miscplay.c: s/__inline__/inline/g;
11250         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11251         (get_device_compdc): INLINE ==> static inline
11252         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11253         find -name '*.h' | \
11254         xargs global-replace \
11255         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11256
11257 2000-02-25  Andy Piper  <andy@xemacs.org>
11258
11259         * window.c (window_top_frame_gutter_height): new function.
11260         (window_top_window_gutter_height): ditto.
11261         (window_top_gutter_height): use them.
11262         (window_bottom_frame_gutter_height): new function.
11263         (window_bottom_window_gutter_height): ditto.
11264         (window_bottom_gutter_height): use them.
11265         (window_left_window_gutter_width): new function.
11266         (window_left_frame_gutter_width): ditto.
11267         (window_left_gutter_width): use them.
11268         (window_right_window_gutter_width): new function.
11269         (window_right_frame_gutter_width): ditto.
11270         (window_right_gutter_width): use them.
11271         (window_pixel_height): new function. calulate window pixel height
11272         with frame gutter involvement.
11273         (Fsplit_window): calculate new sizes taking frame gutters into
11274         account.
11275         (window_char_height_to_pixel_height): don't include frame gutters.
11276         (window_char_height): use window_pixel_height.
11277         (window_pixheight): rename from window_pixel_height.
11278         (change_window_height): use it.
11279         (window_pixel_height_to_char_height): don't include frame gutters.
11280         (window_char_width_to_pixel_width): ditto.
11281
11282 2000-02-25  Andy Piper  <andy@xemacs.org>
11283
11284         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11285         if it is.
11286
11287 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11288
11289         * alloc.c (staticpro):
11290         (staticpro_nodump):
11291         (dumpstruct):
11292         (dumpopaque):
11293         (pdump_wire):
11294         (pdump_wire_list):
11295         (compact_string_chars):
11296         (pdump_dump_wired):
11297         Convert:  if (foo) abort();  ==>  assert (! foo);
11298
11299         * eldap.c (Fldap_search_basic):
11300         (Fldap_add):
11301         (Fldap_modify):
11302         (Fldap_delete):
11303         Fix compiler warnings, and possible crashes if (random) return
11304         value were to be used.
11305
11306 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11307
11308         * device-msw.c: Workaround ResetDC failure.
11309
11310         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11311         applying a devmode.
11312
11313         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11314         (mswindows_text_width): Do not start printer page.
11315
11316         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11317
11318         * glyphs-msw.c: Added image methods to msprinter console and
11319         msprinter-specific image instantiation.
11320
11321 2000-02-20  Mike Alexander  <mta@arbortext.com>
11322
11323         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11324         to avoid crashes when selection-sets-clipboard is on
11325         (mswindows_own_selection): ditto
11326
11327 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11328
11329         * glyphs-msw.c:
11330         * redisplay-msw.c (get_frame_dc):
11331         (get_frame_compdc):
11332         * console-msw.h:
11333         * device-msw.c (mswindows_init_device):
11334         (mswindows_delete_device):
11335         (msprinter_init_device):
11336         (msprinter_delete_device):
11337         * frame-msw.c (mswindows_init_frame_1):
11338         (mswindows_delete_frame):
11339         (msprinter_init_frame_3):
11340         (msprinter_delete_frame): Move compatible DC to device object from
11341         frame object, for both mswindows and msprinter. Only one at a time
11342         is needed, it is a real waste to have one per frame!
11343
11344 2000-02-23  Andy Piper  <andy@xemacs.org>
11345
11346         * glyphs.c: add dynamic width and height elements.
11347         (image_instance_equal): ditto.
11348
11349         * glyphs-widget.c (widget_query_geometry): calculate width and
11350         height dynamically if required.
11351         (initialize_widget_image_instance): initialize dynamic dimensions.
11352         (widget_instantiate): pick-up dynamic dimensions.
11353
11354         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11355         dynamic determination. Add appropriate macros.
11356
11357         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11358         dimensions safe.
11359         (WINDOW_GUTTER_SIZE): ditto.
11360         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11361
11362         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11363         inline.
11364         (get_frame_dc): ditto.
11365
11366         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11367         here.
11368
11369 2000-02-23  Martin Buchholz <martin@xemacs.org>
11370
11371         * XEmacs 21.2.31 is released.
11372
11373 2000-02-22  Ben Wing <ben@xemacs.org>
11374
11375         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11376
11377 2000-02-22  Andy Piper  <andy@xemacs.org>
11378
11379         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11380
11381 2000-02-21  Mike Sperber <mike@xemacs.org>
11382
11383         * .dbxrc:
11384         * .gdbinit:
11385         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11386         variables.
11387
11388 2000-02-21  Mike Sperber <mike@xemacs.org>
11389
11390         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11391
11392 2000-02-21  Martin Buchholz <martin@xemacs.org>
11393
11394         * XEmacs 21.2.30 is released.
11395
11396 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11397
11398         Performance hacking.
11399         * *.c (syms_of_*):
11400         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11401         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11402         * emacs.c (main_1):
11403         * lisp.h (DEFUN):
11404         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11405         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11406         * symeval.h (DEFVAR_SYMVAL_FWD):
11407         * symbols.c (guts_of_unbound_marker):
11408         Make all c_readonly objects also lisp_readonly and marked for life.
11409         * lrecord.h (struct lrecord_implementation):
11410         Document flags better.
11411         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11412         * lrecord.h (DECLARE_LRECORD):
11413         * lrecord.h (XSETRECORD):
11414         * lrecord.h (RECORDP):
11415         * lrecord.h (RECORD_TYPEP):
11416         * lrecord.h (RECORD_MARKER): New.
11417         * lrecord.h (error_check_*):
11418         * lrecord.h (CONCHECK_NONRECORD):
11419         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11420         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11421         * lrecord.h (set_lheader_implementation):
11422         * lrecord.h (enum lrecord_type): New.
11423         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11424         * alloc.c (disksave_object_finalization_1):
11425         * alloc.c (mark_object):
11426         * alloc.c (lrecord_type_index):
11427         * alloc.c (tick_lcrecord_stats):
11428         * alloc.c (Fgarbage_collect):
11429         * alloc.c (init_alloc_once_early):
11430         * alloc.c (pdump_load):
11431         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11432         * alloc.c (lrecord_type_index): Delete.
11433         Make lisp object type indexes be constant.
11434           Makes (byte-compile) 5% faster.
11435         Put all marker functions into their own array.
11436           Makes (garbage-collect) 5% faster.
11437         Optimize SYMBOL_VALUE_MAGIC_P.
11438           Makes (byte-compile) 2-3% faster.
11439         * config.h.in (gc_checking_assert): New.
11440         * alloc.c: Use gc_checking_assert().
11441         * .dbxrc: Make compatible with new object type implementation.
11442         * .gdbinit: Make compatible with new object type implementation.
11443         * alloc.c: Delete all symbols defined only for debugging, such as
11444         Lisp_Type_Vector and lrecord_charset.
11445
11446 2000-02-21  Andy Piper  <andy@xemacs.org>
11447
11448         * gui-msw.c (Fmswindows_shell_execute): fix file location
11449         problems.
11450
11451         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11452         unshowing so that set_window_buffer doesn't undo
11453         kill_buffer_hook's hard work.
11454
11455         * glyphs-widget.c (tab_control_query_geometry): don't count the
11456         first item when calculating geometry.
11457
11458         * glyphs.c (map_subwindow): remove redundant code.
11459         (update_frame_subwindows): be more circumspect about when to
11460         update subwindows.
11461
11462         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11463         when items haven't changed. Update faces if faces have changed as
11464         well as just the widget face.
11465         (x_tab_control_update): Update faces if faces have changed as well
11466         as just the widget face.
11467
11468 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11469
11470         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11471         registration.
11472         (build_syscolor_string): Use mswindows_color_to_string to try to
11473         get a named color.
11474         (mswindows_device_system_metrics): Reverse the foreground and
11475         background colors so that they match the documentation.
11476
11477         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11478         they match the default Windows palette.
11479         (mswindows_color_to_string): New function.
11480
11481 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11482
11483         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11484
11485 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11486
11487         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11488         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11489
11490         * symbols.c (init_symbols_once_early): Removed obsolete
11491         DATA_SEG_BITS related kludge.
11492         (defvar_magic): Ditto.
11493
11494         * malloc.c: Removed obsolete DATA_SEG_BITS
11495         * ralloc.c: Ditto.
11496         * mem-limits.h: Ditto.
11497
11498         * Makefile.in.in: Removed obsolete HAVE_SHM
11499         * emacs.c: Ditto.
11500
11501 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11502
11503         *  device-msw.c (mswindows_delete_device): Free DDE string
11504         handles.
11505
11506 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11507
11508         * keymap.c (get_keyelt):
11509         * unexnt.c (unexec):
11510         * vm-limit.c (memory_warnings):
11511         * ntheap.c (recreate_heap):
11512         * ntheap.h (UNINIT_PTR):
11513         * select-msw.c (Fmswindows_get_clipboard):
11514         (Fmswindows_set_clipboard):
11515         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11516         * objects-msw.c:
11517         * menubar-msw.c (displayable_menu_item):
11518         * glyphs-msw.c:
11519         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11520         * sysdep.c (sys_subshell):
11521         * process-nt.c (nt_create_process):
11522         * nt.c (normalize_filename):
11523         (dostounix_filename):
11524         (unixtodos_filename):
11525         * ntproc.c (win32_executable_type):
11526         * ntplay.c (play_sound_data_1):
11527         (play_sound_file):
11528         * editfns.c (get_home_directory):
11529         * event-msw.c (struct winsock_stream):
11530         (mswindows_dde_callback):
11531         * device-msw.c (msprinter_init_device):
11532         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11533
11534         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11535         mswindows_clear_toolbar were swapped!
11536
11537         * objects-msw.c:(colormap_t):
11538         (fontmap_t):
11539         * emacs.c (struct standard_args): Fixed const jumble.
11540
11541         * glyphs-widget.c (update_widget): Fixed comparison notation.
11542
11543         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11544
11545         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11546         __declspec(noreturn) syntax.
11547
11548 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11549
11550         * eldap.c (Fldap_open):
11551         (Fldap_search_basic):
11552         (Fldap_add):
11553         (Fldap_modify):
11554         Use new coding system conversion macros.
11555
11556 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11557
11558         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11559
11560 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11561
11562         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11563         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11564
11565         * eldap.c (Qadd, Qreplace): New constant symbols
11566         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11567         interruptions by XEmacs signals
11568         Remove unnecessary calls to slow_down_interrupts and
11569         speed_up_interrupts
11570         (Fldap_search_basic): Renamed from Fldap_search_internal
11571         Added new optional parameter VERBOSE that triggers the
11572         display of progress messages
11573         Remove unnecessary calls to slow_down_interrupts and
11574         speed_up_interrupts
11575         LDAP result code analysis rewritten
11576         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11577         (syms_of_eldap): Define the new symbols and functions
11578
11579
11580 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11581
11582         * realpath.c: Determine PATH_MAX maximally portably.
11583
11584         * insdel.c (bytecount_to_charcount): Optimize.
11585         The function used to be optimized for entirely ASCII sequences.
11586         Now it is optimized for successive characters from the same
11587         charset.  This also wins big for _mostly_ ASCII sequences.
11588
11589         * fileio.c (Ffile_truename): convert return from realpath() using
11590         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11591         - Rewrite GCPROing slightly.
11592
11593         * sysdep.c (sys_open): Do filename conversion, like all other
11594         sys_* functions.  Fixes bug:
11595         (let ((file-name-coding-system 'iso-8859-2))
11596            (write-region x y latin2-name))
11597         ==> writes filename using internal encoding.
11598
11599 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11600
11601         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11602         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11603         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11604         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11605         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11606         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11607         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11608         (CONST_IF_NOT_DEBUG): Delete.
11609         * alloc.c (this_one_is_unmarkable): Delete.
11610         (mark_object): Don't check for this_one_is_unmarkable. Use the
11611         c_readonly flag instead.
11612         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11613
11614 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11615
11616         * event-msw.c (mswindows_drain_windows_queue):
11617         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11618         away redundant repaint events.
11619
11620 2000-02-17  Andy Piper  <andy@xemacs.org>
11621
11622         * redisplay.h: declare mark_redisplay_structs.
11623
11624         * redisplay.c (redisplay_window):
11625         (redisplay_frame): don't check subwindows_state_changed.
11626         (mark_redisplay): mark gutters here.
11627
11628         * glyphs.c: (instantiate_image_instantiator): always layout if we
11629         haven't done so already.
11630         (allocate_image_instance): don't mark as dirty.
11631         (update_subwindow): bind inhibit_quit.
11632
11633         * gutter.c (mark_gutters): new function.
11634
11635         * glyphs-x.c (x_update_widget): Always resize to get round a
11636         widget bug.
11637
11638         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11639         breaking absolutely everything.
11640
11641         * gutter.h: declare mark_gutters.
11642
11643 2000-02-16  Martin Buchholz <martin@xemacs.org>
11644
11645         * XEmacs 21.2.29 is released.
11646
11647 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11648
11649         * fns.c (size_bit_vector): Fix computation of the size.
11650
11651 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11652
11653         * *.[ch]: Change CONST to const globally.
11654         find -name '*.[ch]' | \
11655         xargs global-replace \
11656         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11657         - Remove vestigial references to CONST_IS_LOSING
11658
11659 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11660
11661         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11662         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11663         events instead of dispatching them directly.
11664         (mswindows_handle_paint): New function to do repainting.
11665         (mswindows_wnd_proc):
11666         (emacs_mswindows_handle_magic_event): Call above function.
11667
11668 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11669
11670         * objects-msw.c (mswindows_create_font_variant): Return the new
11671         font handle.
11672         (initialize_font_instance): Get font metrics from the underlined
11673         variant of the font to cope with the case where the underlined
11674         font has a bigger descent.
11675
11676 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11677
11678         * gui.c (gui_item_accelerator): Return the first underlined
11679         character in item name.
11680
11681 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11682
11683         * lisp.h: Added Qprinter.
11684
11685         * general.c (syms_of_general): Initialized it.
11686
11687         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11688         (get_frame_dc):
11689         (get_frame_compdc): Made inline.
11690
11691         * console.h (struct console_methods): Added eject_page method.
11692
11693         * frame.h: Added FRAME_DISPLAY_P and friends.
11694         Aligned backslahes in many macros in more readable fashion.
11695         Added page_number to struct frame, and an accessor macro
11696         for it.
11697
11698         * defice.h: Added DEVICE_DISPLAY_P and friends.
11699
11700         * device.c (Fdevice_printer_p): Used these.
11701
11702         * frame.c (allocate_frame_core): Initialize page number.
11703         (Fprint_job_page_number):
11704         (Fprint_job_eject_page): Implemented.
11705
11706         * frame-msw.c (msprinter_eject_page): Added method.
11707         (msprinter_start_page): Added.
11708
11709         * window.c (Fwindow_truncated_p): Fixed docstring.
11710         (Fwindow_last_line_visible_height): Implemented.
11711
11712 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11713
11714         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11715
11716 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11717
11718         * syntax.c (scan_words): Always advance at least one character.
11719
11720 2000-02-13  Andy Piper  <andy@xemacs.org>
11721
11722         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11723         to make sure the glyph is in the cachels.
11724
11725         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11726         global image instance flag.
11727         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11728         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11729
11730         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11731         (Fset_image_instance_property): mark layout as changed.
11732         (invalidate_glyph_geometry_maybe): mark layout as changed.
11733         (glyph_width): use new NEEDS_LAYOUT macro.
11734         (glyph_ascent): ditto.
11735         (glyph_descent): ditto.
11736         (glyph_height): ditto.
11737         (image_instance_layout): mark layout as clean after laying out.
11738         (update_subwindow): don't mark layout as clean here.
11739
11740         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11741         should no longer be needed.
11742
11743         * glyphs-x.c (x_update_widget): sanitize asserts.
11744         (x_finalize_image_instance): sanitize assignment to widgets.
11745
11746         * glyphs-widget.c (widget_instantiate): don't need to clear the
11747         layout flag here.
11748
11749 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11750
11751         * sysdep.c (getcwd): Use standard prototype.
11752         * sysdep.h (getcwd): Use standard prototype.
11753
11754         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11755         (sequence, start, end).
11756         Remove redundant type checking.
11757         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11758         view of `caller-protects') to avoid a crash where the real fix was
11759         found elsewhere.
11760
11761 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11762
11763         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11764
11765         * s/sol2.h: Remove feature macro initialization.
11766
11767         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11768         (vector_hash): New.  Code from internal_hash.
11769         * lrecord.h:
11770         Fix up allocation subsystem comments.
11771
11772         * config.h.in: Add __EXTENSIONS__ for Solaris.
11773
11774         * systime.h (EMACS_GETTIMEOFDAY): New.
11775         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11776         Remove Solaris-specific code.
11777         Use void* for the (ignored) second arg for gettimeofday().
11778
11779         * elhash.c (hash_table_hash): Implement it, finally.
11780         * elhash.c:  Use hashcode_t.
11781
11782         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11783         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11784
11785         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11786         * fns.c (size_bit_vector):
11787         * alloc.c (size_vector):
11788         (make_vector_internal):
11789         (make_bit_vector_internal):
11790         (sweep_bit_vectors_1):
11791         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11792
11793 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11794
11795         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11796         Include strings.h to avoid warnings for bzero and strcasecmp.
11797
11798 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11799
11800         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11801         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11802
11803         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11804         sequence.
11805
11806 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11807
11808         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11809         use a value field instead.
11810         (symbol_value_forward_forward): Use value field.
11811         (DEFVAR_SYMVAL_FWD): Use value field.
11812         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11813         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11814         (DEFVAR_CONST_INT): Ditto.
11815         (DEFVAR_BOOL): Ditto.
11816         (DEFVAR_CONST_BOOL): Ditto.
11817         (DEFVAR_INT_MAGIC): Ditto.
11818         (DEFVAR_BOOL_MAGIC): Ditto.
11819
11820         * symbols.c (guts_of_unbound_marker): Use value field.
11821         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11822         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11823
11824         * lisp.h: Declare dumpopaque and noninteractive1.
11825
11826         * alloc.c (dumpopaque): Added.
11827         (pdump_dump_opaquevec): Added.
11828         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11829         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11830         noninteractive.
11831
11832 2000-02-10  Andy Piper  <andy@xemacs.org>
11833
11834         * glyphs.c (image_instance_layout): if the size changes, mark it
11835         as such.
11836
11837         * redisplay-output.c (redisplay_output_layout): Update the
11838         subwindow here.
11839         (redisplay_output_subwindow): ditto.
11840
11841         * glyphs.c (update_subwindow): make sure we reset flags for
11842         layouts as well as everything else.
11843
11844         * glyphs-widget.c (layout_layout): don't need to set the instances
11845         dimensions here.
11846
11847 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11848
11849         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11850         not HAVE_DLOPEN, which is a lower-level thing.
11851
11852         * .cvsignore: Ignore gmon.out
11853
11854 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11855
11856         * .cvsignore: Ignore portable dumper xemacs.dmp file
11857
11858 2000-02-09  Andy Piper  <andy@xemacs.org>
11859
11860         * redisplay-output.c (redisplay_output_layout): be more clever
11861         about when we output based on the changed flags.
11862
11863         * glyphs.h (struct image_instantiator_methods): add update_method.
11864         (struct Lisp_Image_Instance): add changed flags. Declare new
11865         macros for manipulating them.
11866
11867         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11868         (image_instance_parent_glyph): find an image_instance's parent
11869         glyph or image_instance.
11870         (image_instance_layout): mark the size as changed.
11871         (set_image_instance_dirty_p): new function. mark an image
11872         instance, plus all of its parents, as dirty.
11873         (Fset_image_instance_property): use it.
11874         (Fglyph_animated_timeout_handler): use it.
11875         (update_subwindow): call update_widget and device methods for
11876         update_subwindow. Mark all changed flags as clean.
11877         (Fresize_subwindow): mark size as changed.
11878
11879         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11880         failures.
11881         (x_update_subwindow): only resize subwindows here.
11882         (x_update_widget): new function. Update all changed properties of
11883         a widget.
11884         (x_resize_subwindow): deleted.
11885         (x_widget_set_property): deleted.
11886         (x_progress_gauge_set_property): deleted.
11887         (x_progress_gauge_update): new function. Implement recorded
11888         changes.
11889         (x_tab_control_update): ditto.
11890         (x_tab_control_set_property): deleted.
11891         (console_type_create_glyphs_x): declare new functions.
11892         (image_instantiator_format_create_glyphs_x): ditto.
11893
11894         * glyphs-widget.c (widget_set_property): mark text changed.
11895         (update_widget): new function. Update properties of a widget.
11896         (widget_instantiate): for layouts make sure we set their
11897         children's parent correctly.
11898         (tab_control_set_property): new function. Record changes that will
11899         take place under redisplay's control.
11900         (progress_gauge_set_property): ditto.
11901         (image_instantiator_progress_guage): declare new functions.
11902         (image_instantiator_tab_control): ditto.
11903
11904         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11905         now.
11906         (mswindows_update_widget): new function. Update all properties on
11907         a widget that have changed.
11908         (mswindows_button_update): new function. Update a button's set
11909         state.
11910         (mswindows_tab_control_update): new function. Update the items in
11911         a tab.
11912         (mswindows_tab_control_set_property): deleted.
11913         (mswindows_progress_gauge_update): new function. Update the
11914         progress gauge's progress.
11915         (mswindows_widget_set_property): deleted. This is all done
11916         asynchronously now.
11917         (mswindows_progress_gauge_set_property): ditto.
11918         (console_type_create_glyphs_mswindows): declare new methods.
11919         (image_instantiator_format_create_glyphs_mswindows): ditto.
11920
11921         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11922         (msprinter_set_frame_properties): ditto.
11923
11924         * console.h (struct console_methods): Add update_widget_method.
11925
11926 2000-02-09  Andy Piper  <andy@xemacs.org>
11927
11928         * gui-msw.c (Fmswindows_shell_execute): Make
11929         mswindows-shell-execute industrial strength.
11930
11931 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11932
11933         * lrecord.h: Make macro argument `props' match member function `plist'.
11934         * fns.c (Fget):
11935         * fns.c (Fput):
11936         * fns.c (Fremprop):
11937         * fns.c (Fobject_plist):
11938         * alloc.c:
11939         * symbols.c:
11940         Object property list frobbing cleanup.
11941         - Allow any lisp object (compared with `eq'), not just symbols, as
11942           keys in object plists.
11943         - Move symbol plist frobbing into symbols.c, where it belongs.
11944         - Move string plist frobbing into alloc.c, where it belongs.
11945         - Everything's an lrecord now, so no need to test for symbolp, etc.
11946         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11947
11948         * extents.c: Reorder code to remove declarations.
11949
11950         * frame.h (store_in_alist): Remove useless declaration.
11951
11952 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11953
11954         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11955         * config.h.in: Add HAVE_XCONVERTCASE.
11956
11957 2000-02-07  Andy Piper  <andy@xemacs.org>
11958
11959         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11960         it breaks many things.
11961
11962 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11963
11964         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11965         actually can start a common comment type.
11966         * src/syntax.h (SYNTAX_END_P): ditto for end.
11967
11968 2000-02-07  Martin Buchholz <martin@xemacs.org>
11969
11970         * XEmacs 21.2.28 is released.
11971
11972 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11973
11974         * event-Xt.c (x_keysym_to_character): New.
11975         (maybe_define_x_key_as_self_inserting_character): New.
11976         (x_has_keysym): New.
11977         Auto-define all keys on the keyboard as self-insert-key.
11978
11979 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11980
11981         * menubar.c (vars_of_menubar): A small code simplification.
11982
11983         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11984
11985         * ExternalShell.c:
11986         * ExternalClient.c:
11987         * EmacsShell-sub.c:
11988         * EmacsManager.c:
11989         * EmacsFrame.c:
11990         Use consistent style for specifying X resources.
11991
11992         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11993         This makes (dontusethis-set-symbol-value-handler) actually usable.
11994
11995         * lrecord.h (lrecord_decription_type):
11996         * alloc.c (pdump_register_sub):
11997         (pdump_dump_data):
11998         (pdump_reloc_one):
11999         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12000         Comply with XEmacs coding style.
12001         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12002         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12003
12004         * keymap.c (Faccessible_keymaps):
12005         Make (accessible-keymaps map "\C-h") do the Right Thing.
12006         Make (accessible-keymaps map []) do the Right Thing.
12007         Make (accessible-keymaps map "") do the Right Thing.
12008         (check_keymap_definition_loop): New function.
12009         (keymap_store_internal): Keep luser from shooting self in foot,
12010           via (define-key ctl-x-4-map "p" global-map).
12011         Remove fullness slot from struct Lisp_Keymap, since hash tables
12012         are now reliable.
12013         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12014
12015 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12016
12017         * redisplay.c (init_redisplay): Fix small memory leak.
12018         * elhash.h:
12019         * elhash.c (pdump_reorganize_hash_table):
12020         Rename from reorganize_hash_table. Change prototype.
12021         Reuse the original memory for hentries.  Save 100k.
12022         * alloc.c (PDUMP_READ): new macro.
12023         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12024         * alloc.c: No need to #ifndef before #undef.
12025
12026         * print.c: Allow debug_print() to print readably by modifying
12027         debug_print_readably.  Use consistent variable names.
12028
12029         * .dbxrc: Try to get things to work even if stopped in a function
12030         without source available by explicitly specifying source files.
12031 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12032
12033         * unexnt.c (_start): Removed bogus code which caused loading heap
12034         from differrent executable file.
12035         Removed bogus assignment to _fmode, which caused inconsistencies.
12036
12037 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12038
12039         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12040         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12041         Do not preliminary `#define signal sigset'.
12042
12043         * systime.h: Do not prototype environ on windows nt and cygwin,
12044         this conflicts with system header.
12045
12046         * syssignal.h: Use correct define for WINDOWSNT
12047
12048         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12049         with system header.
12050
12051         * sysdep.c (near start of file): Fixed commentary and rearranged
12052         ifdefs in readable order.
12053         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12054         (start_of_text):
12055         (end_of_text):
12056         (end_of_data): Do not compile in if using PDUMP.
12057
12058         * symsinit.h: Prototyped vars_of_nt().
12059
12060         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12061         (find_child_console): Use it.
12062         (sys_kill): Use it.
12063
12064         * ntheap.h: Do not extern os_subtype.
12065
12066         * ntheap.c (cache_system_info): Do not cache unneeded:
12067         nt_major_version, nt_minor_version and os_subtype.
12068         (recreate_heap): Do not compile in when PDUMPing.
12069
12070         * nt.c (geteuid and friends): Use the new varibale
12071         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12072         (init_user_info): Removed the above mentioned hackery.
12073         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12074         stat has been fixed in the C runtime.
12075         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12076
12077         * file-coding.c (struct file_coding_dump): Do not define
12078         ucs_to_mule_table in the struct if not MULE.
12079         (struct struct lrecord_description fcd_description_1): Do not dump
12080         the above.
12081
12082         * emacs.c (main_1): Call vars_of_nt().
12083         (right before Fdump_emacs_data): Don't need lastfile if using both
12084         portabe dumper and system malloc.
12085
12086         * alloc.c (Fmemory_limit): Conditionalized out.
12087         (pdump): Use OPEN_BINARY for the portable dump file.
12088         (pdump_load): Ditto.
12089
12090 2000-02-02  Mike Alexander  <mta@arbortext.com>
12091
12092         * nt.c (convert_time): Set tm_isdst before calling mktime and
12093         avoid calling it at all if the compiler supports 64 bit integers.
12094         Also initialize utc_base_ft before using it.
12095
12096 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12097
12098         * frame.c (change_frame_size_1): Take f->internal_border_width
12099         into consideration when calculating the width of the frame.
12100
12101 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12102
12103         * window.c (frame_min_height):
12104         (frame_size_valid_p):
12105         (frame_pixsize_valid_p): Added.
12106         (check_frame_size): Generalized.
12107
12108         * window.h: Prototyped the above.
12109
12110         * lisp.h:
12111         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12112         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12113         Deleted Vwin32_* and Vbinary_process_* unused variables.
12114
12115         * device-msw.c (msprinter_init_device): Do not get printer font
12116         list; Added DEVMODE functions.
12117
12118         * frame-msw.c: Added lots of printer code.
12119
12120         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12121         general.c.
12122
12123         * console-msw.h: Added more msprinter device private slots.
12124
12125 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12126
12127         * event-msw.c (key_needs_default_processing_p): Added.
12128         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12129
12130 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12131
12132         * glyphs.c (image_instance_layout): Mark image instance as clean
12133         after layout.
12134         (glyph_dirty_p): Removed redundant function.
12135         (invalidate_glyph_geometry_maybe): Added.
12136         (update_glyph_cachel_data): Call it.
12137
12138         * glyphs.h: Prototyped it.
12139
12140         * redisplay.c (add_glyph_rune): Call it.
12141         (redisplay_window): Reset glyphs cachels when frame faces have
12142         changed, thus forcing recomputation of built-in border glyphs.
12143
12144 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12145
12146         * Makefile.in.in: Make portable dumper and purify play well together.
12147         Add imperfect, but better than nothing, support for pdump.
12148         Remove xemacs.dmp when temacs is re-generated.
12149         Don't ignore errors when dumping xemacs.
12150
12151         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12152
12153 2000-01-28  Andy Piper  <andy@xemacs.org>
12154
12155         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12156         (setup_normal_frame): ditto.
12157         (setup_frame_without_minibuffer): ditto.
12158         (setup_minibuffer_frame): ditto.
12159         (delete_frame_internal): ditto.
12160         (Fmake_frame_invisible): ditto.
12161         (Ficonify_frame): ditto.
12162
12163         * window.h: change Fset_window_buffer signature.
12164
12165         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12166         (Fset_window_buffer): allow recording of buffer if the window is
12167         the selected window.
12168         (window_loop): Use new Fset_window signature.
12169
12170 2000-01-23  Daniel Pittman  <daniel@danann.net>
12171
12172         * config.h.in: Added template for `HAVE_ATHENA_3D'
12173
12174 2000-01-29  Andy Piper  <andy@xemacs.org>
12175
12176         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12177
12178         * gutter.c (output_gutter): Don't output if the window isn't live.
12179
12180 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12181
12182         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12183         of 01/12/00: Moved SetFocus back here where it belongs.
12184
12185 2000-01-23  Andy Piper  <andy@xemacs.org>
12186
12187         * s/cygwin32.h: declare printer things.
12188
12189 2000-01-26  Andy Piper  <andy@xemacs.org>
12190
12191         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12192         Alexander.
12193
12194 2000-01-24  Andy Piper  <andy@xemacs.org>
12195
12196         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12197         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12198
12199         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12200
12201         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12202
12203         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12204
12205         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12206         (mswindows_output_display_block): Avoid local shadows.
12207
12208         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12209         (mswindows_enqueue_mouse_button_event): ditto.
12210         (mswindows_handle_gui_wm_command): remove declaration.
12211
12212         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12213         warnings.
12214
12215         * console-msw.h: Avoid shadows.
12216         (mswindows_get_toolbar_button_text):
12217         (emacs_mswindows_create_stream_pair):
12218         (emacs_mswindows_delete_stream_pair):
12219         (mswindows_handle_toolbar_wm_command): declare.
12220
12221         * device-msw.c (build_syscolor_string): Avoid shadows.
12222
12223 2000-01-23  Andy Piper  <andy@xemacs.org>
12224
12225         * glyphs-widget.c (widget_instantiate): reverse the items for
12226         layouts so that children are in the expected order.
12227
12228 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12229
12230         * ralloc.c: safe_bcopy ==> memmove
12231         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12232         * s/msdos.h: Remove BCOPY macros.
12233         * insdel.c (gap_right): Remove BCOPY conditional code.
12234         * insdel.c (gap_left): Remove BCOPY conditional code.
12235         XEmacs demands a working ANSI C compiler - hence memmove.
12236
12237         * regex.c (regex_compile): Remove accidental use of trigraphs.
12238
12239 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12240
12241         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12242         event timestamp.
12243
12244 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12245
12246         * event-msw.c (mswindows_drain_windows_queue): Added the
12247         parameter.
12248         (mswindows_need_event): Commented the call to
12249         mswindows_drain_windows_queue().
12250         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12251         only.
12252
12253         * console-msw.h: Moved a few function prototypes here from
12254         event-msw.c.
12255
12256         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12257         parameter from unsigned short to unsigned long.
12258         (Fmswindows_shell_execute): Added return value.
12259
12260 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12261
12262         * sysdep.c (init_system_name):
12263           process-unix.c (unix_canonicalized_host_name):
12264         Don't call freeaddrinfo() if getaddrinfo() fails.
12265
12266         * process-unix.c (unix_open_unix_network_stream):
12267         Moved the code to get a port # into address loop.
12268
12269 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12270
12271         * buffer.c (reinit_vars_of_buffer):
12272         The right place to initialize conversion_in_dynarr and
12273         conversion_out_dynarr.
12274
12275         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12276
12277         * process-unix.c (unix_canonicalize_host_name): Muleize.
12278         (unix_open_network_stream): Muleize.
12279
12280         * buffer.h: Fix up prototypes for ralloc.c functions.
12281
12282 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12283         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12284         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12285                 instead of gethostbyname()
12286         * process-unix.c: In unix_canonicalize_host_name() and
12287                 unix_open_network_stream(), add code to use getaddrinfo()
12288                 instead of gethostbyname().
12289
12290 2000-01-27  Daniel Pittman <daniel@danann.net>
12291
12292         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12293         libs when built with flat Athena.
12294
12295 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12296
12297         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12298         Use coding standards for function prototypes.
12299
12300 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12301
12302         * dialog-msw.c (push_lisp_string_as_unicode):
12303         * doc.c (unparesseuxify_doc_string):
12304         * dired.c (Fuser_name_completion_1):
12305         * dired.c (Fuser_name_all_completions):
12306         * dired.c (free_user_cache):
12307         * dired.c (user_name_completion):
12308         * console-x.c (get_display_arg_connection):
12309         * minibuf.c (clear_echo_area_internal):
12310         * minibuf.c (echo_area_append):
12311         * eldap.c (Fldap_open):
12312         * eldap.c (Fldap_search_internal):
12313         * frame-x.c (x_set_frame_text_value):
12314         * frame-x.c (x_set_frame_properties):
12315         * frame-x.c (x_create_widgets):
12316         * redisplay-tty.c (term_get_fkeys_1):
12317         * objects-x.c (x_parse_nearest_color):
12318         * objects-x.c (x_valid_color_name_p):
12319         * objects-x.c (x_initialize_font_instance):
12320         * objects-x.c (x_list_fonts):
12321         * objects-x.c (x_find_charset_font):
12322         * tooltalk.c (Fadd_tooltalk_message_arg):
12323         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12324         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12325         * process-unix.c (unix_create_process):
12326         * ntproc.c (sys_spawnve):
12327         * sound.c (Fplay_sound_file):
12328         * sound.c (Fplay_sound):
12329         * buffer.c (init_initial_directory):
12330         * buffer.c (init_buffer):
12331         * editfns.c (init_editfns):
12332         * editfns.c (Ftemp_directory):
12333         * editfns.c (Fuser_full_name):
12334         * editfns.c (uncache_home_directory):
12335         * editfns.c (get_home_directory):
12336         * editfns.c (Fuser_home_directory):
12337         * editfns.c (Fformat_time_string):
12338         * editfns.c (Fcurrent_time_string):
12339         * gui-x.c (button_item_to_widget_value):
12340         * database.c (Fopen_database):
12341         * event-Xt.c (x_to_emacs_keysym):
12342         * event-Xt.c (x_event_to_emacs_event):
12343         * event-Xt.c (describe_event_window):
12344         * event-msw.c (mswindows_wnd_proc):
12345         * glyphs-eimage.c (jpeg_instantiate):
12346         * glyphs-eimage.c (gif_instantiate):
12347         * glyphs-eimage.c (png_instantiate):
12348         * glyphs-eimage.c (tiff_instantiate):
12349         * glyphs-x.c (xbm_instantiate_1):
12350         * glyphs-x.c (x_xbm_instantiate):
12351         * glyphs-x.c (x_xface_instantiate):
12352         * glyphs-x.c (autodetect_instantiate):
12353         * glyphs-x.c (cursor_font_instantiate):
12354         * glyphs-x.c (x_widget_instantiate):
12355         * glyphs-x.c (x_widget_set_property):
12356         * glyphs-x.c (x_widget_property):
12357         * glyphs-x.c (BUILD_GLYPH_INST):
12358         * print.c (write_string_to_stdio_stream):
12359         * print.c (output_string):
12360         * print.c (Falternate_debugging_output):
12361         * print.c (Fexternal_debugging_output):
12362         * glyphs-msw.c (extract_xpm_color_names):
12363         * glyphs-msw.c (mswindows_xpm_instantiate):
12364         * glyphs-msw.c (bmp_instantiate):
12365         * glyphs-msw.c (resource_name_to_resource):
12366         * glyphs-msw.c (mswindows_resource_instantiate):
12367         * glyphs-msw.c (xbm_instantiate_1):
12368         * glyphs-msw.c (mswindows_xbm_instantiate):
12369         * glyphs-msw.c (mswindows_xface_instantiate):
12370         * glyphs-msw.c (mswindows_widget_instantiate):
12371         * glyphs-msw.c (add_tree_item):
12372         * glyphs-msw.c (add_tab_item):
12373         * glyphs-msw.c (mswindows_combo_box_instantiate):
12374         * glyphs-msw.c (mswindows_widget_property):
12375         * glyphs-msw.c (mswindows_combo_box_property):
12376         * glyphs-msw.c (mswindows_widget_set_property):
12377         * console.c (stuff_buffered_input):
12378         * objects-msw.c (mswindows_initialize_color_instance):
12379         * objects-msw.c (mswindows_valid_color_name_p):
12380         * objects-msw.c (mswindows_list_fonts):
12381         * objects-msw.c (mswindows_font_instance_truename):
12382         * bytecode.c (optimize_compiled_function):
12383         * select-x.c (symbol_to_x_atom):
12384         * select-x.c (x_atom_to_symbol):
12385         * select-x.c (hack_motif_clipboard_selection):
12386         * select-x.c (selection_data_to_lisp_data):
12387         * select-x.c (lisp_data_to_selection_data):
12388         * select-x.c (Fx_get_cutbuffer_internal):
12389         * select-x.c (Fx_store_cutbuffer_internal):
12390         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12391         * buffer.h (TO_INTERNAL_FORMAT): New function.
12392         * emacs.c (make_arg_list_1):
12393         * emacs.c (make_argc_argv):
12394         * emacs.c (main_1):
12395         * emacs.c (Fdump_emacs):
12396         * emacs.c (split_string_by_emchar_1):
12397         * file-coding.h:
12398         * lisp.h:
12399         * lstream.h:
12400         * symsinit.h:
12401         * device-x.c (x_init_device):
12402         * device-x.c (Fx_valid_keysym_name_p):
12403         * device-x.c (Fx_get_font_path):
12404         * device-x.c (Fx_set_font_path):
12405         * glyphs.c (bitmap_to_lisp_data):
12406         * glyphs.c (pixmap_to_lisp_data):
12407         * alloc.c (make_ext_string): Use coding system arguments.  Update
12408         all callers.
12409         * alloc.c (build_string):
12410         * callproc.c (child_setup):
12411         * callproc.c (init_callproc):
12412         * fileio.c (lisp_strerror):
12413         * fileio.c (directory_file_name):
12414         * fileio.c (Fexpand_file_name):
12415         * fileio.c (Ffile_truename):
12416         * fileio.c (Fsysnetunam):
12417         * fileio.c (Fdo_auto_save):
12418         * sysdep.c (sys_readdir):
12419         * tests.c: New file.  Allow adding C tests.
12420         Replace GET_* macros with a more comprehensible and flexible
12421         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12422         Modify all calls.
12423         Any coding system can be used to do format conversion.
12424         Eliminate enum external_data_format.
12425         Eliminate convert_to_external_format.
12426         Eliminate convert_to_internal_format.
12427         Make sure file-name, keyboard, terminal, and ctext are always
12428         defined as coding systems or aliases.  Make
12429         file-name-coding-system, terminal-coding-system, and
12430         keyboard-coding-system magical variables that are equivalent to
12431         defining the corresponding coding system aliases.
12432
12433         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12434         * file-coding.c (Fcoding_system_alias_p): New function.
12435         * file-coding.c (Fcoding_system_aliasee): New function.
12436         * file-coding.c (append_suffix_to_symbol): New function.
12437         * file-coding.c (dangling_coding_system_alias_p): New function.
12438         * file-coding.c (Ffind_coding_system):
12439         * file-coding.c (Fcopy_coding_system):
12440         * file-coding.c (encode_coding_no_conversion):
12441         * file-coding.c (syms_of_file_coding):
12442         * file-coding.c (vars_of_file_coding):
12443         Rewrite coding system alias code.
12444         Allow nested aliases, like symbolic links.
12445         Allow redefinition of coding system aliases.
12446         Prevent existence of dangling coding system aliases.
12447
12448         * dired.c (Fuser_name_completion_1):
12449         * dired.c (Fuser_name_all_completions):
12450         A crash would happen if user did QUIT in the middle of building
12451         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12452
12453         * lisp.h:
12454         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12455
12456         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12457         an unsigned char *.  Update all callers.
12458
12459 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12460
12461         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12462
12463 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12464
12465         * elhash.c (hentry_description): Use more portable definition.
12466         (resize_hash_table): Initialize new hentries using
12467         xnew_array_and_zero, thereby simplifying the code.
12468
12469         * mule-charset.c (make_charset): Make sure entire object is
12470         initialized, to avoid Purify warnings.
12471
12472         * alloc.c (resize_string): Fix unlikely crash with big strings.
12473
12474 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12475
12476         * realpath.c (xrealpath):
12477         Don't call getwd().
12478
12479 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12480
12481         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12482
12483 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12484
12485         * unexelfsgi.c (unexec): Change the way we decide which segment
12486         should be extended.
12487
12488         Assumption that .bss section should be outside the PT_LOADable
12489         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12490         it's present) is inside the 'data' segment. This would fail the
12491         test which was used to find a segment to grow and cover new
12492         heap. Instead of this assumption, I created another one - on IRIX
12493         the segment to grow should start below .bss and it's address
12494         should extent above the end of .bss. Once this segment is
12495         identified, it's grown to accommodate the new heap and new
12496         zero-length .bss section is added at the end of .data2.
12497
12498 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12499
12500         * eval.c (Feval): Wrong number of arguments should use original
12501         function, not the indirect_function version of it.
12502
12503 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12504
12505         * glyphs-x.c (x_button_instantiate): Don't add image if
12506         it is not a pixmap.
12507         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12508         is relative.
12509
12510 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12511
12512         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12513         declaration.
12514         (DEFVAR_INT_MAGIC): Ditto.
12515         (DEFVAR_BOOL_MAGIC): Ditto.
12516         * glyphs.h: Reindent backslash.
12517
12518 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12519
12520         * glyphs-widget.c (layout_query_geometry):
12521         (layout_layout): Use correct types for gheight, gwidth.
12522
12523 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12524
12525         * EmacsManager.c (QueryGeometry): Purified.
12526
12527 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12528
12529         * alloc.c (make_float): Make sure entire object is initialized, to
12530         avoid Purify warnings.
12531         (pdump_register_sub): Remove useless assignment.
12532         (pdump): Use xmalloc, not malloc.
12533         (pdump_load): Use xmalloc, not malloc.
12534
12535 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12536
12537         * callproc.c:
12538         * dired-msw.c:
12539         * fileio.c:
12540         * process-nt.c:
12541         * redisplay-msw.c:
12542         * sysdep.c: Removed redundant #include <windows.h>
12543
12544 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12545
12546         * frame.c (delete_frame_internal): Do not delete device when its
12547         implementation so declares.
12548         (delete_frame_internal): Set device selected frame to nil when
12549         last frame goes away.
12550
12551         * device-msw.c (msprinter_device_system_metrics): Implemented.
12552         (mswindows_device_system_metrics): Added 'device-dpi property.
12553
12554         * device.c: (Fdevice_printer_p): Added.
12555         Added 'offset-workspace device metric.
12556
12557         * console.h (device_metrics): Declared DM_offset_workspace.
12558
12559 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12560
12561         * fileio.c (Ffile_truename): Remove pointless and confusing
12562         initialization of elen.
12563
12564         * glyphs-widget.c: Compiler warning fixes.
12565
12566 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12567
12568         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12569         instead of a Lisp_Object as argument to make it consistent with
12570         the other LIVE_P macros.
12571         (CHECK_LIVE_PROCESS): New macro.
12572
12573         * process.c: Declare Qprocess_live_p.
12574         (Fprocess_live_p): New function.
12575         (create_process): Use PROCESS_LIVE_P.
12576         (read_process_output): Ditto.
12577         (set_process_filter): Ditto.
12578         (Fdelete_process): Ditto.
12579         (kill_buffer_processes): Ditto
12580         (process_send_signal): Use CHECK_LIVE_PROCESS.
12581         (Fprocess_input_coding_system): Check whether process is still
12582         alive (fix PR#1061).
12583         (Fprocess_output_coding_system): Ditto.
12584         (Fprocess_coding_system): Ditto.
12585         (Fset_process_input_coding_system): Ditto.
12586         (Fset_process_output_coding_system): Ditto.
12587
12588 2000-01-23  Andy Piper  <andy@xemacs.org>
12589
12590         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12591         layout and widget.
12592
12593         * glyphs.c (mark_image_instance): take into account changed
12594         image_instance format.
12595         (image_instance_equal): ditto.
12596         (image_instance_hash): ditto.
12597
12598         * glyphs-widget.c (widget_instantiate): Incorporate layout
12599         instantiation here. Delay layout of the layout until later.
12600         (layout_instantiate): deleted.
12601         (layout_query_geometry): new function. get the geometry of a
12602         layout.
12603         (layout_layout): layout a layout dynamically.
12604         (image_instantiator_widget): New function - splitting up
12605         image_instantiator_format_create_glyphs_widget for netwinder
12606         compilation.
12607         (image_instantiator_buttons):
12608         (image_instantiator_edit_fields):
12609         (image_instantiator_combo_box):
12610         (image_instantiator_scrollbar):
12611         (image_instantiator_progress_guage):
12612         (image_instantiator_tree_view):
12613         (image_instantiator_tab_control):
12614         (image_instantiator_labels):
12615         (image_instantiator_layout): ditto.
12616         (image_instantiator_format_create_glyphs_widget): Call preceding
12617         functions.
12618
12619 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12620
12621         * process.c (Fset_process_coding_system):
12622         * device-x.c (Fx_keysym_hash_table):
12623         Docstring fixes.
12624
12625         * lstream.c (Lstream_write): Return documented value, not 0.
12626
12627         * fileio.c (directory_file_name):
12628         (Fsubstitute_in_file_name):
12629         (Fsubstitute_insert_file_contents_internal):
12630         (Fwrite_region_internal):
12631         * emacs.c:
12632         * sysdep.c:
12633         * getloadavg.c:
12634         * systty.h:
12635         Remove vestigial APOLLO-conditional code.
12636
12637 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12638
12639         * getpagesize.h: Add guard macros.
12640         * libsst.h: Add guard macros.
12641         * libst.h: Add guard macros.
12642         * line-number.h: Add guard macros.
12643         * ndir.h: Add guard macros.
12644         * sysfloat.h: Add guard macros.
12645         * sysfile.h: Add guard macros.
12646         * sysproc.h: Add guard macros.
12647         * syswait.h: Add guard macros.
12648         * xintrinsic.h: Add guard macros.
12649         * xintrinsicp.h: Add guard macros.
12650         * xmmanager.h: Add guard macros.
12651         * xmmanagerp.h: Add guard macros.
12652         * xmprimitive.h: Add guard macros.
12653         * xmu.h: Add guard macros.
12654         * gpmevent.h: Add copyright statement. Add guard macros.
12655         * miscplay.h: Add guard macros.
12656         * *.h: Use consistent C-standards-approved guard macro names.
12657
12658         * opaque.c (make_opaque): Switch parameter order.
12659         * opaque.h (make_opaque): Switch parameter order.
12660         Update all callers.
12661         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12662
12663         * config.h.in (type_checking_assert): Added.
12664         (bufpos_checking_assert): Added.
12665
12666 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12667
12668         * alloc.c: Harmless pdump changes.
12669         - Use countof().
12670         - spell alignment correctly.
12671         * sysdep.c: Use countof()
12672
12673 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12674
12675         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12676         initially_selected_for_input() console method, default to 0.
12677         (semi_canonicalize_console_connection): Try to delegate to
12678         canonicalize_console_connection if no such console method.
12679         (canonicalize_console_connection): Vice versa.
12680         (print_console): Do not print nil connection.
12681
12682         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12683         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12684         (XDEVIMPF_FRAMELESS_OK): Added.
12685         (CONSOLE_INHERITS_METHOD): Added.
12686
12687         * console-msw.c (mswindows_canonicalize_console_connection):
12688         Added.
12689         (mswindows_canonicalize_device_connection): Added.
12690
12691         * console-msw.h (struct msprinter_device): Added this struct and
12692         accessor macros.
12693         (mswindows_device): Made fontlist a lisp object.
12694
12695         * device.c (semi_canonicalize_device_connection):  Try to delegate
12696         to canonicalize_device_connection if no such console method.
12697         (canonicalize_device_connection): Vice versa.
12698         (print_device): Do not print nil connection.
12699
12700         * device-msw.c (mswindows_init_device): Call InitCommonControls
12701         when have widgets.
12702         (mswindows_delete_device): Removed fontlist deallocation.
12703         (mswindows_mark_device): Added.
12704
12705         * events.c (event_equal): Added abort() at unreached code.
12706         (event_hash): Ditto.
12707
12708         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12709         fallback tags of Windows devices.
12710
12711         * general.c (syms_of_general): Initialized Qmsprinter.
12712
12713         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12714         of fallback tags of Windows devices.
12715
12716         * lisp.h: Declared Qmsprinter.
12717
12718         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12719         of strings.
12720         (mswindows_list_fonts): Ditto.
12721         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12722         that it can be used by both mswindows and msprinter devices.
12723         (initialize_font_instance): Added.
12724         (mswindows_initialize_font_instance): Use it.
12725         (msprinter_initialize_font_instance): Added.
12726
12727         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12728         and implementation flags check.
12729         (redisplay_without_hooks): Changed the call to the above.
12730         (Fredraw_device): Ditto.
12731         (Fredisplay_device): Ditto.
12732
12733         * redisplay-msw.c (get_frame_dc): Implemented.
12734         (get_frame_compdc): Implemented.
12735         (many functions): Use the two functions above to get device
12736         contexts, ether for a window or a printer.
12737
12738 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12739
12740         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12741         initialization here.
12742         (init_symbols_once_early): Call it.
12743         * emacs.c (main_1): Call it.
12744         * symsinit.h: Declare it.
12745
12746 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12747
12748         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12749         Lisp_Object.
12750         (pdump_backtrace): Ditto.
12751         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12752         (pdump_get_entry): Abort if trying to register a null pointer.
12753         (pdump_dump_data): Cleanup types when relocating.
12754         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12755         (pdump_dump_rtables): Remove bad casts.
12756         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12757         Lisp_Object instead of a EMACS_INT for the hashtable
12758         reorganization.
12759
12760 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12761
12762         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12763
12764         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12765
12766         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12767
12768         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12769
12770 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12771
12772         * faces.h (FACE_STRIKETHRU_P): Added.
12773
12774         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12775         of font variants.
12776
12777         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12778         (mswindows_set_dc_font): New function, aware of font variants,
12779         separated from mswindows_update_dc.
12780
12781         * objects-msw.h (struct mswindows_font_instance_data): Added
12782         definition.
12783
12784         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12785         cached fonts and the data structure.
12786         (mswindows_initialize_font_instance): Added creation of font data
12787         structure.
12788         (mswindows_print_font_instance): Print at least something.
12789         (mswindows_create_font_variant): Implemented.
12790         (mswindows_get_hfont): Implemented.
12791
12792 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12793
12794         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12795         prototyping problem with msvc.
12796
12797         * emacs.c (main_1): added syms_of_gui_mswindows() call
12798
12799         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12800         syms_of_gui_mswindows() function
12801
12802         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12803
12804 2000-01-18  Martin Buchholz <martin@xemacs.org>
12805
12806         * XEmacs 21.2.27 is released.
12807
12808 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12809
12810         * glyphs-eimage.c (struct tiff_error_struct):
12811         (tiff_error_func):
12812         (tiff_warning_func):
12813         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12814
12815         * unexmips.c:
12816         * unexhp9k3.c:
12817         * unexfreebsd.c:
12818         * unexec.c: Remove vestigial Lucid C code.
12819         * unexalpha.c:
12820         * unexaix.c:
12821         * termcap.c:
12822         * libsst.c: Ansify.
12823         Remove declarations of errno and strerror().
12824
12825         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12826
12827         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12828
12829 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12830
12831         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12832         Optimize.
12833
12834 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12835
12836         * md5.c:
12837         * file-coding.c:
12838         * file-coding.h:
12839         Change enum eol_type to eol_type_t.
12840
12841 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12842
12843         * gui.c (get_gui_callback): Check cons before accessing car.
12844
12845 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12846
12847         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12848         (XSETSPECIFIER_TYPE): Ditto.
12849
12850 2000-01-17  Didier Verna  <didier@xemacs.org>
12851
12852         * redisplay.c (generate_fstring_runes): compute string size in
12853         characters, not bytes.
12854
12855 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12856
12857         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12858
12859 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12860
12861         * print.c (print_error_message): Call print_prepare().
12862
12863 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12864
12865         * .dbxrc: Renamed from dbxrc.
12866
12867         * events.c (event_to_character):
12868         Use `assert (foo)' instead of `if (!foo) abort()'
12869
12870         * .gdbinit (xtype): Add documentation.
12871         * .gdbinit (check-temacs): New function.
12872         * .gdbinit (check-xemacs): New function.
12873         * dbxrc (check-xemacs): New function.
12874         * dbxrc (check-xemacs): New function.
12875
12876 2000-01-14  Andy Piper  <andy@xemacs.org>
12877
12878         * glyphs-widget.c (widget_query_geometry): Make sure that we
12879         calculate default dimensions correctly.
12880
12881 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12882
12883         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12884
12885         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12886         pdump_wire'd variable.
12887
12888         * emacs.c: (main_1): Conditionalized calls to
12889         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12890
12891 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12892
12893         * window.c (Fset_window_configuration):
12894         * sysdep.c (_start):
12895         * input-method-motif.c (res):
12896         * event-Xt.c (Xt_process_to_emacs_event):
12897         Simple compiler warning fixes.
12898
12899         * bytecode.c (funcall_compiled_function): Use the original
12900         function symbol on the backtrace list in preference to the
12901         compiled_function object in error messages.
12902
12903 2000-01-13  Andy Piper  <andy@xemacs.org>
12904
12905         * glyphs-x.c (update_widget_face): Make sure we update the widget
12906         background as well as foreground.
12907
12908 2000-01-13  Andy Piper  <andy@xemacs.org>
12909
12910         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12911         fields to subwindow.
12912         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12913         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12914         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12915         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12916
12917         * glyphs-widget.c (check_valid_tab_orientation): new function.
12918         (initialize_widget_image_instance): zero orientation and
12919         justification.
12920         (widget_instantiate): pick up orientation.
12921         (tab_control_query_geometry): return appropriate values for
12922         vertical tabs.
12923
12924         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12925         appropriate creation flags for left, right and bottom tabs.
12926
12927         * s/cygwin32.h: add tab definitions.
12928
12929 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12930
12931         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12932         frame upon hiding a subwindow.
12933         (mswindows_button_instantiate): Changed the push button style to
12934         BS_PUSHBUTTON.
12935         (mswindows_button_instantiate): Removed button BS_NOTIFY
12936         style.
12937         (mswindows_button_instantiate): Removed redundant check for
12938         a disabled gui item.
12939         (mswindows_button_instantiate): Made use of WS_TABSTOP
12940         consistent: "operable" controls (edit, button, tree, scroll) have
12941         this style, "display-only" ones (static, progress gauge) do
12942         not. This style is currently ignored by XEmacs though. Also,
12943         removed the WS_EX_CONTROLPARENT style - it is not for children,
12944         it is for their parents!
12945         (mswindows_edit_field_instantiate): Ditto.
12946         (mswindows_progress_gauge_instantiate): Ditto.
12947         (mswindows_tree_view_instantiate): Ditto.
12948         (mswindows_tab_control_instantiate): Ditto.
12949         (mswindows_scrollbar_instantiate): Ditto.
12950         (mswindows_combo_box_instantiate): Ditto.
12951         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12952         style to the "clip" window.
12953         (mswindows_button_instantiate): Removed compilation warning by
12954         equally typing terms of the ?: operator.
12955
12956 2000-01-12  Didier Verna  <didier@xemacs.org>
12957
12958         * redisplay.c (generate_fstring_runes): new parameter holding the
12959         last modeline-format extent.
12960         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12961         extent, fill the glyph block with it.
12962         (generate_fstring_runes): handle these parameters.
12963         (generate_formatted_string_db): ditto.
12964
12965         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12966         glyphs'extents in the modeline.
12967
12968 1999-01-11  Mike Woolley  <mike@bulsara.com>
12969
12970         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12971         256Mb, as a workaround for the non-starting problem many people
12972         have experienced.
12973
12974 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12975
12976         * console-tty.c (Fset_console_tty_output_coding_system):
12977         Force redrawing tty frame.
12978
12979 2000-01-10  Didier Verna  <didier@xemacs.org>
12980
12981         * redisplay.c (generate_fstring_runes): fix size computation bug.
12982
12983 2000-01-09  William M. Perry <wmperry@aventail.com>
12984
12985         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12986
12987 2000-01-09  Andy Piper  <andy@xemacs.org>
12988
12989         * glyphs-msw.c: index -> i to avoid shadows.
12990         (xbm_create_bitmap_from_data): make static.
12991         (check_valid_string_or_int): deleted.
12992         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12993
12994         * glyphs-x.c (x_update_subwindow): remove unused args.
12995
12996         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12997         back pointer - this is done in allocate_image_instance.
12998         (query_string_font): return Qnil to make the compiler happy.
12999         (unmap_subwindow): set to ~0 to make the compiler happy.
13000         (glyph_query_geometry): comment out until used.
13001         (glyph_layout): ditto.
13002
13003 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13004
13005         * insdel.c (signal_after_change): Remove extraneous unbind_to().