643cab967256dd90b658438328df02d74261bfbd
[chise/xemacs-chise.git-] / src / ChangeLog
1 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
4
5         * text-coding.c (Vcoded_charset_entity_reference_alist): New
6         variable.
7         (Quse_entity_reference): New variable.
8         (Qd): New variable.
9         (Qx): New variable.
10         (QX): New variable.
11         (coding_system_description): Add description for
12         `ccs_priority_list'.
13         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
14         (allocate_coding_system): Initialize `ccs_priority_list' in
15         UTF-2000.
16         (Fmake_coding_system): Add description about
17         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
18         (codesys).
19         (Fcoding_system_property): Accept `disable-composition' and
20         `use-entity-reference' in UTF-2000.
21         (struct decoding_stream): Add new member `er_counter' and `er_buf'
22         in UTF-2000.
23         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
24         (decode_coding_utf8): Decode entity-reference if
25         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
26         (char_encode_utf8): Encode non-Unicode characters as
27         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
28         (str->codesys).
29         (syms_of_file_coding): Add new symbols `use-entity-reference',
30         `d', `x', `X'.
31         (vars_of_file_coding): Add new variable
32         `coded-charset-entity-reference-alist'.
33         (complex_vars_of_file_coding): Declare `disable-composition' and
34         `use-entity-reference' to be coding-system-properties in UTF-2000.
35
36         * file-coding.h (struct Lisp_Coding_System): Add new member
37         `use_entity_reference' and `ccs_priority_list'.
38         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
39         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
40         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
41
42 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
43
44         * chartab.c (save_uint8_byte_table): Don't clear the table.
45         (save_uint16_byte_table): Likewise.
46         (save_byte_table): Likewise.
47         (Fmount_char_attribute_table): New function.
48         (syms_of_chartab): Add new builtin function
49         `mount-char-attribute-table'.
50
51 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * mule-charset.c (Fsave_charset_mapping_table): Open database as
54         "w+" mode.
55         (load_char_decoding_entry_maybe): Open database as read-only mode.
56
57         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
58         open database as "w+" mode.
59         (load_char_attribute_maybe): Open database as read-only mode.
60         (Fload_char_attribute_table): Likewise.
61
62 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
63
64         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
65         (char_table_description): Delete member `db_file'.
66         (Fmake_char_table): Don't refer `ct->db_file'.
67         (Fcopy_char_table): Likewise.
68         (Fsave_char_attribute_table): Likewise.
69         (Fclose_char_attribute_table): Likewise.
70         (Freset_char_attribute_table): Likewise.
71         (load_char_attribute_maybe): Likewise.
72         (Fload_char_attribute_table): Likewise.
73
74         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
75
76 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
77
78         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
79         (Fsave_char_attribute_table): Don't check `ct->db_file' if
80         `ct->db' is living.
81         (load_char_attribute_maybe): Likewise.
82         (Fload_char_attribute_table): Likewise.
83
84 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
85
86         * chartab.c (Fclose_char_attribute_table): Set Qnil on
87         `ct->db_file' unconditionally.
88
89 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
90
91         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
92         UTF-2000.
93         (char_table_description): Add description for `db_file' and `db'
94         in UTF-2000.
95         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
96         UTF-2000.
97         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
98         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
99         (Fclose_char_attribute_table): New function.
100         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
101         (load_char_attribute_maybe): Change interface; use `cit->db_file'
102         and `cit->db'.
103         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
104         (syms_of_chartab): Add new builtin function
105         `Fclose_char_attribute_table'.
106
107 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
108
109         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
110         `db' in UTF-2000.
111         (load_char_attribute_maybe): Change interface.
112         (get_char_id_table): Modify for `load_char_attribute_maybe'.
113
114 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
115
116         * database.h: Add an EXFUN for `Fdatabase_live_p'.
117
118 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
119
120         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
121         instead of `DECODE_CHAR' for mother; don't use special code for
122         chinese-big5 to use code space of chinese-big5-1 and
123         chinese-big5-2.
124         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
125         `MAX_CHAR_BIG5_CDP' for chinese-big5.
126
127         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
128         (MAX_CHAR_BIG5_CDP): Revival.
129
130 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
131
132         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
133         the XLFD registry-encoding name of `chinese-big5'.
134
135 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
136
137         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
138         (Qchinese_big5_cdp): Deleted.
139         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
140         (complex_vars_of_mule_charset): Delete coded-charset
141         `chinese-big5-cdp'.
142
143         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
144         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
145         `CHARSET_ID_OFFSET - n' for private CCS.
146         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
147         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
148         of `MIN_LEADING_BYTE'.
149         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
150         `(CHARSET_ID_OFFSET - 97)'.
151         (MIN_CHAR_BIG5_CDP): Deleted.
152         (MAX_CHAR_BIG5_CDP): Deleted.
153
154 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
155
156         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
157
158 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
159
160         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
161         (vars_of_mule): Add new variable `utf-2000-version' [moved from
162         chartab.c].
163
164         * chartab.c (Vutf_2000_version): Moved to mule.c.
165         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
166
167 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
168
169         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
170         when HAVE_CHISE_CLIENT is not defined.
171
172         * mule.c (vars_of_mule): Provide feature `chise' when
173         HAVE_CHISE_CLIENT is defined.
174
175 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
176
177         * config.h.in (UTF2000): Add comment.
178         (HAVE_CHISE_CLIENT): New macro.
179
180 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
181
182         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
183         CONSP.
184         (Fput_char_attribute): Likewise.
185         (char_attribute_system_db_file): Encode file-name of attribute.
186         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
187         the initial value.
188
189 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
190
191         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
192         (Fsave_charset_mapping_table): Use
193         `char_attribute_system_db_file'.
194         (load_char_decoding_entry_maybe): Likewise.
195
196         * chartab.h (Qsystem_char_id): New external variable.
197         (char_attribute_system_db_file): New prototype.
198
199         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
200         (char_attribute_system_db_file): New function.
201         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
202         (Freset_char_attribute_table): Likewise.
203         (load_char_attribute_maybe): Likewise.
204         (Fload_char_attribute_table): Likewise.
205         (syms_of_chartab): Add new symbol `system-char-id'.
206
207 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
208
209         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
210         `XCHARSET_GRAPHIC(ccs)'.
211
212 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
213
214         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
215
216 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
217
218         * chartab.c (Q_ucs_variants): New variable.
219         (syms_of_chartab): Add new symbol `->ucs-variants'.
220         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
221         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
222         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
223
224         * mule-charset.c (load_char_decoding_entry_maybe): New function.
225
226         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
227         `HAVE_DATABASE' is defined.
228         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
229         `HAVE_DATABASE' is defined.
230
231 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
232
233         * chartab.c (Fsave_char_attribute_table): Don't clear internal
234         attribute-table.
235         (Freset_char_attribute_table): New function.
236         (syms_of_chartab): Add new builtin function
237         `reset-char-attribute-table'.
238
239 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
240
241         * chartab.c (load_char_attribute_maybe): Don't make directories.
242
243 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
244
245         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
246
247         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
248         for decoding-table.
249
250 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
251
252         * mule-charset.c (Fsave_charset_mapping_table): Use
253         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
254
255         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
256         instead of `XCHARSET_CHARS'.
257
258 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
259
260         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
261         (XCHARSET_BYTE_SIZE): Likewise.
262
263         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
264         mule-charset.c].
265         (XCHARSET_BYTE_SIZE): Likewise.
266
267 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
268
269         * chartab.c (Fput_char_attribute): Use exec-directory instead of
270         data-directory to store database.
271         (Fsave_char_attribute_table): Likewise.
272         (load_char_attribute_maybe): Likewise.
273         (Fload_char_attribute_table): Likewise.
274
275 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
276
277         * mule-charset.c (Fsave_charset_mapping_table): New function.
278         (syms_of_mule_charset): Add new builtin function
279         `save-charset-mapping-table'.
280
281 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * char-ucs.h (decoding_table_check_elements): Delete prototype.
284         (get_ccs_octet_table): New inline function.
285         (put_ccs_octet_table): Likewise.
286         (decoding_table_put_char): Use `get_ccs_octet_table' and
287         `put_ccs_octet_table'.
288         (decoding_table_remove_char): Use `decoding_table_put_char'.
289         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
290
291         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
292         into encoding_table.
293         (make_charset): Use Qunbound instead Qnil as initial value of
294         decoding_table.
295
296 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
297
298         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
299         element is Qunloaded.
300         (map_over_uint16_byte_table): Likewise.
301         (map_over_byte_table): Likewise.
302         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
303         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
304         database support, load encoding-table of the specified
305         coded-charset if it is not loaded yet.
306         (save_uint8_byte_table): New function of UTF-2000 with external
307         database support.
308         (save_uint16_byte_table): Likewise.
309         (save_byte_table): Likewise.
310         (Fput_char_attribute): Don't store value into external database
311         even if the external database feature is supported in UTF-2000;
312         set `attribute' as name of char-table if the external database
313         feature is supported.
314         (Fsave_char_attribute_table): New function in UTF-2000.
315         (syms_of_chartab): Add new builtin function
316         `save-char-attribute-table' in UTF-2000.
317
318 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
319
320         * chartab.c (char_attribute_table_to_put): New variable in
321         UTF-2000.
322         (Qput_char_table_map_function): Likewise.
323         (value_to_put): Likewise.
324         (Fput_char_table_map_function): New function in UTF-2000.
325         (put_char_table): Use `Fmap_char_attribute' for
326         CHARTAB_RANGE_CHARSET in UTF-2000.
327         (Fput_char_attribute): Store symbol instead of string in
328         `XCHAR_TABLE_NAME (table)'.
329         (load_char_attribute_maybe): Likewise.
330         (syms_of_chartab): Add new symbol/function
331         `put-char-table-map-function'.
332
333 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
334
335         * database.h: Add new EXFUN for `Fmap_database'.
336
337         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
338         (syms_of_database): Likewise.
339
340         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
341         UTF-2000.
342         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
343         (XCHAR_TABLE_UNLOADED): Likewise.
344
345         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
346         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
347         HAVE_DATABASE is defined.
348         (char_attribute_table_to_load): New variable of UTF-2000 with
349         external database support.
350         (Qload_char_attribute_table_map_function): Likewise.
351         (Fload_char_attribute_table_map_function): New function of
352         UTF-2000 with external database support.
353         (Fload_char_attribute_table): New function of UTF-2000.
354         (Fmap_char_attribute): Call Fload_char_attribute_table if
355         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
356         (syms_of_chartab): Add new symbol and function
357         `load-char-attribute-table-map-function' in UTF-2000 with external
358         database support; add new function `load-char-attribute-table' in
359         UTF-2000.
360
361 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * chartab.h (load_char_attribute_maybe): New prototype for
364         UTF-2000 with DATABASE support.
365         (get_char_id_table): Use `load_char_attribute_maybe' if
366         HAVE_DATABASE is defined.
367
368         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
369         with DATABASE support.
370
371 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * chartab.c (Fput_char_attribute): Use S-expression as key of
374         external database.
375
376         * chartab.h (get_char_id_table): Use S-expression as key of
377         external database.
378
379 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
380
381         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
382         if an element is not loaded, load the corresponding attributes
383         from an external database.
384         (map_over_uint16_byte_table): Likewise.
385         (map_over_byte_table): Likewise.
386         (map_char_table): Modify for `map_over_uint8_byte_table',
387         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
388         element is not loaded, load the corresponding attributes from an
389         external database.
390         (Fput_char_attribute): Change initial values to Qunloaded.
391
392         * chartab.h (get_char_id_table): If a character attribute is not
393         loaded and the attribute value is not found in an external
394         database, store Qunbound as the attribute value.
395
396 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
397
398         * chartab.c (BT_UINT8_unloaded): New macro.
399         (UINT8_VALUE_P): Accept Qunloaded.
400         (UINT8_ENCODE): Likewise.
401         (UINT8_DECODE): Likewise.
402         (BT_UINT16_unloaded): New macro.
403         (UINT16_VALUE_P): Accept Qunloaded.
404         (UINT16_ENCODE): Likewise.
405         (UINT16_DECODE): Likewise.
406         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
407         BT_UINT16_unloaded.
408         (mark_char_table): Mark `ct->name' in UTF-2000.
409         (char_table_description): Add `name' in UTF-2000.
410         (Fmake_char_table): Initialize `ct->name'.
411         (Fcopy_char_table): Copy `ct->name'.
412         (Fput_char_attribute): Store value into an external database if
413         HAVE_DATABASE is defined.
414
415         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
416         UTF-2000.
417         (CHAR_TABLE_NAME): New macro in UTF-2000.
418         (XCHAR_TABLE_NAME): New macro in UTF-2000.
419         (get_char_id_table): Try to read an external database if Qunloaded
420         is stored in a table.
421
422         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
423         Qunloaded.
424
425 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
426
427         * database.h: Add EXFUN definitions for Fopen_database,
428         Fput_database, Fget_database and Fclose_database.
429
430         * data.c (Qunloaded): New variable in UTF-2000.
431
432         * lisp.h (Qunloaded): New variable in UTF-2000.
433
434 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
435
436         * mule-charset.c (put_char_ccs_code_point): Modify for
437         `decoding_table_remove_char' and `decoding_table_put_char'.
438         (remove_char_ccs): Modify for `decoding_table_remove_char'.
439
440         * char-ucs.h (decoding_table_remove_char): Change arguments to
441         hide decoding_table vector.
442         (decoding_table_put_char): Likewise.
443
444 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
445
446         * mule-charset.c (decoding_table_remove_char): Moved to
447         char-ucs.h.
448         (decoding_table_put_char): Likewise.
449
450         * char-ucs.h (decoding_table_check_elements): New prototype [moved
451         from mule-charset.c].
452         (decoding_table_remove_char): New inline function [moved from
453         mule-charset.c].
454         (decoding_table_put_char): Likewise.
455
456 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
457
458         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
459         extension.
460
461 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
462
463         * mule-charset.c (decode_builtin_char): Support mother charsets.
464
465 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
466
467         * mule-charset.c (Q94x94x60): New variable.
468         (charset_code_point): Support conversion `94x94x60'.
469         (Fmake_charset): Likewise.
470         (syms_of_mule_charset): Add new symbol `94x94x60'.
471
472         * char-ucs.h (CONVERSION_94x94x60): New macro.
473
474 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
475
476         * mule-charset.c (charset_code_point): Unify code about
477         `code-offset'.
478
479 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
480
481         * mule-charset.c (charset_code_point): Merge code about builtin
482         characters into code about mother charsets; don't use
483         `range_charset_code_point'.
484         (range_charset_code_point): Deleted.
485
486 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
487
488         * mule-charset.c (Qcode_offset): New variable.
489         (Fmake_charset): Use `XUINT' to get value of `min-code' and
490         `max-code'; accept new property `code-offset'.
491         (syms_of_mule_charset): Add new symbol `code-offset'.
492
493 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
494
495         * mule-charset.c (range_charset_code_point): Fixed.
496
497 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
498
499         * mule-charset.c (decode_builtin_char): Change semantics of
500         code-offset of coded-charset.
501         (charset_code_point): Likewise.
502         (range_charset_code_point): Likewise.
503         (complex_vars_of_mule_charset): Modify for the change.
504
505 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * mule-charset.c (Fencode_char): Reverse arguments.
508
509         * mule-charset.c (charset_code_point): Fixed.
510
511 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
512
513         * mule-charset.c (Vcharset_mojikyo): Deleted.
514         (Vcharset_mojikyo_2022_1): Deleted.
515         (Vcharset_mojikyo_pj_{1..21}): Deleted.
516         (Qmin_code): New variable in UTF-2000.
517         (Qmax_code): Likewise.
518         (Qmother): Likewise.
519         (Qconversion): Likewise.
520         (Q94x60): Likewise.
521         (Qmojikyo): Deleted.
522         (Qmojikyo_2022_1): Deleted.
523         (Qmojikyo_pj_{1..22}): Deleted.
524         (mark_charset): Mark `cs->mother'.
525         (charset_description): Add description for `mother'.
526         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
527         new arguments `mother' and `conversion'; use
528         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
529         (charset_code_point): Moved from char-ucs.h; support `mother'
530         charset feature.
531         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
532         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
533         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
534         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
535         allow 2 as the value of `graphic' in UTF-2000; add new properties
536         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
537         require `final' in UTF-2000; modify for `make_charset'.
538         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
539         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
540         (Fcharset_property): Support `mother', `min-code' and `max-code'.
541         (Fencode_char): New function.
542         (syms_of_mule_charset): Add new builtin function `encode-char' in
543         UTF-2000; add new symbols `min-code', `max-code', `mother',
544         `conversion' and `94x60'; delete symbols `mojikyo',
545         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
546         (complex_vars_of_mule_charset): Modify for `make_charset' change;
547         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
548         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
549
550         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
551         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
552
553         * char-ucs.h (Vcharset_mojikyo): Deleted.
554         (Vcharset_mojikyo_2022_1): Deleted.
555         (LEADING_BYTE_MOJIKYO): Deleted.
556         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
557         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
558         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
559         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
560         add new member `mother'; add new member `conversion'.
561         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
562         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
563         (CHARSET_MOTHER): New macro.
564         (CHARSET_CONVERSION): New macro.
565         (CONVERSION_IDENTICAL): New macro.
566         (CONVERSION_94x60): New macro.
567         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
568         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
569         (XCHARSET_MOTHER): New macro.
570         (XCHARSET_CONVERSION): New macro.
571         (MIN_CHAR_MOJIKYO): Deleted.
572         (MAX_CHAR_MOJIKYO): Deleted.
573         (DECODE_MOJIKYO_2022): Deleted.
574         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
575         (charset_code_point): Changed to non-inline function.
576         (encode_char_1): Use `charset_code_point'.
577         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
578
579 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * lread.c (read_compiled_function): Fix prototype.
582         (read_vector): Likewise.
583
584 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
585
586         * lrecord.h (struct lrecord_header): Delete `older'.
587         (set_lheader_implementation): Delete code for `older'.
588         (set_lheader_older_implementation): Deleted.
589         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
590         (OLDER_RECORD_P): Deleted.
591         (OLDER_RECORD_HEADER_P): Deleted.
592         (alloc_older_lcrecord): Deleted.
593         (alloc_older_lcrecord_type): Deleted.
594
595         * alloc.c (all_older_lcrecords): Deleted.
596         (alloc_older_lcrecord): Deleted.
597         (disksave_object_finalization_1): Delete code for older objects.
598         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
599         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
600
601 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * mule-charset.c (decoding_table_put_char): Use `make_vector'
604         instead of `make_older_vector'.
605         (put_char_ccs_code_point): Likewise.
606         (mark_charset): Mark `cs->decoding_table'.
607         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
608
609         * lisp.h (make_older_vector): Deleted.
610         (make_vector_newer): Deleted.
611
612         * config.h.in (HAVE_GGC): Deleted.
613
614         * alloc.c (make_older_vector): Deleted.
615         (make_vector_newer_1): Deleted.
616         (make_vector_newer): Deleted.
617
618 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
619
620         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
621         (Qideograph_daikanwa_2): New variable.
622         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
623         (complex_vars_of_mule_charset): Add new coded-charset
624         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
625         `LEADING_BYTE_DAIKANWA'.
626
627         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
628         (LEADING_BYTE_DAIKANWA_1): New macro.
629         (LEADING_BYTE_DAIKANWA_2): New macro.
630         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
631
632 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
633
634         * mule-charset.c (complex_vars_of_mule_charset): Change
635         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
636         the second revised version.
637
638 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * mule-charset.c (Vcharset_ucs_smp): New variable.
641         (Vcharset_ucs_sip): New variable.
642         (Qucs_smp): New variable.
643         (Qucs_sip): New variable.
644         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
645         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
646         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
647         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
648         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
649         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
650
651         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
652         (LEADING_BYTE_UCS_SIP): New macro.
653         (MIN_CHAR_SMP): New macro.
654         (MAX_CHAR_SMP): New macro.
655         (MIN_CHAR_SIP): New macro.
656         (MAX_CHAR_SIP): New macro.
657
658 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
659
660         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
661         utf-2000.
662
663 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
664
665         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
666         value; don't store value into `encoding_table' of `Lisp_Charset'.
667         (mark_charset): `encoding_table' was deleted.
668         (charset_description): Likewise.
669         (make_charset): Likewise.
670         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
671         `put_char_ccs_code_point'.
672
673         * chartab.h (Fput_char_attribute): New EXFUN.
674
675         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
676         is unified with normal symbol space.
677         (Fget_char_attribute): Likewise.
678         (Fput_char_attribute): Likewise; behavior of
679         `put_char_ccs_code_point' is changed.
680
681         * char-ucs.h: Include "elhash.h".
682         (Vchar_attribute_hash_table): New external variable.
683         (struct Lisp_Charset): Delete `encoding_table'.
684         (CHARSET_ENCODING_TABLE): New implementation; refer
685         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
686         `Lisp_Charset'.
687
688 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
689
690         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
691         (cs) == 0.
692
693 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
694
695         * text-coding.c (char_encode_big5): Prefer charset-g1 than
696         `chinese-big5'.
697
698 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
699
700         * chartab.c (uint8_byte_table_description): New constant.
701         (uint8-byte-table): Use `uint8_byte_table_description'.
702         (uint16_byte_table_description): New constant.
703         (uint16-byte-table): Use `uint16_byte_table_description'.
704
705 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
706
707         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
708         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
709
710 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
711
712         * mule-charset.c (Vcharset_ucs_ks): New variable.
713         (Qucs_ks): New variable.
714         (syms_of_mule_charset): Add new symbol `ucs-ks'.
715         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
716
717         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
718
719 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
720
721         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
722         (Fdecode_char): Likewise.
723
724         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
725         chartab.h.
726         (Fdefine_char): Modify for Fdecode_char.
727         (Ffind_char): Likewise.
728
729         * mule-charset.c (Fdecode_char): Add new optional argument
730         `defined-only'.
731         (Fdecode_builtin_char): Modify for `Fdecode_char'.
732
733 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
734
735         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
736         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
737         (allocate_coding_system): Initialize initial-charsets of
738         CODESYS_BIG5 in XEmacs UTF-2000.
739         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
740         CODESYS_BIG5 in XEmacs UTF-2000.
741         (decode_coding_big5): Use initial-charset-g0 and -g1 of
742         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
743
744         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
745         variables.
746         (Qideograph_hanziku_{1 .. 12}): Likewise.
747         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
748         .. 12}'.
749         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
750         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
751         `ideograph-hanziku-{1 .. 12}'.
752
753         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
754         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
755         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
756         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
757         (DECODE_DEFINED_CHAR): New inline function.
758         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
759
760 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
761
762         * mule-charset.c (Vcharset_china3_jef): Renamed from
763         `Vcharset_japanese_jef_china3'.
764         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
765         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
766         `{MIN|MAX}_CHAR_JEF_CHINA3'..
767         (syms_of_mule_charset): Rename `china3-jef' from
768         `japanese-jef-china3'.
769         (complex_vars_of_mule_charset): Likewise; rename
770         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
771
772         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
773         `LEADING_BYTE_JEF_CHINA3'.
774         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
775         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
776
777 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
778
779         * mule-charset.c (encode_builtin_char_1): Comment out special code
780         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
781
782         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
783         (MAX_CHAR_MOJIKYO_0): Comment out.
784         (MIN_CHAR_CBETA): Changed to 0x00E20000.
785         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
786         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
787         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
788
789 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
790
791         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
792         (Qideograph_cbeta): New variable.
793         (encode_builtin_char_1): Comment out special code for
794         coded-charset `mojikyo' and `japanese-jef-china3'.
795         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
796         (complex_vars_of_mule_charset): Add new coded-charset
797         `ideograph-cbeta'.
798
799         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
800         (MIN_CHAR_CBETA): New macro.
801         (MAX_CHAR_CBETA): New macro.
802
803 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
804
805         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
806         (LEADING_BYTE_JEF_CHINA3): New macro.
807         (MIN_CHAR_JEF_CHINA3): New macro.
808         (MAX_CHAR_JEF_CHINA3): Likewise.
809         (DECODE_CHAR): Fixed.
810
811 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
812
813         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
814         (Qjapanese_jef_china3): New variable.
815         (encode_builtin_char_1): Support `japanese-jef-china3'.
816         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
817         (complex_vars_of_mule_charset): Add new coded-charset
818         `japanese-jef-china3'.
819
820 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
821
822         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
823         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
824         94^4, 96^3, 96^4, 128^n and 256^n set.
825         (put_char_table): Use `XCHARSET_CELL_RANGE'.
826         (map_char_table): Likewise.
827
828 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
829
830         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
831         UTF-2000.
832
833 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
834
835         * chartab.h (get_char_id_table): New inline function.
836
837         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
838         function.
839
840 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
841
842         * chartab.h (decode_char_table_range): New prototype in XEmacs
843         UTF-2000.
844         (put_char_id_table): New inline function in XEmacs UTF-2000.
845
846         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
847         function.
848         (decode_char_table_range): Delete static declaration in XEmacs
849         UTF-2000.
850
851 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
852
853         * chartab.c (put_char_id_table): Use `put_char_table'.
854
855 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
858         (map_over_uint16_byte_table): Likewise.
859         (map_over_byte_table): Likewise.
860         (map_char_table): Modify for `map_over_uint8_byte_table',
861         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
862         UTF-2000.
863
864 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
865
866         * chartab.c (struct map_char_table_for_charset_arg): New
867         structure.
868         (map_char_table_for_charset_fun): New function.
869         (map_char_table): Use `map_char_table' for encoding_table of
870         `range->charset'.
871
872 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
873
874         * chartab.c (map_char_table): Check a character is found in
875         range->charset instead of non default value is defined in
876         char-table when range is CHARTAB_RANGE_ROW.
877
878 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * chartab.c (map_char_id_table): Deleted.
881         (Fmap_char_attribute): Use `map_char_table' instead of
882         `map_char_id_table'.
883
884 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
885
886         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
887         UTF-2000.
888         (update_syntax_table): Deleted in XEmacs UTF-2000.
889
890         * syntax.c (find_defun_start): Use `syntax_table' instead of
891         `mirror_syntax_table' in XEmacs UTF-2000.
892         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
893         UTF-2000.
894         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
895         XEmacs UTF-2000.
896         (Fmatching_paren): Likewise.
897         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
898         in XEmacs UTF-2000.
899         (find_start_of_comment): Likewise.
900         (find_end_of_comment): Likewise.
901         (Fforward_comment): Likewise.
902         (scan_lists): Likewise.
903         (char_quoted): Likewise.
904         (Fbackward_prefix_chars): Likewise.
905         (scan_sexps_forward): Likewise.
906         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
907         (update_syntax_table): Likewise.
908
909         * search.c (skip_chars): Use `syntax_table' instead of
910         `mirror_syntax_table' in XEmacs UTF-2000.
911         (wordify): Likewise.
912         (Freplace_match): Likewise.
913
914         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
915         `mirror_syntax_table' in XEmacs UTF-2000.
916         (WORDCHAR_P_UNSAFE): Likewise.
917         (re_match_2_internal): Likewise.
918
919         * font-lock.c (find_context): Use `buf->syntax_table' instead of
920         `buf->mirror_syntax_table' in XEmacs UTF-2000.
921
922         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
923         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
924
925         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
926         XEmacs UTF-2000.
927
928         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
929         UTF-2000.
930         (print_char_table): Print `default_value' in XEmacs UTF-2000.
931         (char_table_description): Delete `mirror_table' in XEmacs
932         UTF-2000.
933         (fill_char_table): Don't call `update_syntax_table' in XEmacs
934         UTF-2000.
935         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
936         (Fcopy_char_table): Likewise.
937         (put_char_table): Don't call `update_syntax_table' in XEmacs
938         UTF-2000.
939
940         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
941         `buf->mirror_syntax_table' in XEmacs UTF-2000.
942         (casify_region_internal): Likewise.
943
944         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
945
946         * buffer.c (common_init_complex_vars_of_buffer): Don't use
947         `mirror_syntax_table' in XEmacs UTF-2000.
948
949         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
950         `buf->mirror_syntax_table' in XEmacs UTF-2000.
951         (Fexpand_abbrev): Likewise.
952
953 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
954
955         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
956
957 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
958
959         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
960         (map_over_uint16_byte_table): Likewise.
961         (map_over_byte_table): Likewise.
962         (get_char_id_table): Refer `cit->default_value'.
963         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
964         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
965         of character-id ranges.
966         (mark_char_table): Mark `ct->default_value'.
967         (char_table_description): Add `default_value'.
968         (fill_char_table): Use `default_value'.
969         (decode_char_table_range): Decode `nil' as
970         `CHARTAB_RANGE_DEFAULT'.
971         (get_char_id_table): Refer `cit->default_value'.
972         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
973         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
974         temporary hack; check value of char-table is bound or not.
975         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
976
977         * chartab.h (struct Lisp_Char_Table): Add new member
978         `default_value' in XEmacs UTF-2000.
979         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
980         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
981         UTF-2000.
982
983 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
984
985         * chartab.h (Lisp_Char_ID_Table): Deleted.
986
987         * chartab.c (char_table_description): Fix typo.
988         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
989         `Lisp_Char_ID_Table'.
990
991 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
992
993         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
994         `CHAR_ID_TABLE_P'.
995
996         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
997         `CHAR_ID_TABLE_P'.
998
999         * chartab.h (XCHAR_ID_TABLE): Deleted.
1000         (XSETCHAR_ID_TABLE): Deleted.
1001         (CHAR_ID_TABLE_P): Deleted.
1002
1003         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1004         `CHAR_ID_TABLE_P'.
1005         (Fget_composite_char): Likewise.
1006         (put_char_table): Likewise.
1007         (add_char_attribute_alist_mapper): Fixed.
1008         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1009         `CHAR_ID_TABLE_P'.
1010         (Fget_char_attribute): Likewise.
1011         (Fget_char_attribute): Likewise.
1012         (Fmap_char_attribute): Likewise.
1013
1014         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1015         `CHAR_ID_TABLE_P'.
1016         (encode_char_1): Likewise.
1017
1018 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1019
1020         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1021         `XCHAR_ID_TABLE'.
1022
1023         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1024         instead of `XCHAR_ID_TABLE'.
1025         (remove_char_ccs): Likewise.
1026
1027         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1028         `XCHAR_ID_TABLE'.
1029         (Fget_composite_char): Likewise.
1030         (Fchar_variants): Likewise.
1031         (put_char_table): Likewise.
1032         (add_char_attribute_alist_mapper): Likewise.
1033         (Fchar_attribute_alist): Likewise.
1034         (Fget_char_attribute): Likewise.
1035         (Fput_char_attribute): Likewise.
1036         (Fmap_char_attribute): Likewise.
1037         (Fmap_char_attribute): Likewise.
1038
1039         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1040         `XCHAR_ID_TABLE'.
1041         (encode_char_1): Likewise.
1042
1043 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1044
1045         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1046         `Lisp_Char_ID_Table'.
1047         (mark_char_id_table): Deleted.
1048         (print_char_id_table): Likewise.
1049         (char_id_table_equal): Likewise.
1050         (char_id_table_hash): Likewise.
1051         (char_id_table_description): Likewise.
1052         (char_id_table): Likewise.
1053         (make_char_id_table): Use `Fmake_char_table' and
1054         `fill_char_table'.
1055         (get_char_id_table): Use `Lisp_Char_Table' instead of
1056         `Lisp_Char_ID_Table'.
1057         (put_char_id_table): Likewise.
1058         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1059         `XCHAR_ID_TABLE'.
1060         (Fremove_char_attribute): Likewise.
1061         (syms_of_chartab): Don't define type `char-id-table'.
1062
1063         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1064         (char_id_table): Likewise.
1065         (GC_CHAR_ID_TABLE_P): Likewise.
1066         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1067         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1068         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1069         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1070         (get_char_id_table): Use `Lisp_Char_Table' instead of
1071         `Lisp_Char_ID_Table'.
1072         (put_char_id_table_0): Likewise.
1073         (put_char_id_table): Likewise.
1074
1075 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1076
1077         * chartab.h: Lisp_Byte_Table related codes are moved from
1078         chartab.h.
1079
1080         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1081
1082 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1083
1084         * chartab.h: Don't include "chartab.h".
1085         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1086         (Lisp_Char_ID_Table): Likewise.
1087         (char_id_table): Likewise.
1088         (XCHAR_ID_TABLE): Likewise.
1089         (XSETCHAR_ID_TABLE): Likewise.
1090         (CHAR_ID_TABLE_P): Likewise.
1091         (GC_CHAR_ID_TABLE_P): Likewise.
1092         (get_char_id_table): Likewise.
1093
1094         * char-ucs.h: Include "chartab.h".
1095         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1096         (Lisp_Char_ID_Table): Likewise.
1097         (char_id_table): Likewise.
1098         (XCHAR_ID_TABLE): Likewise.
1099         (XSETCHAR_ID_TABLE): Likewise.
1100         (CHAR_ID_TABLE_P): Likewise.
1101         (GC_CHAR_ID_TABLE_P): Likewise.
1102         (get_char_id_table): Likewise.
1103
1104 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1105
1106         * chartab.c (copy_uint8_byte_table): New function.
1107         (copy_uint16_byte_table): New function.
1108         (copy_byte_table): New function.
1109         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1110         characters to call.
1111         (map_over_uint16_byte_table): Likewise.
1112         (map_over_byte_table): Likewise.
1113         (get_byte_table): Move prototype to chartab.h.
1114         (put_byte_table): Likewise.
1115         (put_char_id_table_0): Moved to chartab.h.
1116         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1117         (char_table_entry_equal): Likewise.
1118         (char_table_entry_hash): Likewise.
1119         (char_table_entry_description): Likewise.
1120         (char_table_entry): Likewise.
1121         (make_char_table_entry): Likewise.
1122         (copy_char_table_entry): Likewise.
1123         (get_non_ascii_char_table_value): Likewise.
1124         (map_over_charset_ascii): Likewise.
1125         (map_over_charset_control_1): Likewise.
1126         (map_over_charset_row): Likewise.
1127         (map_over_other_charset): Likewise.
1128         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1129         (print_char_table): Likewise.
1130         (char_table_equal): Likewise.
1131         (char_table_hash): Likewise.
1132         (char_table_description): Likewise.
1133         (fill_char_table): Likewise.
1134         (Fcopy_char_table): Likewise.
1135         (get_char_table): Likewise.
1136         (Fget_range_char_table): Likewise.
1137         (put_char_table): Likewise.
1138         (map_char_table): Likewise.
1139         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1140         UTF-2000.
1141
1142 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1143
1144         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1145         `Vauto_fill_chars' in XEmacs UTF-2000.
1146
1147         * chartab.h (get_byte_table): New prototype [moved from
1148         chartab.c].
1149         (put_byte_table): Likewise [moved from chartab.c].
1150         (put_char_id_table_0): New inline function [moved from chartab.c].
1151         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1152         (Lisp_Char_Table_Entry): Likewise.
1153         (char_table_entry): Likewise.
1154         (XCHAR_TABLE_ENTRY): Likewise.
1155         (XSETCHAR_TABLE_ENTRY): Likewise.
1156         (CHAR_TABLE_ENTRYP): Likewise.
1157         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1158         (NUM_ASCII_CHARS): Likewise.
1159         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1160         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1161
1162 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1163
1164         * chartab.c (get_char_id_table): Change interface.
1165         (put_char_id_table_0): New function.
1166         (put_char_id_table): Change interface; new implementation.
1167         (Fget_composite_char): Modify for interface change of
1168         `get_char_id_table'.
1169         (Fchar_variants): Likewise.
1170         (add_char_attribute_alist_mapper): Likewise.
1171         (Fchar_attribute_alist): Likewise.
1172         (Fget_char_attribute): Likewise.
1173         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1174         as same as character as the first argument like `put-char-table';
1175         modify for interface change of `put_char_id_table'.
1176         (Fremove_char_attribute): Modify for interface change of
1177         `put_char_id_table'.
1178
1179 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1180
1181         * text-coding.c: Sync up with XEmacs 21.2.41.
1182         (COMPOSE_ADD_CHAR): Modify for interface change of
1183         `get_char_id_table'.
1184
1185         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1186         change of `put_char_id_table'.
1187         (remove_char_ccs): Likewise.
1188
1189         * chartab.h (put_char_id_table): Change interface.
1190
1191         * char-ucs.h (get_char_id_table): Change interface.
1192         (charset_code_point): Modify for interface change of
1193         `get_char_id_table'.
1194         (encode_char_1): Likewise.
1195
1196 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1197
1198         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1199         argument `ccs'.
1200         (map_over_uint16_byte_table): Likewise.
1201         (map_over_byte_table): Likewise.
1202         (map_char_id_table): Add new argument `range' like
1203         `map_char_table'.
1204         (Fmap_char_attribute): Add new argument `range' like
1205         `Fmap_char_table'.
1206
1207 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1208
1209         * chartab.c (map_over_uint8_byte_table): Change interface of
1210         mapping function to use struct chartab_range instead of Emchar.
1211         (map_over_uint16_byte_table): Likewise.
1212         (map_over_byte_table): Likewise.
1213         (map_char_id_table): Likewise.
1214         (struct slow_map_char_id_table_arg): Deleted.
1215         (slow_map_char_id_table_fun): Deleted.
1216         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1217         function `slow_map_char_table_fun' instead of struct
1218         `slow_map_char_id_table_arg' and function
1219         `slow_map_char_id_table_fun'.
1220
1221 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1222
1223         * mule-charset.c: Move char-it-table related codes to chartab.c.
1224         (Vutf_2000_version): Moved to chartab.c.
1225         (Fdefine_char): Likewise.
1226         (Ffind_char): Likewise.
1227         (syms_of_mule_charset): Move types `uint8-byte-table',
1228         `uint16-byte-table', `byte-table' and `char-id-table' to
1229         chartab.c; move functions `char_attribute_list,
1230         `find_char_attribute_table, `char_attribute_alist,
1231         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1232         `map_char_attribute, `define_char, `find_char, `char_variants and
1233         `get_composite_char to chartab.c; move symbols `=>ucs',
1234         `->decomposition', `compat', `isolated', `initial', `medial',
1235         `final', `vertical', `noBreak', `fraction', `super', `sub',
1236         `circle', `square', `wide', `narrow', `small' and `font' to
1237         chartab.c.
1238         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1239         setting codes for `Vcharacter_composition_table' and
1240         `Vcharacter_variant_table' to chartab.c.
1241         (complex_vars_of_mule_charset): Move setting code for
1242         `Vchar_attribute_hash_table' to chartab.c.
1243
1244         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1245         (make_char_id_table): New prototype.
1246         (put_char_id_table): Likewise.
1247         (Fget_char_attribute): Likewise.
1248
1249         * chartab.c: Move char-id-table related code from mule-charset.c.
1250         (Vutf_2000_version): Moved from mule-charset.c.
1251
1252         * char-ucs.h (Qucs): New external variable.
1253         (put_char_ccs_code_point): New prototype.
1254         (remove_char_ccs): Likewise.
1255
1256 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1257
1258         * mule-charset.c (Vcharset_ucs_jis): New variable.
1259         (Qucs_jis): Likewise.
1260         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1261         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1262
1263         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1264
1265 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1266
1267         * mule-charset.c (map_over_uint8_byte_table): New function.
1268         (map_over_uint16_byte_table): Likewise.
1269         (map_over_byte_table): Likewise.
1270         (map_char_id_table): Likewise.
1271         (slow_map_char_id_table_fun): Likewise.
1272         (Fmap_char_attribute): Likewise.
1273         (syms_of_mule_charset): Add new function `map-char-attribute'.
1274
1275 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1276
1277         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1278         (syms_of_mule_charset): Add new function `find-char'.
1279
1280 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1281
1282         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1283         XEmacs UTF-2000.
1284         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1285         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1286         XEmacs UTF-2000.
1287         (complex_vars_of_mule_charset): Add new coded-charset
1288         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1289         `ideograph-gt-pj-*'.
1290
1291         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1292
1293 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1294
1295         * mule-charset.c (encode_builtin_char_1): Purge codes about
1296         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1297         {MIN|MAX}_CHAR_HEBREW.
1298         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1299         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1300
1301         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1302         (MAX_CHAR_GREEK): Purged.
1303         (MIN_CHAR_CYRILLIC): Purged.
1304         (MAX_CHAR_CYRILLIC): Purged.
1305         (MIN_CHAR_HEBREW): Commented out.
1306         (MAX_CHAR_HEBREW): Likewise.
1307
1308 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1309
1310         * mule-charset.c (Qto_ucs): New variable.
1311         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1312         (Fdefine_char): Likewise.
1313         (syms_of_mule_charset): Add new symbol `=>ucs'.
1314
1315 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1316
1317         * mule-charset.c (Fdecode_char): Fixed.
1318
1319 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1320
1321         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1322         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1323         "tcvn5712-1".
1324
1325 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1326
1327         * mule-charset.c (Vcharset_ucs_big5): New variable.
1328         (Qucs_big5): Likewise.
1329         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1330         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1331
1332         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1333
1334 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1335
1336         * mule-charset.c (decode_builtin_char): Check Big5 code range
1337         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1338
1339 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1340
1341         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1342         (Qchinese_gb12345): Likewise.
1343         (Fdecode_builtin_char): Fixed.
1344         (syms_of_mule_charset): Add `chinese-gb12345'.
1345         (complex_vars_of_mule_charset): Add coded-charset
1346         `chinese-gb12345'.
1347
1348         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1349         (LEADING_BYTE_CHINESE_GB12345): New macro.
1350
1351 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1352
1353         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1354         and `latin-viscii-upper' for `latin-viscii'.
1355
1356 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1357
1358         * mule-charset.c (Fdecode_builtin_char): Comment out
1359         regularization code for ISO-IR GR representation.
1360
1361 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1362
1363         * mule-charset.c (decode_builtin_char): New function; renamed from
1364         `make_builtin_char'; return -1 instead of signal.
1365         (Fdecode_builtin_char): Use `decode_builtin_char'.
1366
1367         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1368         `make_builtin_char'.
1369         (DECODE_CHAR): Use `decode_builtin_char' instead of
1370         `make_builtin_char'; use mapping table of `chinese-big5' for
1371         `chinese-big5-{1,2}'.
1372
1373 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1374
1375         * text-coding.c (char_encode_big5): New function.
1376         (char_finish_big5): Likewise.
1377         (reset_encoding_stream): Use `char_encode_big5' and
1378         `char_finish_big5' for CODESYS_BIG5.
1379         (mule_encode): Don't use `encode_coding_big5'.
1380         (encode_coding_big5): Deleted.
1381
1382 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1383
1384         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1385         0x81- in XEmacs UTF-2000.
1386         (detect_coding_big5): Likewise.
1387
1388 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1389
1390         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1391         generate character-id if the CCS property does not have
1392         corresponding predefined character.
1393         (make_builtin_char): Return -1 if corresponding predefined
1394         character is not found.
1395         (Fdecode_char): Return nil if corresponding character is not
1396         found.
1397         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1398         don't map to builtin ucs space.
1399
1400 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1401
1402         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1403         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1404
1405 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1406
1407         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1408         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1409         (Qideograph_gt): Likewise.
1410         (Qideograph_gt_pj_{1..11}): Likewise.
1411         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1412         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1413         `ideograph-gt-pj-11'.
1414         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1415         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1416         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1417
1418         * char-ucs.h (LEADING_BYTE_GT): New macro.
1419         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1420         (MIN_CHAR_GT): Likewise.
1421         (MAX_CHAR_GT): Likewise.
1422
1423 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1424
1425         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1426         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1427
1428         * doprnt.c (unsigned_int_converters): Add `c'.
1429         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1430
1431         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1432         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1433         `MIN_CHAR_MOJIKYO'.
1434         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1435         (MAX_CHAR_MOJIKYO_0): New macro.
1436         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1437
1438 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1439
1440         * mule-charset.c (Fdefine_char): Delete cemented out code.
1441         (encode_builtin_char_1): Modify for new allocation of builtin
1442         Mojikyo characters.
1443
1444         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1445
1446 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1447
1448         * mule-charset.c (Vcharset_ucs_cns): New variable.
1449         (Qucs_cns): New variable.
1450         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1451         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1452
1453 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1454
1455         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1456
1457 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1458
1459         * search.c (search_buffer): Make `charset_base_code' as
1460         character-id >> 6 to eliminate the corresponding last byte in
1461         UTF-8 representation [I'm not sure it is right thing].
1462         (boyer_moore): Likewise.
1463
1464 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1465
1466         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1467         representation in MULE.
1468
1469 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1470
1471         * text-coding.c (Fmake_coding_system): Use
1472         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1473         `EXTERNAL_PROPERTY_LIST_LOOP'.
1474
1475 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1476
1477         * text-coding.c (decode_output_utf8_partial_char): New function.
1478         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1479
1480 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1481
1482         * text-coding.c (decode_coding_utf8): Output original byte
1483         sequence if it is broken; change order of conditions.
1484
1485         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1486         of conditions.
1487
1488         * mb-multibyte.h (BYTE_ASCII_P):
1489         Use bit ops for char-signedness safety.
1490         (BYTE_C0_P): Use bit ops for char-signedness safety.
1491         (BYTE_C1_P): Use bit ops for char-signedness safety.
1492
1493         * character.h: (XCHAR_OR_CHAR_INT):
1494         Always use inline function.
1495         Remove redundant type checking assert() - XINT will abort quite
1496         nicely.
1497
1498 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1499
1500         * text-coding.c: (Fencode_shift_jis_char):
1501         (Fencode_big5_char):
1502         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1503         Replace 0 with '\0' when working with bytes.
1504         Replace initial "(" with "\(" in docstrings.
1505
1506         (Fmake_coding_system):
1507         When type is ccl and value is vector, register it with a proper
1508         symbol.  And checks whether the given ccl program is valid.
1509         (mule_decode): When calling ccl_driver, if src indicates
1510         NULL pointer, set an empty string instead.
1511         (mule_encode): Likewise.
1512
1513         (detect_eol_type):
1514         (detect_coding_sjis):
1515         (decode_coding_sjis):
1516         (detect_coding_big5):
1517         (decode_coding_big5):
1518         (detect_coding_ucs4):
1519         (decode_coding_ucs4):
1520         (detect_coding_utf8):
1521         (decode_coding_utf8):
1522         (detect_coding_iso2022):
1523         (decode_coding_iso2022):
1524         (decode_coding_no_conversion):
1525         (mule_decode):
1526         Make all detecting and decoding functions take an Extbyte * arg.
1527         (text_encode_generic):
1528         (encode_coding_big5):
1529         (encode_coding_no_conversion):
1530         (mule_encode):
1531         Make all encoding functions take a Bufbyte * arg.
1532         Use size_t instead of unsigned int for memory sizes.
1533         Only cast to unsigned char whenever dereferencing Extbyte *.
1534
1535         (struct lrecord_description fcd_description_1): Use countof.
1536         (complex_vars_of_file_coding):
1537         Use countof instead of sizeof.
1538         Use CHECK_NATNUM instead of CHECK_INT.
1539
1540 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * mule-charset.c (Fget_char_attribute): Add new optional argument
1543         `default-value'.
1544         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1545         (remove_char_ccs): Likewise.
1546
1547 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1548
1549         * text-coding.c (char_encode_shift_jis): New implementation in
1550         UTF-2000.
1551         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1552         ...)'.
1553
1554         * mule-charset.c (Vcharset_chinese_big5): New variable in
1555         UTF-2000.
1556         (Qchinese_big5): New variable in UTF-2000.
1557         (BIG5_SAME_ROW): New macro in UTF-2000.
1558         (make_builtin_char): Use builtin characters of
1559         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1560         characters of `Vcharset_chinese_big5'.
1561         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1562         (complex_vars_of_mule_charset): Add new coded-charset
1563         `chinese-big5' in UTF-2000.
1564
1565         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1566         (Vcharset_chinese_big5): New external variable declaration.
1567         (Vcharset_japanese_jisx0208_1990): Likewise.
1568
1569 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1572         function.
1573         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1574
1575 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1576
1577         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1578         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1579         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1580         `mojikyo-pj-*'.
1581
1582 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1583
1584         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1585
1586 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1589         to 0.17.
1590
1591 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1592
1593         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1594         for `CHARSET_BY_ATTRIBUTES'.
1595         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1596         `CHARSET_BY_ATTRIBUTES'.
1597
1598         * text-coding.c (struct decoding_stream): Rename member `CH' to
1599         `CPOS'.
1600         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1601         (decode_coding_sjis): Likewise.
1602         (decode_coding_big5): Likewise.
1603         (decode_coding_ucs4): Likewise.
1604         (decode_coding_utf8): Likewise.
1605         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1606         `CHARSET_BY_ATTRIBUTES'.
1607         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1608         `str->counter'; decode 3, 4 bytes sets.
1609         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1610         sets.
1611         (decode_coding_no_conversion): Use `str->cpos' instead of
1612         `str->ch'.
1613
1614         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1615         (Qmojikyo_2022_1): New variable.
1616         (make_charset): Don't use `CHARSET_TYPE_*'.
1617         (range_charset_code_point): Support coded-charset
1618         `mojikyo-2022-1'.
1619         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1620         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1621         `CHARSET_BY_ATTRIBUTES'.
1622         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1623         `CHARSET_BY_ATTRIBUTES'.
1624         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1625         (complex_vars_of_mule_charset): Add new coded-charset
1626         `mojikyo-2022-1'.
1627
1628         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1629         interface; changed to inline function.
1630
1631         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1632         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1633         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1634         (CHARSET_TYPE_94): Deleted.
1635         (CHARSET_TYPE_94X94): Deleted.
1636         (CHARSET_TYPE_96): Deleted.
1637         (CHARSET_TYPE_96X96): Deleted.
1638         (CHARSET_TYPE_128): Deleted.
1639         (CHARSET_TYPE_128X128): Deleted.
1640         (CHARSET_TYPE_256): Deleted.
1641         (CHARSET_TYPE_256X256): Deleted.
1642         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1643         to inline function.
1644         (DECODE_MOJIKYO_2022): New inline function.
1645         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1646         `Vcharset_mojikyo_2022_1'.
1647
1648 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1649
1650         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1651         instead of `EQ'.
1652         (put_byte_table): Likewise.
1653         (char_id_table_equal): Use `get_byte_table' [new implementation].
1654
1655 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1656
1657         * mule-charset.c: Include <limits.h> in UTF-2000.
1658         (BT_UINT8_MIN): New macro in UTF-2000.
1659         (BT_UINT8_MAX): New macro in UTF-2000.
1660         (BT_UINT8_t): New macro in UTF-2000.
1661         (BT_UINT8_nil): New macro in UTF-2000.
1662         (BT_UINT8_unbound): New macro in UTF-2000.
1663         (INT_UINT8_P): New inline function in UTF-2000.
1664         (UINT8_VALUE_P): New inline function in UTF-2000.
1665         (UINT8_ENCODE): New inline function in UTF-2000.
1666         (UINT8_DECODE): New inline function in UTF-2000.
1667         (mark_uint8_byte_table): New function in UTF-2000.
1668         (print_uint8_byte_table): New function in UTF-2000.
1669         (uint8_byte_table_equal): New function in UTF-2000.
1670         (uint8_byte_table_hash): New function in UTF-2000.
1671         (make_uint8_byte_table): New function in UTF-2000.
1672         (uint8_byte_table_same_value_p): New function in UTF-2000.
1673         (BT_UINT16_MIN): New macro in UTF-2000.
1674         (BT_UINT16_MAX): New macro in UTF-2000.
1675         (BT_UINT16_t): New macro in UTF-2000.
1676         (BT_UINT16_nil): New macro in UTF-2000.
1677         (BT_UINT16_unbound): New macro in UTF-2000.
1678         (INT_UINT16_P): New inline function in UTF-2000.
1679         (UINT16_VALUE_P): New inline function in UTF-2000.
1680         (UINT16_ENCODE): New inline function in UTF-2000.
1681         (UINT16_DECODE): New inline function in UTF-2000.
1682         (UINT8_TO_UINT16): New inline function in UTF-2000.
1683         (mark_uint16_byte_table): New function in UTF-2000.
1684         (print_uint16_byte_table): New function in UTF-2000.
1685         (uint16_byte_table_equal): New function in UTF-2000.
1686         (uint16_byte_table_hash): New function in UTF-2000.
1687         (make_uint16_byte_table): New function in UTF-2000.
1688         (uint16_byte_table_same_value_p): New function in UTF-2000.
1689         (print_byte_table): New function in UTF-2000.
1690         (byte-table): Use `print_byte_table' as printer.
1691         (make_byte_table): Delete second argument `older'.
1692         (byte_table_same_value_p): New function in UTF-2000.
1693         (copy_byte_table): Deleted.
1694         (get_byte_table): New function in UTF-2000.
1695         (put_byte_table): New function in UTF-2000.
1696         (print_char_id_table): New function in UTF-2000.
1697         (char-id-table): Use `print_char_id_table' as printer.
1698         (make_char_id_table): Delete second argument `older'.
1699         (get_char_id_table): Use `get_byte_table [new implementation].
1700         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1701         implementation].
1702         (Ffind_char_attribute_table): New function in UTF-2000.
1703         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1704         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1705         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1706         (syms_of_mule_charset): Add new function
1707         `find-char-attribute-table' in UTF-2000.
1708
1709         * lrecord.h (enum lrecord_type): Add
1710         `lrecord_type_uint16_byte_table' and
1711         `lrecord_type_uint8_byte_table'.
1712
1713         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1714         (Lisp_Uint8_Byte_Table): New type.
1715         (XUINT8_BYTE_TABLE): New macro.
1716         (XSETUINT8_BYTE_TABLE): New macro.
1717         (UINT8_BYTE_TABLE_P): New macro.
1718         (GC_UINT8_BYTE_TABLE_P): New macro.
1719         (struct Lisp_Uint16_Byte_Table): New structure.
1720         (Lisp_Uint16_Byte_Table): New type.
1721         (XUINT16_BYTE_TABLE): New macro.
1722         (XSETUINT16_BYTE_TABLE): New macro.
1723         (UINT16_BYTE_TABLE_P): New macro.
1724         (GC_UINT16_BYTE_TABLE_P): New macro.
1725
1726 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1727
1728         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1729         (Vcharacter_ideographic_strokes_table): Deleted.
1730         (Vcharacter_total_strokes_table): Deleted.
1731         (Vcharacter_morohashi_daikanwa_table): Deleted.
1732         (Vcharacter_decomposition_table): Deleted.
1733         (Qname): Deleted because it is duplicated.
1734         (Qideographic_radical): Deleted.
1735         (Qideographic_strokes): Deleted.
1736         (Qtotal_strokes): Deleted.
1737         (Qmorohashi_daikanwa): Deleted.
1738         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1739         `ideographic-radical', `ideographic-strokes', `total-strokes',
1740         `morohashi-daikanwa' and `->decomposition'.
1741         (Fget_char_attribute): Likewise.
1742         (Fput_char_attribute): Likewise; use `make-vector' instead of
1743         `make_older_vector' for `->decomposition' value.
1744         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1745         `ideograph-daikanwa'.
1746         (syms_of_mule_charset): Delete builtin symbols `name',
1747         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1748         `morohashi-daikanwa'.
1749         (vars_of_mule_charset): Don't setup
1750         `Vcharacter_ideographic_radical_table',
1751         `Vcharacter_ideographic_strokes_table',
1752         `Vcharacter_total_strokes_table',
1753         `Vcharacter_morohashi_daikanwa_table' and
1754         `Vcharacter_decomposition_table'.
1755
1756 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1757
1758         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1759         `make_older_vector', `make_vector_newer_1' and
1760         `make_vector_newer'.
1761
1762         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1763         `make_older_vector' and `make_vector_newer'.
1764
1765         * config.h.in (HAVE_GGC): New macro.
1766
1767 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1768
1769         * mule-charset.c (struct char_attribute_list_closure): New
1770         structure in UTF-2000.
1771         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1772         (Fchar_attribute_list): Likewise.
1773         (Fset_charset_mapping_table): Use `make_vector_newer'.
1774         (Fdecode_builtin_char): New function in UTF-2000.
1775         (syms_of_mule_charset): Add new function `char-attribute-list' and
1776         `decode-builtin-char' in UTF-2000.
1777
1778         * lisp.h (make_vector_newer): New prototype.
1779
1780         * alloc.c (make_vector_newer_1): New function.
1781         (make_vector_newer): New function.
1782
1783 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1786         50100)'.
1787
1788 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1789
1790         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1791         (Vcharacter_attribute_table): Deleted.
1792         (Vcharacter_name_table): Deleted.
1793         (put_char_attribute): Deleted.
1794         (remove_char_attribute): Deleted.
1795         (struct char_attribute_alist_closure): New structure.
1796         (add_char_attribute_alist_mapper): New function.
1797         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1798         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1799         (Fget_char_attribute): Likewise.
1800         (Fput_char_attribute): Likewise.
1801         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1802         of `remove_char_attribute'.
1803         (Fdefine_char): Return character.
1804         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1805         and `Vcharacter_name_table'.
1806         (complex_vars_of_mule_charset): Likewise
1807         `Vchar_attribute_hash_table'.
1808
1809 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1810
1811         * character.h (CHARC_CHARSET): New macro.
1812         (CHARC_CHARSET_ID): New macro.
1813         (CHARC_CODE_POINT): New macro.
1814         (CHARC_COLUMNS): New macro.
1815         (CHARC_TO_CHAR): New inline function.
1816         (CHARC_EQ): New inline function.
1817         (CHARC_ASCII_EQ): New inline function.
1818         (CHARC_IS_SPACE): New inline function.
1819         (ASCII_TO_CHARC): New inline function.
1820
1821         * char-ucs.h (encode_char_2): Deleted.
1822         (ENCODE_CHAR): Use `encode_char_1' again.
1823         (breakup_char_1): Likewise.
1824         (CHAR_TO_CHARC): New inline function.
1825
1826         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1827
1828 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1829
1830         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1831         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1832         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1833         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1834         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1835         `CHARC_IS_SPACE'.
1836         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1837
1838         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1839         `CHARC_CODE_POINT'.
1840         (x_output_display_block): Use `CHARC_CHARSET' and
1841         `CHARC_ASCII_EQ'.
1842
1843         * redisplay-tty.c (tty_output_display_block): Use
1844         `CHARC_ASCII_EQ'.
1845         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1846
1847         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1848
1849         * insdel.c (find_charsets_in_charc_string): Use
1850         `CHARC_CHARSET_ID'.
1851         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1852         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1853         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1854         (convert_charc_string_into_malloced_string): Likewise.
1855
1856 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1857
1858         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1859         instead of <Emchar_dynarr *> for buf; use
1860         `convert_bufbyte_string_into_charc_dynarr' instead of
1861         `convert_bufbyte_string_into_emchar_dynarr'; use
1862         `find_charsets_in_charc_string' instead of
1863         `find_charsets_in_emchar_string'.
1864
1865         * redisplay.h:
1866         - Include "character.h".
1867         (struct rune): New member `cglyph'; delete member `chr'.
1868
1869         * redisplay.c (redisplay_text_width_charc_string): New function;
1870         delete `redisplay_text_width_emchar_string'.
1871         (rtw_charc_dynarr): New variable; renamed from
1872         `rtw_emchar_dynarr'.
1873         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1874         `rtw_emchar_dynarr'; use
1875         `convert_bufbyte_string_into_charc_dynarr' instead of
1876         `convert_bufbyte_string_into_emchar_dynarr'; use
1877         `redisplay_text_width_charc_string' instead of
1878         `redisplay_text_width_emchar_string'.
1879         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1880         instead of `rtw_emchar_dynarr'; use
1881         `convert_bufbyte_string_into_charc_dynarr' instead of
1882         `convert_bufbyte_string_into_emchar_dynarr'.
1883         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1884         `redisplay_text_width_charc_string' instead of
1885         `redisplay_text_width_emchar_string'.
1886         (create_text_block): Modify for <struct rune> change.
1887         (generate_formatted_string_db): Likewise.
1888         (create_string_text_block): Likewise.
1889         (pixel_to_glyph_translation): Likewise.
1890
1891         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1892         instead of <const Emchar *>.
1893         (x_text_width): Likewise.
1894         (x_output_display_block): Use <Charc_dynarr *> instead
1895         <Emchar_dynarr *>; modify for <structure rune> change.
1896         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1897         *>.
1898
1899         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1900         <const Emchar *>; use `charc_string_displayed_columns' instead of
1901         `emchar_string_displayed_columns'.
1902         (tty_output_display_block): Use <Charc_dynarr *> instead of
1903         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1904         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1905         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1906         `tty_output_emchar_dynarr_dynarr'.
1907         (tty_output_charc_dynarr): New function; delete
1908         `tty_output_charc_dynarr'.
1909
1910         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1911         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1912         <Emchar_dynarr *> for buf; use
1913         `convert_bufbyte_string_into_charc_dynarr' instead of
1914         `convert_bufbyte_string_into_emchar_dynarr'.
1915
1916         * frame.c (title_string_charc_dynarr): New variable; renamed from
1917         `title_string_emchar_dynarr'.
1918         (generate_title_string): Use `title_string_charc_dynarr' instead
1919         of `title_string_emchar_dynarr'; use
1920         `convert_charc_string_into_malloced_string' instead of
1921         `convert_emchar_string_into_malloced_string'.
1922         (init_frame): Use `title_string_charc_dynarr' instead of
1923         `title_string_emchar_dynarr'.
1924
1925         * console.h:
1926         - Include "character.h".
1927         (struct console_methods): Use <const Charc *> instead of <const
1928         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1929         <Emchar_dynarr *> in output_string_method.
1930
1931         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1932         <Emchar_dynarr *>.
1933
1934         * console-stream.c (stream_text_width): Use <const Charc *>
1935         instead of <const Emchar *>.
1936
1937         * character.h (Charc_dynarr): New type.
1938
1939         * char-ucs.h (structure Charc): New structure; define new type
1940         `Charc'.
1941
1942         * char-lb.h (DECODE_CHAR): New inline function.
1943         (encode_char_1): New inline function.
1944         (ENCODE_CHAR): New macro.
1945         (structure Charc): New structure; define new type `Charc'.
1946
1947         * char-1byte.h (Vcharset_control_1): New macro.
1948         (Vcharset_latin_iso8859_1): New macro.
1949         (DECODE_CHAR): New inline function.
1950         (encode_char_1): New inline function.
1951         (ENCODE_CHAR): New macro.
1952         (structure Charc): New structure; define new type `Charc'.
1953
1954         * insdel.c (find_charsets_in_charc_string): New function; delete
1955         `find_charsets_in_emchar_string'.
1956         (charc_string_displayed_columns): New function; delete
1957         `emchar_string_displayed_columns'.
1958         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1959         `convert_bufbyte_string_into_emchar_dynarr'.
1960         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1961         `convert_charc_string_into_bufbyte_dynarr'.
1962         (convert_charc_string_into_malloced_string): New function; delete
1963         `convert_charc_string_into_malloced_string'.
1964
1965         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1966         `find_charsets_in_emchar_string'.
1967         (charc_string_displayed_columns): New prototype; delete
1968         `emchar_string_displayed_columns'.
1969         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1970         `convert_charc_string_into_bufbyte_dynarr'.
1971         (convert_charc_string_into_malloced_string): New prototype; delete
1972         `convert_charc_string_into_malloced_string'.
1973
1974 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1975
1976         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1977
1978 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1979
1980         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1981
1982         * char-ucs.h: Use <short> for <Charset_ID>.
1983
1984         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1985         <Charset_ID>.
1986
1987 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1988
1989         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1990         to 0.16.
1991
1992 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1993
1994         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1995         variable.
1996         (Qmorohashi_daikanwa): New variable.
1997         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1998         for `morohashi-daikanwa' attribute.
1999         (Fget_char_attribute): Likewise.
2000         (Fput_char_attribute): Likewise.
2001         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2002         has the same value of `ideograph-daikanwa'.
2003         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2004         (vars_of_mule_charset): Setup
2005         `Vcharacter_morohashi_daikanwa_table'.
2006
2007 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2008
2009         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2010         attributes.
2011         (add_charset_to_list_mapper): Add `key' instead of
2012         `XCHARSET_NAME (value)' to return aliases.
2013
2014 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2015
2016         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2017         variable.
2018         (Vcharacter_ideographic_strokes_table): New variable.
2019         (Qideographic_radical): New variable.
2020         (Qideographic_strokes): New variable.
2021         (Fchar_attribute_alist): Use
2022         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2023         attribute; use `Vcharacter_ideographic_strokes_table' for
2024         `ideographic-strokes' attribute.
2025         (Fget_char_attribute): Likewise.
2026         (Fput_char_attribute): Likewise.
2027         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2028         `ideographic-strokes'.
2029         (vars_of_mule_charset): Setup
2030         `Vcharacter_ideographic_radical_table' and
2031         `Vcharacter_ideographic_strokes_table'.
2032
2033 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2034
2035         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2036         (Qtotal_strokes): New variable.
2037         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2038         `total-strokes' attribute.
2039         (Fget_char_attribute): Likewise.
2040         (Fput_char_attribute): Likewise.
2041         (syms_of_mule_charset): Add new symbol `total-strokes'.
2042         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2043
2044 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2045
2046         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2047         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2048         are found.
2049         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2050         `->decomposition' attribute.
2051         (Fput_char_attribute): Likewise.
2052         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2053
2054 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2055
2056         * mule-charset.c (decoding_table_check_elements): New function.
2057         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2058
2059 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2060
2061         * mule-charset.c (Fset_charset_mapping_table): Use
2062         `put_char_ccs_code_point'.
2063
2064 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2065
2066         * mule-charset.c (decoding_table_put_char): New inline function.
2067         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2068
2069 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2070
2071         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2072         (XCHARSET_BYTE_SIZE): New macro.
2073         (decoding_table_remove_char): New inline function.
2074         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2075         `decoding_table_remove_char'.
2076         (remove_char_ccs): Use `decoding_table_remove_char'.
2077         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2078
2079 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2080
2081         * mule-charset.c (Vcharacter_name_table): New variable.
2082         (Qname): New variable.
2083         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2084         attribute.
2085         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2086         `Vcharacter_name_table' for `name' attribute.
2087         (Fremove_char_attribute): Use function `remove_char_ccs'.
2088         (put_char_ccs_code_point): New function.
2089         (remove_char_ccs): New function.
2090         (syms_of_mule_charset): Add new symbol `name'.
2091         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2092
2093 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2094
2095         * mule-charset.c (make_byte_table): Add new argument `older'.
2096         (make_char_id_table): Likewise.
2097         (copy_char_id_table): Comment out because it is not used.
2098         (put_char_id_table): Modify for `make_byte_table'.
2099         (Fput_char_attribute): Make encoding_table as older object;
2100         inherit older bit of `Vcharacter_composition_table'.
2101         (mark_charset): Don't mark `cs->encoding_table'.
2102         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2103         normal object; make `Vcharacter_composition_table' as an older
2104         object; delete staticpro for `Vcharacter_composition_table'; make
2105         `Vcharacter_variant_table' as a normal object.
2106
2107         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2108         (mark_object): Don't check older object in UTF-2000.
2109
2110         * lrecord.h (struct lrecord_header): Add new member `older' in
2111         UTF-2000.
2112         (set_lheader_implementation): Setup `SLI_header->older' in
2113         UTF-2000.
2114         (set_lheader_older_implementation): New macro in UTF-2000.
2115         (OLDER_RECORD_P): New macro in UTF-2000.
2116         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2117         (alloc_older_lcrecord): New prototype in UTF-2000.
2118         (alloc_older_lcrecord_type): New macro in UTF-2000.
2119
2120 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2121
2122         * mule-charset.c (byte_table_description): Use
2123         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2124         (char_id_table_description): Delete bogus `, 1'.
2125         (Fget_char_attribute): Refer encoding_table of each coded-charset
2126         to get value of coded-charset attribute of a character.
2127         (Fput_char_attribute): Use `make_older_vector' instead of
2128         `make_vector'; use encoding_table of each coded-charset to store
2129         value of coded-charset attribute of a character.
2130         (Fremove_char_attribute): Use encoding_table of each coded-charset
2131         to store value of coded-charset attribute of a character.
2132         (mark_charset): Mark `cs->encoding_table'; don't mark
2133         `cs->decoding_table'.
2134         (charset_description): Add description of new member
2135         `encoding_table'.
2136         (make_charset): Initialize `encoding_table'.
2137
2138         * char-ucs.h (struct Lisp_Charset): Add new member
2139         `encoding_table'.
2140         (CHARSET_ENCODING_TABLE): New macro.
2141         (XCHARSET_ENCODING_TABLE): New macro.
2142         (charset_code_point): New implementation.
2143         (encode_char_1): Likewise.
2144
2145         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2146         (disksave_object_finalization_1): Call finalizers of
2147         `all_older_lcrecords' in UTF-2000.
2148         (make_older_vector): New function in UTF-2000.
2149         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2150         UTF-2000.
2151
2152         * lisp.h (make_older_vector): New prototype in UTF-2000.
2153
2154 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2155
2156         * lrecord.h (enum lrecord_type): Rename
2157         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2158
2159         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2160         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2161         `get_char_code_table'.
2162
2163         * mule-charset.c (mark_char_id_table): Renamed from
2164         `mark_char_code_table'.
2165         (char_id_table_equal): Renamed from `char_code_table_equal'.
2166         (char_id_table_hash): Renamed from `char_code_table_hash'.
2167         (make_char_id_table): Renamed from `make_char_code_table'.
2168         (copy_char_id_table): Renamed from `copy_char_code_table'.
2169         (get_char_id_table): Renamed from `get_char_code_table'.
2170         (put_char_id_table): Renamed from `put_char_code_table'.
2171         (to_char_id): Renamed from `to_char_code'.
2172
2173         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2174         `Lisp_Char_Code_Table'.
2175         (char_id_table): Renamed from `char_code_table'.
2176         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2177         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2178         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2179         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2180         (get_char_id_table): Renamed from `get_char_code_table'.
2181
2182 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2183
2184         * lrecord.h (enum lrecord_type): Rename
2185         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2186
2187         * mule-charset.c (mark_byte_table): Renamed from
2188         `mark_char_byte_table'.
2189         (byte_table_equal): Renamed from `char_byte_table_equal'.
2190         (byte_table_hash): Renamed from `byte_table_hash'.
2191         (make_byte_table): Renamed from `make_byte_table'.
2192         (copy_byte_table): Renamed from `copy_char_byte_table'.
2193
2194         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2195         `Lisp_Char_Byte_Table'.
2196         (byte_table): Renamed from `char_byte_table'.
2197         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2198         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2199         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2200         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2201
2202 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2203
2204         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2205         (dfc_convert_to_internal_format): Likewise.
2206         
2207         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2208         * text-coding.c (Fcoding_system_alias_p): New function.
2209         * text-coding.c (Fcoding_system_aliasee): New function.
2210         * text-coding.c (append_suffix_to_symbol): New function.
2211         * text-coding.c (dangling_coding_system_alias_p): New function.
2212         * text-coding.c (Ffind_coding_system):
2213         * text-coding.c (Fcopy_coding_system):
2214         * text-coding.c (encode_coding_no_conversion):
2215         * text-coding.c (syms_of_file_coding):
2216         * text-coding.c (vars_of_file_coding):
2217         Rewrite coding system alias code.
2218         Allow nested aliases, like symbolic links.
2219         Allow redefinition of coding system aliases.
2220         Prevent existence of dangling coding system aliases.
2221         Eliminate convert_to_external_format.
2222         Eliminate convert_to_internal_format.
2223         
2224         * text-coding.c: Change enum eol_type to eol_type_t.
2225
2226 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2227
2228         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2229         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2230
2231         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2232         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2233
2234 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2235
2236         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2237         `ideograph-daikanwa'.
2238
2239         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2240         (Vcharset_ucs_bmp): Likewise.
2241         (Vcharset_mojikyo): Add new extern variable definition.
2242         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2243         (Vcharset_latin_iso8859_3): Likewise.
2244         (Vcharset_latin_iso8859_4): Likewise.
2245         (Vcharset_latin_iso8859_9): Likewise.
2246         (Vcharset_latin_viscii_lower): Likewise.
2247         (Vcharset_latin_viscii_upper): Likewise.
2248         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2249         `mojikyo' code-point is used to decode.
2250         (encode_char_2): New function [to convert `mojikyo' code-point to
2251         Mojikyo font encoding].
2252         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2253         (breakup_char_1): Likewise.
2254         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2255
2256 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2257
2258         * text-coding.c (Fmake_coding_system): Add document about
2259         `disable-composition' property.
2260
2261 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2262
2263         * text-coding.c (Qdisable_composition): New variable; delete
2264         `Qcomposite'.
2265         (Fmake_coding_system): Add new property `disable-composite';
2266         delete property `composite'.
2267         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2268         instead of `!CODING_SYSTEM_COMPOSITE'.
2269         (syms_of_file_coding): Add new symbol `disable-composition';
2270         delete symbol `composite'.
2271
2272         * file-coding.h (struct Lisp_Coding_System): Add
2273         `disable_composition'; delete `enable_composition'.
2274         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2275         `CODING_SYSTEM_COMPOSITE'.
2276         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2277         `XCODING_SYSTEM_COMPOSITE'.
2278
2279 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2280
2281         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2282         to 0.15.
2283
2284 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2285
2286         * text-coding.c (Qcomposite): New variable.
2287         (Fmake_coding_system): Add new property `composite'.
2288         (struct decoding_stream): Add `combined_char_count',
2289         `combined_chars' and `combining_table' in UTF-2000.
2290         (COMPOSE_FLUSH_CHARS): New macro.
2291         (COMPOSE_ADD_CHAR): New macro.
2292         (reset_decoding_stream): Reset `str->combined_char_count' and
2293         `str->combining_table' in UTF-2000.
2294         (decode_coding_iso2022): Modify for character-decomposition.
2295         (syms_of_file_coding): Add new symbol `composite'.
2296
2297 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2298
2299         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2300         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2301         of `Vcharacter_composition_table' if `->decomposition' property
2302         has only 1 element.
2303         (Qlatin_tcvn5712): New variable.
2304         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2305         (complex_vars_of_mule_charset): Add new coded-charset
2306         `latin-tcvn5712'.
2307
2308         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2309
2310 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2311
2312         * file-coding.h (struct Lisp_Coding_System): Add
2313         `enable_composition'.
2314         (CODING_SYSTEM_COMPOSITE): New macro.
2315         (XCODING_SYSTEM_COMPOSITE): New macro.
2316
2317 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2318
2319         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2320
2321 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2322
2323         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2324         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2325
2326 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2327
2328         * mule-charset.c (Vcharset_mojikyo): New variable.
2329         (Fdefine_char): Don't use coded-charset which does not have
2330         non-builtin character range to allocate character-id.
2331         (Qmojikyo): New variable.
2332         (syms_of_mule_charset): Add new symbol `mojikyo'.
2333         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2334
2335         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2336         (LEADING_BYTE_MOJIKYO): New macro.
2337         (MIN_CHAR_MOJIKYO): New macro.
2338         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2339         (MAX_CHAR_MOJIKYO): New macro.
2340
2341 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2342
2343         * mule-charset.c (remove_char_attribute): Fixed.
2344
2345 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2346
2347         * mule-charset.c (remove_char_attribute): New function.
2348         (Fremove_char_attribute): New function.
2349         (encode_builtin_char_1): Comment out builtin-support for
2350         greek-iso8859-7 and cyrillic-iso8859-5.
2351         (Fdecode_char): Check `code' is an integer.
2352         (syms_of_mule_charset): Add `remove-char-attribute'.
2353         (MIN_CHAR_GREEK): Deleted.
2354         (MAX_CHAR_GREEK): Likewise.
2355         (MIN_CHAR_CYRILLIC): Likewise.
2356         (MAX_CHAR_CYRILLIC): Likewise.
2357         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2358         MAX_CHAR_GREEK for `greek-iso8859-7'.
2359
2360         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2361         (MAX_CHAR_GREEK): Likewise.
2362         (MIN_CHAR_CYRILLIC): Likewise.
2363         (MAX_CHAR_CYRILLIC): Likewise.
2364
2365 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2366
2367         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2368         format is used without `ucs' property.
2369         (Fdecode_char): Fix problem with GR representation.
2370         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2371         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2372
2373 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2374
2375         * mule-charset.c (make_builtin_char): New function.
2376         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2377         (Fset_charset_mapping_table): Modify for new representation of
2378         code-point.
2379         (Fdecode_char): New function.
2380         (syms_of_mule_charset): Add new builtin function `decode-char' in
2381         UTF-2000.
2382
2383         * char-ucs.h (make_builtin_char): New prototype.
2384         (DECODE_CHAR): New inline function.
2385         (MAKE_CHAR): Use `DECODE_CHAR'.
2386
2387 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2388
2389         * text-coding.c (parse_charset_conversion_specs): Use
2390         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2391         `XCHARSET_TYPE'.
2392         (iso2022_designate): Likewise.
2393
2394         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2395         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2396
2397         * mule-charset.c (Vcharset_ucs): New variable.
2398         (print_charset): Change design; use `CHARSET_CHARS' and
2399         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2400         (make_charset): Change signature to specify `chars' and
2401         `dimension' instead of `type'.
2402         (range_charset_code_point): Modify for 256^n-set.
2403         (encode_builtin_char_1): Encode as `ucs' in default.
2404         (Fmake_charset): Modify for `make_charset'.
2405         (Fmake_reverse_direction_charset): Likewise.
2406         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2407         UTF-2000.
2408         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2409         for `make_charset'.
2410
2411         * char-ucs.h (Vcharset_ucs): New variable.
2412         (LEADING_BYTE_UCS): New macro.
2413         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2414         and `chars' to `unsigned short' from `unsigned int'.
2415         (CHARSET_TYPE): Deleted.
2416         (XCHARSET_TYPE): Deleted.
2417
2418 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2419
2420         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2421
2422         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2423         (ENCODE_CHAR): New macro.
2424
2425 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2426
2427         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2428         to 0.14 (Kawachi-Katakami).
2429
2430 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2431
2432         * text-coding.c (char_encode_shift_jis): Modify for
2433         `charset_code_point'.
2434         (char_encode_iso2022): Likewise.
2435
2436         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2437         (integer) instead of list of <Lisp_Object>s (integers) as the
2438         format of code-point of a coded-charset.
2439         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2440         (encode_builtin_char_1): New function; delete
2441         `split_builtin_char'.
2442         (charset_code_point): Return <int> instead of <Lisp_Object>.
2443         (Fsplit_char): Don't use `SPLIT_CHAR'.
2444
2445         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2446         prototype for `split_builtin_char'.
2447         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2448         (charset_code_point): Likewise.
2449         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2450         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2451
2452 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2453
2454         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2455         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2456
2457 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2458
2459         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2460
2461         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2462         (MAX_CHAR_OBS_94x94): Deleted.
2463
2464 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2465
2466         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2467
2468         * char-ucs.h (MAX_CHAR_BMP): New macro.
2469
2470 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2471
2472         * text-coding.c: Sync with r21-2-24.
2473
2474 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2475
2476         * file-coding.c: Modify for UTF-2000.
2477
2478 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2479
2480         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2481         to 0.13 (Takaida).
2482
2483 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2484
2485         * mule-charset.c (split_builtin_char): Delete builtin support for
2486         `katakana-jisx0201'.
2487         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2488         BMP area in builtin representation.
2489
2490         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2491         `Vcharset_katakana_jisx0201'.
2492
2493 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2494
2495         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2496         (Qisolated): New variable.
2497         (Qinitial): New variable.
2498         (Qmedial): New variable.
2499         (Qfinal): New variable.
2500         (Qvertical): New variable.
2501         (Qsmall): New variable.
2502         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2503         `Qvertical' and `Qsmall'.
2504         (Qmojikyo_pj_[1 .. 21]): New variable.
2505         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2506         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2507         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2508         .. 21]'.
2509
2510 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2511
2512         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2513         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2514         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2515
2516 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2517
2518         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2519         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2520         BMP.
2521         (Qjapanese_jisx0208_1990): New variable.
2522         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2523         (complex_vars_of_mule_charset): Add new coded-charset
2524         `japanese-jisx0208-1990'.
2525
2526         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2527         (MIN_CHAR_JIS_X0208_1990): New macro.
2528         (MAX_CHAR_JIS_X0208_1990): New macro.
2529
2530 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2531
2532         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2533         coded-charset is not found.
2534
2535 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2536
2537         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2538         (Fdefine_char): Use `Fmake_char'.
2539
2540 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2541
2542         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2543         (Vcharset_hiragana_jisx0208): Deleted.
2544         (Vcharset_katakana_jisx0208): Deleted.
2545         (Qideograph_daikanwa): New variable.
2546         (Qhiragana_jisx0208): Deleted.
2547         (Qkatakana_jisx0208): Deleted.
2548         (split_builtin_char): Split `ideograph-daikanwa'.
2549         (Fsplit_char): New implementation for UTF-2000.
2550         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2551         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2552         (complex_vars_of_mule_charset): Add new coded-charset
2553         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2554         `katakana-jisx0208'.
2555
2556         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2557         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2558         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2559         (MIN_CHAR_DAIKANWA): New macro.
2560         (MAX_CHAR_DAIKANWA): New macro.
2561
2562 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2563
2564         * data.c (Fstring_to_number): Don't recognize floating point if
2565         base is not 10.
2566
2567 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2568
2569         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2570
2571 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2572
2573         * mule-charset.c (Qsquare): New variable.
2574         (to_char_code): Add `Qsquare'.
2575         (syms_of_mule_charset): Add new symbol `square'.
2576
2577 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2578
2579         * mule-charset.c (Qcircle): New variable.
2580         (to_char_code): Add `Qcircle'.
2581         (syms_of_mule_charset): Add new symbol `circle'.
2582
2583 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2584
2585         * mule-charset.c (Qfont): New variable.
2586         (to_char_code): Add `Qfont'.
2587         (syms_of_mule_charset): Add new symbol `font'.
2588
2589 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2590
2591         * mule-charset.c (Qsub): New variable.
2592         (to_char_code): Add `Qsub'.
2593         (syms_of_mule_charset): Add new symbol `sub'.
2594
2595 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2596
2597         * mule-charset.c (Fput_char_attribute): Convert each element of
2598         VALUE to GL position if ATTRIBUTE is a GR-set,
2599
2600 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2601
2602         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2603         coded-charset is a GR-set.
2604
2605 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2606
2607         * mule-charset.c (Fput_char_attribute): Check each element of
2608         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2609
2610 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2611
2612         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2613         UTF-2000.
2614         (Qethiopic_ucs): New variable in UTF-2000.
2615         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2616         (complex_vars_of_mule_charset): Add new coded-charset
2617         `ethiopic-ucs' in UTF-2000.
2618
2619         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2620         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2621         9)'.
2622         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2623         10)'.
2624         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2625
2626 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2627
2628         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2629         `ascii'.
2630
2631 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2632
2633         * mule-charset.c (Vcharacter_variant_table): New variable.
2634         (Q_ucs): New variable.
2635         (Fchar_variants): New function.
2636         (Fput_char_attribute): Register `->ucs' value to
2637         `Vcharacter_variant_table'.
2638         (syms_of_mule_charset): Add new function `char-variants' and new
2639         symbol `->ucs'.
2640         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2641
2642 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2643
2644         * mule-charset.c (get_char_code_table): Allow negative character
2645         code.
2646         (put_char_code_table): Likewise.
2647         (Vcharacter_composition_table): New variable.
2648         (Q_decomposition): New variable.
2649         (Qwide): New variable.
2650         (Qnarrow): New variable.
2651         (Qcompat): New variable.
2652         (QnoBreak): New variable.
2653         (Qsuper): New variable.
2654         (Qfraction): New variable.
2655         (to_char_code): New function.
2656         (Fget_composite_char): New function.
2657         (Fput_char_attribute): Register `->decomposition' value to
2658         `Vcharacter_composition_table'.
2659         (syms_of_mule_charset): Add new function `get-composite-char', new
2660         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2661         `super' and `fraction'.
2662         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2663
2664 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2665
2666         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2667         character; copy the return value.
2668
2669 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2670
2671         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2672
2673         * mule-charset.c (range_charset_code_point): Must use make_int.
2674         (split_builtin_char): New function.
2675
2676 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2677
2678         * mule-charset.c (char_byte_table): Change name from
2679         "char-code-table" to "char-byte-table".
2680         (mark_char_code_table): New function.
2681         (char_code_table_equal): New function.
2682         (char_code_table_hash): New function.
2683         (char_code_table_description): New constant.
2684         (char_code_table): New type.
2685         (make_char_code_table): New function.
2686         (copy_char_code_table): New function.
2687         (get_char_code_table): Modify for `char_code_table' type.
2688         (put_char_code_table): Likewise.
2689         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2690         (Kashiwara).
2691
2692         * char-ucs.h (char_code_table): New type.
2693         (XCHAR_CODE_TABLE): New macro.
2694         (XSETCHAR_CODE_TABLE): New macro.
2695         (CHAR_CODE_TABLE_P): New macro.
2696         (GC_CHAR_CODE_TABLE_P): New macro.
2697         (struct Lisp_Char_Code_Table): New structure.
2698
2699 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2700
2701         * mule-charset.c (Fmake_charset): Setup byte_offset for
2702         {94|96}^n-set.
2703
2704 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2705
2706         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2707         character.
2708
2709 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2710
2711         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2712         is found.
2713
2714 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2715
2716         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2717         charset, it is regarded as a charset.
2718         (put_char_attribute): New function in UTF-2000.
2719         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2720         charset, mapping-table of the charset is modified.
2721         (Fdefine_char): New function in UTF-2000.
2722         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2723         `Fput_char_attribute'.
2724         (syms_of_mule_charset): Add new function `define-char' and new
2725         symbol `ucs' in UTF-2000.
2726         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2727
2728 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2729
2730         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2731         non-UTF-2000 configuration.
2732
2733 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2734
2735         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2736         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2737
2738         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2739         deleted.
2740         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2741         (Fset_charset_mapping_table): Likewise.
2742
2743         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2744         (CHARSET_ENCODING_TABLE): Delete.
2745         (XCHARSET_ENCODING_TABLE): Delete.
2746         (charset_code_point): New interface.
2747
2748 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2749
2750         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2751         instead of `charset_get_byte1' and `charset_get_byte2'.
2752
2753         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2754         (charset_get_byte2): Deleted.
2755
2756 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2757
2758         * char-ucs.h (SPLIT_CHAR): New inline function.
2759         (breakup_char_1): Use `SPLIT_CHAR'.
2760
2761         * mule-charset.c (range_charset_code_point): New function.
2762         (charset_code_point): New function.
2763
2764         * char-ucs.h (range_charset_code_point): New interface.
2765         (breakup_char_1): Use `range_charset_code_point'.
2766
2767 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2768
2769         * mule-charset.c (Fmake_charset): Delete unused local variable
2770         `code_offset'.
2771
2772         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2773         (breakup_char_1): Find a charset and code-point in
2774         `Vcharacter_attribute_table'.
2775
2776 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2777
2778         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2779         to 0.10 (Yao).
2780
2781 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2782
2783         * mule-charset.c (Vcharacter_attribute_table): New variable.
2784         (Fchar_attribute_alist): New function.
2785         (Fget_char_attribute): New function.
2786         (Fput_char_attribute): New function.
2787         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2788         too.
2789         (syms_of_mule_charset): Add new function `char-attribute-alist',
2790         `get-char-attribute' and `put-char-attribute'.
2791         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2792
2793 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2794
2795         * mule-charset.c (Fmake_charset): Just use
2796         `get_unallocated_leading_byte'.
2797
2798         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2799         sets; don't use final-byte based number for private sets.
2800
2801 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2802
2803         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2804         integer.
2805
2806 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2807
2808         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2809         to 0.9.
2810
2811 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2812
2813         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2814         of `CHAR_LEADING_BYTE' in UTF-2000.
2815
2816         * insdel.c (find_charsets_in_bufbyte_string): Use
2817         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2818         (find_charsets_in_emchar_string): Likewise.
2819
2820         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2821         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2822
2823         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2824         (CHAR_CHARSET_ID): New macro.
2825
2826 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2827
2828         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2829         charset-id - MIN_LEADING_BYTE.
2830         (put_char_table): Likewise.
2831
2832 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2833
2834         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2835         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2836         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2837         (CHARSET_ID_OFFSET): New macro.
2838         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2839         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2840         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2841         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2842         4).
2843         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2844         5).
2845         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2846         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2847         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2848         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2849         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2850
2851 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2852
2853         * mule-charset.c (next_allocated_leading_byte): New variable in
2854         UTF-2000.
2855         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2856         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2857         (get_unallocated_leading_byte): Simply use
2858         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2859         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2860         UTF-2000.
2861
2862         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2863         (MAX_LEADING_BYTE_PRIVATE): New macro.
2864         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2865         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2866
2867 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2868
2869         * mule-charset.c (Fmake_charset): Allocate final-byte based
2870         charset-id for 94-set, 96-set and 94x94-set.
2871
2872 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2873
2874         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2875         ambiguous `else'.
2876         (Fmake_charset): Likewise.
2877         (complex_vars_of_mule_charset): Modify the font registry of
2878         `ucs-bmp' not to match `Ethiopic-Unicode'.
2879
2880 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2881
2882         * mule-charset.c (complex_vars_of_mule_charset): Add font
2883         registory of `ucs-bmp'.
2884
2885 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2886
2887         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2888         coded-charsets in `default-coded-charset-priority-list' when
2889         breaking up a character.
2890
2891         * mule-charset.c (Vcharset_latin_viscii): New variable.
2892         (Qlatin_viscii): New variable.
2893         (make_charset): Don't use `decoding_table'.
2894         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2895         byte_offset.
2896         (Fset_charset_mapping_table): New implementation.
2897         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2898         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2899         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2900         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2901         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2902         charset `latin_viscii'.
2903
2904         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2905         (CHARSET_TYPE_94X94): Change to 1 from 2.
2906         (CHARSET_TYPE_96): Change to 2 from 1.
2907         (CHARSET_TYPE_128): New macro.
2908         (CHARSET_TYPE_128X128): Change to 5 from 4.
2909         (CHARSET_TYPE_256): New macro.
2910         (CHARSET_TYPE_256X256): Change to 7 from 5.
2911         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2912
2913 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2914
2915         * text-coding.c (char_encode_shift_jis): Refer
2916         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2917         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2918
2919         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2920         (char_byte_table_equal): New function in UTF-2000.
2921         (char_byte_table_hash): New function in UTF-2000.
2922         (char_byte_table_description): New constant in UTF-2000.
2923         (char_byte_table): New type in UTF-2000.
2924         (make_char_byte_table): New function in UTF-2000.
2925         (copy_char_byte_table): New function in UTF-2000.
2926         (make_char_code_table): New macro in UTF-2000.
2927         (get_char_code_table): New function in UTF-2000.
2928         (put_char_code_table): New function in UTF-2000.
2929         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2930         (charset_description): Add setting in UTF-2000.
2931         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2932         `CHARSET_TO_BYTE1_TABLE(cs)'.
2933         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2934         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2935         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2936         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2937         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2938         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2939         `CHARSET_TO_BYTE2_TABLE(cs)'.
2940
2941         * char-ucs.h (char_byte_table): New type.
2942         (XCHAR_BYTE_TABLE): New macro.
2943         (XSETCHAR_BYTE_TABLE): New macro.
2944         (CHAR_BYTE_TABLE_P): New macro.
2945         (GC_CHAR_BYTE_TABLE_P): New macro.
2946         (struct Lisp_Char_Byte_Table): New structure.
2947         (get_char_code_table): New interface.
2948         (Emchar_to_byte_table): Deleted.
2949         (get_byte_from_character_table): Deleted.
2950         (struct Lisp_Charset): Add `encoding_table'; delete
2951         `to_byte1_table' and `to_byte2_table'.
2952         (CHARSET_ENCODING_TABLE): New macro.
2953         (CHARSET_TO_BYTE1_TABLE): Deleted.
2954         (CHARSET_TO_BYTE2_TABLE): Deleted.
2955         (XCHARSET_ENCODING_TABLE): New macro.
2956         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2957         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2958
2959 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2960
2961         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2962         `vietnamese-viscii-*'.
2963
2964 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2965
2966         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2967         (Qvietnamese_viscii_upper): New variable.
2968         (Fdefine_charset_alias): New function.
2969         (syms_of_mule_charset): Add new function `define-charset-alias'.
2970         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2971         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2972         `latin-viscii-*'.
2973
2974 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2975
2976         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2977         (MAX_CHAR_OBS_94x94): New macro.
2978         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2979         for 94x94 sets.
2980
2981         * mule-charset.c (put_byte_from_character_table): Change unit size
2982         from 128 to 256.
2983         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2984         not defined.
2985         (Fmake_reverse_direction_charset): Modify dummy argument of
2986         `make_charset' for non-UTF-2000 environment.
2987
2988 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2989
2990         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2991
2992         * mule-charset.c (destroy_byte_from_character_table): New macro.
2993         (latin_jisx0201_to_ucs): Deleted.
2994         (latin_iso8859_2_to_ucs): Deleted.
2995         (latin_iso8859_3_to_ucs): Deleted.
2996         (latin_iso8859_4_to_ucs): Deleted.
2997         (latin_iso8859_9_to_ucs): Deleted.
2998         (latin_viscii_lower_to_ucs): Deleted.
2999         (latin_viscii_upper_to_ucs): Deleted.
3000         (mark_charset): Mark `cs->decoding_table'.
3001         (Fcharset_mapping_table): Fix DOC-string.
3002         (Fset_charset_mapping_table): New function.
3003         (syms_of_mule_charset): Add nwe function
3004         `set-charset-mapping-table'.
3005         (complex_vars_of_mule_charset): Don't setup and use
3006         `latin_*_to_ucs'.
3007
3008 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3009
3010         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3011         charset.
3012
3013 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3014
3015         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3016         (Vcharset_katakana_jisx0208): New variable.
3017         (Qhiragana_jisx0208): New variable.
3018         (Qkatakana_jisx0208): New variable.
3019         (make_charset): Add new argument `byte_offset'.
3020         (charset_get_byte1): Modify for new coded-charset definition; use
3021         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3022         `XCHARSET_BYTE_OFFSET'.
3023         (Fmake_charset): Modify for `make_charset'.
3024         (Fmake_reverse_direction_charset): Likewise.
3025         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3026         `katakana-jisx0208'.
3027         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3028         `.'  in font registry of charset `katakana-jisx0201',
3029         `latin-jisx0201', `vietnamese-viscii-lower' and
3030         `vietnamese-viscii-upper'; modify DOC-string of charset
3031         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3032         registry of charset `japanese-jisx0208' not to use font for JIS
3033         X0208:1990; add new charset `hiragana-jisx0208' and
3034         `katakana-jisx0208'.
3035
3036         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3037         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3038         (struct Lisp_Charset): Add `byte_offset'.
3039         (CHARSET_BYTE_OFFSET): New macro.
3040         (XCHARSET_UCS_MIN): New macro.
3041         (XCHARSET_UCS_MAX): New macro.
3042         (XCHARSET_CODE_OFFSET): New macro.
3043         (XCHARSET_BYTE_OFFSET): New macro.
3044         (MIN_CHAR_HIRAGANA): New macro.
3045         (MAX_CHAR_HIRAGANA): New macro.
3046         (MIN_CHAR_KATAKANA): New macro.
3047         (MAX_CHAR_KATAKANA): New macro.
3048         (MAKE_CHAR): Modify for new coded-charset definition; use
3049         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3050         `XCHARSET_BYTE_OFFSET'.
3051
3052 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3053
3054         * mule-charset.c (CHAR96): Deleted.
3055         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3056         <Lisp_Object>.
3057         (latin_iso8859_2_to_ucs): Likewise.
3058         (latin_iso8859_3_to_ucs): Likewise.
3059         (latin_iso8859_4_to_ucs): Likewise.
3060         (latin_iso8859_9_to_ucs): Likewise.
3061         (latin_viscii_lower_to_ucs): Likewise.
3062         (latin_viscii_upper_to_ucs): Likewise.
3063         (latin_tcvn5712_to_ucs): Commented out.
3064         (make_charset): Change type of argument `decoding_table' from
3065         <Emchar*> to <Lisp_Object> [vector of characters].
3066         (Fmake_charset): Modify for `make_charset'.
3067         (Fmake_reverse_direction_charset): Likewise.
3068         (Fcharset_mapping_table): New function in UTF-2000.
3069         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3070         UTF-2000.
3071         (complex_vars_of_mule_charset): Modify for type change of
3072         `*_to_ucs'; modify for `make_charset'.
3073
3074         * char-ucs.h (struct Lisp_Charset): Change type of
3075         `decoding_table' from <Emchar*> to <Lisp_Object>.
3076         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3077
3078 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3079
3080         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3081         error with non-UTF-2000-Mule.
3082
3083 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3084
3085         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3086         in lisp again].
3087         (Vcharset_chinese_cns11643_4): Likewise.
3088         (Vcharset_chinese_cns11643_5): Likewise.
3089         (Vcharset_chinese_cns11643_6): Likewise.
3090         (Vcharset_chinese_cns11643_7): Likewise.
3091         (Qchinese_cns11643_3): Likewise.
3092         (Qchinese_cns11643_4): Likewise.
3093         (Qchinese_cns11643_5): Likewise.
3094         (Qchinese_cns11643_6): Likewise.
3095         (Qchinese_cns11643_7): Likewise.
3096         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3097         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3098         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3099         (complex_vars_of_mule_charset): Likewise.
3100
3101 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3102
3103         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3104         96-set.
3105         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3106         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3107
3108 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3109
3110         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3111         0xFF60.
3112         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3113         (breakup_char_1): Likewise.
3114
3115         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3116         one of them includes the specified character.
3117
3118 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3119
3120         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3121
3122 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3123
3124         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3125
3126 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3127
3128         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3129         definition for non-UTF-2000 Mule.
3130         (latin_iso8859_3_to_ucs): Likewise.
3131         (latin_iso8859_4_to_ucs): Likewise.
3132         (latin_iso8859_9_to_ucs): Likewise.
3133         (latin_jisx0201_to_ucs): Likewise.
3134         (MIN_CHAR_THAI): Likewise.
3135         (MAX_CHAR_THAI): Likewise.
3136         (MIN_CHAR_GREEK): Likewise.
3137         (MAX_CHAR_GREEK): Likewise.
3138         (MIN_CHAR_HEBREW): Likewise.
3139         (MAX_CHAR_HEBREW): Likewise.
3140         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3141         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3142         (MIN_CHAR_CYRILLIC): Likewise.
3143         (MAX_CHAR_CYRILLIC): Likewise.
3144
3145 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3146
3147         * char-ucs.h (breakup_char_1): Use
3148         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3149         thai-tis620 and katakana-jisx0201 area.
3150
3151 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3152
3153         * char-ucs.h (breakup_char_1): Use
3154         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3155         area.
3156
3157         * text-coding.c (reset_encoding_stream): Fixed.
3158         (char_encode_ucs4): Delete `& 255'.
3159
3160         * char-ucs.h (breakup_char_1): Use
3161         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3162
3163 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3164
3165         * file-coding.c (Fmake_coding_system): Don't set up
3166         `codesys->fixed.size'.
3167         (encode_coding_no_conversion): Don't refer
3168         `str->codesys->fixed.size'.
3169
3170 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3171
3172         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3173         (latin_a_char_to_byte1): Deleted.
3174         (latin_a_char_to_byte2): Deleted.
3175
3176 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3177
3178         * mule-charset.c (make_charset): Add new argument `ucs_min',
3179         `ucs_max' and `code_offset'.
3180         (charset_get_byte1): New implementation [delete specific charset
3181         depended implementations].
3182         (Fmake_charset): Modify for `make_charset'.
3183         (Fmake_reverse_direction_charset): Likewise.
3184         (complex_vars_of_mule_charset): Likewise.
3185
3186         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3187         `code_offset'.
3188         (CHARSET_UCS_MIN): New macro.
3189         (CHARSET_UCS_MAX): New macro.
3190         (CHARSET_CODE_OFFSET): New macro.
3191         (MAKE_CHAR): Delete charset depended definitions [except
3192         katakana-jisx0201].
3193
3194 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3195
3196         * char-ucs.h (breakup_char_1): Use
3197         `Vdefault_coded_charset_priority_list' for C0-Controls,
3198         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3199
3200 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3201
3202         * char-ucs.h (charset_get_byte1): New function.
3203         (XCHARSET_GET_BYTE1): Deleted.
3204         (charset_get_byte2): New function.
3205         (XCHARSET_GET_BYTE2): Deleted.
3206         (Vdefault_coded_charset_priority_list): New external variable.
3207         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3208         `Vdefault_preferred_coded_charset_list'.
3209
3210         * mule-charset.c (charset_get_byte1): New function.
3211         (charset_get_byte2): New function.
3212         (Vdefault_coded_charset_priority_list): New variable.
3213         (vars_of_mule_charset): Add new variable
3214         `default-coded-charset-priority-list'.
3215
3216 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3217
3218         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3219         (XCHARSET_GET_BYTE2): New inline function.
3220         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3221         `XCHARSET_GET_BYTE2'.
3222
3223 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3224
3225         * mule-charset.c (make_charset): Initialize
3226         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3227         NULL if table is not defined.
3228
3229 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3230
3231         * text-coding.c (char_encode_shift_jis): Use
3232         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3233         `ucs_to_latin_jisx0201'.
3234
3235         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3236         (ucs_to_latin_iso8859_2): Deleted.
3237         (ucs_to_latin_iso8859_3): Deleted.
3238         (ucs_to_latin_iso8859_4): Deleted.
3239         (ucs_to_latin_iso8859_9): Deleted.
3240         (ucs_to_latin_viscii_lower): Deleted.
3241         (ucs_to_latin_viscii_upper): Deleted.
3242         (ucs_to_latin_tcvn5712): Deleted.
3243         (make_charset): Add new argument `decoding_table'; set up
3244         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3245         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3246         `decoding_table' is defined in UTF-2000.
3247         (Fmake_charset): Modify for `make_charset'.
3248         (Fmake_reverse_direction_charset): Likewise.
3249         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3250         and `GENERATE_96_SET'.
3251
3252         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3253         (ucs_to_latin_jisx0201): Deleted.
3254         (latin_iso8859_2_to_ucs): Deleted.
3255         (ucs_to_latin_iso8859_2): Deleted.
3256         (latin_iso8859_3_to_ucs): Deleted.
3257         (ucs_to_latin_iso8859_3): Deleted.
3258         (latin_iso8859_4_to_ucs): Deleted.
3259         (ucs_to_latin_iso8859_4): Deleted.
3260         (latin_iso8859_9_to_ucs): Deleted.
3261         (ucs_to_latin_iso8859_9): Deleted.
3262         (latin_viscii_lower_to_ucs): Deleted.
3263         (ucs_to_latin_viscii_lower): Deleted.
3264         (latin_viscii_upper_to_ucs): Deleted.
3265         (ucs_to_latin_viscii_upper): Deleted.
3266         (struct Lisp_Charset): Renamed `encoding_table' to
3267         `to_byte1_table'; add `to_byte2_table'.
3268         (CHARSET_DECODING_TABLE): New macro.
3269         (CHARSET_TO_BYTE1_TABLE): New macro.
3270         (CHARSET_TO_BYTE2_TABLE): New macro.
3271         (XCHARSET_DECODING_TABLE): New macro.
3272         (XCHARSET_TO_BYTE1_TABLE): New macro.
3273         (XCHARSET_TO_BYTE2_TABLE): New macro.
3274         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3275         tables.
3276         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3277         don't use `ucs_to_*' tables.
3278
3279 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3280
3281         * text-coding.c (Fmake_coding_system): Don't set up
3282         `codesys->fixed.size'.
3283         (encode_coding_no_conversion): Use `if' instead of `switch'.
3284
3285         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3286
3287 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3288
3289         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3290         (Fmake_charset): Modify for `make_charset'.
3291         (Fmake_reverse_direction_charset): Likewise.
3292         (complex_vars_of_mule_charset): Likewise.
3293
3294 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3295
3296         * text-coding.c (char_encode_shift_jis): Use table
3297         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3298
3299 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3300
3301         * text-coding.c (text_encode_generic): Use `if' instead of
3302         `switch'.
3303         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3304         decode JIS-Latin.
3305
3306 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3307
3308         * text-coding.c (encode_coding_sjis): Deleted.
3309         (char_encode_shift_jis): New function.
3310         (char_finish_shift_jis): New function.
3311         (reset_encoding_stream): Set up `encode_char' and `finish' for
3312         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3313         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3314         (char_encode_utf8): Treat `eol_type'.
3315
3316 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3317
3318         * file-coding.c (decode_coding_iso2022): Use
3319         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3320
3321 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3322
3323         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3324         to 0.7 (Hirano).
3325
3326 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3327
3328         * char-lb.h (CHAR_COLUMNS): New macro.
3329
3330 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3331
3332         * text-coding.c (char_encode_ucs4): New function.
3333         (char_finish_ucs4): New function.
3334         (encode_coding_ucs4): Deleted.
3335         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3336         (text_encode_generic): Delete local variable `charset' and `half'.
3337         (ucs_to_mule_table): Deleted.
3338         (mule_to_ucs_table): Deleted.
3339         (Fset_ucs_char): Deleted.
3340         (ucs_to_char): Deleted.
3341         (Fucs_char): Deleted.
3342         (Fset_char_ucs): Deleted.
3343         (Fchar_ucs): Deleted.
3344         (decode_ucs4): Deleted.
3345         (mule_char_to_ucs4): Deleted.
3346         (encode_ucs4): Deleted.
3347         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3348         (decode_coding_utf8): Likewise.
3349         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3350         (char_encode_iso2022): Fixed.
3351         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3352         `Fset_char_ucs' and `Fchar_ucs'.
3353         (complex_vars_of_file_coding): Don't initialize
3354         `ucs_to_mule_table'.
3355
3356         * objects-tty.c (tty_initialize_font_instance): Don't use
3357         `XCHARSET_COLUMNS'.
3358
3359         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3360         UTF-2000.
3361
3362         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3363         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3364
3365         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3366         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3367         (emchar_string_displayed_columns): Likewise.
3368
3369         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3370         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3371         (string_column_at_point): Likewise.
3372         (Fmove_to_column): Likewise.
3373
3374         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3375         `encoding_table' and `decoding_table'.
3376         (CHARSET_REP_BYTES): Deleted.
3377         (XCHARSET_REP_BYTES): Deleted.
3378         (XCHARSET_COLUMNS): Deleted.
3379         (CHAR_COLUMNS): New macro.
3380         (lookup_composite_char): Deleted unconditionally.
3381         (composite_char_string): Likewise.
3382
3383 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3384
3385         * char-ucs.h (Emchar_to_byte_table): New type.
3386         (get_byte_from_character_table): New function interface.
3387         (Vcharset_latin_jisx0201): New variable.
3388         (latin_jisx0201_to_ucs): New variable.
3389         (ucs_to_latin_jisx0201): New variable.
3390         (Vcharset_latin_iso8859_2): New variable.
3391         (latin_iso8859_2_to_ucs): New variable.
3392         (ucs_to_latin_iso8859_2): New variable.
3393         (Vcharset_latin_iso8859_3): New variable.
3394         (latin_iso8859_3_to_ucs): New variable.
3395         (ucs_to_latin_iso8859_3): New variable.
3396         (Vcharset_latin_iso8859_4): New variable.
3397         (latin_iso8859_4_to_ucs): New variable.
3398         (ucs_to_latin_iso8859_4): New variable.
3399         (Vcharset_latin_iso8859_9): New variable.
3400         (latin_iso8859_9_to_ucs): New variable.
3401         (ucs_to_latin_iso8859_9): New variable.
3402         (Vcharset_latin_viscii_lower): New variable.
3403         (latin_viscii_lower_to_ucs): New variable.
3404         (ucs_to_latin_viscii_lower): New variable.
3405         (Vcharset_latin_viscii_upper): New variable.
3406         (latin_viscii_upper_to_ucs): New variable.
3407         (ucs_to_latin_viscii_upper): New variable.
3408         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3409         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3410         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3411         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3412         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3413         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3414         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3415         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3416         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3417         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3418
3419         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3420         (Vcharset_latin_viscii_upper): New variable.
3421         (make_byte_from_character_table): New function.
3422         (put_byte_from_character_table): New function.
3423         (get_byte_from_character_table): New function.
3424         (CHAR96): New macro.
3425         (ucs_to_latin_jisx0201): New variable.
3426         (latin_jisx0201_to_ucs): New variable.
3427         (ucs_to_latin_iso8859_2): New variable.
3428         (latin_iso8859_2_to_ucs): New variable.
3429         (ucs_to_latin_iso8859_3): New variable.
3430         (latin_iso8859_3_to_ucs): New variable.
3431         (ucs_to_latin_iso8859_4): New variable.
3432         (latin_iso8859_4_to_ucs): New variable.
3433         (ucs_to_latin_iso8859_9): New variable.
3434         (latin_iso8859_9_to_ucs): New variable.
3435         (ucs_to_latin_viscii_lower): New variable.
3436         (latin_viscii_lower_to_ucs): New variable.
3437         (ucs_to_latin_viscii_upper): New variable.
3438         (latin_viscii_upper_to_ucs): New variable.
3439         (ucs_to_latin_tcvn5712): New variable.
3440         (latin_tcvn5712_to_ucs): New variable.
3441         (Qlatin_viscii_lower): New variable.
3442         (Qlatin_viscii_upper): New variable.
3443         (syms_of_mule_charset): Set up new symbol
3444         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3445         (complex_vars_of_mule_charset): Set up new charset
3446         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3447         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3448         `ucs_to_<CHARSET>' tables.
3449
3450 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3451
3452         * text-coding.c: New file.
3453
3454 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3455
3456         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3457
3458         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3459         (MAKE_CHAR): Modify for `ucs-bmp'.
3460         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3461         non-MULE characters of BMP.
3462
3463 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3464
3465         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3466         to 0.6.
3467
3468 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3469
3470         * lstream.h:
3471         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3472         - Include character.h for `CHAR_ASCII_P'.
3473
3474         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3475
3476         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3477         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3478
3479         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3480         (BYTE_C0_P): Likewise.
3481         (BYTE_C1_P): Likewise.
3482         (Lstream_get_emchar_1): Likewise.
3483         (Lstream_fput_emchar): Likewise.
3484         (Lstream_funget_emchar): Likewise.
3485         (copy_internal_to_external): Likewise.
3486         (copy_external_to_internal): Likewise.
3487
3488         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3489         (BYTE_C0_P): Likewise.
3490         (BYTE_C1_P): Likewise.
3491         (Lstream_get_emchar_1): Likewise.
3492         (Lstream_fput_emchar): Likewise.
3493         (Lstream_funget_emchar): Likewise.
3494         (copy_internal_to_external): Likewise.
3495         (copy_external_to_internal): Likewise.
3496
3497         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3498         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3499
3500         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3501         (BYTE_ASCII_P): Moved to mb-1byte.h.
3502
3503 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3504
3505         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3506
3507         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3508         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3509         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3510         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3511         (VALIDATE_CHARPTR_FORWARD): Likewise.
3512         (simple_charptr_emchar): Moved to mb-multibyte.h.
3513         (simple_set_charptr_emchar): Likewise.
3514         (simple_charptr_copy_char): Likewise.
3515         (non_ascii_charptr_emchar): Likewise.
3516         (non_ascii_set_charptr_emchar): Likewise.
3517         (non_ascii_charptr_copy_char): Likewise.
3518         (charptr_emchar): Moved to mb-*byte.h.
3519         (set_charptr_emchar): Likewise.
3520         (charptr_copy_char): Likewise.
3521
3522         * mb-1byte.h, mb-multibyte.h: New files.
3523
3524 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3525
3526         * mb-utf-8.h (MULTIBYTE): New macro.
3527         (MAX_EMCHAR_LEN): Moved from buffer.h.
3528         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3529
3530         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3531
3532         * mb-lb.h, multibyte.h: New files.
3533
3534         * char-1byte.h (Charset_ID): Moved from buffer.h.
3535         (MIN_LEADING_BYTE): Likewise.
3536         (LEADING_BYTE_ASCII): Likewise.
3537         (NUM_LEADING_BYTES): 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         (CHAR_CHARSET): Likewise.
3545         (CHAR_LEADING_BYTE): Likewise.
3546         (BREAKUP_CHAR): Likewise.
3547         (Vcharset_ascii): Likewise.
3548
3549         * buffer.h: Include multibyte.h unconditionally.
3550         (VALID_CHARPTR_P): Moved to multibyte.h.
3551         (ASSERT_VALID_CHARPTR): Likewise.
3552         (REAL_INC_CHARPTR): Likewise.
3553         (REAL_INC_CHARBYTIND): Likewise.
3554         (REAL_DEC_CHARPTR): Likewise.
3555         (INC_CHARPTR): Likewise.
3556         (INC_CHARBYTIND): Likewise.
3557         (DEC_CHARPTR): Likewise.
3558         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3559         (VALIDATE_CHARPTR_FORWARD): Likewise.
3560         (charptr_n_addr): Likewise.
3561         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3562         (simple_charptr_emchar): Moved to multibyte.h.
3563         (simple_set_charptr_emchar): Likewise.
3564         (simple_charptr_copy_char): Likewise.
3565         (non_ascii_charptr_emchar): Likewise.
3566         (non_ascii_set_charptr_emchar): Likewise.
3567         (non_ascii_charptr_copy_char): Likewise.
3568         (charptr_emchar): Likewise.
3569         (set_charptr_emchar): Likewise.
3570         (charptr_copy_char): Likewise.
3571         (charptr_emchar_n): Likewise.
3572         (Charset_ID): Moved to char-1byte.h.
3573         (Vcharset_ascii): Likewise.
3574         (CHAR_CHARSET): Likewise.
3575         (CHAR_LEADING_BYTE): Likewise.
3576         (LEADING_BYTE_ASCII): Likewise.
3577         (NUM_LEADING_BYTES): Likewise.
3578         (MIN_LEADING_BYTE): Likewise.
3579         (CHARSETP): Likewise.
3580         (CHARSET_BY_LEADING_BYTE): Likewise.
3581         (XCHARSET_LEADING_BYTE): Likewise.
3582         (XCHARSET_GRAPHIC): Likewise.
3583         (XCHARSET_COLUMNS): Likewise.
3584         (XCHARSET_DIMENSION): Likewise.
3585         (BREAKUP_CHAR): Likewise.
3586
3587 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3588
3589         * character.h: Add document about interface for characters.
3590
3591         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3592         (MAKE_CHAR): Delete comment about
3593         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3594         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3595         (BREAKUP_CHAR): Modify name of arguments.
3596         (CHAR_CHARSET): Modify name of argument.
3597
3598         * buffer.h: Delete document about Emchar accessors.
3599
3600 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3601
3602         * character.h (CHAR_INTP): Moved from buffer.h
3603         (CHAR_OR_CHAR_INTP): Likewise.
3604         (XCHAR_OR_CHAR_INT): Likewise.
3605         (CHECK_CHAR_COERCE_INT): Likewise.
3606
3607         * buffer.h (CHAR_INTP): Moved to character.h
3608         (CHAR_OR_CHAR_INTP): Likewise.
3609         (XCHAR_OR_CHAR_INT): Likewise.
3610         (CHECK_CHAR_COERCE_INT): Likewise.
3611
3612 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3613
3614         * character.h:
3615         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3616         - Include char-1byte.h, char-lb.h or char-ucs.h.
3617
3618         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3619
3620         * buffer.h: Include character unconditionally.
3621         (valid_char_p): Moved to char-*.h.
3622         (non_ascii_valid_char_p): Moved to char-lb.h.
3623
3624         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3625
3626 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3627
3628         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3629         in UTF-2000 because it is not ported yet and not to use
3630         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3631         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3632         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3633
3634         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3635         (CHAR_ASCII_P): Moved from character.h.
3636
3637         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3638         (CHAR_ASCII_P): Likewise.
3639         (CHAR_FIELD1_MASK): Deleted.
3640         (CHAR_FIELD2_MASK): Deleted.
3641         (CHAR_FIELD3_MASK): Deleted.
3642         (MAX_CHAR_BASIC_LATIN): New macro.
3643         (CHAR_FIELD1): Deleted.
3644         (CHAR_FIELD2_INTERNAL): Deleted.
3645         (CHAR_FIELD3_INTERNAL): Deleted.
3646         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3647         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3648         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3649         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3650         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3651         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3652         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3653         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3654         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3655         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3656         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3657         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3658         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3659         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3660         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3661         (MIN_CHAR_COMPOSITION): Deleted.
3662         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3663         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3664
3665 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3666
3667         * buffer.h: Include mb-utf-8.h in UTF-2000.
3668
3669         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3670
3671         * mb-utf-8.h: New file.
3672
3673 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3674
3675         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3676         instead of `int'.
3677
3678         * mule-charset.h, buffer.h (Charset_ID): New type.
3679
3680 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3681
3682         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3683         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3684         instead of `MULE_CHAR_PRIVATE_OFFSET',
3685         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3686         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3687         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3688
3689         * character.h (Vcharset_japanese_jisx0212): New variable
3690         definition.
3691
3692 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3693
3694         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3695         (charset_by_attributes): Delete array about direction.
3696         (latin_a_char_to_charset): New variable in UTF-2000.
3697         (latin_a_char_to_byte1): New variable in UTF-2000.
3698         (latin_a_char_to_byte2): New variable in UTF-2000.
3699         (Qucs_bmp): New variable.
3700         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3701         `Bufbyte'.
3702         (next_allocated_2_byte_leading_byte): Likewise.
3703         (non_ascii_set_charptr_emchar): Likewise.
3704         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3705         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3706         `charset_by_attributes'.
3707         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3708         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3709         and `CHARSET_BY_LEADING_BYTE'.
3710         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3711         `utf-2000-version' to `vars_of_mule_charset'.
3712         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3713         define `leading-code-private-11' in UTF-2000; move setting of
3714         `utf-2000-version' from `syms_of_mule_charset'.
3715         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3716         UTF-2000.
3717
3718         * character.h (Charset_ID): New type.
3719         (LEADING_BYTE_UCS_BMP): New macro.
3720         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3721         (CHARSET_ID_OFFSET_94): New macro.
3722         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3723         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3724         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3725         final-byte.
3726         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3727         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3728         (CHARSET_ID_OFFSET_96): New macro.
3729         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3730         CHARSET_ID_OFFSET_96 and final-byte.
3731         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3732         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3733         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3734         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3735         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3736         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3737         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3738         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3739         (LEADING_BYTE_THAI_TIS620): Likewise.
3740         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3741         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3742         (CHARSET_ID_OFFSET_94x94): New macro.
3743         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3744         CHARSET_ID_OFFSET_94x94 and final-byte.
3745         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3746         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3747         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3748         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3749         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3750         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3751         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3752         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3753         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3754         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3755         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3756         (CHARSET_TYPE_128X128): New macro.
3757         (CHARSET_TYPE_256X256): New macro.
3758         (XCHARSET_PRIVATE_P): Delete unconditionally.
3759         (charset_by_attributes): Delete array about direction.
3760         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3761         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3762         (MIN_CHAR_94): New macro.
3763         (MAX_CHAR_94): New macro.
3764         (MIN_CHAR_96): New macro.
3765         (MAX_CHAR_96): New macro.
3766         (MIN_CHAR_94x94): New macro.
3767         (MAX_CHAR_94x94): New macro.
3768         (MIN_CHAR_96x96): New macro.
3769         (MAX_CHAR_96x96): New macro.
3770         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3771         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3772         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3773         - 32)'.
3774         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3775         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3776         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3777         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3778         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3779         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3780         `XCHARSET_LEADING_BYTE' to make code-point.
3781         (latin_a_char_to_charset): New variable.
3782         (latin_a_char_to_byte1): New variable.
3783         (latin_a_char_to_byte2): New variable.
3784         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3785         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3786         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3787
3788         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3789         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3790         (find_charsets_in_emchar_string): Likewise.
3791         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3792
3793         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3794         `int'.
3795         (decode_coding_iso2022): Likewise.
3796
3797         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3798         of `unsigned char'.
3799
3800         * redisplay.c (redisplay_text_width_emchar_string): Use
3801         `Charset_ID' instead of `unsigned char'.
3802         (redisplay_frame_text_width_string): Likewise.
3803
3804         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3805         `unsigned char'.
3806
3807         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3808         instead of `unsigned char'.
3809         (face_cachel_charset_font_metric_info): Likewise.
3810
3811         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3812         (get_non_ascii_char_table_value): Likewise.
3813         (get_char_table): Likewise.
3814         (put_char_table): Likewise.
3815         (map_over_other_charset): Likewise.
3816         (map_char_table): Likewise.
3817
3818         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3819         instead of `unsigned char'.
3820
3821 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3822
3823         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3824         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3825
3826         * mule-charset.c (leading_code_private_11): Don't define in
3827         UTF-2000.
3828
3829         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3830         in UTF-2000 because it is not ported yet and not to use
3831         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3832
3833 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3834
3835         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3836
3837 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3838
3839         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3840         in UTF-2000.
3841
3842         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3843         of unsigned char to store leading-byte.
3844
3845         * chartab.c (get_non_ascii_char_table_value): Don't use
3846         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3847
3848         * file-coding.c (encode_coding_big5): Delete bogus implementation
3849         in UTF2000.
3850
3851         * character.h (LEADING_BYTE_*): Delete definition for
3852         non-UTF-2000.
3853         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3854         (LEADING_BYTE_PREFIX_P): Deleted.
3855         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3856         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3857         (BUFBYTE_LEADING_BYTE_P): Deleted.
3858         (CHARSET_PRIVATE_P): Deleted unconditionally.
3859         (rep_bytes_by_first_byte): Deleted unconditionally.
3860         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3861         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3862         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3863         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3864         (CHAR_FIELD2): Deleted.
3865         (CHAR_FIELD3): Deleted.
3866         (MAKE_CHAR): Delete definition for non-UTF-2000.
3867         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3868         (breakup_char_1): New implementation.
3869         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3870         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3871
3872 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3873
3874         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3875         condition.
3876
3877 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3878
3879         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3880         (CHARSET_PRIVATE_P): Likewise.
3881         (XCHARSET_PRIVATE_P): Likewise.
3882         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3883
3884         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3885         UTF2000.
3886         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3887
3888 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3889
3890         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3891         (NUM_LEADING_BYTES): Changed from 128 to 256.
3892         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3893         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3894         UTF2000.
3895         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3896
3897         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3898         UTF2000.
3899         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3900         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3901         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3902         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3903         (Qchinese_cns11643_3): New variable in UTF2000.
3904         (Qchinese_cns11643_4): New variable in UTF2000.
3905         (Qchinese_cns11643_5): New variable in UTF2000.
3906         (Qchinese_cns11643_6): New variable in UTF2000.
3907         (Qchinese_cns11643_7): New variable in UTF2000.
3908         (syms_of_mule_charset): Define `chinese-cns11643-3',
3909         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3910         and `chinese-cns11643-7' in UTF2000.
3911         (vars_of_mule_charset): Initialize
3912         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3913         + 1 in UTF2000.
3914         (complex_vars_of_mule_charset): Setup charset
3915         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3916         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3917
3918 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3919
3920         * mule-charset.c: Move setting for `leading-code-private-11' from
3921         `syms_of_mule_charset' to `vars_of_mule_charset'.
3922
3923 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3924
3925         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3926         and `NUM_LEADING_BYTES' in assert.
3927
3928 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3929
3930         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3931         instead of 128.
3932         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3933         `NUM_LEADING_BYTES' instead of 128.
3934
3935 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3936
3937         * mule-charset.h (charset_by_leading_byte): Use
3938         `NUM_LEADING_BYTES' instead of 128.
3939         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3940
3941         * mule-charset.c (charset_by_leading_byte): Use
3942         `NUM_LEADING_BYTES' instead of 128.
3943         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3944
3945         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3946         128.
3947
3948 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3949
3950         * mule-charset.c (syms_of_mule_charset): Update to
3951         0.4 (Shin-Imamiya).
3952
3953 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3954
3955         * file-coding.c (encode_coding_sjis): New implementation for
3956         UTF2000.  (decode_coding_sjis): Ditto.
3957
3958 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3959
3960         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3961         Don't define in UTF2000.
3962
3963         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3964         defined.
3965
3966         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3967         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3968         MULE.
3969
3970 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3971
3972         * config.h.in (CHAR_IS_UCS4): New macro.
3973
3974         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3975         conventional MULE representation.
3976         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3977
3978         * mule-charset.h: Reverted to original.
3979
3980         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3981         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3982         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3983
3984         * character.h: New file.
3985
3986         * file-coding.c (Fmake_coding_system): Set 1 to
3987         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3988         defined.
3989         (encode_coding_no_conversion): New implementation for UTF2000.
3990
3991         * file-coding.h (struct Lisp_Coding_System): Add new member
3992         `fixed.size'.
3993
3994 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3995
3996         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3997         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3998         (encode_coding_iso2022): New implementation for UTF2000.
3999
4000 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4001
4002         * mule-canna.c (c2mu): New implementation for UTF2000.
4003         (m2c): Likewise.
4004
4005 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4006
4007         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4008
4009 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4010
4011         * file-coding.c (reset_encoding_stream): Set 0 to
4012         `str->iso2022.current_char_boundary' in UTF2000.
4013         (encode_utf8): Don't define in UTF2000.
4014         (encode_coding_utf8): New implementation for UTF-8 representation
4015         of UTF2000.
4016         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4017
4018 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4019
4020         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4021
4022         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4023         UTF2000.
4024         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4025
4026         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4027
4028         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4029         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4030         as UTF-8 in UTF2000.
4031         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4032         (non_ascii_valid_char_p): Don't define in UTF2000.
4033         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4034         (Lstream_get_emchar_1): Likewise.
4035         (utf-2000-version): New variable in UTF2000.
4036
4037         * lread.c (read_escape): Add new reader `u'.
4038
4039         * insdel.c (three_to_one_table): Don't define in UTF2000.
4040         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4041         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4042         UTF2000.
4043         (bytind_to_bufpos_func): Likewise.
4044         (buffer_mule_signal_inserted_region): Likewise.
4045         (vars_of_insdel): Don't initialize `three_to_one_table'.
4046         (init_buffer_text): Use `buf->text->mule_size' instead of
4047         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4048         UTF2000.
4049
4050         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4051         UTF-8 representation in UTF2000.
4052         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4053         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4054         (decode_coding_iso2022): Don't define local variable `lb' in
4055         UTF2000; don't use LEADING_BYTE in UTF2000; use
4056         `DECODE_ADD_UCS_CHAR' in UTF2000.
4057         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4058
4059         * config.h.in (UTF2000): New macro.
4060
4061         * buffer.h (struct buffer_text): Add new member `mule_size' and
4062         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4063         (valid_char_p): Return always 1 in UTF2000.
4064         (MAX_EMCHAR_LEN): 6 in UTF2000.
4065         (three_to_one_table): Don't define in UTF2000.
4066         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4067         UTF2000.
4068         (real_bytind_to_bufpos): Likewise.
4069
4070         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4071
4072 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4073
4074         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4075         representation change.
4076         (Vutf_2000_version): New variable.
4077         (leading_code_private_11): New variable.
4078         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4079         `leading-code-private-11'.
4080
4081         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4082         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4083         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4084         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4085         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4086         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4087         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4088         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4089         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4090         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4091         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4092         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4093         (MIN_CHAR_GREEK): New macro.
4094         (MAX_CHAR_GREEK): New macro.
4095         (MIN_CHAR_CYRILLIC): New macro.
4096         (MAX_CHAR_CYRILLIC): New macro.
4097         (MIN_CHAR_HEBREW): New macro.
4098         (MAX_CHAR_HEBREW): New macro.
4099         (MIN_CHAR_THAI): New macro.
4100         (MAX_CHAR_THAI): New macro.
4101         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4102         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4103         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4104         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4105         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4106         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4107         (CHAR_FIELD2): New inline function.
4108         (CHAR_FIELD3): New inline function.
4109         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4110         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4111         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4112         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4113         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4114         (MIN_CHAR_COMPOSITION): Likewise.
4115         (CHAR_LEADING_BYTE): Modified for character representation change.
4116         (MAKE_CHAR): Likewise.
4117
4118         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4119         (Vcharset_greek_iso8859_7): Likewise.
4120         (Vcharset_cyrillic_iso8859_5): Likewise.
4121         (Vcharset_hebrew_iso8859_8): Likewise.
4122         (Vcharset_thai_tis620): Likewise.
4123         (Vcharset_katakana_jisx0201): Likewise.
4124
4125 2001-02-08  Martin Buchholz <martin@xemacs.org>
4126
4127         * XEmacs 21.2.44 "Thalia" is released.
4128
4129 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4130
4131         Fixes crashes in kill-emacs on some systems.
4132         * process-unix.c (unix_kill_child_process):
4133         It's OK for kill() to fail with ESRCH.
4134
4135 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4136
4137         Contortions to make .gdbinit tricks work on most systems.
4138         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4139         * alloc.c (dbg_valmask): Make non-const.
4140         * alloc.c (dbg_typemask): Make non-const.
4141         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4142         * alloc.c (dbg_valbits): Make non-const.
4143         * alloc.c (dbg_gctypebits): Make non-const.
4144         * .gdbinit (decode_object): Make it work with AIX cc.
4145
4146 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4147
4148         * elhash.c (make_general_lisp_hash_table):
4149         Use simpler and more efficient calloc to clear entries.
4150
4151 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4152
4153         * window.c (window_scroll): Work around an AIX C compiler bug.
4154         Fixes 'scroll-up' does nothing problem with xlC.
4155
4156 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4157
4158         * .gdbinit: Remove obsolete comment.
4159
4160 2001-01-31  Mike Alexander  <mta@arbortext.com>
4161
4162         * select.c (Fown_selection_internal): Set owned_p for device
4163         method correctly.
4164
4165 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4166
4167         Port to g++ 2.97.
4168         "not" cannot be used as a macro name as it is an operator in C++
4169         * config.h.in: Stop #defining `not'.
4170         * chartab.c (check_category_char): not ==> not_p
4171         * chartab.h: Likewise.
4172         * regex.c (re_match_2_internal): Likewise.
4173
4174 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4175
4176         * lisp-disunion.h: Fix up comments.
4177
4178 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4179
4180         * keymap.c (define_key_check_and_coerce_keysym):
4181         (syms_of_keymap):
4182         Support mouse-6 and mouse-7 bindings in the obvious way.
4183
4184 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4185
4186         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4187
4188 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4189
4190         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4191         Previous patch missed DEFVAR_INT_MAGIC.
4192         Make sure future DEFVAR_foo use correct types.
4193         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4194         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4195         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4196         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4197         * (DEFVAR_INT): Likewise.
4198         * redisplay.c (vertical_clip): Should be of type Fixnum.
4199         * redisplay.c (horizontal_clip): Likewise.
4200         * lisp.h (dump_add_opaque_int): New.
4201         (dump_add_opaque_fixnum): New.
4202
4203 2001-01-29  Andy Piper  <andy@xemacs.org>
4204
4205         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4206         since they can be eval'ed
4207
4208 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4209
4210         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4211         Oops, XEmacs redefines `class'.  Use `typename' instead.
4212
4213 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4214
4215         * dumper.c: Fix C++ compile errors.
4216
4217 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4218
4219         * tparam.c: Use correct prototypes.
4220
4221 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4222
4223         * sysproc.h: #include util.h for NetBSD's openpty.
4224
4225 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4226
4227         More 64-bit correctness.
4228         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4229         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4230         Fix up comments.
4231         This finally finishes the 64-bit SGI port.
4232         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4233         * symbols.c: Fix up comments and type casts.
4234         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4235         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4236         * symeval.h (Fixnum): New type.
4237         * symeval.h (symbol_value_type): Fix up comment.
4238
4239         * commands.h:
4240         * nt.c:
4241         * emacs.c:
4242         * data.c:
4243         * redisplay.c:
4244         * abbrev.c:
4245         * dired-msw.c:
4246         * event-Xt.c:
4247         * eldap.c:
4248         * window.c:
4249         * sound.c:
4250         * event-stream.c:
4251         * eval.c:
4252         * buffer.c:
4253         * mule-canna.c: A million DEFVAR_INTs here...
4254         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4255         * extents.c:
4256         * cmdloop.c:
4257         * lisp.h:
4258         * select-x.c:
4259         * console-x.h:
4260         * event-msw.c:
4261         * mule-wnnfns.c:
4262         * hpplay.c:
4263         * ralloc.c:
4264         * alloc.c:
4265         * keymap.c:
4266         * profile.c:
4267         s/int/Fixnum/g in DEFVAR_INT declarations.
4268
4269 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4270
4271         Port pdump to SGI alignment-sensitive environment.
4272         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4273         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4274         properly aligned.
4275         Define and use aligned reading and writing macros.
4276         Use buffered stdio instead of posix i/o for faster dumping.
4277         Eliminate kludgy 256 byte space for header.
4278         Read and write from dump file using structs for alignment safety.
4279         * dumper.c (pdump_align_stream): New.
4280         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4281         * dumper.c (PDUMP_READ_ALIGNED): New.
4282         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4283         * dumper.c (pdump_static_Lisp_Object): New struct.
4284         * dumper.c (pdump_static_pointer): New struct.
4285         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4286         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4287         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4288         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4289
4290         * dumper.c (pdump_backtrace):
4291         * dumper.c (pdump_get_indirect_count):
4292         * dumper.c (pdump_register_object):
4293         * dumper.c (pdump_register_struct):
4294         * dumper.c (pdump_reloc_one):
4295         * dumper.c (pdump_scan_by_alignment):
4296         * dumper.c (pdump_dump_from_root_struct_ptrs):
4297         * dumper.c (pdump_dump_opaques):
4298         * dumper.c (pdump_dump_rtables):
4299         * dumper.c (pdump_dump_from_root_objects):
4300         * dumper.c (pdump):
4301         * dumper.c (pdump_load_finish):
4302         Use aligned reading and writing.
4303
4304         * dumper.c (pdump_free): Make static.
4305         * dumper.c (pdump_hFile): Likewise.
4306         * dumper.c (pdump_hMap): Likewise.
4307
4308 2001-01-26  Martin Buchholz <martin@xemacs.org>
4309
4310         * XEmacs 21.2.43 "Terspichore" is released.
4311
4312 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4313
4314         Type fiddling for window_config.saved_windows_count
4315         * window.c (struct window_config): 
4316         Make saved_windows_count member unsigned.
4317         * window.c (sizeof_window_config_for_n_windows): 
4318         Make parameter unsigned.
4319         * window.c (mark_window_config):
4320         * window.c (window_config_equal):
4321         * window.c (free_window_configuration):
4322         * window.c (Fset_window_configuration):
4323         * window.c (count_windows):
4324         * window.c (Fcurrent_window_configuration):
4325         * window.c (reinit_vars_of_window):
4326         Update all callers and users.
4327
4328 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4329
4330         Alignment correctness for flexible arrays.
4331         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4332         Make alignment-correct. Add interesting comments.
4333         * alloc.c (size_vector):
4334         * alloc.c (make_vector_internal):
4335         * alloc.c (make_bit_vector_internal):
4336         * alloc.c (sweep_bit_vectors_1):
4337         * fns.c (size_bit_vector):
4338         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4339         * window.c (sizeof_window_config_for_n_windows): 
4340         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4341
4342 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4343
4344         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4345
4346 2001-01-23  Andy Piper  <andy@xemacs.org>
4347
4348         * select.c (Fown_selection_internal): pass owned_p
4349
4350         * select-msw.c (mswindows_own_selection): New Signature.
4351
4352         * console.h (struct console_methods): add owned_p to
4353         _own_selection.
4354
4355         * select-x.c (x_own_selection): pass owned_p
4356         (hack_motif_clipboard_selection): use owned_p
4357         (vars_of_select_x): new variable -
4358         x_selection_strict_motif_ownership.
4359
4360 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4361
4362         * specifier.h (specifier_data_offset): Remove pointless parens.
4363         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4364
4365 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4366
4367         Make Lisp_Object sizeof methods be alignment-correct.
4368         pdump must restore objects to the same alignment as the C compiler
4369         assumes.  It really matters on SGIs.
4370         * lstream.c (aligned_sizeof_lstream): New.
4371         (sizeof_lstream): Use aligned_sizeof_lstream.
4372         (Lstream_new): Likewise.
4373         * opaque.c (aligned_sizeof_opaque): New.
4374         (sizeof_opaque): Use aligned_sizeof_opaque.
4375         (make_opaque): Likewise.
4376         * specifier.c (aligned_sizeof_specifier): New.
4377         (sizeof_specifier): Use aligned_sizeof_specifier.
4378         (make_specifier_internal): Likewise.
4379
4380 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4381
4382         * lstream.h (struct lstream): Use max_align_t for trailing data.
4383         * specifier.h (struct Lisp_Specifier): Likewise.
4384
4385 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4386
4387         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4388         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4389         (CCL_SUSPEND): Likewise.
4390         (CCL_INVALID_CMD): Likewise.
4391         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4392         (ccl_driver): Likewise.
4393         (CCL_WRITE_CHAR): Macro hygiene.
4394         (CCL_WRITE_STRING): Macro hygiene.
4395
4396 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4397
4398         Port "portable" dumper to SunOS 4 and HP-UX.
4399         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4400         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4401         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4402
4403 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4404
4405         * lisp.h (ALIGNOF): A better definition for C++.
4406
4407 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4408
4409         Macro hygiene.
4410         Fix printf warnings: int format, long int arg.
4411         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4412         (PUSH_FAILURE_POINT): Use correct printf formats.
4413         (POP_FAILURE_POINT): Use correct printf formats.  
4414         Use do {...} while (0)
4415
4416 2001-01-20  Martin Buchholz <martin@xemacs.org>
4417
4418         * XEmacs 21.2.42 "Poseidon" is released.
4419
4420 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4421
4422         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4423
4424 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4425
4426         De-kludgify FIXED_TYPE free list frobbing.
4427         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4428         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4429         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4430         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4431         * alloc.c (LRECORD_FREE_P): New.
4432         * alloc.c (MARK_LRECORD_AS_FREE): New.
4433         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4434         * alloc.c (STRUCT_FREE_P): Deleted.
4435         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4436         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4437         * alloc.c (STRING_CHARS_FREE_P): New.
4438         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4439         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4440         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4441         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4442         * alloc.c (resize_string): Use new definitions.
4443         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4444         * alloc.c (verify_string_chars_integrity): Use new definitions.
4445         * alloc.c (compact_string_chars): Use new definitions.
4446         * alloc.c: Update monster comments.
4447         * lrecord.h (lrecord_type): Add some new lrecord types for
4448         alloc.c's use.
4449
4450 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4451
4452         Improve alignment hackery.
4453         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4454         (max_align_t): Moved from opaque.h - general purpose.
4455         (ALIGN_PTR): Use size_t, not long.
4456         * opaque.h (max_align_t): Move to lisp.h.
4457
4458 2001-01-18  Norbert Koch  <nk@LF.net>
4459
4460         * gui.h: Fix and add prototypes to fix build problems.
4461
4462 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4463
4464         temacs is going away, so `dump-temacs' is now a bad name.
4465         * .dbxrc (dump-temacs): Rename to `dmp'.
4466         * .gdbinit (dump-temacs): Rename to `dmp'.
4467
4468 2001-01-17  Andy Piper  <andy@xemacs.org>
4469
4470         * glyphs.c (print_image_instance): comment to make martin happy.
4471
4472         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4473         change.
4474
4475         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4476         activation.
4477         (mswindows_tab_control_redisplay): warning suppression.
4478
4479         * glyphs-widget.c (widget_update): re-write to cope with updated
4480         items.
4481         (widget_instantiate): use new gui_item functions.
4482         (tab_control_update): deleted.
4483         (progress_gauge_update): deleted.
4484         (image_instantiator_progress_guage): take out update reference.
4485         (image_instantiator_tree_view): ditto.
4486         (image_instantiator_tab_control): ditto.
4487
4488         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4489         Right the new way.
4490         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4491         return whether anything was changed.
4492         (update_gui_item_keywords): as it sounds.
4493
4494         * gui.h: declare widget_gui_parse_item_keywords.
4495
4496         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4497         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4498
4499 2001-01-17  Martin Buchholz <martin@xemacs.org>
4500
4501         * XEmacs 21.2.41 "Polyhymnia" is released.
4502
4503 2001-01-16  Didier Verna  <didier@xemacs.org>
4504
4505         * glyphs.c (image_instantiate): don't use fallbacks when
4506         instantiating a face's background pixmap by inheritance.
4507
4508 2001-01-14  Mike Sperber <mike@xemacs.org>
4509
4510         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4511         Conditionalize accordingly.
4512
4513 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4514
4515         * dumper.c (pdump_file_get): Fix a compiler warning.
4516
4517 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4518
4519         Make Purify happy when pdumping.
4520         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4521         iniitalizing all bits of new lisp object memory.
4522         * symbols.c (Fmake_local_variable): Likewise.
4523         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4524         * symbols.c (Fdefvaralias): Likewise.
4525         * mule-charset.c (vars_of_mule_charset): Likewise.
4526
4527 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4528         Add the `-nd' flag when running pre-dump operations under the debugger.
4529         * .dbxrc (run-temacs): Add `-nd'.
4530         * .dbxrc (update-elc): Likewise.
4531         * .dbxrc (dump-temacs): Likewise.
4532         * .gdbinit (run-temacs): Likewise.
4533         * .gdbinit (check-temacs): Likewise.
4534         * .gdbinit (update-elc): Likewise.
4535         * .gdbinit (dump-temacs): Likewise.
4536
4537 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4538
4539         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4540         export OBJECT_MODE=64
4541         configure --pdump --use-union-type=no
4542         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4543         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4544
4545         * miscplay.c (sndcnv8U_2mono):
4546         Avoid two uses of `++' in the same expression.
4547         Suppresses a GCC warning.
4548
4549 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4550
4551         Make sure future compilers don't miscompile alloc.c.
4552         * alloc.c:
4553         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4554         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4555
4556 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4557
4558         * dumper.c: A little post-pdump-rename comment fixup.
4559
4560 2001-01-09  Jerry James  <james@eecs.ku.edu>
4561
4562         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4563
4564 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4565
4566         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4567         script:
4568         #!/bin/sh
4569         replace_symbol () {
4570           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4571         }
4572
4573         replace_symbol pdump_wire_lists pdump_weak_object_chains
4574         replace_symbol pdump_wire_list dump_add_weak_object_chain
4575
4576         replace_symbol pdump_wires pdump_root_objects
4577         replace_symbol pdump_wire dump_add_root_object
4578
4579         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4580         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4581
4582         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4583         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4584         replace_symbol dumpstructinfo pdump_root_struct_ptr
4585         replace_symbol dumpstruct dump_add_root_struct_ptr
4586
4587         replace_symbol dumpopaque dump_add_opaque
4588         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4589         replace_symbol dumpopaqueinfos pdump_opaques
4590         replace_symbol dumpopaqueinfo pdump_opaque
4591
4592         replace_symbol nb_structdump nb_root_struct_ptrs
4593         replace_symbol nb_opaquedump nb_opaques
4594
4595         replace_symbol align_table pdump_align_table
4596         replace_symbol dump_header pdump_header
4597
4598         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4599         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4600
4601
4602 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4603
4604         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4605         optimizing bytecount_to_charcount().
4606
4607 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4608
4609         * config.h.in:
4610         (HAVE_DLFCN_H): Removed.
4611         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4612
4613 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4614
4615         Portable dumper maintainability improvements.
4616         * alloc.c (staticpro):
4617         * alloc.c (staticpro_nodump):
4618         * alloc.c (garbage_collect_1):
4619         * alloc.c (reinit_alloc_once_early):
4620         * alloc.c (init_alloc_once_early):
4621         * alloc.c: Move dumper functions to alloc.c.
4622         * dumper.c (pdump_backtrace):
4623         * dumper.c (pdump_dump_structs):
4624         * dumper.c (pdump_dump_opaques):
4625         * dumper.c (pdump_dump_rtables):
4626         * dumper.c (pdump_dump_wired):
4627         * dumper.c (pdump):
4628         * dumper.c (pdump_load_check):
4629         * dumper.c (pdump_load_finish):
4630         * dumper.c (pdump_file_unmap):
4631         * dumper.c (pdump_file_get):
4632         * dumper.c (pdump_resource_free):
4633         * dumper.c (pdump_resource_get):
4634         * dumper.c (pdump_file_free):
4635         * dumper.c (pdump_file_try):
4636         * dumper.c (pdump_load):
4637         Remove fixed size limits on staticpro(), staticpro_nodump(),
4638         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4639         Remove custom code for dumping lrecord_implementations_table - use
4640         dumpopaque instead.
4641         Remove (most of the) custom code for dumping staticpros - dump it
4642         like any other dynarr.
4643
4644         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4645         * dumper.c: Moved functions from alloc.c.
4646         * alloc.c (dumpstruct): Moved to dumper.c.
4647         * alloc.c (dumpopaque): Likewise.
4648         * alloc.c (pdump_wire): Likewise.
4649         * alloc.c (pdump_wire_list): Likewise.
4650
4651         * lisp.h (Dynarr_sizeof): New.
4652         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4653         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4654         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4655
4656         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4657         * lisp.h (dumpopaque): ditto.
4658         * lisp.h (pdump_wire): ditto.
4659         * lisp.h (pdump_wire_list): ditto.
4660
4661 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4662
4663         * make-src-depend (PrintPatternDeps):
4664         Use `sort' to make output independent of perl version.
4665
4666 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4667
4668         Port to Netbsd 1.5.
4669         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4670         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4671
4672 2001-01-03  Didier Verna  <didier@xemacs.org>
4673
4674         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4675         that `focus_frame' is alive before thinking of calling
4676         `redisplay_redraw_cursor' on it.
4677
4678 2001-01-08  Martin Buchholz <martin@xemacs.org>
4679
4680         * XEmacs 21.2.40 is released.
4681
4682 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4683
4684         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4685
4686 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4687
4688         * alloc.c (dbg_valmask): Make const.
4689         * alloc.c (dbg_typemask): Make const.
4690         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4691         * alloc.c (dbg_valbits): Make const.
4692         * alloc.c (dbg_gctypebits): Make const.
4693
4694 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4695
4696         * redisplay-x.c (x_bevel_area):
4697         redisplay.h (struct rune):
4698         Typo fixes in comments.
4699
4700 2001-01-05  Andy Piper  <andy@xemacs.org>
4701
4702         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4703         adjustment.
4704
4705         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4706
4707 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4708
4709         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4710
4711         * mule-ccl.c (stack_idx_of_map_multiple):
4712         Non const global data must not be initialized!
4713         Found by MIYASHITA Hisashi.
4714
4715 2001-01-02  Andy Piper  <andy@xemacs.org>
4716
4717         * frame.c (change_frame_size): make sure frame size is always
4718         marked as changed.
4719
4720         * glyphs.c (image_instance_layout): minor code reuse.
4721
4722         * window.c (Fcurrent_window_configuration): revert previous
4723         change.
4724
4725 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4726
4727         * glyphs.h:
4728         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4729
4730 2000-12-31  Andy Piper  <andy@xemacs.org>
4731
4732         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4733         when widget gets unmapped.
4734
4735         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4736         function. Make sure widgets losing focus don't just drop it.
4737         (handle_focus_event_1): record the widget with focus.
4738
4739 2000-12-31  Andy Piper  <andy@xemacs.org>
4740
4741         * window.c (allocate_window): use
4742         make_image_instance_cache_hash_table.
4743         (make_dummy_parent): ditto.
4744         (Fset_window_configuration): ditto.
4745
4746         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4747
4748         * glyphs.c (process_image_string_instantiator): use
4749         INSTANTIATOR_TYPE.
4750         (get_image_instantiator_governing_domain): ditto.
4751         (normalize_image_instantiator): ditto.
4752         (instantiate_image_instantiator): ditto.
4753         (make_image_instance_1): ditto.
4754         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4755         (instantiator_eq_equal): new function for use with instance hash
4756         tables.
4757         (instantiator_eq_hash): ditto.
4758         (make_image_instance_cache_hash_table): create a suitable hash
4759         table for storing image instances.
4760
4761         * elhash.h (hash_table_weakness): new internal weakness type
4762         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4763         declare new functions.
4764
4765         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4766         another weakness type for glyphs.
4767         (make_standard_lisp_hash_table): new function split out from
4768         make_general_lisp_hash_table.
4769         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4770         (hash_table_instantiate): ditto.
4771         (Fmake_hash_table): ditto.
4772
4773 2000-12-31  Martin Buchholz <martin@xemacs.org>
4774
4775         * XEmacs 21.2.39 is released.
4776
4777 2000-12-29  Andy Piper  <andy@xemacs.org>
4778
4779         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4780
4781         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4782         the frame has changed so that we pick up geometry changes such as
4783         menubar visibility.
4784
4785 2000-12-28  Andy Piper  <andy@xemacs.org>
4786
4787         * lastfile.c (my_ebss): make a char array so we can pad the
4788         bss. Fixes cygwin unexec.
4789
4790         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4791
4792 2000-12-26  Andy Piper  <andy@xemacs.org>
4793
4794         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4795         comments and try and be more precise about a non-/SIGIO world.
4796         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4797         SIGIO.
4798
4799         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4800         we don't normalize to zero width or height.
4801
4802 2000-12-24  Andy Piper  <andy@xemacs.org>
4803
4804         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4805
4806 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4807
4808         * s/sco5.h: SCO 5 has pty support.
4809
4810 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4811
4812         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4813         input-method-xlib.c contains whole contents of input-method-xfs.c,
4814         so we can use input-method-xlib.c's code for USE_XFONTSET
4815         using #ifdefs.
4816         * input-method-xfs.c: removed.
4817
4818 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4819
4820         * file-coding.h (enum coding_category_type): reorder enumerators to
4821         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4822         (now one greater than largest real coding_category_type enumerator).
4823         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4824         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4825         Fcoding_category_list, Fset_coding_priority_list,
4826         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4827         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4828
4829 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4830
4831         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4832         * redisplay-output.c (redisplay_output_window): Clear top of window
4833         when face is changed.
4834         * redisplay-x.c (x_redraw_exposed_window): Call
4835         redisplay_clear_top_of_window.
4836         * redisplay.h: Publish redisplay_clear_top_of_window.
4837
4838 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4839
4840         * buffer.c (Fkill_buffer): Map over all devices.
4841         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4842         (list_windows): New function.
4843         (list_all_windows): Ditto.
4844         (Freplace_buffer_in_windows): Use them.
4845
4846 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4847
4848         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4849         (Fopen_database): Use `db_create' instead of `db_open'.
4850         (syms_of_database): Initialize Qqueue.
4851
4852 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4853
4854         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4855         buffer_local_face_property.
4856         * buffer.h (struct buffer): New member buffer_local_face_property.
4857         * window.c (Fset_window_buffer):  Mark window's face as changed
4858         when buffer has buffer local face.
4859         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4860         * objects.c (color_after_change): Set buffer_local_face_property
4861         when locale of face specifier is buffer.
4862         * objects.c (font_after_change): Ditto.
4863         * objects.c (face_boolean_after_change): Ditto.
4864         * glyphs.c (image_after_change): Ditto.
4865
4866 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4867
4868         * nt.c (mswindows_fstat): Report file permissions, volume serial
4869         number, etc. Code adapted from FSF Emacs 20.7.
4870
4871 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4872
4873         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4874         of stat when we don't have symbolic links, to make sure
4875         mswindows_stat is called on mswindows.
4876
4877 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4878
4879         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4880
4881 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4882
4883         * doprnt.c (emacs_doprnt_1): More printing fixes.
4884         Make printing of numbers compatible with libc and FSF Emacs.
4885         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4886         Use the system printf to do most of the hard work of formatting,
4887         instead of doprnt_1().
4888         Calculate memory to allocate for format string.
4889         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4890         (doprnt_1): Cleaner code and documentation.
4891
4892 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4893
4894         * Makefile.in.in: Use the loop variable to install headers.
4895
4896 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4897
4898         * window.c (Fsplit_window): Don't invalidate face cache.
4899
4900 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4901
4902         * minibuf.c (Fall_completions): Undo the previous change
4903         which removed checking elements start with space.
4904
4905 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4906
4907         * mule-canna.c: Didier suppression.
4908
4909 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4910
4911         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4912         (warning suppression).  Add English comment translations.
4913
4914 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4915
4916         * unexelfsgi.c (unexec): Better test for mmap failure.
4917
4918 2000-12-05  Martin Buchholz <martin@xemacs.org>
4919
4920         * XEmacs 21.2.38 is released.
4921
4922 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4923
4924         * redisplay.c (bar-cursor): Make a user variable.
4925
4926         * symsinit.h: Add init_postgresql_from_environment.
4927
4928 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4929
4930         * regex.c: Convert to clean C.
4931
4932 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4933
4934         * realpath.c:
4935         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4936         initialization.
4937         (sys_readlink): renamed to system_readlink to avoid conflict with
4938         the other sys_readlink.
4939
4940 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4941
4942         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4943
4944 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4945
4946         * postgresql.c (init_postgresql_from_environment): new function.
4947         (vars_of_postgresql): Move code initializing Lisp variables out and
4948         into init_postgresql_from_environment.
4949         emacs.c (main_1): Call init_postgresql_from_environment if and only
4950         if running a dumped XEmacs.
4951
4952 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4953
4954         * buffer.c: Make find-file-compare-truenames default to true on
4955         windows.
4956
4957         * realpath.c (win32_abs_start):
4958         (cygwin_readlink):
4959         (win32_readlink): New functions.
4960         (xrealpath): Return really real filenames on windows.
4961
4962         * fileio.c (Ffile_truename): Make file-truename work on windows.
4963
4964 2000-11-29  Didier Verna  <didier@xemacs.org>
4965
4966         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4967         * faces.c (update_face_cachel_data): use it.
4968         * faces.c (add_face_cachel): use it. Complete background pixmap
4969         frobbing in face cache if `update_face_cachel_data' has not done so.
4970
4971 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4972
4973         * search.c (string_match_1): Don't set last_thing_searched
4974         when search failed.
4975
4976 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4977
4978         * buffer.c: Include casetab.h
4979         (common_init_complex_vars_of_buffer): Use new case-table object.
4980         * buffer.h: Include casetab.h
4981         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4982         (DOWNCASE_TABLE_OF): Ditto.
4983         * bufslots.h: Remove char-tables and add case-table.
4984         * casetab.c: Include casetab.h
4985         (CASE_TABLE_P): Removed.
4986         (mark_case_table): New function.
4987         (allocate_case_table): New function.
4988         (Fcase_table_p): Use new case-table.
4989         (case_table_char): New function.
4990         (Fget_case_table): Ditto.
4991         (Fput_case_table): Ditto.
4992         (Fput_case_table_pair): Ditto.
4993         (Fcopy_case_table): Ditto.
4994         (Fcurrent_case_table): Return case-table.
4995         (Fstandard_case_table): Return case-table.
4996         (Fset_case_table): Fix doc-string.
4997         (set_case_table): Use case-table
4998         (syms_of_casetab): DEFSUBR new functions.
4999         (complex_vars_of_casetab): Set up standard case-table.
5000         * casetab.h: New file.
5001         * editfns.c: Include casetab.h
5002         (Fcompare_buffer_substrings): Use case-table.
5003         * inline.c: Include casetab.h
5004         * lisp.h: Remove bogus extern.
5005         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
5006         * search.c: Include casetab.h
5007         (TRANSLATE_ASCII): Removed.
5008         (TRANSLATE): Unconditionally translate character.
5009         (looking_at_1): Use case-table.
5010         (string_match_1): Ditto.
5011         (fast_string_match): Ditto.
5012         (search_command): Ditto.
5013         (search_buffer): Separate boyer_moore.  Check whether
5014         boyer_moore is possible.
5015         (simple_search): New function.
5016         (boyer_moore): Separated from search_buffer. Translate char.
5017
5018 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5019
5020         * regex.c (RE_TR_ASCII): Removed.
5021         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
5022         (PATFETCH): Call PATFETCH_RAW.
5023         (PATFETCH_RAW): Fetch Emchar.
5024         (PATUNFETCH): Decrement charptr.
5025         (GET_BUFFER_SPACE): Rename b to buf_end.
5026         (BUF_PUSH): Ditto.
5027         (BUF_PUSH_2): Ditto.
5028         (BUF_PUSH_3): Ditto.
5029         (EXTEND_BUFFER): Ditto.
5030         (SET_LIST_BIT): Ditto.
5031         (regex_compile): Ditto.  Translate non ASCII char.
5032         (compile_range): Ditto.
5033         (re_search_2): Ditto.
5034         (re_match_2_internal): Compare Emchar.
5035         (bcmp_translate): Ditto.
5036
5037 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
5038
5039         * lisp.h (basic char/int typedefs):  comment improvement.
5040
5041 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5042
5043         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5044         unstomp inhibit_site_lisp.  Improve comments.
5045
5046 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5047
5048         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5049
5050 2000-11-28  Andy Piper  <andy@xemacs.org>
5051
5052         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5053         clipped display for windows in the gutter also.
5054         (redisplay_display_boxes_in_window_p): change semantics of return
5055         codes to be more intuitive.
5056
5057         * gutter.h: declare display_boxes_in_gutter_p.
5058
5059         * gutter.c (display_boxes_in_gutter_p): new function for
5060         redisplay.
5061
5062 2000-11-22  Andy Piper  <andy@xemacs.org>
5063
5064         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5065         autodetect domain.
5066
5067 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5068
5069         * callproc.c (Fold_call_process_internal):
5070         * gpm.c (Freceive_gpm_event):
5071         (tty_get_foreign_selection): Might be just warning supression.
5072         * fileio.c (Fwrite_region_internal):
5073         (Fset_visited_file_modtime):
5074         * keymap.c (event_matches_key_specifier_p):
5075         Initialize GCPROed variable.
5076
5077         * menubar-x.c (command_builder_find_menu_accelerator):
5078         Initialize before use.
5079
5080 2000-11-23  Andy Piper  <andy@xemacs.org>
5081
5082         * unexcw.c (unexec): make the resulting executable executable.
5083
5084 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5085
5086         * doc.c (get_doc_string):
5087         Use size_t, not int, for result of XSTRING_LENGTH.
5088
5089         * cmds.c (Fdelete_char):
5090         * cmds.c (Fpoint_at_eol):
5091         * cmds.c (Fself_insert_command):
5092         Use EMACS_INT, not int, for result of XINT.
5093         Someday, someone will want to insert more than 2**31 identical characters.
5094
5095         * cmds.c (Fdelete_char):
5096         * cmds.c (Fdelete_backward_char):
5097         * syntax.c (Fforward_word):
5098         * syntax.c (Fforward_comment):
5099         Make COUNT argument optional, for consistency with forward-char et al.
5100
5101 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5102
5103         * lisp.h:
5104         * print.c (long_to_string):
5105         Return a useful value: the pointer at end of data written.
5106
5107         * doprnt.c:
5108         Use `static const char * const' for constant strings.
5109         (union printf_arg): Delete `i', `ui' members.
5110         (get_doprnt_args):
5111         (emacs_doprnt_1):
5112         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5113         Do all printf-ing via the `l' specifier.
5114         Use EMACS_INT instead of int.
5115         Optimize.
5116
5117 2000-11-20  Didier Verna  <didier@xemacs.org>
5118
5119         * faces.c (update_face_cachel_data): don't frob the background
5120         pixmap when the window is being created. The face is needed but
5121         does not exist yet.
5122
5123 2000-11-20  Andy Piper  <andy@xemacs.org>
5124
5125         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5126         messing with a debug environment.
5127
5128 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5129
5130         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5131
5132 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5133
5134         * casetab.c (Fcase_table_p): Fix compile error and crash.
5135
5136 2000-11-18  Philip Aston  <philipa@mail.com>
5137
5138         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5139
5140 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5141
5142         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5143         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5144
5145 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5146
5147         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5148         * unexelf.c: Use HAVE_ELF_H.
5149         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5150         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5151         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5152         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5153         for testing.
5154         So this is an unexelfsgi.c from a different line of development.
5155
5156 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5157
5158         * regex.c (RE_TR_ASCII): New function.
5159         (RE_TRANSLATE): Call it.
5160
5161 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5162
5163         * buffer.h (TRT_TABLE_OF): Remove assert.
5164         (IN_TRT_TABLE_DOMAIN): Removed.
5165
5166 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5167
5168         * free-hook.c (log_gcpro):
5169         (show_gcprohist): Add support for GCPRO5.
5170
5171 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5172
5173         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5174
5175 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5176
5177         * symeval.h: Declare flush_all_buffer_local_cache.
5178
5179         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5180         (flush_buffer_local_cache): Added.
5181         (flush_all_buffer_local_cache): Added.
5182
5183         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5184
5185         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5186         (pdump_dump_data): Ditto.
5187         (pdump_reloc_one): Ditto.
5188         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5189         before dumping.
5190
5191
5192 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5193
5194         * buffer.c: Remove if 0'ed entry.
5195         * buffer.h: Rewrite TRT to use char-table.
5196         * bufslots.h: Remove mirror tables.
5197         * casetab.c: Remove mirror tables.
5198         (CASE_TABLE_P): New macro.
5199         (Fcase_table_p): Element of a case table is string or char-table.
5200         (make_mirror_trt_table): Removed.
5201         (set_case_table): Setup char-table from strings for backward
5202         compatibility.
5203         * dired.c (Fdirectory_files):
5204         * dired-msw.c: (mswindows_get_files):
5205         * lisp.h: Change prototype of re_pattern_buffer.
5206         * regex.c: (RE_TRANSLATE): New macro.
5207         (TRANSLATE_P): Ditto.
5208         Change translate to type RE_TRANSLATE_TYPE.
5209         * regex.h: Define RE_TRANSLATE_TYPE
5210         * search.c (TRANSLATE): New macro.
5211         (TRANSLATE_ASCII): New macro.
5212         Translate table is changed to Lisp_Object.
5213         (signal_failure): Inhibit return.
5214
5215 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5216
5217         * device-msw.c:
5218         * eldap.c:
5219         * event-Xt.c:
5220         * event-stream.c:
5221         * print.c:
5222         Do UNGCPRO before return.
5223
5224 2000-11-14  Martin Buchholz <martin@xemacs.org>
5225
5226         * XEmacs 21.2.37 is released.
5227
5228 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5229
5230         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5231         Add comments about discarded return value.
5232
5233 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5234
5235         * callint.c:
5236         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5237
5238 2000-10-27  Andy Piper  <andy@xemacs.org>
5239
5240         * gutter.c (Fset_default_gutter_position): default left and right
5241         gutters to visible.
5242         (calculate_gutter_size): calculate resonable heuristic for left
5243         and right gutter sizes.
5244         (specifier_vars_of_gutter): change left and right gutter sizes to
5245         autodetect.
5246         (calculate_gutter_size_from_display_lines): new function.
5247         (output_gutter): check for resizing on left and right gutters.
5248         (clear_gutter): don't special case top and left gutters.
5249         (specifier_vars_of_gutter): use new signature for
5250         set_specifier_caching.
5251
5252         * glyphs-x.c (x_redisplay_widget): spelling fix.
5253         * glyphs.c (specifier_vars_of_glyphs):
5254         * menubar.c (specifier_vars_of_menubar):
5255         * redisplay.c (specifier_vars_of_redisplay):
5256         * toolbar.c (specifier_vars_of_toolbar):
5257         * window.c (specifier_vars_of_window):
5258         * scrollbar.c (specifier_vars_of_scrollbar):
5259         (complex_vars_of_scrollbar): use new signature for
5260         set_specifier_caching.
5261
5262         * specifier.c (set_specifier_caching): include recompute flag.
5263         (recompute_one_cached_specifier_in_window): always recompute if
5264         flag set.
5265         (recompute_one_cached_specifier_in_frame): ditto.
5266
5267         * specifier.h (struct specifier_caching): add recompute flag.
5268
5269 2000-10-24  Andy Piper  <andy@xemacs.org>
5270
5271         * unexcw.c (copy_executable_and_dump_data_section): add new
5272         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5273         5.0 happy.
5274
5275 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5276
5277         * console-x.h (x_device): New member modifier_release_time.
5278         * event-Xt.c (x_handle_sticky_modifiers):
5279         Bound interval modifier keys are sticky.
5280         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5281         * events.h: extern it.
5282
5283 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5284
5285         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5286
5287 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5288
5289         * event-stream.c (execute_command_event): Preserve current_events
5290         and the like when event is misc-user-event.
5291         Inhibit quit during the call to maybe_echo_keys.
5292
5293 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5294
5295         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5296         symlink when buffer is killed.
5297         (inhibit_clash_detection): New variable.
5298
5299 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5300
5301         * console.c (Fset_input_method): Trigger redisplay on tty.
5302
5303 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5304
5305         * process.c (Fprocess_status): Revert to previous behavior:
5306         (process-status "nosuchprocess") ==> nil
5307
5308 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5309
5310         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5311         Work around another GCC 2.95.2 optimizer bug.
5312
5313 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5314
5315         * process.c (Fget_process): Use LIST_LOOP_2.
5316         (kill_buffer_processes): Use LIST_LOOP_2.
5317
5318         * minibuf.c (Fall_completions):
5319         Delete old non-functional code for FSF fourth argument.
5320
5321         * frame.c (frame_matches_frame_spec):
5322         Renamed from `frame_matches_frametype'.  Update all callers.
5323         (device_matches_device_spec):
5324         Renamed from 'device_matches_console_spec'.  Update all callers.
5325
5326         * doc.c (Fsubstitute_command_keys):
5327         Remove buffer overflow crash.  Small code cleanups.
5328
5329         * casetab.c (check_case_table): Simpler code.
5330
5331         * window.c (Freplace_buffer_in_windows):
5332         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5333         (and similar implementation) as Fdelete_windows_on.
5334         Update all callers.
5335
5336         * alloc.c (Fmake_list):
5337         * alloc.c (make_vector):
5338         * alloc.c (Fmake_vector):
5339         * alloc.c (make_bit_vector):
5340         * alloc.c (Fmake_bit_vector):
5341         * alloc.c (Fbit_vector):
5342         * alloc.c (Fmake_string):
5343         * alloc.c (Fpurecopy):
5344         * alloc.c (Fmemory_limit):
5345         * buffer.c:
5346         * buffer.c (Fget_buffer):
5347         * buffer.c (Fkill_buffer):
5348         * buffer.c (complex_vars_of_buffer):
5349         * bytecode.c (Fcompiled_function_stack_depth):
5350         * callint.c (Fprefix_numeric_value):
5351         * event-stream.c:
5352         * event-stream.c (Fread_key_sequence):
5353         * casetab.c:
5354         * casetab.c (Fcase_table_p):
5355         * casetab.c (check_case_table):
5356         * casetab.c (Fset_case_table):
5357         * casetab.c (Fset_standard_case_table):
5358         * chartab.c:
5359         * chartab.c (Fchar_table_type):
5360         * chartab.c (Freset_char_table):
5361         * chartab.c (Fget_char_table):
5362         * chartab.c (Fget_range_char_table):
5363         * chartab.c (Fput_char_table):
5364         * chartab.c (Fmap_char_table):
5365         * chartab.c (Fcategory_table_p):
5366         * chartab.c (Fcheck_category_at):
5367         * chartab.c (Fchar_in_category_p):
5368         * chartab.c (Fcategory_table):
5369         * chartab.c (Fcopy_category_table):
5370         * chartab.c (Fset_category_table):
5371         * chartab.c (Fcategory_designator_p):
5372         * chartab.c (Fcategory_table_value_p):
5373         * cmds.c (Fdelete_char):
5374         * cmds.c (Fdelete_backward_char):
5375         * cmds.c (Fself_insert_command):
5376         * cmds.c (Fself_insert_internal):
5377         * console.c (Fvalid_console_type_p):
5378         * console.c (Fcdfw_console):
5379         * console.c (Fconsole_type):
5380         * console.c (Fconsole_name):
5381         * console.c (Fconsole_device_list):
5382         * console.c (Fconsole_on_window_system_p):
5383         * data.c:
5384         * data.c (Feq):
5385         * data.c (Fold_eq):
5386         * data.c (Fsubr_interactive):
5387         * data.c (Fchar_to_int):
5388         * data.c (Fint_to_char):
5389         * data.c (Fsetcar):
5390         * data.c (Fsetcdr):
5391         * data.c (Fnumber_to_string):
5392         * data.c (Fstring_to_number):
5393         * data.c (Frem):
5394         * database.c (mark_database):
5395         * database.c (finalize_database):
5396         * database.c (Fdatabase_live_p):
5397         * database.c (Fdatabasep):
5398         * device-x.c (Fx_get_resource):
5399         * device.c (Fdfw_device):
5400         * dired.c:
5401         * dired.c (Ffile_name_completion):
5402         * dired.c (Ffile_name_all_completions):
5403         * dired.c (Fuser_name_completion):
5404         * dired.c (Fuser_name_completion_1):
5405         * dired.c (Fuser_name_all_completions):
5406         * doc.c (Fdocumentation):
5407         * doc.c (Fdocumentation_property):
5408         * doc.c (Fsubstitute_command_keys):
5409         * editfns.c:
5410         * editfns.c (Fchar_to_string):
5411         * editfns.c (Fstring_to_char):
5412         * editfns.c (Ftemp_directory):
5413         * editfns.c (Finsert_char):
5414         * editfns.c (Fbuffer_substring_no_properties):
5415         * editfns.c (Fnarrow_to_region):
5416         * editfns.c (Fchar_equal):
5417         * editfns.c (Fchar_Equal):
5418         * editfns.c (Ftranspose_regions):
5419         * emacs.c (Fdump_emacs):
5420         * eval.c (Fthrow):
5421         * eval.c (Fcommand_execute):
5422         * eval.c (Fautoload):
5423         * eval.c (Fbacktrace):
5424         * eval.c (Fbacktrace_frame):
5425         * events.c:
5426         * events.c (Fcopy_event):
5427         * events.c (Fcharacter_to_event):
5428         * events.c (Fevent_button):
5429         * events.c (Fevent_process):
5430         * extents.c:
5431         * extents.c (Fnext_extent_change):
5432         * extents.c (Fextent_property):
5433         * faces.c (Ffacep):
5434         * faces.c (Fmake_face):
5435         * file-coding.c:
5436         * file-coding.c (Fencode_shift_jis_char):
5437         * file-coding.c (Fencode_big5_char):
5438         * fileio.c (Ffile_name_directory):
5439         * fileio.c (Ffile_name_nondirectory):
5440         * fileio.c (Ffile_name_as_directory):
5441         * fileio.c (Fdirectory_file_name):
5442         * fileio.c (Ffile_truename):
5443         * fileio.c (Fsubstitute_in_file_name):
5444         * fileio.c (Ffile_modes):
5445         * fileio.c (Fset_file_modes):
5446         * fileio.c (Fset_default_file_modes):
5447         * fileio.c (Fverify_visited_file_modtime):
5448         * floatfns.c (Facos):
5449         * floatfns.c (Fasin):
5450         * floatfns.c (Fatan):
5451         * floatfns.c (Fcos):
5452         * floatfns.c (Fsin):
5453         * floatfns.c (Ftan):
5454         * floatfns.c (Fbessel_j0):
5455         * floatfns.c (Fbessel_j1):
5456         * floatfns.c (Fbessel_jn):
5457         * floatfns.c (Fbessel_y0):
5458         * floatfns.c (Fbessel_y1):
5459         * floatfns.c (Fbessel_yn):
5460         * floatfns.c (Ferf):
5461         * floatfns.c (Ferfc):
5462         * floatfns.c (Flog_gamma):
5463         * floatfns.c (Fexp):
5464         * floatfns.c (Fexpt):
5465         * floatfns.c (Flog):
5466         * floatfns.c (Flog10):
5467         * floatfns.c (Fsqrt):
5468         * floatfns.c (Fcube_root):
5469         * floatfns.c (Facosh):
5470         * floatfns.c (Fasinh):
5471         * floatfns.c (Fatanh):
5472         * floatfns.c (Fcosh):
5473         * floatfns.c (Fsinh):
5474         * floatfns.c (Ftanh):
5475         * floatfns.c (Fabs):
5476         * floatfns.c (Ffloat):
5477         * floatfns.c (Flogb):
5478         * floatfns.c (Fceiling):
5479         * floatfns.c (Ffloor):
5480         * floatfns.c (Fround):
5481         * floatfns.c (Ftruncate):
5482         * floatfns.c (Ffceiling):
5483         * floatfns.c (Fffloor):
5484         * floatfns.c (Ffround):
5485         * floatfns.c (Fftruncate):
5486         * fns.c (Fstring_equal):
5487         * fns.c (Fstring_lessp):
5488         * fns.c (concat2):
5489         * fns.c (concat3):
5490         * fns.c (vconcat2):
5491         * fns.c (vconcat3):
5492         * fns.c (Fsubstring):
5493         * fns.c (Fassoc):
5494         * fns.c (Fold_assoc):
5495         * fns.c (assoc_no_quit):
5496         * fns.c (Fassq):
5497         * fns.c (Fold_assq):
5498         * fns.c (assq_no_quit):
5499         * fns.c (Frassoc):
5500         * fns.c (Fold_rassoc):
5501         * fns.c (Frassq):
5502         * fns.c (Fold_rassq):
5503         * fns.c (rassq_no_quit):
5504         * fns.c (Fremassoc):
5505         * fns.c (remassoc_no_quit):
5506         * fns.c (Fremassq):
5507         * fns.c (remassq_no_quit):
5508         * fns.c (Fremrassoc):
5509         * fns.c (Fremrassq):
5510         * fns.c (remrassq_no_quit):
5511         * fns.c (Fsort):
5512         * fns.c (Fplist_get):
5513         * fns.c (Fplist_put):
5514         * fns.c (Fplist_remprop):
5515         * fns.c (Fplist_member):
5516         * fns.c (Flax_plist_get):
5517         * fns.c (Flax_plist_put):
5518         * fns.c (Flax_plist_remprop):
5519         * fns.c (Flax_plist_member):
5520         * fns.c (Fequal):
5521         * fns.c (Fold_equal):
5522         * fns.c (Frequire):
5523         * fns.c (Fbase64_encode_region):
5524         * fns.c (Fbase64_encode_string):
5525         * fns.c (Fbase64_decode_region):
5526         * frame.c:
5527         * frame.c (frame_matches_frame_spec):
5528         * frame.c (device_matches_device_spec):
5529         * frame.c (next_frame):
5530         * frame.c (previous_frame):
5531         * frame.c (Fnext_frame):
5532         * frame.c (Fprevious_frame):
5533         * frame.c (Fframe_property):
5534         * frame.c (Fset_frame_height):
5535         * frame.c (Fset_frame_size):
5536         * frame.h:
5537         * glyphs.c:
5538         * glyphs.c (if):
5539         * glyphs.c (decode_error_behavior_flag):
5540         * glyphs.c (Fmake_image_instance):
5541         * indent.c (Findent_to):
5542         * intl.c (Fignore_defer_gettext):
5543         * keymap.c (Fkeymapp):
5544         * keymap.c (Flookup_key):
5545         * lread.c:
5546         * lread.c (Fload_internal):
5547         * lread.c (Feval_buffer):
5548         * lread.c (Feval_region):
5549         * macros.c (Fexecute_kbd_macro):
5550         * marker.c (set_marker_internal):
5551         * marker.c (Fset_marker):
5552         * marker.c (set_marker_restricted):
5553         * marker.c (Fcopy_marker):
5554         * marker.c (noseeum_copy_marker):
5555         * menubar.c:
5556         * menubar.c (Fpopup_menu):
5557         * minibuf.c:
5558         * mule-charset.c (Fcharset_name):
5559         * mule-charset.c (Fchar_charset):
5560         * mule-charset.c (Fchar_octet):
5561         * mule-charset.c (Fsplit_char):
5562         * mule-wnnfns.c (Fwnn_open):
5563         * mule-wnnfns.c (Fwnn_dict_comment):
5564         * mule-wnnfns.c (Fwnn_quit_henkan):
5565         * mule-wnnfns.c (Fwnn_word_toroku):
5566         * mule-wnnfns.c (Fwnn_word_sakujo):
5567         * mule-wnnfns.c (Fwnn_word_use):
5568         * mule-wnnfns.c (Fwnn_hindo_set):
5569         * objects.c:
5570         * objects.c (Fmake_color_instance):
5571         * objects.c (Fmake_font_instance):
5572         * print.c (Fwrite_char):
5573         * process.c:
5574         * process.c (mark_process):
5575         * process.c (print_process):
5576         * process.c (get_process_from_usid):
5577         * process.c (Fprocessp):
5578         * process.c (Fprocess_live_p):
5579         * process.c (Fget_process):
5580         * process.c (Fget_buffer_process):
5581         * process.c (get_process):
5582         * process.c (Fprocess_id):
5583         * process.c (Fprocess_name):
5584         * process.c (Fprocess_command):
5585         * process.c (init_process_io_handles):
5586         * process.c (start_process_unwind):
5587         * process.c (Fstart_process_internal):
5588         * process.c (Fopen_multicast_group_internal):
5589         * process.c (Fset_process_window_size):
5590         * process.c (read_process_output):
5591         * process.c (send_process):
5592         * process.c (Fprocess_tty_name):
5593         * process.c (Fset_process_buffer):
5594         * process.c (Fprocess_buffer):
5595         * process.c (Fprocess_mark):
5596         * process.c (set_process_filter):
5597         * process.c (Fset_process_filter):
5598         * process.c (Fprocess_filter):
5599         * process.c (Fprocess_send_region):
5600         * process.c (Fprocess_send_string):
5601         * process.c (exec_sentinel):
5602         * process.c (Fset_process_sentinel):
5603         * process.c (Fprocess_sentinel):
5604         * process.c (status_notify):
5605         * process.c (Fprocess_status):
5606         * process.c (Fprocess_exit_status):
5607         * process.c (process_send_signal):
5608         * process.c (Fprocess_send_eof):
5609         * process.c (deactivate_process):
5610         * process.c (remove_process):
5611         * process.c (Fdelete_process):
5612         * process.c (kill_buffer_processes):
5613         * process.c (Fprocess_kill_without_query):
5614         * process.c (Fprocess_kill_without_query_p):
5615         * rangetab.c:
5616         * rangetab.c (Fget_range_table):
5617         * rangetab.c (Fput_range_table):
5618         * rangetab.c (Fremove_range_table):
5619         * rangetab.c (Fclear_range_table):
5620         * search.c:
5621         * search.c (Fskip_chars_forward):
5622         * search.c (Fskip_chars_backward):
5623         * search.c (Fskip_syntax_forward):
5624         * search.c (Fskip_syntax_backward):
5625         * search.c (search_command):
5626         * search.c (Freplace_match):
5627         * search.c (Fregexp_quote):
5628         * select.c (Fown_selection_internal):
5629         * select.c (Fselection_owner_p):
5630         * select.c (Fselection_exists_p):
5631         * select.c (Fget_selection_internal):
5632         * specifier.c:
5633         * symbols.c:
5634         * symbols.c (Fintern):
5635         * symbols.c (Fintern_soft):
5636         * symbols.c (Funintern):
5637         * symbols.c (Fapropos_internal):
5638         * symbols.c (Fset_default):
5639         * syntax.c:
5640         * syntax.c (Fsyntax_table_p):
5641         * syntax.c (Fcopy_syntax_table):
5642         * syntax.c (Fset_syntax_table):
5643         * syntax.c (Fchar_syntax):
5644         * syntax.c (syntax_match):
5645         * syntax.c (Fmatching_paren):
5646         * syntax.c (Fforward_word):
5647         * syntax.c (scan_lists):
5648         * syntax.c (Fscan_lists):
5649         * syntax.c (Fscan_sexps):
5650         * syntax.c (Fparse_partial_sexp):
5651         * toolbar.c (Fcheck_toolbar_button_syntax):
5652         * tooltalk.doc:
5653         * window.c:
5654         * window.c (Fwindowp):
5655         * window.c (Fwindow_live_p):
5656         * window.c (Fwindow_point):
5657         * window.c (Fdelete_window):
5658         * window.c (Fnext_window):
5659         * window.c (Fprevious_window):
5660         * window.c (Fother_window):
5661         * window.c (window_loop):
5662         * window.c (Fget_lru_window):
5663         * window.c (Fsplit_window):
5664         * window.c (Fenlarge_window):
5665         * window.c (Fenlarge_window_pixels):
5666         * window.c (Fshrink_window):
5667         * window.c (Fshrink_window_pixels):
5668         * window.c (change_window_height):
5669         * window.c (Fwindow_configuration_p):
5670         * window.c (Fcurrent_window_configuration):
5671         * window.h:
5672         * casefiddle.c (casify_object):
5673         * casefiddle.c (Fupcase):
5674         * casefiddle.c (Fdowncase):
5675         * casefiddle.c (Fcapitalize):
5676         * casefiddle.c (Fupcase_initials):
5677         * casefiddle.c (casify_region_internal):
5678         * casefiddle.c (casify_region):
5679         * casefiddle.c (Fupcase_region):
5680         * casefiddle.c (Fdowncase_region):
5681         * casefiddle.c (Fcapitalize_region):
5682         * casefiddle.c (Fupcase_initials_region):
5683         * casefiddle.c (Fupcase_word):
5684         * casefiddle.c (Fdowncase_word):
5685         * casefiddle.c (Fcapitalize_word):
5686         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5687         Replace 0 with '\0' when working with bytes.
5688         Replace initial "(" with "\(" in docstrings.
5689
5690 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5691
5692         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5693
5694         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5695
5696 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5697
5698         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5699
5700 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5701
5702         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5703         correctly.
5704
5705 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5706
5707         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5708         (inhibit_auto_save_session): New variable.
5709         (vars_of_fileio): Declare and initialize them.
5710         * fileio.c (Fdo_auto_save): Don't create session file if
5711         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5712
5713 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5714
5715         * sgiplay.c (play_internal): C++ compilability.
5716         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5717         * callproc.c (Fold_call_process_internal):
5718         Remove unused vars `env', `first'.
5719         * scrollbar.c (update_scrollbar_instance):
5720         #### unused var `current_window'.
5721         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5722         etc. within #ifdef NOT_YET.
5723         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5724         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5725         * specifier.c (specifier_instance):
5726         #### unused var `tag'.
5727         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5728
5729 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5730
5731         * fns.c (Fbutlast):
5732         * fns.c (list_sort):
5733         * fns.c (Ffillarray):
5734         * fns.c (bytecode_nconc2):
5735         * fns.c (Fnconc):
5736         * fns.c (mapcar1):
5737         * fns.c (Fmapconcat):
5738         Be pedantically 64-bit correct.  For the time when someone will
5739         want to have a list with length > 2**32.
5740
5741         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5742         Work around MIPSpro compiler bug.
5743
5744         * process-unix.c (unix_kill_child_process): Add snarky comment.
5745         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5746
5747         * config.h.in: Oops, _getpt ==> _getpty
5748
5749 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5750
5751         * config.h.in:
5752         * regex.c:
5753         Use void*, not char*, as return type of alloca().
5754
5755         * alloc.c (free_marker): Side effect inside assert expression!
5756
5757 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5758
5759         * mule-charset.c (Fset_charset_ccl_program): To check
5760         if the given ccl program is valid, use setup_ccl_program()
5761         instead of CHECK_VECTOR().
5762         (Fmake_charset): Likewise.
5763
5764 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5765
5766         * faces.c (get_extent_fragment_face_cache_index):
5767         Fix cachel.merged_faces memory leak.
5768
5769 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5770
5771         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5772         Reset MSB of octets obtained by DECODE_SJIS
5773         because of the incompatibility with Emacs.
5774         (ccl_driver)<CCL_ENCODE_SJIS>:
5775         Set MSB of octets before passing them to
5776         ENCODE_SJIS because of the incompatibility
5777         with Emacs.
5778
5779 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5780
5781         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5782         (DECLARE_LRECORD): Undo the last change.
5783         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5784
5785 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5786
5787         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5788         the implementation to lrecord_implementations_table.
5789
5790 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5791
5792         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5793         initial value of `lrecord_type_##c_name' and
5794         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5795         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5796         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5797         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5798         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5799
5800 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5801
5802         * miscplay.c (sndcnv8S_2mono):
5803         (sndcnv2monounsigned):
5804         (sndcnvULaw_2linear):
5805         (sndcnv16swap):
5806         Remove implementation-defined behavior.
5807
5808 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5809
5810         * input-method-xlib.c: Warning suppression.
5811
5812 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5813
5814         * mule-ccl.c: Sync up with Emacs 21.0.90.
5815         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5816         Do nothing.
5817         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5818         Likewise.
5819         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5820         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5821         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5822         leading char belongs to official 2-dimensional charset.
5823         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5824         write the given character as is.  Otherwise,
5825         if it is a multibyte char, convert it by
5826         non_ascii_set_charptr_emchar, then write it.
5827         (CCL_WRITE_STRING): Likewise.
5828         (ccl_get_compiled_code): New function.
5829         (setup_ccl_program): When ccl_prog is invalid,
5830         return -1.
5831         (Fregister_code_conversion_map): New function.
5832         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5833
5834         * mule-ccl.h: Sync up with Emacs 21.0.90.
5835         (Fregister_ccl_program): export it.
5836
5837         * redisplay-msw.c (separate_textual_runs):
5838         If ccl program is not valid, don't do ccl conversion.
5839
5840         * redisplay-x.c (separate_textual_runs): Ditto.
5841
5842         * file-coding.c (Fmake_coding_system):
5843         When type is ccl and value is vector, register it
5844         with a proper symbol.  And checks whether the
5845         given ccl program is valid.
5846         (mule_decode): When calling ccl_driver, if src indicates
5847         NULL pointer, set an empty string instead.
5848         (mule_encode): Likewise.
5849
5850 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5851
5852         The following large batch of changes gets us back to a state of
5853         C++ compilability.  Extbyte is now a char, which means that
5854         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5855
5856         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5857
5858         * sound.c (Fplay_sound): Type correctness.
5859
5860         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5861         (x_get_window_property): Type correctness.
5862         (receive_incremental_selection): unsigned char ==> Extbyte
5863         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5864         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5865         (Fx_store_cutbuffer_internal): Type correctness.
5866
5867         * process-unix.c (try_to_initialize_subtty): Type correctness.
5868
5869         * objects-x.c (x_print_color_instance): Type correctness.
5870         (x_print_font_instance): Type correctness.
5871         (x_list_fonts): SExtbyte ==> Extbyte.
5872         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5873         (x_find_charset_font): SExtbyte ==> Extbyte.
5874         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5875         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5876         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5877         Use bufbyte_strcmp.
5878
5879         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5880         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5881         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5882         (BYTE_C0_P): Use bit ops for char-signedness safety.
5883         (BYTE_C1_P): Use bit ops for char-signedness safety.
5884         (CHARSET_BY_LEADING_BYTE):
5885         (CHARSET_BY_ATTRIBUTES):
5886         Always use inline function.
5887         Use type_checking_assert.
5888         Hide chlook.
5889
5890         * mule-charset.c (non_ascii_charptr_copy_char):
5891         Modify to work with both ASCII and non-ASCII characters.
5892         Improve docs and variable names.
5893         Replace over-clever fall-through switch with a simple loop.
5894         (Lstream_get_emchar_1):
5895         Replace over-clever fall-through switch with a simple loop.
5896
5897         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5898         Warning suppression.
5899
5900         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5901         the return value of Lstream_getc, which could be EOF as well.
5902
5903         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5904
5905         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5906         APIs can be used on Extbytes without casts.  Risky!
5907         (SExtbyte): Remove.
5908         (UExtbyte): Remove.
5909
5910         * input-method-xlib.c (XIM_init_device):
5911         Use Xlib.h instead of IntrinsicP.h.
5912         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5913         which will break in X11R7.
5914         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5915         to call XRegisterIMInstantiateCallback with correct types.
5916
5917         * gui-x.c (button_item_to_widget_value): Type correctness.
5918
5919         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5920
5921         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5922         (xbm_instantiate_1): Type correctness.
5923         (BUILD_GLYPH_INST):  Type correctness.
5924
5925         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5926
5927         * file-coding.c:
5928         (decode_coding_sjis):
5929         (decode_coding_big5):
5930         (decode_coding_ucs4):
5931         (decode_coding_utf8):
5932         (decode_coding_iso2022):
5933         (decode_coding_no_conversion):
5934         Make all decoding functions take an Extbyte * arg.
5935         (encode_coding_sjis):
5936         (encode_coding_big5):
5937         (encode_coding_ucs4):
5938         (encode_coding_utf8):
5939         (encode_coding_iso2022):
5940         (encode_coding_no_conversion):
5941         Make all encoding functions take a Bufbyte * arg.
5942         Use size_t instead of unsigned int for memory sizes.
5943         Only cast to unsigned char whenever dereferencing Extbyte *.
5944
5945         * doc.c (unparesseuxify_doc_string): Type correctness.
5946
5947         * console-x.c (split_up_display_spec):
5948         Rewrite without using details of internal string representation.
5949         (x_semi_canonicalize_device_connection): Type correctness.
5950
5951         * config.h.in:
5952         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5953         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5954         (HAVE_XFREE386): Removed.
5955
5956         * buffer.h (DEC_CHARPTR): `const' correctness.
5957         (bufbyte_strcmp): New.
5958         (bufbyte_memcmp): New.
5959
5960         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5961
5962         * buffer.h (XCHAR_OR_CHAR_INT):
5963         Always use inline function.
5964         Remove redundant type checking assert() - XINT will abort quite nicely.
5965
5966 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5967
5968         * search.c (Freplace_match): Set newtext to an empty string.
5969
5970 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5971
5972         * s/decosf1-3.h: Remove #include of stropts.h
5973         * s/ptx.h: Remove #include of stropts.h
5974         * s/usg5-4.h: Remove #include of stropts.h
5975         * sysproc.h:
5976         * config.h.in:
5977         Use stropts.h, not sys/stropts.h.
5978         Use strtio.h, not sys/strtio.h.
5979
5980 2000-10-04  Martin Buchholz <martin@xemacs.org>
5981
5982         * XEmacs 21.2.36 is released.
5983
5984 2000-09-21  Andy Piper  <andy@xemacs.org>
5985
5986         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5987         changes still involve copying the widget tree.
5988         (update_widget_face): make sure a change is register in the widget
5989         tree. Call update_tab_widget_face appropriately.
5990         (update_tab_widget_face): ditto.
5991         (x_tab_control_redisplay): make sure non-structural changes still
5992         involve copying the widget tree.
5993
5994 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5995
5996         * lread.c (locate_file): Check the path element is non-nil.
5997
5998 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5999
6000         * lisp.h: Warning suppression for SCO compilers.
6001
6002         * redisplay-tty.c (reset_tty_modes): Fix crash.
6003         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
6004
6005 2000-09-27  Martin Buchholz  <martin@xemacs.org>
6006
6007         Big signal/process handling overhaul.  Bugs fixed:
6008         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
6009         M-x comint-kill-subjob should work for both values nil and t of
6010         process-connection-type. It was broken on most platforms.
6011         Testing on Irix and Cygwin still needed.  Other plaforms tested.
6012         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
6013         * process-unix.c: Signal/Process handling overhaul.
6014         (pty_name): make 64 bytes, as `expect' does, for paranoia.
6015         (allocate_pty): Use all available modern methods of allocating
6016         ptys, falling back to old style BSD allocation as a last resort.
6017         Use allegedly more secure Unix98 pty allocation by default.
6018         (allocate_pty_the_old_fashioned_way): New. the last resort.
6019         (unix_create_process): Push ptem, ldterm, ttcompat where
6020         available.  Autoconfiscate.
6021         (try_to_initialize_subtty): New.
6022         (unix_kill_child_process): Proper signal handling for ptys on most
6023         platforms, using special knowledge of AIX, BSD, etc...
6024         (unix_create_process): Always disconnect_controlling_terminal() for
6025         subprocesses, whether using ptys or not.
6026         * process.h: Remove old getpt-dependent PTY code.
6027         * process.c (Fprocess_send_signal): New, obvious generic function.
6028         (decode_signal): New.
6029         (Finterrupt_process):
6030         (Fkill_process):
6031         (Fquit_process):
6032         (Fstop_process):
6033         (Fcontinue_process):
6034         (Fsignal_process): Use decode_signal.
6035         (process_send_signal):
6036         Many docstring corrections.
6037         Allow any signal to be sent to a process object.
6038         * config.h.in: Add symbols for big signal/process overhaul.
6039         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
6040         * sysproc.h: Include process-related headers, where available:
6041         sys/stropts.h sys/strtio.h pty.h libutil.h
6042         * s/irix4-0.h:
6043         * s/irix5-0.h:
6044         * s/cygwin32.h:
6045         * s/gnu.h:
6046         * s/linux.h:
6047         * s/hpux.h:
6048         * s/aix3-1.h:
6049         Remove old S&M pty stuff.
6050         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6051         * systty.h: Simplify cpp hackery, improve comments.
6052         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6053
6054         * editfns.c (Fformat_time_string):
6055         Be a little more paranoid with the return value of ctime.
6056
6057         * fileio.c (check_executable):
6058         (check_writable):
6059         Use symbolic constants X_OK, W_OK.
6060
6061         * console-x.c (split_up_display_spec): Fix a warning.
6062
6063 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6064
6065         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6066         * ntproc.c (sys_spawnve): make_string ==> build_string
6067         Small clarity improvements.
6068
6069 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6070
6071         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6072
6073         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6074
6075         * config.h.in (HAVE_STRCASECMP): Remove.
6076
6077 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6078
6079         * redisplay-output.c (redisplay_output_pixmap):
6080         Cleaner and possibly more 64-bit correct code.
6081
6082 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6083
6084         * dumper.c (pdump_load_finish): move restoration of
6085         `noninteractive1' to emacs.c (main_1).
6086         * emacs.c (main_1): protect LISP-visible command-line flags
6087         from pdump_load().
6088
6089 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6090
6091         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6092         DUMP_TARGET instead of literal program names.
6093
6094 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6095
6096         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6097
6098 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6099
6100         * *: Spelling mega-patch
6101
6102 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6103
6104         * fns.c (bad_bad_turtle):
6105         Delete "Eek!" comment, since we fixed the bug to which it refers.
6106
6107 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6108
6109         * alloca.c: Replace REGISTER with register.
6110
6111 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6112
6113         * file-coding.c (ucs_to_char): Use countof.
6114
6115 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6116
6117         * file-coding.c: (ucs_to_char):
6118         (complex_vars_of_file_coding):
6119         Use countof instead of sizeof.
6120         Use CHECK_NATNUM instead of CHECK_INT.
6121
6122         * sysdep.c (strcasecmp): Remove.
6123         * device-x.c (ascii_strcasecmp): New.
6124         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6125         Avoid using non-standard non-portable strcasecmp.
6126
6127 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6128
6129         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6130         * font-lock.c: remove reference to emacsfns.h.
6131         * search.c: small doc improvement.
6132         * event-Xt.c: correct file names in comments.
6133         * console-x.h Correct file names in comments.
6134         * frame.c: Correct file names in comments.
6135         * event-stream.c: remove Energize from comments.
6136
6137 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6138
6139         * symeval.h (DEFERROR_STANDARD):
6140         (DEFERROR):
6141         (DEFSYMBOL):
6142         (DEFSYMBOL_NO_DUMP):
6143         (DEFSYMBOL_MULTIWORD_PREDICATE):
6144         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6145         (DEFKEYWORD):
6146         The construct &##name is not sensible C.
6147         Fixes compilation errors with Unixware native compiler.
6148
6149 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6150
6151         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6152         (next_frame_internal): Removed.  We now just have next_frame.
6153         (next_frame):
6154         Write a simpler and cleaner one-pass algorithm.
6155         Remove called_from_delete_device arg and #ifdefed-out code.
6156         (previous_frame):
6157         Renamed from prev_frame.  Update callers.
6158         Cleaned up to have an analogous implementation to next_frame.
6159         (other_visible_frames_internal): Remove the
6160         called_from_delete_device bogus arg, and hence, remove this
6161         function.  Just use other_visible_frames().
6162
6163         * window.c (Fnext_window):
6164         Prettify docstring.
6165         Since next_frame() is guaranteed to return a frame, remove check
6166         for nil inserted in previous patch.
6167         (Fprevious_window):
6168         Prettify docstring.
6169         Make code look more like Fnext_window.
6170         (window_loop):
6171         Respect the `console' arg when iterating through windows.
6172         Fixes bug: (get-buffer-window buffer t device) not respecting
6173         the `device' arg.
6174         This function needs more work, as others have pointed out.
6175
6176         * frame.h: Rename prev_frame to previous_frame.
6177         device_matches_console_spec no longer takes a `frame' arg.
6178
6179         * s/gnu.h:
6180         * s/linux.h:
6181         * s/hpux.h:
6182         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6183         From "Golubev I. N." <gin@mo.msk.ru>.
6184
6185         * make-src-depend: Fix typo.
6186
6187 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6188
6189         * window.c (Fnext_window):
6190         next_frame() might return nil, not a frame.
6191         Fixes this crash:
6192         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6193
6194         * frame.c (next_frame_internal):
6195         We've passed a frame if we've passed its device.
6196         Fixes this crash:
6197         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6198 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6199
6200 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6201
6202         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6203         Allow option to suppress accelerators in menu/dialog items.
6204         (populate_or_checksum_helper): Pass dialog title through above.
6205
6206 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6207
6208         * event-msw.c (mswindows_key_to_emacs_keysym):
6209         Add "pause" key, fix "menu" key.
6210
6211 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6212
6213         * eval.c (reinit_vars_of_eval):
6214         Increase max_lisp_eval_depth to 1000,
6215         required for thai-xtis.el to byte-compile under some circumstances.
6216
6217 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6218
6219         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6220         From Kenichi Handa.
6221
6222 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6223
6224         * make-src-depend: Make the generated Makefiles smaller.
6225
6226         * s/hpux.h (SETUP_SLAVE_PTY):
6227         Provide a %d in the format string for the errno argument.
6228
6229         * editfns.c (Ftemp_directory):
6230         Warning fix.
6231         Avoid buffer overrun on very long file name.
6232
6233         * input-method-xlib.c (XIM_init_device):
6234         6th parameter of XRegisterIMInstantiateCallback has different
6235         pointer types on different OSes, so simply cast to (void *).
6236
6237         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6238
6239         * sysdll.c (dll_open):
6240         shl_load will hang hard if passed a NULL filename.
6241         Simply return NULL for compatibility with dlopen.
6242         * sysdll.c: Conform to XEmacs coding standards.
6243
6244         * sysdep.c (get_pty_max_bytes):
6245         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6246
6247 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6248
6249         * tooltalk.c: Add #include <syssignal.h>
6250
6251 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6252
6253         * s/hpux.h: Don't use undefined function sigunblock().
6254
6255 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6256
6257         * config.h.in: Add HAVE_BALLOON_HELP.
6258         * emacs.c: Use HAVE_BALLOON_HELP.
6259         * Makefile.in.in (x_objs):
6260         Make Balloon Help conditional on finding shape.h.
6261
6262 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6263
6264         * syntax.c (regex_emacs_buffer_p): New variable.
6265         * syntax.h (regex_emacs_buffer_p): extern.
6266         * search.c (looking_at_1):
6267         (string_match_1):
6268         (fast_string_match):
6269         (search_buffer): Set regex_emacs_buffer_p.
6270         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6271         when before_dot, at_dot, after_dot.
6272
6273 2000-08-23  Andy Piper  <andy@xemacs.org>
6274
6275         * gui-x.c (popup_selection_callback): Only set action_occurred
6276         when we really have an image instance.
6277         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6278
6279 2000-08-23  Andy Piper  <andy@xemacs.org>
6280
6281         * gui-msw.c (mswindows_handle_gui_wm_command): set
6282         action_occurred.
6283         * gui-x.c (popup_selection_callback): ditto.
6284
6285         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6286         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6287         (struct Lisp_Image_Instance): add action_occurred flag.
6288
6289         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6290         (image_instance_changed): ditto.
6291         (reset_frame_subwindow_instance_cache): only unmap windows - do
6292         not remove them from the cache also.
6293
6294         * glyphs-widget.c (tab_control_update): better debug.
6295         (progress_gauge_update): ditto.
6296         (layout_update): ditto.
6297         (layout_instantiate): ditto.
6298         (tab_control_order_only_changed): cope with null pending items.
6299
6300         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6301         debug. Force selection of an item when an action occurred. Cope
6302         with null pending_items.
6303         (mswindows_progress_gauge_redisplay): better debug.
6304         * glyphs-x.c (x_tab_control_redisplay): ditto.
6305
6306         * redisplay.c (redisplay_frame): reset the frame cache if the
6307         frame is garbaged.
6308
6309         * window.c (Fset_window_configuration): potentially re-enable
6310         frame cache reset.
6311         (window_unmap_subwindows): need to finalize instances here since
6312         it is only used in mark_window_as_deleted.
6313
6314 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6315
6316         * nas.c (SndOpenDataForReading):
6317         nas.c (WaveOpenDataForReading):
6318         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6319         Somehow escaped from the 2000-08-14 patch.
6320
6321 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6322
6323         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6324         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6325
6326 2000-08-21  Andy Piper  <andy@xemacs.org>
6327
6328         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6329         window if it is not already displayed.
6330
6331         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6332         it is not already displayed.
6333
6334         * window.c (Fset_window_configuration): don't reset the frame
6335         cache.
6336
6337         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6338         instances from the frame cache if we are actually finalizing them.
6339         (reset_frame_subwindow_instance_cache): reset frame cache only
6340         after unmapping everything.
6341         (map_subwindow): set displayed flag after mapping.
6342
6343 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6344
6345         * data.c (indirect_function):
6346         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6347
6348         * eval.c (function_argcount):
6349         Use original function when signaling errors.
6350
6351 2000-08-18  Andy Piper  <andy@xemacs.org>
6352
6353         * frame.c (delete_frame_internal): use new
6354         free_frame_subwindow_instances name.
6355
6356         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6357         (add_tab_item): make return type correct.
6358         (mswindows_tab_control_instantiate): assert index of tab.
6359         (mswindows_tab_control_redisplay): Re-code to use
6360         gui_item_equal_sans_selected and gui_item_list_find_selected.
6361
6362         * glyphs-widget.c (tab_control_update): Correct comment.
6363
6364         * window.c (window_unmap_subwindows): use new
6365         unmap_subwindow_instance_cache_mapper.
6366         (window_unmap_subwindows_cache_mapper): deleted.
6367         (Fset_window_configuration): comparisons should now be with
6368         EQ. Preserve the subwindow instance cache across configuration
6369         changes.
6370         (allocate_window): ditto.
6371         (make_dummy_parent): ditto.
6372
6373         * glyphs.c (free_frame_subwindow_instances): rename from
6374         free_frame_subwindow_instance_cache. finalize all instances rather
6375         than just those in the display cache.
6376         (finalize_all_subwindow_instances): walk windows unmapping and
6377         finalizing subwindows.
6378         (unmap_subwindow_instance_cache_mapper): moved from
6379         window.c. Allow finalization as well as unmapping.
6380
6381         * gui.c (gui_item_list_find_selected): new function.
6382
6383         * gui.h (gui_item_list_find_selected): declare.
6384
6385         * glyphs-x.c (x_tab_control_redisplay): pick tab
6386         explicitly. Re-code to use gui_item_equal_sans_selected and
6387         gui_item_list_find_selected.
6388
6389         * glyphs-x.h: add lwlib-utils.h
6390
6391         * buffer.c (Frecord_buffer): undo previous change.
6392
6393 2000-08-09  Vin Shelton  <acs@xemacs.org>
6394
6395         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6396         possible.  Create temporary files more securely.  The patch was
6397         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6398         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6399         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6400         for details.
6401
6402 2000-08-07  Ben Wing  <ben@xemacs.org>
6403
6404         * getloadavg.c: remove duplicate (and windows-breaking)
6405         includes of fcntl.h and sys/file.h.
6406
6407         * nt.c: remove duplicate getloadavg() definition.
6408
6409         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6410         encodings.
6411
6412 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6413
6414         * eval.c (function_argcount): If function needs to be autoloaded
6415         actually use the loaded definition.
6416         GCPRO function.
6417
6418 2000-08-05  Ben Wing  <ben@xemacs.org>
6419
6420         * getloadavg.c: add prototype for getloadavg().  remove
6421         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6422         of the code).  remove duplicate header includes.
6423
6424         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6425
6426         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6427         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6428         useful load average.
6429
6430         * alloc.c (reinit_alloc_once_early): removed references to
6431         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6432         the lisp vars are the only things referencing the malloc_sbrk_*
6433         vars, and they were already if 0'd out.  these vars only exist
6434         in the older malloc.c, which is basically unused, and they're
6435         only for informational purposes.
6436
6437         * m\*.h: removed useless VIRT_ADDR_VARIES.
6438
6439         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6440
6441 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6442
6443         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6444         color if the image is a mono pixmap.
6445
6446 2000-07-30  Ben Wing  <ben@xemacs.org>
6447
6448         * Makefile.in.in (release):
6449         Remove stray @.
6450
6451         * buffer.c (directory_is_current_directory):
6452         * dired-msw.c (mswindows_get_files):
6453         * dired.c:
6454         * dired.c (Fdirectory_files):
6455         * dired.c (file_name_completion_stat):
6456         * dired.c (Ffile_attributes):
6457         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6458         preprocessor tricks, to avoid problems on some machines
6459         (e.g. SCO).
6460
6461         * callproc.c (egetenv): GC docs.
6462
6463         * console-msw.h:
6464         * console-msw.h (struct mswindows_dialog_id):
6465         * lrecord.h (lrecord_type):
6466         New object for use with MSW dialogs.
6467
6468         * console.h (struct console_methods):
6469         New enable/disable frame methods, for proper modal dialogs.
6470
6471         * device-msw.c (msprinter_default_printer): Fix to follow
6472         proper Mule conventions.
6473
6474         * device-msw.c:
6475         * device-msw.c (signal_open_printer_error):
6476         * device-msw.c (msprinter_init_device):
6477         * device-msw.c (ensure_not_printing):
6478         * device-msw.c (plist_get_margin):
6479         * device-msw.c (Fmsprinter_select_settings):
6480         * device-msw.c (finalize_devmode):
6481         * device-msw.c (Fmsprinter_settings_despecialize):
6482         * device-msw.c (signal_enum_priner_error):
6483         * extents.c (decode_extent):
6484         * extents.c (decode_map_extents_flags):
6485         * extents.c (decode_extent_at_flag):
6486         * extents.c (Fextent_at):
6487         * extents.c (Fextents_at):
6488         * extents.c (symbol_to_glyph_layout):
6489         [[[[2]]]] Use structured errors.
6490
6491         * dialog-msw.c:
6492         * dialog-msw.c (mswindows_is_dialog_msg):
6493         * dialog-msw.c (mark_mswindows_dialog_id):
6494         * dialog-msw.c (dialog_proc):
6495         * dialog-msw.c (handle_question_dialog_box):
6496         * dialog-msw.c (syms_of_dialog_mswindows):
6497         Define new object to clean up marking; use it as a dialog identifier.
6498         Call new delete-dialog-box-hook.
6499
6500         * dialog-x.c (dbox_selection_callback):
6501         * dialog-x.c (dbox_descriptor_to_widget_value):
6502         * dialog-x.c (x_make_dialog_box_internal):
6503         Call new delete-dialog-box-hook.
6504         Return an id.
6505
6506         * dialog.c:
6507         * dialog.c (syms_of_dialog):
6508         * dialog.c (vars_of_dialog):
6509         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6510
6511         * eval.c:
6512         * eval.c (signal_call_debugger):
6513         when noninteractive, output stack traces on the console instead
6514         of in a (never-seen) buffer.
6515
6516         * eval.c (signal_type_error):
6517         * eval.c (invalid_argument_2):
6518         * lisp.h:
6519         new funs for use w/structured errors.
6520
6521         * event-Xt.c:
6522         * event-Xt.c (x_to_emacs_keysym):
6523         * event-Xt.c (describe_event):
6524         * event-Xt.c (emacs_Xt_event_handler):
6525         * event-Xt.c (vars_of_event_Xt):
6526         * event-msw.c:
6527         * event-msw.c (mswindows_wnd_proc):
6528         * event-msw.c (vars_of_event_mswindows):
6529         rename {x,mswindows}-debug-events to debug-{}-events for
6530         consistency with other debug-foo variables.
6531
6532         * event-stream.c:
6533         document next-event more clearly.
6534
6535         * fileio.c (Ffile_name_directory):
6536         * fileio.c (Ffile_name_nondirectory):
6537         * fileio.c (Funhandled_file_name_directory):
6538         * fileio.c (file_name_as_directory):
6539         * fileio.c (Ffile_name_as_directory):
6540         * fileio.c (directory_file_name):
6541         * fileio.c (Fdirectory_file_name):
6542         * fileio.c (Fmake_temp_name):
6543         * fileio.c (Ffile_truename):
6544         * fileio.c (Fsubstitute_in_file_name):
6545         * fileio.c (expand_and_dir_to_file):
6546         * fileio.c (barf_or_query_if_file_exists):
6547         * fileio.c (check_executable):
6548         * fileio.c (Ffile_exists_p):
6549         * fileio.c (Ffile_writable_p):
6550         * fileio.c (Ffile_directory_p):
6551         * fileio.c (Ffile_regular_p):
6552         * fileio.c (Ffile_modes):
6553         * fileio.c (Ffile_newer_than_file_p):
6554         * fileio.c (Fverify_visited_file_modtime):
6555         * fileio.c (Fset_visited_file_modtime):
6556         * fileio.c (auto_save_1):
6557         (1). (2).
6558         fix up gcpro's.
6559
6560         * frame-msw.c:
6561         * frame-msw.c (mswindows_init_frame_1):
6562         * frame-msw.c (mswindows_enable_frame):
6563         * frame-msw.c (error_frame_unsizable):
6564         * frame-msw.c (msprinter_init_frame_1):
6565         * frame-msw.c (msprinter_init_frame_3):
6566         * frame-msw.c (console_type_create_frame_mswindows):
6567         (2).
6568         implement new enable/disable frame methods.
6569
6570         * frame-x.c:
6571         * frame-x.c (x_enable_frame):
6572         * frame-x.c (console_type_create_frame_x):
6573         implement new enable/disable frame methods.
6574
6575         * frame.c:
6576         * frame.c (Fdisable_frame):
6577         * frame.c (syms_of_frame):
6578         * frame.h (struct frame):
6579         implement new enable/disable frame methods/functions.
6580
6581         * general-slots.h:
6582         add initial-focus.
6583
6584         * glyphs-msw.c (mswindows_widget_instantiate):
6585         comment that initial-focus should be implemented.
6586
6587         * glyphs-widget.c:
6588         * glyphs-widget.c (check_valid_instantiator):
6589         * glyphs-widget.c (check_valid_orientation):
6590         * glyphs-widget.c (check_valid_tab_orientation):
6591         * glyphs-widget.c (check_valid_justification):
6592         * glyphs-widget.c (check_valid_border):
6593         * glyphs-widget.c (check_valid_callback):
6594         * glyphs-widget.c (check_valid_int_or_function):
6595         * glyphs-widget.c (check_valid_string_or_vector):
6596         * glyphs-widget.c (check_valid_item_list_1):
6597         * glyphs-widget.c (widget_validate):
6598         * glyphs-widget.c (combo_box_validate):
6599         * glyphs-widget.c (widget_instantiate):
6600         * glyphs-widget.c (syms_of_glyphs_widget):
6601         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6602         * glyphs-widget.c (image_instantiator_combo_box):
6603         * glyphs-widget.c (image_instantiator_scrollbar):
6604         * glyphs-widget.c (image_instantiator_tab_control):
6605         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6606         (2).
6607         support (unimplemented) keyword initial-focus.
6608         reindent long macros.
6609
6610         * glyphs-x.c (x_redisplay_widget):
6611         * glyphs-x.c (x_button_instantiate):
6612         * glyphs-x.c (x_button_redisplay):
6613         * glyphs-x.c (x_progress_gauge_instantiate):
6614         * glyphs-x.c (x_edit_field_instantiate):
6615         * glyphs-x.c (x_combo_box_instantiate):
6616         * glyphs-x.c (x_tab_control_instantiate):
6617         * glyphs-x.c (x_label_instantiate):
6618         * gui-x.c:
6619         * gui-x.c (button_item_to_widget_value):
6620         * gui-x.c (gui_items_to_widget_values_1):
6621         * gui-x.c (gui_item_children_to_widget_values):
6622         * gui-x.c (gui_items_to_widget_values):
6623         * gui-x.h:
6624         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6625         add new flag to gui-parsing routines to indicate whether
6626         accelerator specs should be supported.
6627
6628         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6629
6630         * glyphs.h (struct Lisp_Image_Instance):
6631         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6632         add initial-focus flag.
6633
6634         * gui.c:
6635         * gui.c (syms_of_gui):
6636         * gui.c (vars_of_gui):
6637         clean up menu-no-selection-hook.
6638
6639         * gui.h:
6640         support delete-dialog-box-hook.
6641
6642         * lread.c (Fload_internal):
6643         * lread.c (locate_file_in_directory_mapper):
6644         (1).
6645
6646         * lrecord.h:
6647         * lrecord.h (struct toolbar_button):
6648         * lrecord.h (syms_of_toolbar):
6649         document how to create a new object.
6650
6651         * menubar-msw.c (mswindows_char_is_accelerator):
6652         may be called on frames w/o menus.
6653
6654         * menubar.c (vars_of_menubar):
6655         clean up :filter docs.
6656
6657         * nt.c (readdir):
6658         * ntproc.c:
6659         (1).
6660
6661         * process-nt.c:
6662         * process-nt.c (validate_signal_number):
6663         * process-nt.c (signal_cannot_launch):
6664         * process-nt.c (nt_create_process):
6665         * process-nt.c (nt_send_process):
6666         * process-nt.c (nt_kill_child_process):
6667         * process-nt.c (nt_open_network_stream):
6668         * process-nt.c (syms_of_process_nt):
6669         (2).
6670         delete quote-handling.  call new lisp code that does it better.
6671
6672         * process-unix.c (connect_to_file_descriptor):
6673         * process-unix.c (allocate_pty):
6674         * process-unix.c (unix_send_process):
6675         * process-unix.c (unix_kill_child_process):
6676         * process-unix.c (unix_open_network_stream):
6677         * process-unix.c (unix_open_multicast_group):
6678         (1). (2).
6679
6680         * process.c:
6681         * process.c (Fstart_process_internal):
6682         (2).  need to canonicalize process path even if absolute.
6683
6684         * select-msw.c (symbol_to_ms_cf):
6685         * select-msw.c (ms_cf_to_symbol):
6686         * select-msw.c (cf_is_autofreed):
6687         * select-msw.c (mswindows_destroy_selection):
6688         * select.c:
6689         * select.c (syms_of_select):
6690         * select.h:
6691         support dibv5, fix bugs. (from Mike Alexander)
6692
6693         * select.c (Fget_selection_internal):
6694         * select.c (select_convert_out):
6695
6696         * sysdep.c:
6697         * sysdep.c (xemacs_stat):
6698         renamed.
6699
6700         * sysdep.c (mkdir):
6701         * sysdep.c (rmdir):
6702         but keep original stat() here because we provide encapsulation
6703         around these funs.
6704
6705         * sysfile.h:
6706         * sysfile.h (fstat):
6707         remove stat garbage.
6708
6709         * syswindows.h:
6710         fix X/MSW conflict.
6711         don't include tchar.h.  it's inappropriate because it makes
6712         compile-time distinctions when we want runtime distinctions.
6713         (we provide our own tchar replacements)
6714
6715         * toolbar.c:
6716         use default object printer for toolbar-button.
6717
6718         * unexcw.c:
6719         make sure we don't encapsulate.
6720
6721         * window.c (vars_of_window):
6722         emphasize that temp-buffer-show-hook is obsolete.
6723
6724 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6725
6726         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6727         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6728
6729         * events.c (Fevent_timestamp_lessp):
6730         Not 64-bit clean.  Use EMACS_INT, not int.
6731
6732 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6733
6734         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6735         unsigned int and changed the last enum to
6736         lrecord_type_last_built_in_type.
6737         (lrecord_implementations_table): changed prototype to know how
6738         long the array is supposed to be.
6739         (lrecord_type_count): new unsigned int to keep track of the
6740         current number of lisp lrecord types.
6741         (DEFINE_EXTERNAL_LRECORD):
6742         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6743         dynamic-modules to declare new lisp types. They are the same
6744         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6745         int for each new type, and increment lrecord_type_count by 1.
6746
6747         * alloc.c (lrecord_implementations_table): Changed to reference
6748         lrecord_type_last_built_in_type for the size of the array.
6749         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6750
6751 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6752
6753         * glyphs.h (check_valid_item_list): Renamed from
6754         check_valid_item_list_1.
6755
6756 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6757
6758         * select.c (Qselect_coerce): New.
6759         * select.c (Vselection_coercion_alist): New.
6760         * select.c (syms_of_select): Declare.
6761         * select.c (get-selection-internal): Use it.
6762         Use the new select-coerce functionality.
6763
6764         * select.c (select_coerce): New.
6765         * select.h (select_coerce): Declare.
6766         New function to coerce one type of data into another.
6767
6768 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6769
6770         * callproc.c (Fcall_process_internal):
6771         (Fcall_process_internal):
6772         * process-unix.c (unix_create_process):
6773         Save and restore the value of errno, so that error messages are accurate.
6774
6775 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6776
6777         * elhash.c (print_hash_table):
6778         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6779         Prettify docstrings and indentation.
6780
6781 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6782
6783         * window.c (Fwindow_pixel_edges): Subtract frame border and
6784         gutter size.
6785
6786 2000-07-31  Andy Piper  <andy@xemacs.org>
6787
6788         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6789         will acknowledge the change.
6790
6791         * glyphs.h: declare tab_control_order_only_changed.
6792
6793         * glyphs-x.c (x_tab_control_redisplay): use
6794         tab_control_order_only_changed.
6795
6796         * glyphs-widget.c (tab_control_order_only_changed): new function.
6797
6798         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6799         tab_control_order_only_changed.
6800
6801         * gui.c (gui_item_equal_sans_selected): new function.
6802         (gui_item_equal): use it.
6803
6804         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6805         :properties in favor of :items..
6806
6807         * glyphs-widget.c (check_valid_item_list): rename from
6808         check_valid_item_list_1.
6809         (check_valid_item_list_1): renamed.
6810         (combo_box_validate): deprecate :properties in favor of :items.
6811         (widget_instantiate): ditto.
6812         (tab_control_update): ditto.
6813         (image_instantiator_combo_box): ditto.
6814         (image_instantiator_tree_view): ditto.
6815         (image_instantiator_tab_control): ditto.
6816         (layout_post_instantiate): remove dead code.
6817
6818         * print.c (debug_print_no_newline): only write to debugger if in
6819         WIN32_NATIVE.
6820
6821         * elhash.c (Fmake_hash_table): update doc string.
6822
6823         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6824         messages whilst in GC. This at least stops XEmacs crashing but has
6825         the potential for wierd behaviour.
6826
6827 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6828
6829         * config.h.in:
6830         Make existence of s&m files optional.
6831
6832         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6833         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6834         * s/gnu.h: Remove HAVE_GETLOADAVG.
6835         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6836         * s/sol2.h: Remove HAVE_GETLOADAVG.
6837         * lisp.h: Remove getloadavg() declaration.
6838         * fns.c:
6839         Include <sys/loadavg.h> if available.
6840         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6841         * config.h.in:  Group together getloadavg()-related macros.
6842         Use only configure-time tests to detect getloadavg().
6843
6844 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6845
6846         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6847
6848 2000-07-25  Andy Piper  <andy@xemacs.org>
6849
6850         * syswindows.h: add tchar.h for native builds.
6851
6852         * frame.c (syms_of_frame): remove set-glyph-image.
6853
6854         * general-slots.h: add Qset_glyph_image.
6855
6856         * glyphs-widget.c (layout_update): add domain arg to
6857         set-glyph-image.
6858         (syms_of_glyphs_widget): remove set-glyph-image.
6859
6860 2000-07-23  Ben Wing  <ben@xemacs.org>
6861
6862         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6863         Vpopup_frame_list.
6864
6865 2000-07-22  Andy Piper  <andy@xemacs.org>
6866
6867         * symsinit.h: add syms_of_win32().
6868
6869         * gui-msw.c (syms_of_gui_mswindows): remove
6870         Fmswindows_shell_execute.
6871         (Fmswindows_shell_execute): moved to win32.c.
6872
6873         * emacs.c (main_1): add syms_of_win32 ().
6874
6875         * win32.c (init_potentially_nonexistent_functions): rewrite in
6876         compiler-friendly terms.
6877         (Fmswindows_shell_execute): move here from gui-msw.c.
6878         (syms_of_win32): new.
6879
6880         * device-msw.c (Fmswindows_printer_list): clean up args to
6881         EnumPrinters.
6882         Don't include tchar under cygwin or mingw.
6883         (msprinter_default_printer): make cygwin-friendly.
6884
6885 2000-07-21  Andy Piper  <andy@xemacs.org>
6886
6887         * glyphs-widget.c (image_instantiator_tree_view): use tab
6888         control's update function.
6889         (layout_property): new function. Retrieve items.
6890
6891         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6892         function. Re-populate the tree view from the pending items.
6893
6894         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6895         is designated the parent if the domain is an image instance. This
6896         is needed so that dirtiness can be cascade up the hierarchy and
6897         thus for layout children to be redisplayed correctly.
6898         (allocate_image_instance): rename glyph -> parent.
6899
6900         * redisplay.h: change redisplay_output_layout signature.
6901
6902         * redisplay-msw.c (mswindows_output_display_block): use domain
6903         arg.
6904
6905         * redisplay-x.c (x_output_display_block): use domain arg.
6906
6907 2000-07-10  Andy Piper  <andy@xemacs.org>
6908
6909         * window.c (Fset_window_configuration): add comment.
6910
6911         * redisplay-output.c (compare_runes):
6912         (redisplay_output_subwindow): redisplay rather than update subwindow.
6913         (redisplay_output_layout): ditto.
6914
6915         * redisplay-msw.c (mswindows_frame_output_end):
6916         (mswindows_frame_output_end): make defer window pos optional.
6917
6918         * lisp.h: add Flast.
6919
6920         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6921         normalize method. Change update method to be for changed
6922         instantiators. Add redisplay method. Change signature of layout
6923         method.
6924         (struct Lisp_Image_Instance): add instantiator.
6925         (IMAGE_INSTANCE_INSTANTIATOR): new.
6926         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6927         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6928         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6929
6930         * glyphs.c:
6931         (find_instantiator_differences): new function.
6932         (Fset_instantiator_property): new convenience function.
6933         (check_image_instance_structure): strictly check for vector
6934         instantiators.
6935         (normalize_image_instantiator): make non-static.
6936         (instantiate_image_instantiator): pass on dest_mask and use new
6937         signatures for image_instance_layout and friends.
6938         (mark_image_instance): mark the instantiator. Mark the subwindow
6939         face not the widget face.
6940         (image_instance_equal): add instantiator.
6941         (image_instance_hash): ditto.
6942         (allocate_image_instance): ditto.
6943         (Fset_image_instance_property): removed.
6944         (Fimage_instance_file_name): ditto.
6945         (Fcolorize_image_instance): ditto.
6946         (image_instance_layout): add offsets to be set.
6947         (update_image_instance): new function. update an image instance
6948         from its changed instantiator.
6949         (inherit_normalize): add dest_mask.
6950         (xbm_normalize): ditto.
6951         (xface_normalize): ditto.
6952         (xpm_normalize): ditto.
6953         (text_update): set_property -> update.
6954         (image_instantiate): use the glyph identity as a hash key, not the
6955         instantiator.
6956         (glyph_width): use new image_instance_layout signature.
6957         (glyph_ascent): ditto.
6958         (glyph_descent): ditto.
6959         (glyph_height): ditto.
6960         (glyph_query_geometry): ressurrect.
6961         (glyph_layout): ditto.
6962         (redisplay_subwindow): update -> redisplay.
6963         (syms_of_glyphs): add Fset_instantiator_property.
6964         (image_instantiator_format_create): set_property -> update.
6965
6966         * glyphs-x.c:
6967         (autodetect_normalize): add dest_maks to signature.
6968         (x_redisplay_subwindow): update -> redisplay.
6969         (x_redisplay_widget): ditto.
6970         (x_button_redisplay): ditto.
6971         (x_progress_gauge_redisplay): ditto.
6972         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6973         stacking order.
6974         (console_type_create_glyphs_x): update -> redisplay.
6975         (image_instantiator_format_create_glyphs_x): ditto.
6976
6977         * glyphs-widget.c:
6978         (check_valid_instantiator): disallow glyphs in the instantiator,
6979         they must now be vectors.
6980         (check_valid_instantiator_list): ditto.
6981         (glyph_instantiator_to_glyph): use internal symbol rather than
6982         intern.
6983         (widget_update): renamed from widget_set_property. Call cascaded
6984         update methods.
6985         (redisplay_widget): renamed from update_widget.
6986         (widget_layout): image_instance_layout now takes position as well
6987         as size.
6988         (widget_normalize): ditto.
6989         (widget_instantiate): ditto.
6990         (tab_control_query_geometry) ditto.:
6991         (tab_control_update): renamed from tab_control_set_property.
6992         (progress_gauge_update): set_property -> update.
6993         (layout_normalize): rewrite so that child instantiators are
6994         normalized also.
6995         (layout_update): new function. Create glyphs from the normalized
6996         children and cope with any other layout keywords. We do not
6997         instantiate children here that will be take care of by
6998         redisplay_output_layout.
6999         (layout_instantiate): call layout_update and not much else.
7000         (layout_post_instantiate): not sure whether this is needed
7001         anymore.
7002         (layout_query_geometry): query glyph geometry rather than
7003         image_instance geometry.
7004         (layout_layout): set offsets from pass in parameters. Use glyph
7005         geometry and layout functions rather than image instance ones.
7006         (native_layout_layout): ditto.
7007         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
7008         (image_instantiator_widget): set_property -> update.
7009         (image_instantiator_buttons): ditto.
7010         (image_instantiator_progress_guage): ditto.
7011         (image_instantiator_tab_control): ditto.
7012         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
7013         (image_instantiator_layout): add update method.
7014
7015         * glyphs-msw.c (bmp_normalize):
7016         (mswindows_resource_normalize): add dest_mask so that it can be
7017         proprogated by layout_normalize.
7018         (begin_defer_window_pos): make optional because it may not be the
7019         right thing to do and it introduces differences with X.
7020         (mswindows_unmap_subwindow): ditto.
7021         (mswindows_map_subwindow): ditto.
7022         (mswindows_redisplay_subwindow): renamed from
7023         mswindows_update_subwindow.
7024         (mswindows_redisplay_widget): ditto.
7025         (mswindows_button_redisplay): renamed from
7026         mswindows_button_update. Update is now what the instantiation
7027         function does for a changed instantiator.
7028         (mswindows_progress_gauge_instantiate): set the progress value
7029         here if appropriate.
7030         (mswindows_tab_control_redisplay): cope with re-ordering of the
7031         members of the tab widget by simply selecting the new top
7032         widget. This makes things appear ok if you click on a tab.
7033         (mswindows_combo_box_instantiate): image_instance_layout now takes
7034         position as well as size.
7035         (mswindows_progress_gauge_redisplay): renamed from
7036         mswindows_progress_gauge_update.
7037         (console_type_create_glyphs_mswindows): fix update -> redisplay.
7038         (image_instantiator_format_create_glyphs_mswindows): ditto.
7039
7040         * glyphs-eimage.c (jpeg_normalize):
7041         (gif_normalize):
7042         (png_normalize):
7043         (tiff_normalize): add dest_mask so that it can be proprogated by
7044         layout_normalize.
7045
7046         * elhash.c:
7047         (print_hash_table):
7048         (hash_table_weakness_validate):
7049         (decode_hash_table_weakness):
7050         (Fhash_table_weakness):
7051         (Fhash_table_type):
7052         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7053
7054         * console.h (struct console_methods): move update_* to
7055         redisplay_*.
7056
7057 2000-07-20  Ben Wing  <ben@xemacs.org>
7058
7059         * *.[ch] (XSETOBJ): remove unused middle argument.
7060         lisp-disunion.h: correct wrap_object() to one argument.
7061
7062 2000-07-15  Ben Wing  <ben@xemacs.org>
7063
7064         * s/cygwin32.h:
7065         * s/cygwin32.h (CYGWIN_CONV_PATH):
7066         Add missing logb prototype for v1.1.
7067         Use post-b20 names and alias to pre-b20 names when pre-b20.
7068
7069         * s/windowsnt.h: [5].
7070
7071 2000-07-15  Ben Wing  <ben@xemacs.org>
7072
7073         * Makefile.in.in (x_objs):
7074         * Makefile.in.in (sheap_objs):
7075         * Makefile.in.in (objs):
7076         added win32.o, cosmetic cleanups.
7077
7078         * alloc.c (Fmake_byte_code):
7079         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7080         etc. macros which declare their own args now.
7081
7082         * alloc.c (syms_of_alloc):
7083         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7084
7085         * buffer.c:
7086         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7087
7088         * buffer.c (Fget_file_buffer):
7089         Fixed GCPRO problem.
7090
7091         * buffer.c (get_truename_buffer):
7092         Fixed comment about GC checking.
7093
7094         * buffer.c (syms_of_buffer):
7095         Undeclared those dedicated frame funs.
7096         [2].
7097
7098         * buffer.h:
7099         Define convenience macros for internal/external conversions.
7100         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7101         and Qenvironment_variable_encoding for cleaner code.
7102
7103         * bufslots.h:
7104         Remove dedicated-frame; in lisp.
7105
7106         * bytecode.c (funcall_compiled_function):
7107         [1].
7108
7109         * bytecode.c (syms_of_bytecode):
7110         [2].
7111
7112         * console-msw.c:
7113         * console-msw.c (mswindows_show_console): Rewrote.
7114
7115         * console-msw.c (Fmswindows_debugging_output): New.
7116         Sends to OutputDebugString (special MSWin debugger interface).
7117
7118         * console-msw.c (Fmswindows_message_box):
7119         Fixed stupid bugs so it works when called from kill-emacs.
7120
7121         * console-msw.c (syms_of_console_mswindows):
7122         Declare Fmswindows_debugging_output.
7123
7124         * console-msw.h:
7125         New MSWin prototypes.
7126
7127         * console-msw.h (struct mswindows_frame):
7128         New entry last-click-mods for improved button-modifier support.
7129
7130         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7131         New struct entry `popup' with corresponding accessor.
7132
7133         * console-x.c:
7134         * console-x.c (split_up_display_spec):
7135         * console-x.c (get_display_arg_connection):
7136         * console-x.c (x_semi_canonicalize_console_connection):
7137         * console-x.c (x_canonicalize_device_connection):
7138         [[[6]]]: Change char to more specific type.
7139         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7140
7141         * console-x.c (x_semi_canonicalize_console_connection):
7142         * console-x.c (x_canonicalize_device_connection):
7143         [[[9]]]: Fix up error signalling to use new structured error system.
7144
7145         * console-x.h:
7146         [[[4]]]: Define codesys aliases:
7147         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7148         Qx_color_name_encoding, Qx_display_name_encoding.
7149
7150         * console.h (struct console_methods):
7151         New method make_dialog_box_internal supersedes older
7152         popup_dialog_box method.
7153
7154         * data.c:
7155         Define many new errors, part of new structured errors.
7156
7157         * data.c (init_errors_once_early):
7158         * data.c (syms_of_data):
7159         [2].
7160
7161         * device-msw.c (mswindows_init_device):
7162         [[[5]]]: Cleanup to support NT 3.51.
7163
7164         * device-msw.c (decode_devmode): Cleanup.
7165
7166         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7167         * device-msw.c (mswindows_handle_print_dialog_box):
7168         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7169         * device-msw.c (syms_of_device_mswindows):
7170         Delete the dialog box primitives recently introduced by Kirill and
7171         instead interface to general dialog box interface.
7172
7173         * device-x.c:
7174         * device-x.c (compute_x_app_name):
7175         * device-x.c (x_init_device):
7176         * device-x.c (Fx_valid_keysym_name_p):
7177         * device-x.c (Fx_set_font_path):
7178         [6].
7179         [7].
7180
7181         * device.h (wrap_device): New.
7182         First of its kind; meant to replace XSETDEVICE.
7183
7184         * dialog-msw.c: Many file-dialog symbols.
7185
7186         * dialog-msw.c (mswindows_register_popup_frame): New.
7187         * dialog-msw.c (mswindows_is_dialog_msg): New.
7188         For supporting kbd traversal in dialog boxes.
7189
7190         * dialog-msw.c (dialog_proc):
7191         Support hitting ESC in dialogs.
7192
7193         * dialog-msw.c (struct):
7194         Common dialog box errors.
7195
7196         * dialog-msw.c (handle_file_dialog_box): New.
7197         Add file dialog code.
7198
7199         * dialog-msw.c (handle_question_dialog_box):
7200         Redo existing code to support new question dialog syntax.
7201
7202         * dialog-msw.c (console_type_create_dialog_mswindows):
7203         We support new dialog console method.
7204
7205         * dialog-msw.c (syms_of_dialog_mswindows):
7206         * dialog-msw.c (vars_of_dialog_mswindows):
7207         New file dialog symbols, vars.
7208
7209         * dialog-x.c:
7210         * dialog-x.c (maybe_run_dbox_text_callback):
7211         * dialog-x.c (dbox_descriptor_to_widget_value):
7212         * dialog-x.c (x_make_dialog_box_internal):
7213         * dialog-x.c (console_type_create_dialog_x):
7214         Mule-ize entire file.
7215         Redo to support question dialog syntax.
7216         [6].
7217
7218         * dialog.c:
7219         * dialog.c (Fmake_dialog_box_internal):
7220         * dialog.c (syms_of_dialog):
7221         Kill old popup-dialog-box, replace with new primitive.
7222         Just call device method or signal error.
7223
7224         * eldap.c (Fldap_open):
7225         * eldap.c (Fldap_search_basic):
7226         * eldap.c (Fldap_add):
7227         * eldap.c (Fldap_modify):
7228         [1].
7229         [7].
7230
7231         * emacs.c:
7232         * emacs.c (make_arg_list_1):
7233         * emacs.c (make_arg_list):
7234         Mule-ize call to dll_init().
7235         [6].
7236         [8].
7237
7238         * emacs.c (make_argc_argv):
7239         * emacs.c (free_argc_argv):
7240         * emacs.c (init_cmdargs):
7241         * emacs.c (main_1):
7242         * emacs.c (Fkill_emacs):
7243         * emacs.c (Fdump_emacs):
7244         Update comments about what can be used in syms_* etc.
7245         Call init_win32() when necessary.
7246         Fix up MS Win dialog box in kill-buffer to actually work right.
7247         [7].
7248
7249         * eval.c:
7250         * eval.c (For):
7251         * eval.c (Fand):
7252         * eval.c (Fprogn):
7253         * eval.c (Fprog1):
7254         * eval.c (Fprog2):
7255         * eval.c (FletX):
7256         * eval.c (Flet):
7257         * eval.c (condition_case_3):
7258         * eval.c (Feval):
7259         * eval.c (function_argcount):
7260         * eval.c (funcall_lambda):
7261         [1].
7262
7263         * eval.c (type_error): New.
7264         * eval.c (maybe_type_error): New.
7265         * eval.c (continuable_type_error): New.
7266         * eval.c (maybe_continuable_type_error): New.
7267         * eval.c (type_error_with_frob): New.
7268         * eval.c (maybe_type_error_with_frob): New.
7269         * eval.c (continuable_type_error_with_frob): New.
7270         * eval.c (maybe_continuable_type_error_with_frob): New.
7271         New functions for use with structured errors.
7272
7273         * event-Xt.c:
7274         * event-Xt.c (x_event_to_emacs_event):
7275         Buttons are now modifiers too.
7276
7277         * event-Xt.c (emacs_Xt_current_event_timestamp):
7278         Implement new event method.
7279         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7280
7281         * event-msw.c:
7282         * event-msw.c (ntpipe_shove_writer): [5].
7283         * event-msw.c (mswindows_enqueue_mouse_button_event):
7284         * event-msw.c (mswindows_drain_windows_queue):
7285         * event-msw.c (mswindows_wnd_proc): [7].
7286         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7287         * event-msw.c (mswindows_modifier_state):
7288         Throughout: support new button modifiers.
7289
7290         * event-msw.c (emacs_mswindows_current_event_timestamp):
7291         Implement new event method.
7292         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7293
7294         * event-stream.c:
7295         * event-stream.c (event_stream_current_event_timestamp): New.
7296         * event-stream.c (maybe_kbd_translate): New functionality.
7297         * event-stream.c (vars_of_event_stream):
7298         Document new kbd-translate-table functionality.
7299
7300         * event-stream.c (Fcurrent_event_timestamp): New.
7301         New primitive for use in fabricated events.
7302         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7303
7304         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7305
7306         * events.c:
7307         * events.c (Fmake_event):
7308         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7309         [1].
7310         [9].
7311
7312         * events.c (format_event_object): fix gcc warnings.
7313
7314         * events.c (Fevent_timestamp): Document new primitives.
7315
7316         * events.c (TIMESTAMP_HALFSPACE): New.
7317
7318         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7319         comparing timestamps correctly (half-space algorithm).
7320
7321         * events.c (Fevent_modifier_bits): Doc fix.
7322
7323         * events.c (Fevent_modifiers): Major doc addition.
7324         * events.c (event_x_y_pixel_internal): Typo fix.
7325         * events.c (syms_of_events): Declare new primitives.
7326
7327         * events.h:
7328         Update long comment for button modifiers, timestamps.
7329
7330         * events.h (struct event_stream):
7331         New current_event_timestamp method.
7332
7333         * extents.c:
7334         * extents.c (extent_in_region_p):
7335         * extents.c (decode_extent):
7336         * extents.c (Fset_extent_parent):
7337         * extents.c (decode_map_extents_flags):
7338         Fix gcc warnings.
7339         [9].
7340
7341         * extents.c (struct extent_at_arg):
7342         * extents.c (decode_extent_at_flag):
7343         * extents.c (extent_at_mapper):
7344         * extents.c (extent_at_bytind):
7345         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7346         * extents.c (Fextents_at): New primitive. [9].
7347         * extents.c (symbol_to_glyph_layout): [9].
7348         Support new primitive `extents-at'.
7349
7350
7351         * extents.c (get_text_property_bytind):
7352         extent_at_bytind has another arg.
7353         [9].
7354
7355         * extents.c (syms_of_extents): New primitive.
7356
7357         * file-coding.c (Fmake_coding_system): [1].
7358         * file-coding.c (subsidiary_coding_system): fix gcc warning
7359         * file-coding.c (syms_of_file_coding): [2].
7360
7361         * fileio.c (Fexpand_file_name):
7362         * fileio.c (Fsysnetunam):
7363         * fileio.c (Ffile_exists_p):
7364         * fileio.c (Ffile_executable_p):
7365         * fileio.c (Fverify_visited_file_modtime):
7366         Clean up GCPROing.
7367
7368         * fileio.c (syms_of_fileio): [2].
7369
7370         * filelock.c (lock_file_1):
7371         * filelock.c (current_lock_owner):
7372         * filelock.c (lock_if_free):
7373         * filelock.c (lock_file):
7374         * filelock.c (unlock_file):
7375         Clean up GCPROing.
7376
7377         * fns.c (concat): Fix gcc warning.
7378
7379         * fns.c (Fmember):
7380         * fns.c (Fold_member):
7381         * fns.c (Fmemq):
7382         * fns.c (Fold_memq):
7383         * fns.c (memq_no_quit):
7384         * fns.c (Fassoc):
7385         * fns.c (Fold_assoc):
7386         * fns.c (Fassq):
7387         * fns.c (Fold_assq):
7388         * fns.c (assq_no_quit):
7389         * fns.c (Frassoc):
7390         * fns.c (Fold_rassoc):
7391         * fns.c (Frassq):
7392         * fns.c (Fold_rassq):
7393         * fns.c (rassq_no_quit):
7394         * fns.c (Fdelete):
7395         * fns.c (Fold_delete):
7396         * fns.c (Fdelq):
7397         * fns.c (Fold_delq):
7398         * fns.c (delq_no_quit):
7399         * fns.c (Fremassoc):
7400         * fns.c (Fremassq):
7401         * fns.c (remassq_no_quit):
7402         * fns.c (Fremrassoc):
7403         * fns.c (Fremrassq):
7404         * fns.c (remrassq_no_quit):
7405         * fns.c (Freverse):
7406         * fns.c (mapcar1):
7407         [1].
7408
7409         * frame-msw.c (mswindows_init_frame_1):
7410         * frame-msw.c (mswindows_delete_frame):
7411         Register popups with dialog code so keyboard traversing works.
7412
7413         * frame-tty.c (tty_raise_frame_no_select): [1].
7414
7415         * frame-x.c:
7416         * frame-x.c (x_set_frame_text_value):
7417         * frame-x.c (x_set_frame_properties):
7418         * frame-x.c (x_create_widgets):
7419         [7].
7420
7421         * frame.c:
7422         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7423
7424         * frame.h (wrap_frame): New.
7425         Macro like wrap_device.
7426
7427         * general.c:
7428         * general.c (SYMBOL):
7429         * general.c (syms_of_general):
7430         Major reorg.  This is now just a wrapper and symbols themselves
7431         are listed in general-slots.h.
7432
7433         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7434         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7435
7436         * glyphs-msw.c (mswindows_native_layout_instantiate):
7437         Add DS_CONTROL so keyboard traversal will work.
7438
7439         * glyphs-widget.c:
7440         * glyphs-widget.c (syms_of_glyphs_widget):
7441         Move some symbols to general-slots.h.
7442
7443         * glyphs-x.c:
7444         * glyphs-x.c (xbm_instantiate_1):
7445         * glyphs-x.c (x_xbm_instantiate):
7446         * glyphs-x.c (x_xface_instantiate):
7447         * glyphs-x.c (autodetect_instantiate):
7448         * glyphs-x.c (cursor_font_instantiate):
7449         * glyphs-x.c (x_update_widget):
7450         * glyphs-x.c (x_widget_instantiate):
7451         * glyphs.c (bitmap_to_lisp_data):
7452         * glyphs.c (pixmap_to_lisp_data):
7453         [7].
7454
7455         * glyphs.c (syms_of_glyphs):
7456         [2].
7457
7458         * gui-x.c:
7459         * gui-x.c (print_widget_value):
7460         * gui-x.c (menu_separator_style_and_to_external):
7461         * gui-x.c (add_accel_and_to_external):
7462         * gui-x.c (button_item_to_widget_value):
7463         * gui-x.c (gui_items_to_widget_values_1):
7464         * gui-x.c (gui_items_to_widget_values):
7465         * gui-x.c (syms_of_gui_x):
7466         * gui-x.c (vars_of_gui_x):
7467         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7468         [9].
7469
7470         * gui-x.h:
7471         Muleize, prototype changes matching gui-x.c.
7472
7473         * gui.c:
7474         * gui.c (separator_string_p):
7475         * gui.c (gui_item_add_keyval_pair):
7476         * gui.c (make_gui_item_from_keywords_internal):
7477         * gui.c (signal_too_long_error):
7478         * gui.c (parse_gui_item_tree_item):
7479         * gui.c (syms_of_gui):
7480         * gui.c (vars_of_gui):
7481         * gui.h:
7482         menu-no-selection-hook moved here (used by MSWin).
7483         Move some symbols to general-slots.h.
7484         [6].
7485         [9].
7486
7487         * insdel.c (get_buffer_pos_char):
7488         * insdel.c (get_buffer_range_char):
7489         Add GC comments.
7490
7491         * keymap.c (keymap_lookup_directly):
7492         * keymap.c (keymap_store):
7493         * keymap.c (ensure_meta_prefix_char_keymapp):
7494         * keymap.c (describe_map):
7495         * keymap.h:
7496         Support new button modifiers.
7497
7498         * lisp-disunion.h (wrap_object):
7499         * lisp-disunion.h (XSETOBJ):
7500         Rename make_obj to wrap_object.
7501
7502         * lisp-union.h:
7503         * lisp-union.h (make_int):
7504         * lisp-union.h (make_char):
7505         Support wrap_object.
7506
7507         * lisp.h:
7508         * lisp.h (LIST_LOOP):
7509         * lisp.h (EXTERNAL_LIST_LOOP):
7510         * lisp.h (LIST_LOOP_2):
7511         * lisp.h (EXTERNAL_LIST_LOOP_1):
7512         * lisp.h (EXTERNAL_LIST_LOOP_2):
7513         * lisp.h (EXTERNAL_LIST_LOOP_3):
7514         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7515         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7516         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7517         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7518         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7519         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7520         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7521         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7522         * lisp.h (struct Lisp_Symbol):
7523         * lisp.h (maybe_continuable_error_with_frob):
7524         Fix up section comments.
7525         Add new types for char to indicate usage.
7526         Delete symbols auto-generated from general-slots.h.
7527         Add prototypes for structured error functions.
7528         Add long comments describing looping macros and change interface
7529         so that lvalues are automatically declared.
7530         Add NO_DECLARE macro in case callers want to declare lvalues
7531         themselves.
7532
7533         * lread.c (read_syntax_error):
7534         * lread.c (continuable_read_syntax_error):
7535         * lread.c (read_structure):
7536         * lread.c (sequence_reader):
7537         * lread.c (read_list_conser):
7538         * lread.c (read_compiled_function):
7539         Rename syntax_error and continuable_syntax_error to avoid clash
7540         with same-named structured error functions.
7541
7542         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7543         * menubar-msw.c (populate_menu_add_item):
7544         * menubar-msw.c (populate_or_checksum_helper):
7545         [5].
7546         [9].
7547
7548         * menubar-x.c:
7549         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7550         Mule-ize whole file.
7551
7552         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7553
7554         * mule-charset.c (Fmake_charset):
7555         * mule-wnnfns.c (Fwnn_set_param):
7556         [1].
7557
7558         * ntproc.c (create_child):
7559         * ntproc.c (Fwin32_set_current_locale):
7560         Add comments portending doom.
7561
7562         * objects-msw.c:
7563         * objects-msw.c (old_font_enum_callback_2):
7564         * objects-msw.c (font_enum_callback_1):
7565         * objects-msw.c (mswindows_enumerate_fonts):
7566         [5].
7567
7568         * objects-x.c:
7569         * objects-x.c (allocate_nearest_color):
7570         * objects-x.c (x_parse_nearest_color):
7571         * objects-x.c (x_initialize_color_instance):
7572         * objects-x.c (x_print_color_instance):
7573         * objects-x.c (x_finalize_color_instance):
7574         * objects-x.c (x_valid_color_name_p):
7575         * objects-x.c (x_initialize_font_instance):
7576         * objects-x.c (x_print_font_instance):
7577         * objects-x.c (valid_x_font_name_p):
7578         * objects-x.c (truename_via_FONT_prop):
7579         * objects-x.c (truename_via_random_props):
7580         * objects-x.c (truename_via_XListFonts):
7581         * objects-x.c (x_font_truename):
7582         * objects-x.c (x_font_instance_truename):
7583         * objects-x.c (x_font_instance_properties):
7584         * objects-x.c (x_list_fonts):
7585         * objects-x.c (x_find_charset_font):
7586         Mule-ize entire file.
7587         [7].
7588
7589         * objects-x.h:
7590         Mule-verify.
7591
7592         * print.c:
7593         * print.c (std_handle_out_external):
7594         * print.c (debug_print_no_newline):
7595         * print.c (syms_of_print):
7596         Output to all debugger kinds in debug-print.
7597         Fix console-output code under MSWin to actually work.
7598
7599         * process-nt.c (send_signal):
7600         * process-nt.c (nt_create_process):
7601         Use newer Unicode macros.
7602
7603         * process-unix.c (unix_create_process):
7604         * process-unix.c (unix_canonicalize_host_name):
7605         * process-unix.c (unix_open_network_stream):
7606         [7].
7607
7608         * scrollbar-x.c:
7609         Mule-verify.
7610
7611         * search.c (syms_of_search):
7612         [2].
7613
7614         * select-msw.c (mswindows_destroy_selection):
7615         Use LIST_LOOP_2.
7616
7617         * select-x.c (symbol_to_x_atom):
7618         [7].
7619
7620         * select.c (syms_of_select):
7621         [2].
7622
7623         * sound.c (Fplay_sound_file):
7624         [7].
7625
7626         * specifier.c:
7627         * specifier.c (decode_specifier_type):
7628         * specifier.c (Fvalid_specifier_locale_type_p):
7629         * specifier.c (check_valid_locale_or_locale_type):
7630         * specifier.c (decode_locale):
7631         * specifier.c (decode_locale_type):
7632         * specifier.c (decode_locale_list):
7633         * specifier.c (check_valid_domain):
7634         * specifier.c (decode_specifier_tag_set):
7635         * specifier.c (Fcanonicalize_tag_set):
7636         * specifier.c (Fdefine_specifier_tag):
7637         * specifier.c (Fspecifier_tag_predicate):
7638         * specifier.c (check_valid_inst_list):
7639         * specifier.c (check_valid_spec_list):
7640         * specifier.c (decode_how_to_add_specification):
7641         * specifier.c (check_modifiable_specifier):
7642         * specifier.c (specifier_add_spec):
7643         * specifier.c (boolean_validate):
7644         * specifier.c (display_table_validate):
7645         [9].
7646
7647         * specifier.c (syms_of_specifier):
7648         Move some symbols to general-slots.h.
7649         [2].
7650
7651         * symbols.c:
7652         * symbols.c (Fmapatoms):
7653         * symbols.c (Fapropos_internal):
7654         Add GCPROs.
7655
7656         * symbols.c (set_default_buffer_slot_variable):
7657         * symbols.c (set_default_console_slot_variable):
7658         [1].
7659
7660         * symbols.c (defsymbol_massage_name_1):
7661         * symbols.c (defkeyword_massage_name):
7662         * symbols.c (deferror_1):
7663         * symbols.c (deferror):
7664         * symbols.c (deferror_massage_name_and_message):
7665         * symeval.h:
7666         * symeval.h (DEFSYMBOL):
7667         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7668
7669         * symbols.c (syms_of_symbols):
7670         [2].
7671
7672         * symsinit.h:
7673         * symsinit.h (init_win32): New.
7674         Also new is syms_of_dialog_mswindows.
7675
7676         * syswindows.h:
7677         Add new Unicode macros, missing Cygwin wide-char functions,
7678         convenience conversion macros for Qmswindows_tstr, macros for
7679         encapsulating required MSWin <-> Cygwin filename conversions,
7680         prototype for dynamically-extracted (not in NT 3.51) functions.
7681
7682         * toolbar-x.c:
7683         Mule-verify.
7684
7685         * tooltalk.c (Fadd_tooltalk_message_arg):
7686         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7687         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7688         [7].
7689
7690         * tooltalk.c (syms_of_tooltalk):
7691         [2].
7692
7693         * unexnt.c:
7694         * unexnt.c (unexec):
7695         Fix up headers, declaration of unexec() to be more standard.
7696
7697 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7698
7699         * offix.h: Revert change to guard macros - they're used in offix.c!
7700
7701 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7702
7703         * lisp.h: Defsubred Fdelete.
7704
7705         * console-msw.h:  (msprinter_default_printer): Added.
7706
7707         * console-msw.c (msprinter_canonicalize_console_connection):
7708         (msprinter_canonicalize_device_connection): Added.
7709
7710         * device-msw.c (msprinter_default_printer):
7711         (Fmswingows_get_default_printer):
7712         (signal_enum_priner_error):
7713         (Fmswingows_printer_list): Added.
7714
7715 2000-07-19  Martin Buchholz <martin@xemacs.org>
7716
7717         * XEmacs 21.2.35 is released.
7718
7719 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7720
7721         * select-x.c (x_handle_selection_request):
7722         Text selected in xemacs and pasted into xterm failed to appear.
7723         Spelling fixes and cosmetic changes.
7724
7725 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7726
7727         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7728         XEmacs frame (fix for doubling chars in dialog boxes).
7729
7730 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7731
7732         * select.c (select_convert_in, select_convert_out):
7733         Don't call intern() every time.
7734
7735         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7736         * select.c (vars_of_select): Initialise them.
7737
7738 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7739
7740         * select.c (selection-coercible-types): New.
7741
7742         * select.c (own-selection-internal):
7743         * select.c (get-selection-internal):
7744         MULE bug fix - these should default to COMPOUND_TEXT and not
7745         STRING for MULE. I think.
7746
7747         * select.c (select_convert_out): Use selection-coercible-types
7748         to find types that we can attempt to perform coercions on.
7749
7750 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7751
7752         * mule-wnnfns.c:
7753         * mule-canna.c:
7754         Add coding: cookie to identify encoding.
7755
7756         * mule-canna.c (CANNA_mode_keys): make static.
7757         Use proper prototypes, even for functions of no arguments.
7758         Remove external prototype for Fding().
7759
7760         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7761
7762         * select.c (syms_of_select): Add missing DEFSUBR.
7763
7764 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7765
7766         * select.c (get_selection_internal, own_selection_internal):
7767         Make the type default to STRING, rather than placing a nil type
7768         into Vselection_alist.
7769
7770 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7771
7772         * gpmevent.c (tty_selection_exists_p):
7773         * gpmevent.c (tty_own_selection):
7774         Updated parameter lists.
7775
7776 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7777
7778         * select.h (selection-alist): Removed declaration.
7779
7780         * select.h (get_local_selection):
7781         * select.c (get_local_selection):
7782         Made static.
7783
7784         * select.h (convert_selection): Removed declaration.
7785         * select.c (convert_selection): Removed.
7786         This function belongs in Lisp.
7787
7788         * select.h (select_convert_in): Declare.
7789         * select.h (select_convert_out): Declare.
7790         * select.c (select_convert_in): New.
7791         * select.c (select_convert_out): New.
7792         New conversion functions for other files to call.
7793
7794         * select.h (select_notify_buffer_kill): Declare.
7795         * select.c (select_notify_buffer_kill): New.
7796         New functions that get called from kill-buffer.
7797
7798         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7799         X-specific lisp code.
7800
7801         * select.h: Declare some of the lisp-visible functions for
7802         external use.
7803
7804         * select.c (clean_local_selection_data): Removed. This was
7805         a disgusting function, and previously should have been in
7806         select-x.c in any case. The functionality is now provided
7807         in select-convert-from-integer (select.el).
7808
7809         * select.c (available-selection-types): Fixed stupidity where
7810         INTEGER and ATOM got added twice. Also add STRING when we see an
7811         extent.
7812
7813         * select.c (get-selection-internal): Removed symbol stripping. No
7814         longer causes conversion when data comes from the internal cache.
7815
7816         * select.c (syms_of_select): Added new functions.
7817
7818         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7819         error checking - previously this called abort!
7820
7821         * select-x.c (x_own_selection): Changed comment.
7822
7823         * select-x.c (x_handle_selection_request): Use select_convert_out.
7824         Don't mess with selection-alist; it's an internal variable of select.c.
7825
7826         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7827
7828         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7829         rather than messing with selection-alist.
7830
7831         * select-msw.c (mswindows_get_foreign_selection):
7832         Use TO_INTERNAL_FORMAT rather than hacking.
7833
7834 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7835
7836         * process-unix.c (unix_open_multicast_group):
7837         (unix_open_multicast_group): Remove useless casts.
7838
7839 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7840
7841         * sound.c (Fplay_sound): Fix `unused variable' warning.
7842
7843         * emacs.c (main): Use correct type for _environ on SCO5.
7844
7845 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7846
7847         * console.h (own_selection_method):
7848         * console.h (selection_exists_p_method):
7849         * console.h (available_selection_types_method): New.
7850         * console.h (register_selection_data_type_method): New.
7851         * console.h (selection_data_type_name): New.
7852
7853         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7854         function & alist to track GlobalAlloc()'d handles that need
7855         releasing when the clipboard data gets replaced or emptied.
7856
7857         * event-msw.c (mswindows_wnd_proc): Call it.
7858
7859         * lisp.h, general.c (Qappend): New symbol representing a
7860         `how-to-add' mode.
7861
7862         * select.c (own-selection-internal):
7863         * select.c (selection-exists-p):
7864         * select.c (available-selection-types): New.
7865         * select.c (register-selection-data-type): New.
7866         * select.c (selection-data-type-name): New.  New functions to deal
7867         with device-specific selection data formats.
7868         * select.c (selection-converter-out-alist): Renamed.
7869         * select.c (selection-converter-in-alist): New.
7870         * select.c (selection-appender-alist): New.  Added new alists.
7871         * select.c (syms_of_select, vars_of_select): Added new symbols &
7872         variables.
7873         * select.c (get_local_selection): Split.
7874         * select.c: Removed spurious type checking - selections may now be
7875         of any type, not just strings.
7876         * select.c (own-selection-internal):
7877
7878         * select.h, select.c (convert_selection): New. Created
7879         convert_selection() function based on get_local_selection().
7880         * select.h, select.c (QCF_*): New symbols representing mswindows
7881         clipboard formats.
7882         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7883         symbols representing `how-to-add' modes.
7884
7885         * select-msw.c (x_sym_p): New.
7886         * select-msw.c (symbol_to_ms_cf): New.
7887         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7888         symbols & clipboard formats. Can also handle string names.
7889         * select-msw.c (mswindows_own_selection):
7890         * select-msw.c (mswindows_selection_exists_p):
7891         Added `data-type' parameter. Use it.
7892         * select-msw.c (mswindows_available_selection_types): New.
7893         * select-msw.c (mswindows_register_selection_data_type): New.
7894         * select-msw.c (mswindows_selection_data_type_name): New.
7895         * select-msw.c (mswindows_own_selection):
7896         * select-msw.c (mswindows_get_foreign_selection):
7897         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7898         * select-msw.c (console_create_select_mswindows): Added new methods.
7899         * select-msw.c (mswindows_destroy_selection): New.
7900         * select-msw.c (Vhandle_alist): New list.
7901         * select-msw.c (mswindows_own_selection):
7902
7903         * select-x.c (x_own_selection):
7904         * select-x.c (x_selection_exists_p):
7905         * select-x.c: Added some comments about maybe using new
7906         functionality.
7907         * select-x.c (x_own_selection):
7908
7909         * specifier.c: Remove definition of Qappend (now in general.c)
7910         * specifier.c (syms_of_specifier): Remove Qappend.
7911
7912 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7913
7914         * config.h.in: Add socklen_t.
7915
7916         * s/decosf4-0.h: No special compiler flags needed or desired.
7917         In particular, undefine _BSD for DEC OSF 4.0.
7918
7919 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7920
7921         * redisplay-msw.c (msprinter_frame_output_end): Added.
7922         (console_type_create_redisplay_mswindows): Referred the above.
7923
7924         * frame.c (setup_frame_without_minibuffer): Do not create a
7925         default minibuffer frame on a printer device.
7926
7927         * frame-msw.c (apply_dc_geometry): Added.
7928         (msprinter_start_page):
7929         (msprinter_init_frame_3):
7930         (msprinter_eject_page): Use it.
7931
7932         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7933         and removed residual duplex and orientation properties.
7934
7935 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7936
7937         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7938
7939         * unexalpha.c: Remove system prototypes from C sources!
7940
7941 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7942
7943         * eval.c: Remove references to M-x edit-options in DEFUNs for
7944         `defvar' and `defconst'.
7945
7946 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7947
7948         * config.h.in: Remove SMART_INCLUDE hackery.
7949
7950         PostgreSQL hacking:
7951         * config.h.in: Don't use SMART_INCLUDE.
7952
7953         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7954         * inline.c: Simply #include "postgresql.h"
7955         * postgresql.c:
7956         - Don't use SMART_INCLUDE
7957         - Use simply "const".
7958         - Use standard doc string conventions.
7959         - Use correct type for result of PQstatus.
7960
7961 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7962
7963         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7964
7965         C++ compilation changes.
7966         * config.h.in (EXTERN_C): Define.
7967         * config.h.in (not): This is also a C++ keyword.
7968         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7969         * cm.c: Use EXTERN_C.
7970         * redisplay-tty.c: Use EXTERN_C.
7971         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7972
7973 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7974
7975         * general.c: Remove duplicate definition for Qfunction.
7976
7977 2000-07-08  Ben Wing  <ben@xemacs.org>
7978
7979         * device-msw.c (msprinter_init_device):
7980         * device-msw.c (sync_printer_with_devmode):
7981         * device-msw.c (handle_devmode_changes):
7982         * device-msw.c (print_dialog_worker):
7983         * device-msw.c (Fmsprinter_apply_settings):
7984         * device-msw.c (hash_devmode):
7985         * device-msw.c (Fmsprinter_settings_despecialize):
7986         use Qmswindows_tstr, not Qctext.
7987
7988         * vm-limit.c (check_memory_limits):
7989         avoid infinite loop printing warning messages.
7990
7991 2000-07-05  Craig Lanning  <lanning@scra.org>
7992
7993         * Makefile.in.in: Add support for including the Windows resources
7994         when building with the cygwin and mingw targets.
7995
7996         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7997         not set or not correct.
7998         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7999         (init_initial_directory): Don't try to use $PWD on the
8000         WIN32_NATIVE target.
8001
8002         * s\cygwin32.h:
8003         [[Add -mwindows to eliminate console window.]] not required --ben
8004         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8005         (MAIL_USE_POP): removed; now handled by configure.
8006
8007         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
8008         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
8009         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8010         (MAIL_USE_POP): removed; now handled by configure.
8011         (ENCAPSULATE_STAT): from Dan Holmsand, added.
8012         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
8013         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
8014         constant string.
8015         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
8016         up from <winsock.h> via systime.h.
8017         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
8018         (getpagesize): from Dan Holmsand, added.
8019         Added #endif which was left dangling by Ben's mega patch; added
8020         comment to help prevent this in the future.
8021
8022         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
8023
8024 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8025
8026         * console-msw.h (struct mswindows_device): Removed unnecessary
8027         cached device geometry values.
8028         Added update_tick and an accessor macro.
8029         (Lisp_Devmode): Added lrecord declaration.
8030         (struct msprinter_device): Contain devmode as a Lisp object.
8031         Added mswindows_get_selected_frame_hwnd();
8032
8033         * console.h (struct console_methods): Indentation nitpicking.
8034
8035         * device-msw.c (mswindows_init_device): Do not initialize geometry
8036         cache. Initialize update tick.
8037         (mswindows_device_system_metrics): Ask the device for its geometry.
8038         (global_free_2_maybe):
8039         (devmode_to_hglobal):
8040         (handle_printer_changes):
8041         (ensure_not_printing):
8042         (print_dialog_worker):
8043         (Fmsprinter_print_setup_dialog):
8044         (Fmsprinter_print_dialog):
8045         (plist_get_margin):
8046         (plist_set_margin):
8047         (Fmsprinter_page_setup_dialog): Added functions.
8048         (sync_printer_with_devmode):
8049         (handle_devmode_changes):
8050         (Fmsprinter_get_settings):
8051         (Fmsprinter_select_settings):
8052         (Fmsprinter_apply_settings):
8053         (allocate_devmode):
8054         (Fmsprinter_settings_copy):
8055         (Fmsprinter_settings_despecialize):
8056         (print_devmode):
8057         (finalize_devmode):
8058         (equal_devmode):
8059         (hash_devmode): Added functions
8060         (syms_of_device_mswindows): Init devmode lrecord class.
8061
8062         * device.h: Added an exfun for find-device.
8063
8064         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8065         geometry; although, recreate the device compatible DC.
8066
8067         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8068         (msprinter_init_frame_3):
8069         (msprinter_frame_property):
8070         (msprinter_internal_frame_property_p):
8071         (msprinter_frame_properties):
8072         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8073         print job properties (will move to device settings).
8074
8075         * lisp.h: Added symbols.
8076
8077         * general.c (syms_of_general): Declared them.
8078
8079         * hash.c (string_hash): Added.
8080
8081         * lrecord.h (lrecord_type): Added devmode lrecord type.
8082
8083 2000-07-02  Mike Sperber <mike@xemacs.org>
8084
8085         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8086         FreeBSD 4.0.
8087
8088 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8089
8090         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8091         integer.
8092
8093 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8094
8095         * data.c (Fstring_to_number): Don't recognize floating point if
8096         base is not 10.
8097
8098 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8099
8100         * glyphs-widget.c (tab_control_query_geometry):
8101         (widget_query_geometry):
8102         (button_query_geometry):
8103         * glyphs.c (text_query_geometry):
8104         Enforce type correctness.
8105
8106 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8107
8108         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8109         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8110
8111 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8112
8113         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8114         conflicts with gcc's fixincluded version of FOO.h.
8115
8116         * glyphs.h (image_instance_geometry): Remove trailing `,'
8117
8118 2000-06-08  Mike Alexander  <mta@arbortext.com>
8119
8120         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8121         (shove_thread): Don't write the same output twice
8122         (make_ntpipe_output_stream): Increase priority of shove thread
8123         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8124         chance to run
8125         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8126         it.
8127
8128 2000-06-12  Ben Wing  <ben@xemacs.org>
8129
8130         * s\mingw32.h (sigset):
8131         * s\windowsnt.h (sigset):
8132         rename msw_ to mswindows_ for consistency with general convention.
8133
8134 2000-06-12  Ben Wing  <ben@xemacs.org>
8135
8136         * console-msw.c:
8137         * console-msw.c (mswindows_get_console_hwnd):
8138         * console-msw.c (mswindows_ensure_console_allocated):
8139         * console-msw.c (mswindows_hide_console):
8140         * console-msw.c (mswindows_show_console):
8141         * console-msw.c (mswindows_ensure_console_buffered):
8142         * console-msw.c (mswindows_output_console_string):
8143         * console-msw.c (mswindows_windows9x_p):
8144         * console-msw.h:
8145         * device-msw.c (mswindows_get_workspace_coords):
8146         * device-msw.c (mswindows_device_system_metrics):
8147         * dialog-msw.c (mswindows_popup_dialog_box):
8148         * event-msw.c (mswindows_wnd_proc):
8149         * frame-msw.c (mswindows_size_frame_internal):
8150         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8151         * menubar-msw.c (displayable_menu_item):
8152         * menubar-msw.c (mswindows_char_is_accelerator):
8153         * nt.c:
8154         * nt.c (mswindows_sigset):
8155         * nt.c (mswindows_sigrelse):
8156         * nt.c (mswindows_sigpause):
8157         * nt.c (mswindows_raise):
8158         * nt.c (timer_proc):
8159         * ntproc.c:
8160         * ntproc.c (find_child_console):
8161         * ntproc.c (sys_kill):
8162         * print.c:
8163         * print.c (std_handle_out_external):
8164         * process-nt.c (find_child_console):
8165         * process-nt.c (send_signal_the_95_way):
8166         * process-nt.c (ensure_console_window_exists):
8167         * process-nt.c (nt_create_process):
8168         * syssignal.h:
8169         rename msw_ to mswindows_ for consistency with general convention.
8170
8171         * emacs.c:
8172         * dumper.c:
8173         include nt.h, not syswindows.h.
8174
8175         * nt.c (mswindows_fstat):
8176         * nt.c (mswindows_stat):
8177         prefix mswindows_ instead of attempting to directly override the
8178         library functions.  fix declarations.
8179
8180         * nt.h:
8181         include syswindows.h.  move some sysdep.h stuff here.
8182
8183         * ntheap.h:
8184         include syswindows.h, not <windows.h>.
8185
8186         * ntplay.c:
8187         clean up headers.
8188
8189         * sysdep.c:
8190         clean up headers.
8191
8192         * sysdep.c (sys_fstat):
8193         * sysdep.c (sys_stat):
8194         call mswindows versions when appropriate.
8195
8196         * sysdep.h:
8197         move mswin decls to nt.h.
8198
8199         * syswindows.h:
8200         add long comment describing appropriate use of the various windows
8201         headers.
8202
8203 2000-06-11  Ben Wing  <ben@xemacs.org>
8204
8205         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8206
8207 2000-06-10  Ben Wing  <ben@xemacs.org>
8208
8209         * Makefile.in.in (release):
8210         Correction to make sure xemacs.exe always dumped when correct.
8211
8212         * alloca.c:
8213         * balloon_help.c:
8214         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8215
8216         * buffer.c (set_buffer_internal):
8217         [[[[2]]]]: Remove HAVE_FEP code.
8218
8219         * buffer.c (init_initial_directory):
8220         [3].
8221
8222         * bytecode.c:
8223         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8224         individual files.
8225
8226         * callproc.c:
8227         * callproc.c (call_process_cleanup):
8228         * callproc.c (Fold_call_process_internal):
8229         * callproc.c (child_setup):
8230         * callproc.c (getenv_internal):
8231         * callproc.c (init_callproc):
8232         * callproc.c (vars_of_callproc):
8233         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8234         __CYGWIN32__ -> CYGWIN.
8235         DOS_NT -> WIN32_NATIVE.
8236         Remove MSDOS support/references, converting to WIN32_NATIVE
8237           where correct.
8238         __MINGW32__ -> MINGW.
8239         Fix windows.h includes.
8240         Remove bogus HAVE_NTGUI.
8241
8242         * config.h.in:
8243         [2].
8244
8245         * console-msw.c:
8246         mswindows_message_outputted added for use in allowing startup
8247         errors on the console to be seen.
8248
8249         * console-msw.c (msw_ensure_console_allocated):
8250         * console-msw.c (msw_output_console_string):
8251         * console-msw.c (DHEADER):
8252         * console-msw.c (DOPAQUE_DATA):
8253         * console-msw.c (DEVENT):
8254         * console-msw.c (DCONS):
8255         * console-msw.c (DCONSCDR):
8256         * console-msw.c (DSTRING):
8257         * console-msw.c (DVECTOR):
8258         * console-msw.c (DSYMBOL):
8259         * console-msw.c (DSYMNAME):
8260         Fix warnings.
8261
8262         * console-stream.c (stream_init_console):
8263         Fix text/binary problems.
8264
8265         * device-msw.c:
8266         * device-msw.c (mswindows_finish_init_device):
8267         * device-msw.c (mswindows_delete_device):
8268         [1].
8269
8270         * device.c (handle_asynch_device_change):
8271         [3].
8272
8273         * dgif_lib.c:
8274         * dgif_lib.c (DGifOpenFileName):
8275         * dgif_lib.c (DGifOpenFileHandle):
8276         * dgif_lib.c (DGifGetLine):
8277         * dgif_lib.c (DGifGetPixel):
8278         Added config.h/lisp.h, fix up includes.
8279         [1].
8280
8281         * dired-msw.c:
8282         [4].
8283
8284         * dired.c:
8285         * dired.c (file_name_completion):
8286         * dired.c (Ffile_attributes):
8287         * dired.c (syms_of_dired):
8288         [1].
8289
8290         * dumper.c:
8291         * dumper.c (pdump_file_unmap):
8292         * dumper.c (pdump_load):
8293         [1].
8294
8295         * editfns.c:
8296         * editfns.c (Ftemp_directory):
8297         * editfns.c (user_login_name):
8298         * editfns.c (Fuser_real_login_name):
8299         * editfns.c (get_home_directory):
8300         [1].
8301
8302         * elhash.c (finish_marking_weak_hash_tables):
8303         [[[[5]]]]: Fix GCC warnings.
8304
8305         * emacs.c:
8306         * emacs.c (mswindows_handle_hardware_exceptions):
8307         * emacs.c (make_arg_list_1):
8308         * emacs.c (main_1):
8309         * emacs.c (Fkill_emacs):
8310         * emacs.c (Fdump_emacs):
8311         [1].
8312         Fix problems with nested crashes, add long comment.
8313
8314         * event-Xt.c (init_event_Xt_late):
8315         [1].
8316
8317         * event-msw.c:
8318         * event-msw.c (mswindows_dde_callback):
8319         * event-msw.c (mswindows_handle_sticky_modifiers):
8320         * event-msw.c (mswindows_wnd_proc):
8321         [1].
8322         [5].
8323
8324         * events.c (character_to_event):
8325         [1].
8326
8327         * fileio.c:
8328         * fileio.c (Ffile_name_directory):
8329         * fileio.c (Ffile_name_nondirectory):
8330         * fileio.c (directory_file_name):
8331         * fileio.c (Fexpand_file_name):
8332         * fileio.c (Fsubstitute_in_file_name):
8333         * fileio.c (Ffile_name_absolute_p):
8334         * fileio.c (check_executable):
8335         * fileio.c (Ffile_readable_p):
8336         * fileio.c (Ffile_accessible_directory_p):
8337         * fileio.c (Ffile_modes):
8338         * fileio.c (Funix_sync):
8339         * fileio.c (vars_of_fileio):
8340         [1]. [4].
8341
8342         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8343
8344         Expand getdefdir defn.
8345         Fix bogus rename() comment.
8346
8347         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8348         to use standard XEmacs include files, e.g. sysfile.h, rather
8349         than system-specific includes.
8350
8351         * fns.c:
8352         * fns.c (Fsubseq):
8353         [5]. [6].
8354
8355         * frame.c (vars_of_frame):
8356         [1].
8357
8358         * getloadavg.c:
8359         * getloadavg.c (getloadavg):
8360         [1]. [6].
8361         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8362         (We don't use it elsewhere in the code; just add a comment.)
8363
8364         * gif_io.c:
8365         [6].
8366         Add config.h.
8367
8368         * glyphs-msw.c:
8369         * glyphs-msw.c (mswindows_resource_instantiate):
8370         [1].
8371
8372         * glyphs-x.c (x_native_layout_instantiate):
8373         [5].
8374
8375         * gui-msw.c (Fmswindows_shell_execute):
8376         [1].
8377
8378         * insdel.c:
8379         [4].
8380
8381         * lisp.h:
8382         [4]. [5].
8383
8384         * lread.c (locate_file_in_directory_mapper):
8385         [1].
8386
8387         * lstream.c:
8388         [4].
8389
8390         * mem-limits.h:
8391         * mem-limits.h (get_lim_data):
8392         [1].
8393
8394         * menubar-msw.c:
8395         [4].
8396
8397         * ndir.h:
8398         [1].
8399
8400         * nt.c:
8401         * nt.c (getwd):
8402         * nt.c (closedir):
8403         * nt.c (rva_to_section):
8404         * nt.c (mswindows_executable_type):
8405         [1]. [6].
8406         Fix closedir() defn.
8407
8408         * nt.h:
8409         [[[[8]]]]: *_OK defs moved to sysfile.h.
8410
8411         * ntproc.c:
8412         [6]. [7].
8413
8414         * objects-x.c:
8415         [4].
8416
8417         * print.c:
8418         * print.c (std_handle_out_external):
8419         [1]. [4].
8420
8421         * process-nt.c:
8422         * process-nt.c (nt_create_process):
8423         [6].
8424         try to fix process quoting somewhat.
8425
8426         * process-unix.c (unix_create_process):
8427         [1].
8428
8429         * process.c:
8430         * process.c (vars_of_process):
8431         Add Vnull_device.
8432
8433         * process.h:
8434         [1].
8435
8436         * realpath.c:
8437         * realpath.c (xrealpath):
8438         [1].
8439
8440         * redisplay-tty.c (init_tty_for_redisplay):
8441         [3].
8442
8443         * redisplay.c:
8444         [4]. [6].
8445
8446         * scrollbar-msw.c:
8447         [4].
8448
8449         * sheap.c:
8450         * sheap.c (more_static_core):
8451         * sheap.c (report_sheap_usage):
8452         [5]. [6].
8453
8454         * signal.c:
8455         * signal.c (alarm_signal):
8456         [1]. [6].
8457
8458         * sound.c:
8459         [6].
8460
8461         * strftime.c:
8462         * strftime.c (zone_name):
8463         [1]. [5].
8464
8465         * symsinit.h (init_sunpro):
8466         [1].
8467
8468         * syscommctrl.h:
8469         commctrl.h not in Cygwin b20.1.
8470
8471         * sysdep.c:
8472         * sysdep.c (endif):
8473         * sysdep.c (sys_subshell):
8474         * sysdep.c (init_baud_rate):
8475         * sysdep.c (emacs_get_tty):
8476         * sysdep.c (emacs_set_tty):
8477         * sysdep.c (tty_init_sys_modes_on_device):
8478         * sysdep.c (init_system_name):
8479         * sysdep.c (sys_open):
8480         * sysdep.c (interruptible_open):
8481         * sysdep.c (sys_fopen):
8482         * sysdep.c (sys_mkdir):
8483         * sysdep.c (sys_rename):
8484         * sysdep.c (get_process_times_1):
8485         [1]. [6].
8486
8487         * sysdep.h:
8488         [1].
8489
8490         * sysdir.h:
8491         * sysdir.h (DIRENTRY_NONEMPTY):
8492         [1]. [6].
8493
8494         * sysdll.c (dll_init):
8495         * sysdll.h:
8496         [1].
8497
8498         * sysfile.h:
8499         [1]. [6]. [8].
8500         added text/binary defs.
8501
8502         * sysfloat.h:
8503         [1].
8504
8505         * sysproc.h:
8506         * sysproc.h (EDESTADDRREQ):
8507         * sysproc.h (poll_fds_for_input):
8508         [1]. [6].
8509
8510         * syspwd.h:
8511         [6].
8512
8513         * syssignal.h:
8514         [1].
8515
8516         * systime.h:
8517         [1]. [6].
8518
8519         * systty.h:
8520         [1].
8521
8522         * syswindows.h:
8523         [1].
8524         Always define WIN32_LEAN_AND_MEAN.
8525
8526         * unexcw.c (unexec):
8527         [5].
8528
8529         * unexec.c:
8530         * unexec.c (copy_text_and_data):
8531         * unexec.c (adjust_lnnoptrs):
8532         [1].
8533
8534         * unexnt.c:
8535         * unexnt.c (_start):
8536         [1].
8537
8538 2000-06-07  Ben Wing  <ben@xemacs.org>
8539
8540         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8541         was used only as a model.  We've long since extracted any useful
8542         logic or code out of this. (I just did an exhaustive search.)
8543
8544         * s\msdos.h: Removed.
8545
8546         * s\windows95.h: Removed.
8547
8548 2000-06-10  Ben Wing  <ben@xemacs.org>
8549
8550         * s\cygwin32.h:
8551         [1]. [5].
8552         Don't use extern with fun defs.
8553
8554         * s\mingw32.h:
8555         [1]. [7].
8556         Remove nt\inc include.
8557         Remove getdisk, getdefdir. (The former is unused, the latter
8558         expanded in fileio.h.)
8559
8560         * s\windowsnt.h:
8561         * s\windowsnt.h (WIN32_NATIVE):
8562         * s\windowsnt.h (HAVE_STRCASECMP):
8563         [1]. [7].
8564         Add long comment about preprocessor changes.
8565         Remove getdisk, getdefdir. (The former is unused, the latter
8566         expanded in fileio.h.)
8567
8568 2000-06-10  Ben Wing  <ben@xemacs.org>
8569
8570         * m\arm.h:
8571         * m\delta.h:
8572         * m\intel386.h:
8573         * m\sequent.h:
8574         * m\template.h:
8575         * m\windowsnt.h:
8576         [1].
8577         Remove bogus/unused NO_SOCK_SIGIO.
8578
8579 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8580
8581         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8582         not an Emchar.
8583
8584 2000-06-04  Mike Sperber <mike@xemacs.org>
8585
8586         * casetab.c (set_case_table): For `set-standard-case-table',
8587         actually deposit the new case tables where the rest of XEmacs can
8588         see them.
8589
8590 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8591
8592         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8593
8594 2000-06-05  Ben Wing  <ben@xemacs.org>
8595
8596         * callproc.c (child_setup): Don't do close_load_descs() under
8597         MS Windows.  Put in a comment explaining why.
8598
8599 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8600
8601         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8602         Toolkit shell" which breaks `kill-compilation' on Windows NT
8603         native, retaining STDERR handling improvements.
8604
8605 2000-06-01  Andreas Jaeger  <aj@suse.de>
8606
8607         * s/s390.h: Support for S390, based on a patch by Martin
8608         Schwidefsky <schwidefsky@de.ibm.com>.
8609
8610 2000-05-30  Andy Piper  <andy@xemacs.org>
8611
8612         * window.c (allocate_window):
8613         (make_dummy_parent):
8614         (Fset_window_configuration): use new hashtable type.
8615
8616         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8617         (struct image_instantiator_methods):
8618         (struct Lisp_Image_Instance): make instance geometry signed.
8619
8620         * glyphs.c (instantiate_image_instantiator):
8621         (image_instance_query_geometry):
8622         (image_instance_layout):
8623         (image_instance_layout):
8624         (query_string_geometry):
8625         (text_query_geometry):
8626         (image_instantiate):
8627         (image_instantiate):
8628         (cache_subwindow_instance_in_frame_maybe):
8629         (subwindow_query_geometry): make instance geometry signed.
8630
8631         * glyphs-widget.c (widget_query_geometry):
8632         (widget_layout):
8633         (button_query_geometry):
8634         (tree_view_query_geometry):
8635         (tab_control_query_geometry):
8636         (layout_query_geometry):
8637         (layout_layout):
8638         (native_layout_layout): make instance geometry signed.
8639
8640 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8641
8642         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8643         constant.
8644
8645         * general.c (syms_of_general): Add Qfull_assoc symbol.
8646
8647         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8648         correctly.
8649         (decode_weak_list_type): Decode full-assoc type.
8650         (encode_weak_list_type): Encode full-assoc type.
8651         (Fmake_weak_list): Update doc string.
8652
8653 2000-05-30  Andy Piper  <andy@xemacs.org>
8654
8655         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8656
8657         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8658         (decode_hash_table_weakness): ditto.
8659         (Fhash_table_weakness): ditto.
8660         (Fhash_table_type): ditto.
8661         (finish_marking_weak_hash_tables): ditto.
8662         (hash_table_weakness_validate): ditto.
8663         (syms_of_elhash): ditto.
8664
8665 2000-05-28  Martin Buchholz <martin@xemacs.org>
8666
8667         * XEmacs 21.2.34 is released.
8668
8669 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8670
8671         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8672         start cache.
8673         (updating_line_start_cache): Gone.
8674         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8675         generic code to force a minimum of 1 line laid out in the
8676         CMOTION_DISP case.
8677
8678 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8679
8680         * glyphs.c (instantiate_image_instantiator): Check for initialized
8681         height & width no longer special cases IMAGE_NOTHING.
8682         (nothing_instantiate): Set height and width of instance.
8683
8684 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8685
8686         * unexelf.c (unexec): Search for ".data" section.
8687         Initialize new_data2_offset from old_data_index.
8688         Remove redundant check for ElfW.
8689
8690 2000-05-23  Andy Piper  <andy@xemacs.org>
8691
8692         * glyphs.c (get_image_instantiator_governing_domain): allow more
8693         specific domains as the governing domain rather than expecting an
8694         exact match. This fixes problems with layouts.
8695
8696 2000-05-22  Andy Piper  <andy@xemacs.org>
8697
8698         * redisplay-output.c (compare_runes): check for non-images
8699
8700         * glyphs.c (set_glyph_dirty_p): ditto.
8701         (update_glyph_cachel_data): ditto.
8702
8703         * glyphs-widget.c (layout_post_instantiate): ditto.
8704         (layout_post_instantiate): ditto.
8705
8706         * event-msw.c (mswindows_wnd_proc): warning removal.
8707
8708 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8709
8710         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8711
8712         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8713
8714         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8715
8716         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8717         (mswindows_executable_type): mingw32 now has enough headers for
8718         this to work.
8719
8720 2000-05-20  Andy Piper  <andy@xemacs.org>
8721
8722         * console-msw.c (mswindows_output_last_error): ; -> ,
8723
8724 2000-05-12  Andy Piper  <andy@xemacs.org>
8725
8726         * console-msw.c (FROB): compare ints with ints.
8727
8728 2000-05-11  Andy Piper  <andy@xemacs.org>
8729
8730         * glyphs-x.c (x_finalize_image_instance): make minimal build
8731         happy.
8732
8733 2000-05-20  Ben Wing  <ben@xemacs.org>
8734
8735         * event-Xt.c:
8736         * event-Xt.c (vars_of_event_Xt):
8737         move modifier-keys-are-sticky to event-stream.c.
8738
8739         * event-msw.c:
8740         * event-msw.c (mswindows_enqueue_mouse_button_event):
8741         * event-msw.c (key_needs_default_processing_p):
8742         * event-msw.c (XEMSW_LCONTROL):
8743         * event-msw.c (mswindows_handle_sticky_modifiers):
8744         * event-msw.c (FROB):
8745         * event-msw.c (clear_sticky_modifiers):
8746         * event-msw.c (output_modifier_keyboard_state):
8747         * event-msw.c (output_alt_keyboard_state):
8748         * event-msw.c (mswindows_wnd_proc):
8749         * event-msw.c (mswindows_modifier_state):
8750         * event-msw.c (emacs_mswindows_handle_magic_event):
8751         implement sticky modifiers.
8752
8753         * event-stream.c:
8754         * event-stream.c (vars_of_event_stream):
8755         move modifier-keys-are-sticky here.
8756
8757         * lisp.h:
8758         add CHECK_FUNCTION.
8759
8760         * rangetab.c:
8761         implement map-range-table.
8762
8763
8764 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8765
8766         * redisplay-tty.c (reset_tty_modes):
8767         (tty_redisplay_shutdown): Adjust argument type to
8768         tty_frame_output_end.
8769
8770 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8771
8772         * eval.c (Fbacktrace): Don't output a line with only right
8773         parenthesis.
8774
8775 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8776
8777         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8778         (Fpq_reset_poll): Ditto.
8779
8780 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8781
8782         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8783
8784 2000-05-16  Ben Wing  <ben@xemacs.org>
8785
8786         * buffer.c:
8787         * buffer.c (dfc_convert_to/from_internal_format):
8788         * buffer.c (reinit_vars_of_buffer):
8789         Fix conversion functions to allow reentrancy.
8790
8791         * console-msw.c:
8792         * console-msw.c (mswindows_output_last_error):
8793         New fun, generally useful -- output a human-readable
8794         version of GetLastError() on the console.
8795
8796         * console-msw.h:
8797         * console-msw.h (struct mswindows_frame):
8798         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8799
8800         * console-stream.c (stream_output_begin):
8801         * console-stream.c (stream_output_end):
8802         * console-stream.c (stream_output_vertical_divider):
8803         * console-stream.c (stream_clear_region):
8804         * console-stream.c (stream_flash):
8805         * console-stream.c (console_type_create_stream):
8806         Delete blank stream methods, not needed.
8807
8808         * console.h (struct console_methods):
8809         Split begin/end methods into window and frame.
8810
8811         * event-msw.c:
8812         * event-msw.c (mswindows_handle_paint):
8813         * event-msw.c (output_alt_keyboard_state):
8814         * event-msw.c (mswindows_wnd_proc):
8815         * event-msw.c (vars_of_event_mswindows):
8816         Comment about problems with ignored-expose.
8817         Define mswindows-debug-events; not really implemented.
8818
8819         * frame-msw.c (mswindows_init_frame_1):
8820         random cleanups.
8821
8822         * glyphs-msw.c:
8823         * glyphs-msw.c (begin_defer_window_pos):
8824         * glyphs-msw.c (mswindows_unmap_subwindow):
8825         * glyphs-msw.c (mswindows_map_subwindow):
8826         * glyphs-msw.c (mswindows_resize_subwindow):
8827         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8828
8829         * glyphs.c (make_image_instance_1):
8830         Fix crash.
8831
8832         * gutter.c (Fredisplay_gutter_area):
8833         Use new begin/end methods.
8834
8835         * lisp.h (Dynarr_new2):
8836         New creation fun.
8837
8838         * redisplay-msw.c:
8839         * redisplay-msw.c (mswindows_frame_output_begin):
8840         * redisplay-msw.c (mswindows_frame_output_end):
8841         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8842         New begin/end methods -- handle DeferWindowPos.
8843
8844         * redisplay-output.c (redisplay_move_cursor):
8845         * redisplay-output.c (redraw_cursor_in_window):
8846         * redisplay-output.c (redisplay_update_line):
8847         * redisplay-output.c (redisplay_output_window):
8848         New begin/end methods.
8849
8850         * redisplay-tty.c:
8851         * redisplay-tty.c (tty_frame_output_begin):
8852         * redisplay-tty.c (tty_frame_output_end):
8853         * redisplay-tty.c (console_type_create_redisplay_tty):
8854         New begin/end methods.
8855
8856         * redisplay-x.c:
8857         * redisplay-x.c (x_window_output_begin):
8858         * redisplay-x.c (x_window_output_end):
8859         * redisplay-x.c (console_type_create_redisplay_x):
8860         New begin/end methods.
8861
8862         * redisplay.c (redisplay_frame):
8863         * redisplay.c (Fredisplay_echo_area):
8864         New begin/end methods.
8865         use MAYBE_DEVMETH for clear_frame; it may not exist.
8866
8867         * window.h (WINDOW_XFRAME):
8868         WINDOW_XFOO macros -- get locale and decode struct pointer.
8869
8870
8871 2000-05-12  Ben Wing  <ben@xemacs.org>
8872
8873         * emacs.c:
8874         * emacs.c (ensure_no_quitting_from_now_on):
8875         * emacs.c (fatal_error_signal):
8876         * emacs.c (mswindows_handle_hardware_exceptions):
8877         * emacs.c (main):
8878         * emacs.c (Fkill_emacs):
8879         * emacs.c (shut_down_emacs):
8880         * emacs.c (assert_failed):
8881         various improvements in fatal error handling.
8882
8883         * eval.c:
8884         move preparing_for_armageddon to emacs.c.
8885
8886         * lisp.h:
8887         declare fatal_error_in_progress.
8888
8889         * print.c:
8890         * print.c (std_handle_out_external):
8891         * print.c (std_handle_out_va):
8892         * print.c (stderr_out):
8893         * print.c (stdout_out):
8894         use console under mswin when no standard output.
8895         don't do code conversion during fatal error.
8896
8897         * scrollbar.c (Fscrollbar_page_up):
8898         * scrollbar.c (Fscrollbar_page_down):
8899         fix missing else.  reindent.
8900
8901 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8902
8903         Emergency fix.
8904
8905         * glyphs.h (GLYPH_CACHEL_DESCENT):
8906         (GLYPH_CACHEL_DESCENT):
8907         (GLYPH_CACHEL_DESCENT):
8908         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8909         used in case these are inline functions.
8910         Use more absurd values to error check.
8911
8912         include window.h for error check functions.
8913
8914 2000-05-11  Ben Wing  <ben@xemacs.org>
8915
8916         * cmdloop.c (Freally_early_error_handler):
8917         Display message box under windows; otherwise, message will disappear
8918         before it can be viewed.
8919
8920         * console-msw.c:
8921         * console-msw.c (Fmswindows_message_box):
8922         * console-msw.c (FROB):
8923         * console-msw.c (syms_of_console_mswindows):
8924         Define new fun `mswindows-message-box'.
8925         #### I will merge this into `popup-dialog-box'; just give me
8926         a bit of time.
8927
8928         * general.c:
8929         * general.c (syms_of_general):
8930         Some new symbols used in `mswindows-message-box'.
8931
8932         * glyphs.c:
8933         * glyphs.c (Fset_image_instance_property):
8934         put warning in this fun.
8935
8936         * glyphs.h:
8937         * glyphs.h (GLYPH_CACHEL_WIDTH):
8938         * glyphs.h (GLYPH_CACHEL_ASCENT):
8939         * glyphs.h (GLYPH_CACHEL):
8940         * glyphs.h (GLYPH_CACHEL_GLYPH):
8941         define error-checking versions to try to catch a bug i've seen --
8942         redisplay gets in an infinite loop because the glyph width of the
8943         continuation glyph is 65535.
8944
8945         * lisp.h:
8946         Extern message-box stuff.
8947
8948         * window.c (allocate_window):
8949         * window.c (make_dummy_parent):
8950         * window.c (Fset_window_configuration):
8951         Use EQUAL not EQ for subwindow caches to make them work a bit
8952         better. (Something is still very broken.)
8953
8954
8955 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8956
8957         * glyphs.c (image_instantiate): Suppress gcc warnings.
8958         (Fmake_image_instance): Fix doc string.
8959         * specifier.c (Fmake_specifier): Ditto.
8960
8961 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8962
8963         * paths.h.in (PATH_LOCK): Removed.
8964         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8965         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8966
8967 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8968
8969         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8970         Document (featurep '(and xemacs 21.02)).
8971
8972 2000-05-09  Ben Wing  <ben@xemacs.org>
8973
8974         * buffer.c (complex_vars_of_buffer):
8975         update modeline-format doc.
8976
8977         * device.h:
8978         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8979
8980         * emacs.c:
8981         timeline of all released versions of Emacs, for use in creating
8982         authorship comments and in synching up.
8983
8984         * glyphs-widget.c (image_instantiator_buttons):
8985         * glyphs-widget.c (image_instantiator_edit_fields):
8986         * glyphs-widget.c (image_instantiator_combo_box):
8987         * glyphs-widget.c (image_instantiator_scrollbar):
8988         * glyphs-widget.c (image_instantiator_progress_guage):
8989         * glyphs-widget.c (image_instantiator_tree_view):
8990         * glyphs-widget.c (image_instantiator_tab_control):
8991         * glyphs-widget.c (image_instantiator_labels):
8992         * glyphs-widget.c (image_instantiator_layout):
8993         * glyphs-widget.c (image_instantiator_native_layout):
8994         rename decode_domain method to governing_domain.
8995
8996         * glyphs.c:
8997         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8998         * glyphs.c (add_entry_to_device_ii_format_list):
8999         make sure we don't put an entry more than once into the list.
9000         * glyphs.c (check_instance_cache_mapper):
9001         *************************************************************
9002         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9003         HAVE BEEN GETTING.
9004         *************************************************************
9005         * glyphs.c (get_image_instantiator_governing_domain):
9006         clean up, expand on new concept of governing domain.
9007         * glyphs.c (instantiate_image_instantiator):
9008         * glyphs.c (allocate_image_instance):
9009         use governing_domain instead of cache_domain in naming.
9010         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
9011         * glyphs.c (make_image_instance_1):
9012         * glyphs.c (Fmake_image_instance):
9013         allow for any domain (not just device), and process the
9014         governing domain correctly.  very big doc fix.
9015         * glyphs.c (Fimage_instance_domain):
9016         new primitive, to retrieve the governing domain of an image instance.
9017         * glyphs.c (image_instantiate):
9018         use new governing_domain stuff.  this fixes a crash you could get
9019         by instantiating certain widget glyphs in frame locales. (should
9020         signal an error instead of crashing.)
9021         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
9022         * glyphs.c (Fglyphp): clean up doc.
9023         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
9024         * glyphs.c (syms_of_glyphs):
9025         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
9026         * glyphs.c (image_instantiator_format_create): add some comments about
9027         bogus code.
9028         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
9029         for current-display-table. (Apparently Hrjove implemented in 1998 a
9030         design I wrote up in 1996, but didn't update the doc string.)
9031
9032         * glyphs.h: clean up a doc string.
9033         * glyphs.h (governing_domain):
9034         * glyphs.h (struct image_instantiator_methods):
9035         changes for governing_domain stuff.
9036
9037         * gutter.c:
9038         * gutter.c (Fgutter_specifier_p):
9039         * gutter.c (Fgutter_size_specifier_p):
9040         * gutter.c (Fgutter_visible_specifier_p):
9041         * objects.c:
9042         * objects.c (Fcolor_specifier_p):
9043         * objects.c (Ffont_specifier_p):
9044         * objects.c (Fface_boolean_specifier_p):
9045         doc strings moved to make-*-specifier.
9046
9047         * redisplay.c (add_disp_table_entry_runes_1):
9048         * redisplay.c (generate_fstring_runes):
9049         * redisplay.c (screen):
9050         add random comments and doc strings.
9051
9052         * specifier.c:
9053         * specifier.c (Fmake_specifier):
9054         major overhaul of this doc string.
9055
9056         * specifier.c (Fvalid_specifier_domain_p):
9057         comment about the bogosity of image instances being domains.
9058         * specifier.c (decode_domain):
9059         now non-static, used in glyphs.c.
9060         * specifier.c (specifier_instance):
9061         comment about the bogosity of image instances being domains.
9062         * specifier.c (Fgeneric_specifier_p):
9063         move doc string to make-generic-specifier.
9064         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9065         rebackslashify.
9066
9067         * specifier.h:
9068         * specifier.h (DOMAIN_FRAME):
9069         * specifier.h (DOMAIN_LIVE_P):
9070         * specifier.h (DOMAIN_XDEVICE):
9071         rebackslashify.
9072         add comments about problems with these macros.
9073         prototype for decode_domain.
9074
9075         * toolbar.c:
9076         * toolbar.c (Ftoolbar_specifier_p):
9077         move doc string to `make-toolbar-specifier'.
9078
9079         * window.c (window_unmap_subwindows_cache_mapper):
9080         *************************************************************
9081         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9082         HAVE BEEN GETTING.
9083         *************************************************************
9084
9085 2000-05-09  Andy Piper  <andy@xemacs.org>
9086
9087         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9088
9089         * window.c (Fset_window_configuration): reset the frame subwindow
9090         cache and re-initialize the window subwindow caches.
9091
9092         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9093
9094 2000-05-09  Ben Wing  <ben@xemacs.org>
9095
9096         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9097         DWORD.
9098
9099 2000-04-26  Mike Woolley  <mike@bulsara.com>
9100
9101         * ntheap.c: Changed recreate_heap to limit the amount reserved
9102         for the heap to that which is actually available. Also now
9103         displays a message box (with some dignostics) in the event that
9104         it still can't start.
9105
9106 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9107
9108         * callproc.c (Fold_call_process_internal): GCPRO path
9109
9110 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9111
9112         Patch by Bill Perry.
9113
9114         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9115         back data instead of #ifdef.
9116         (Fscrollbar_page_down): ditto.
9117
9118 2000-05-07  Ben Wing  <ben@xemacs.org>
9119
9120         * buffer.h:
9121         Kludge for defining Qmswindows_tstr.
9122
9123         * nt.c:
9124         * nt.c (open_input_file):
9125         * nt.c (open_output_file):
9126         * nt.c (rva_to_section):
9127         * nt.c (mswindows_executable_type):
9128         Move all memory-mapped-file routines here (some were in unexnt.c,
9129         which is bad because they are used by process-nt.c, and unexnt
9130         won't be around when portable dumping).  Synched the above routines
9131         with FSF 20.6.
9132
9133         * nt.h:
9134         Removed ifdef'd out bogus code.
9135         Fixed some prototypes.
9136
9137         * nt.h (file_data):
9138         * nt.h (OFFSET_TO_RVA):
9139         * nt.h (RVA_TO_OFFSET):
9140         * nt.h (RVA_TO_PTR):
9141         Moved the memory-mapped-file structures, macros and prototypes
9142         here, to parallel nt.c.  ntheap.h should really be removed
9143         entirely, and it's a non-portable-dumper specific file.
9144
9145         * ntheap.h (round_to_next):
9146         Moved the memory-mapped-file structures, macros and prototypes
9147         to nt.h.
9148
9149         * ntproc.c (compare_env):
9150         Moved rva_to_section and mswindows_executable_type to nt.c.
9151         Moved compare_env to process-nt.c.
9152         ntproc.c will die, one day.
9153
9154         * ntproc.c (sys_spawnve):
9155         Account for win32_ -> mswindows_.
9156
9157         * process-nt.c:
9158         * process-nt.c (struct nt_process_data):
9159         * process-nt.c (ensure_console_window_exists):
9160         * process-nt.c (compare_env):
9161         * process-nt.c (nt_create_process):
9162         * process-nt.c (nt_kill_process_by_pid):
9163         * process-nt.c (syms_of_process_nt):
9164         * process-nt.c (vars_of_process_nt):
9165         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9166         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9167         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9168         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9169         Move compare_env here from ntproc.c.
9170
9171         * process.c (Fprocess_send_region):
9172         Takes an optional fourth argument, BUFFER, which should fix some
9173         problems with call-process.
9174
9175         * syscommctrl.h:
9176         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9177
9178         * syswindows.h:
9179         Move ICC_BAR_CLASSES to syscommctrl.h.
9180         Add preliminary macros for MSWindows/Mule.  More to come.
9181
9182         * unexnt.c:
9183         * unexnt.c (unexec):
9184         open_output_file moved to nt.c.
9185
9186
9187 2000-05-05  Andy Piper  <andy@xemacs.org>
9188
9189         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9190         instance from the frame cache also since GC may catch up too late
9191         to make frame deletion sane.
9192
9193 2000-05-04  Andy Piper  <andy@xemacs.org>
9194
9195         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9196         (x_finalize_image_instance): ungcpro on deletion.
9197
9198         * glyphs.c (image_instantiator_format_create): give pointers a
9199         query geometry method so that the geometry is at least set.
9200
9201         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9202         initialize layouts if using widgets.
9203
9204 2000-05-03  Andy Piper  <andy@xemacs.org>
9205
9206         * nt.c: remove bogus reference to sysmmsystem.h
9207
9208         * gui-x.c (popup_selection_callback): fix no selection abort.
9209
9210 2000-05-02  Andy Piper  <andy@xemacs.org>
9211
9212         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9213         (mswindows_widget_instantiate): ditto.
9214
9215         * glyphs-widget.c (initialize_widget_image_instance): initialize
9216         children correctly.
9217         (widget_instantiate): cope with children and items in the same
9218         instance.
9219
9220         * glyphs.c (mark_image_instance): cope with children as a first
9221         class member.
9222         (image_instance_equal): ditto.
9223         (image_instance_hash): ditto.
9224         (image_instance_changed): ditto.
9225
9226 2000-04-30  Andy Piper  <andy@xemacs.org>
9227
9228         * glyphs.c (subwindow_query_geometry): new function. Return some
9229         defaults.
9230         (subwindow_instantiate): don't assign dimensions if none have been
9231         given.
9232         (image_instantiator_format_create): add subwindow_query_geometry.
9233         (print_image_instance): cope with layouts as widgets.
9234
9235 2000-04-29  Andy Piper  <andy@xemacs.org>
9236
9237         * frame.c (delete_frame_internal): call
9238         free_frame_subwindow_instance_cache so that all subwindows are
9239         finalized before their parent.
9240         (mark_frame): remove subwindow_cachels.
9241         (Fmake_frame): remove subwindow_cachel manipulation.
9242         (allocate_frame_core): subwindow_instance_cache is a weak list.
9243         (delete_frame_internal): set subwindow_instance_cache to nil.
9244
9245         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9246         finalization safe.
9247         (mswindows_finalize_image_instance): use the device
9248         not the domain as the domain may have died already.
9249
9250         * glyphs-x.c (x_finalize_image_instance): ditto.
9251         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9252         HEIGHT.
9253
9254         * redisplay-output.c (redisplay_unmap_subwindows): update for
9255         subwindow instance cache as a weak list.
9256         (redisplay_unmap_subwindows_maybe): ditto.
9257         (redisplay_unmap_subwindows_except_us): ditto.
9258
9259         * glyphs.c (unmap_subwindow): error checking will check the domain
9260         so don't deal with it here. Don't use cachels anymore.
9261         (map_subwindow): ditto.
9262         (update_subwindow_cachel_data): remove old accessor names.
9263         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9264         (Fresize_subwindow): don't update cachel.
9265         (mark_subwindow_cachels):
9266         (update_subwindow_cachel_data):
9267         (add_subwindow_cachel):
9268         (get_subwindow_cachel_index):
9269         (update_subwindow_cachel):
9270         (reset_subwindow_cachels):
9271         (mark_subwindow_cachels_as_not_updated): deleted.
9272         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9273         subwindow instance to the frame cache.
9274         (find_matching_subwindow): update for subwindow instance cache as
9275         a weak list.
9276         (update_widget_instances): ditto.
9277         (image_instance_type_to_mask):inlined.
9278         (free_frame_subwindow_instance_cache): new function. finalize all
9279         subwindows that are instantiated.
9280
9281         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9282         of cachel information.
9283         (IMAGE_INSTANCE_DISPLAY_X):
9284         (IMAGE_INSTANCE_DISPLAY_Y):
9285         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9286         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9287         (XIMAGE_INSTANCE_DISPLAY_X):
9288         (XIMAGE_INSTANCE_DISPLAY_Y):
9289         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9290         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9291         remove subwindow_cachel structure and function references.
9292         (image_instance_type_to_mask): inline from glyphs.c
9293
9294         * redisplay.c (redisplay_frame): remove subwindow_cachel
9295         references.
9296
9297         * frame.h (struct frame): remove subwindow_cachels.
9298         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9299
9300         * frameslots.h: add subwindow_instance_cache.
9301
9302         * window.c (replace_window): check subwindow cache of replacement.
9303         (window_unmap_subwindows_cache_mapper):
9304         (window_unmap_subwindows): new functions. Unmap all subwindows
9305         cached on this window.
9306         (mark_window_as_deleted): unmap all subwindows.
9307
9308 2000-04-27  Andy Piper  <andy@xemacs.org>
9309
9310         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9311
9312         * glyphs-widget.c (widget_layout): return something.
9313         (layout_layout): return something. Fail if not initialized.
9314         (layout_query_geometry): ditto.
9315         (image_instantiator_native_layout): new function. Initialized the
9316         native layout type.
9317         (widget_instantiate): don't do layout stuff here.
9318
9319         * glyphs.c (instantiate_image_instantiator): reorded calling or
9320         instantiate and post_instantiate with layout in between.
9321         (image_instance_layout): be more selective about deciding whether
9322         the layout has been done or not.
9323
9324         * glyphs.h (struct image_instantiator_methods): return a value
9325         from layout_method.
9326
9327 2000-04-26  Andy Piper  <andy@xemacs.org>
9328
9329         * glyphs.c (allocate_image_instance): make initial width and
9330         height unspecified. Set initialized to 0.
9331
9332         * syscommctrl.h new file. Encapsulates commctrl.h.
9333
9334         * syswindows.h new file. Encapsulates windows.h.
9335
9336         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9337         * nt.c: ditto.
9338         * console-msw.h: ditto.
9339
9340         * redisplay-tty.c (tty_output_display_block): remove layout references.
9341
9342         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9343         window handle rather than just the frame.
9344
9345         * glyphs.c (mark_image_instance): remove layout references.
9346         (print_image_instance): ditto.
9347         (image_instance_equal): ditto.
9348         (image_instance_hash): ditto.
9349         (decode_image_instance_type): ditto.
9350         (encode_image_instance_type): ditto.
9351         (image_instantiate): ditto.
9352         (allocate_glyph): ditto.
9353         (Fimage_instance_height): ditto.
9354         (Fimage_instance_width): ditto.
9355         (update_subwindow): ditto.
9356
9357         * redisplay-x.c (x_output_display_block): recode for layouts as
9358         widgets.
9359
9360         * redisplay-output.c (redisplay_output_layout): recode for layouts
9361         as widgets.
9362         (compare_runes): remove layout references.
9363
9364         * redisplay-msw.c (mswindows_output_display_block): recode for
9365         layouts as widgets.
9366
9367         * glyphs-widget.c (image_instantiator_layout): remove
9368         layout_possible_dest_types.
9369         (layout_possible_dest_types): deleted.
9370
9371         * glyphs.h (image_instance_type): remove layout references.
9372         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9373         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9374         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9375
9376 2000-04-25  Andy Piper  <andy@xemacs.org>
9377
9378         * glyphs-widget.c (image_instantiator_buttons):
9379         (image_instantiator_edit_fields):
9380         (image_instantiator_combo_box):
9381         (image_instantiator_scrollbar):
9382         (image_instantiator_progress_guage):
9383         (image_instantiator_tree_view):
9384         (image_instantiator_tab_control):
9385         (image_instantiator_labels):
9386         (image_instantiator_layout): call default post_instantiate method.
9387         (widget_post_instantiate): new function. Simply lays out the
9388         widgets.
9389
9390         * glyphs.h (struct image_instantiator_methods): add
9391         post_instantiate method.
9392
9393         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9394         method calls.
9395
9396 2000-04-23  Andy Piper  <andy@xemacs.org>
9397
9398         * glyphs.h (struct image_instantiator_methods): add
9399         decode_domain_method.
9400         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9401         derived from the domain.
9402         (IMAGE_INSTANCE_FRAME): new accessor.
9403         (XIMAGE_INSTANCE_FRAME): ditto.
9404
9405         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9406         instead of _SUBWINDOW_FRAME.
9407         (finalize_image_instance): ditto.
9408         (Fimage_instance_foreground): ditto.
9409         (Fimage_instance_background): ditto.
9410         (image_instantiate): ditto.
9411         (update_subwindow_cachel): ditto.
9412         (update_subwindow): ditto.
9413         (unmap_subwindow): ditto.
9414         (map_subwindow): ditto
9415         (subwindow_instantiate): ditto.
9416         * glyphs-msw.c (mswindows_update_widget): ditto.
9417         (mswindows_progress_gauge_instantiate): ditto.
9418         (mswindows_tab_control_update): ditto.
9419         * glyphs-x.c (x_update_widget): ditto.
9420         (x_widget_instantiate): ditto.
9421         (x_tab_control_instantiate): ditto.
9422         (x_tab_control_update): ditto.
9423         * event-msw.c (mswindows_wnd_proc): ditto
9424
9425         * glyphs-widget.c (image_instantiator_layout): use
9426         subwindow_decode_domain.
9427         (image_instantiator_buttons): ditto.
9428         (image_instantiator_edit_fields): ditto.
9429         (image_instantiator_combo_box): ditto.
9430         (image_instantiator_scrollbar): ditto.
9431         (image_instantiator_progress_guage): ditto.
9432         (image_instantiator_tree_view): ditto.
9433         (image_instantiator_tab_control): ditto.
9434         (image_instantiator_labels): ditto.
9435         (image_instantiator_layout): ditto.
9436
9437         * glyphs.c: add instance error checking to many functions.
9438         (instantiate_image_instantiator): decode device from cache_domain.
9439         (image_instantiate): partially rewrite by using
9440         decode_image_instantiator_domain to determine what domain the
9441         instance needs to be cached in.
9442         (decode_image_instantiator_domain): new function. Determine what
9443         domain the image needs to be cached in.
9444         (check_window_subwindow_cache): new error checking function.
9445         (check_instance_cache_mapper): ditto.
9446         (check_image_instance_structure): ditto.
9447         (subwindow_decode_domain): new function. Encodes a window as a
9448         subwindow's cache domain.
9449         (image_instantiator_format_create): use it for text and
9450         subwindows.
9451
9452 2000-04-21  Andy Piper  <andy@xemacs.org>
9453
9454         * glyphs.c (image_instance_device): new function.
9455         (image_instance_frame): new function.
9456         (image_instance_window): new function.
9457         (image_instance_live_p): new function.
9458
9459         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9460         cache to nil.
9461
9462         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9463         (IMAGE_INSTANCE_DOMAIN): new accessor.
9464         (XIMAGE_INSTANCE_DOMAIN): ditto.
9465
9466         * glyphs-x.c (x_finalize_image_instance): device->domain.
9467
9468         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9469         (mswindows_finalize_image_instance): ditto.
9470
9471         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9472         (gif_instantiate): ditto.
9473         (png_instantiate): ditto.
9474         (tiff_instantiate): ditto.
9475
9476         * glyphs.c (instantiate_image_instantiator): use domain rather
9477         than device.
9478         (mark_image_instance): device -> domain.
9479         (print_image_instance): ditto.
9480         (finalize_image_instance): ditto.
9481         (image_instance_equal): ditto.
9482         (allocate_image_instance): ditto.
9483         (Fcolorize_image_instance): ditto.
9484         (query_string_geometry): ditto.
9485         (image_instantiate): ditto
9486         (query_string_font): ditto.
9487         (image_instantiate): ditto.
9488         (update_subwindow): ditto.
9489         (unmap_subwindow): ditto.
9490         (map_subwindow): ditto.
9491         (subwindow_instantiate): ditto.
9492
9493         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9494         (DOMAIN_FRAME): ditto.
9495         (DOMAIN_WINDOW): ditto.
9496         (DOMAIN_LIVE_P): ditto.
9497         (XDOMAIN_DEVICE): ditto.
9498         (XDOMAIN_FRAME): ditto.
9499         (XDOMAIN_WINDOW): ditto.
9500
9501         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9502         a valid specifier domain.
9503
9504 2000-04-19  Andy Piper  <andy@xemacs.org>
9505
9506         * glyphs-widget.c (syms_of_glyphs_widget): remove
9507         widget-callback-current-channel.
9508         (vars_of_glyphs_widget): ditto.
9509         * glyphs.h: ditto
9510
9511         * gui.c (get_gui_callback): revert to previous behaviour.
9512
9513 2000-04-18  Andy Piper  <andy@xemacs.org>
9514
9515         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9516         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9517         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9518
9519         * glyphs.c (image_instance_equal): add margin_width.
9520         (image_instance_hash): ditto.
9521
9522         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9523         (layout_query_geometry): ditto.
9524         (layout_layout): ditto.
9525         (syms_of_glyphs_widget): add margin-width.
9526         (image_instantiator_layout): allow margin-width.
9527
9528         * glyphs.c (update_widget_instances): make a normal function.
9529         (syms_of_glyphs): remove Qupdate_widget_instances.
9530         * glyphs.h: ditto.
9531
9532         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9533         so that we don't corrupt ideas about the last event or
9534         command. Remove widget-callback-current-channel fiddling.
9535         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9536
9537 2000-05-01  Martin Buchholz <martin@xemacs.org>
9538
9539         * XEmacs 21.2.33 is released.
9540
9541 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9542
9543         * make-src-depend: Allow dots in header file name.
9544
9545 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9546
9547         * mule-charset.h (struct charset_lookup): Add
9548         next_allocated_1_byte_leading_byte and
9549         next_allocated_2_byte_leading_byte.
9550         * mule-charset.c: Move above two variables so that those values
9551         will be dumped.
9552
9553 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9554
9555         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9556         when string length is zero.
9557         (find_charsets_in_emchar_string): Ditto.
9558
9559 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9560
9561         * lisp.h: extern Qdialog and Qmenubar.
9562
9563         * gui-x.c: added events.h.
9564                 also fixed typo which made the file uncompilable.
9565
9566         * general.c: Added Qmenubar and Qdialog
9567
9568 2000-04-28  Ben Wing  <ben@xemacs.org>
9569
9570         * frame-msw.c (mswindows_init_frame_1):
9571         * frame-msw.c (mswindows_mark_frame):
9572         * event-msw.c (mswindows_enqueue_dispatch_event):
9573         * console-msw.h:
9574         * console-msw.h (struct mswindows_frame):
9575         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9576         there are now three hash tables for callbacks.
9577         mswindows_enqueue_dispatch_event is no longer static.
9578
9579         * dialog-x.c (maybe_run_dbox_text_callback):
9580         * dialog-x.c (dbox_descriptor_to_widget_value):
9581         switch to new cons3 form for callbacks.
9582
9583         * glyphs-msw.c (mswindows_register_gui_item):
9584         * glyphs-msw.c (mswindows_widget_instantiate):
9585         * glyphs-msw.c (add_tree_item):
9586         * glyphs-msw.c (add_tab_item):
9587         new image instance parameter, so it can be passed to callback-ex.
9588         respect :callback-ex as well as :callback.
9589
9590         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9591         add :callback-ex.
9592
9593         * glyphs.c (print_image_instance):
9594         prettify, e.g. now prints widget type.
9595
9596         * gui-x.h:
9597         certain funs have new image instance parameter.
9598
9599         * gui.c:
9600         * gui.c (get_gui_callback):
9601         * gui.c (gui_item_add_keyval_pair):
9602         * gui.c (gui_item_init):
9603         * gui.c (gui_add_item_keywords_to_plist):
9604         * gui.c (mark_gui_item):
9605         * gui.c (gui_item_hash):
9606         * gui.c (gui_item_equal):
9607         * gui.c (copy_gui_item):
9608         * gui.c (syms_of_gui):
9609         recognize callback-ex in a number of places.
9610         also, fix the annoying "can't get out of yes-no dialog" bug.
9611
9612         * gui.h:
9613         * gui.h (struct Lisp_Gui_Item):
9614         recognize callback-ex in a number of places.
9615
9616         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9617         new parameter in button_item_to_widget_value.
9618
9619         * glyphs-x.c (x_update_widget):
9620         * glyphs-x.c (x_button_instantiate):
9621         * glyphs-x.c (x_button_update):
9622         * glyphs-x.c (x_progress_gauge_instantiate):
9623         * glyphs-x.c (x_edit_field_instantiate):
9624         * glyphs-x.c (x_combo_box_instantiate):
9625         * glyphs-x.c (x_tab_control_instantiate):
9626         * glyphs-x.c (x_label_instantiate):
9627         new image instance parameter in various places.
9628
9629         * event-Xt.c:
9630         * event-Xt.c (enqueue_Xt_dispatch_event):
9631         this fun gets exported.
9632
9633         * gui-msw.c:
9634         * gui-msw.c (mswindows_handle_gui_wm_command):
9635         handle both :callback and :callback-ex, and generate our own
9636         event because it's one of the callback-ex arguments.
9637
9638         * gui-x.c:
9639         * gui-x.c (popup_selection_callback):
9640         handle both :callback and :callback-ex, and generate our own
9641         event because it's one of the callback-ex arguments.
9642         * gui-x.c (button_item_to_widget_value):
9643         * gui-x.c (gui_items_to_widget_values_1):
9644         * gui-x.c (gui_item_children_to_widget_values):
9645         * gui-x.c (gui_items_to_widget_values):
9646         new image instance parameter in various places.
9647
9648         * fns.c (Freplace_list):
9649         fix small typo in doc string.
9650
9651         * lisp.h:
9652         declare enqueue_Xt_dispatch_event.
9653
9654 2000-04-28  Ben Wing  <ben@xemacs.org>
9655
9656         * buffer.c:
9657         * buffer.c (Frecord_buffer):
9658         * buffer.c (syms_of_buffer):
9659         delete record-buffer-hook.
9660
9661         * fns.c:
9662         * fns.c (Freplace_list):
9663         * fns.c (syms_of_fns):
9664         new primitive replace-list.
9665
9666         * frameslots.h:
9667         slot for old buffer-alist.
9668
9669         * lisp.h:
9670         exfun replace-list.
9671
9672         * redisplay.c:
9673         * redisplay.c (redisplay_frame):
9674         * redisplay.c (syms_of_redisplay):
9675         * redisplay.c (vars_of_redisplay):
9676         new hook buffer-list-changed-hook.
9677         call it.
9678
9679 2000-04-27  Ben Wing  <ben@xemacs.org>
9680
9681         * extents.h: extern in_modeline_generation.
9682
9683         * redisplay.c (generate_formatted_string_db): set
9684         in_modeline_generation.
9685
9686         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9687         flags if in modeline generation.  otherwise frame-modified-tick
9688         is ticked far too often.
9689         Declare in_modeline_generation.
9690
9691 2000-04-26  Ben Wing  <ben@xemacs.org>
9692
9693         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9694         option.
9695         (vars_of_emacs): add quick-build as an error-checking option.
9696         A bit kludgy, but there doesn't seem much point in creating
9697         a real var for this.
9698
9699         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9700
9701 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9702
9703         * redisplay.h (struct display_line): Add a new variable,
9704         line_continuation.
9705
9706         * redisplay.c (create_text_block): Set dl->line_continuation if
9707         the line continues.
9708         (create_string_text_block): Ditto.
9709         (regenerate_window_incrementally): Use line_continuation instead
9710         of searching continuation glyph.
9711         (add_margin_runes): Call add_glyph_rune.
9712         (add_glyph_rune): Handle margin glyph.
9713
9714 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9715
9716         * filelock.c (fill_in_lock_file_name):
9717         ANSIfy.
9718         Check for IS_ANY_SEP instead of '/'.
9719         (lock_file_1):
9720         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9721         Never check errno without first seeing that system call failed.
9722         (unlock_file): Add GCPRO.
9723         (Flock_buffer): Fix docstring.
9724         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9725
9726 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9727
9728         * sysdep.c (get_pty_max_bytes):
9729         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9730         strings longer than 252 bytes.
9731
9732         * md5.c: Unconditionally include ANSI header <limits.h>
9733
9734         * glyphs-x.c (convert_EImage_to_XImage):
9735         * lisp-union.h (union Lisp_Object):
9736         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9737
9738 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9739
9740         * filelock.c (current_lock_owner): Remove unused variable o, p.
9741
9742 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9743
9744         * callint.c: Remove multiply defined symbol Qlet
9745         (syms_of_callint): ditto.
9746
9747 2000-04-14  Andy Piper  <andy@xemacs.org>
9748
9749         * general.c (syms_of_general): add last-command, this-command, let
9750         and funcall.
9751
9752         * lisp.h: declare various symbols.
9753
9754         * glyphs.h: declare Qwidget_callback_current_channel;
9755
9756         * glyphs-widget.c (syms_of_glyphs_widget): add
9757         Qgui_callback_current_channel.
9758         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9759
9760         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9761         widget-callback-current-channel when invoking the interactive
9762         arg. Also bind last-command and next-command when invoking the
9763         widget updates.
9764         * gui-x.c (popup_selection_callback): ditto.
9765
9766         * gui.c (get_gui_callback): massage args so that we are always
9767         calling eval. This allows us to add our own variable bindings
9768         outside.
9769
9770         * glyphs-x.c (x_button_instantiate): use
9771         gui_items_to_widget_values since this is GC safe.
9772         (x_progress_gauge_instantiate): ditto.
9773         (x_edit_field_instantiate): ditto.
9774         (x_label_instantiate): ditto.
9775
9776         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9777         (emacs_Xt_event_widget_focus_out): new function
9778         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9779         focus.
9780         (emacs_Xt_event_add_widget_actions): new function. add focus
9781         functions as actions.
9782         (init_event_Xt_late): use it.
9783
9784 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9785
9786         * event-stream.c (Fdispatch_event): Doc fix.
9787
9788 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9789
9790         * postgresql.c: Remove all references to PQsetenv*.
9791
9792         * postgresql.h: Remove references to PGsetenvHandler object.
9793         * lrecord.h (lrecord_type): Ditto.
9794
9795 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9796
9797         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9798         real_heigh and real_width members, and accessor macros for these.
9799
9800         * glyphs-msw.c (init_image_instance_geometry): New function.
9801         (init_image_instance_from_dibitmap): Use it.
9802         (mswindows_resource_instantiate): Use it.
9803         (init_image_instance_from_xbm_inline): Use it.
9804         (mswindows_initialize_image_instance_mask): Use real bitmap
9805         geometry.
9806         (mswindows_create_resized_bitmap): Ditto.
9807         (mswindows_create_resized_mask): Ditto.
9808
9809         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9810         and bitmap to their surface size.
9811
9812 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9813
9814         * process-unix.c (unix_send_process): Guard against process MIA
9815         after Faccept_process_output.
9816
9817 2000-04-11  Ben Wing  <ben@xemacs.org>
9818
9819         * eval.c (unbind_to_hairy): fix brokenness introduced by
9820         nanosecond speed improvements.
9821
9822 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9823
9824         * sunplay.c (init_device): To play sounds correctly, the device
9825         apparently needs to be initialized at least once by XEmacs.  Make
9826         it so.
9827
9828 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9829
9830         * redisplay.c (add_margin_runes): Add text image glyph
9831           handling.
9832
9833 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9834
9835         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9836         gcc is newer than 2.5.
9837
9838 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9839
9840         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9841
9842         * fns.c (size_bit_vector):
9843         * alloc.c (size_vector):
9844         (make_vector_internal):
9845         (make_bit_vector_internal):
9846         (sweep_bit_vectors_1):
9847         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9848
9849 2000-04-06  Andy Piper  <andy@xemacs.org>
9850
9851         * gmalloc.c (malloc): undo previous change.
9852         (malloc): ditto.
9853         (free): ditto.
9854         (realloc): ditto.
9855
9856 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9857
9858         * line-number.c (buffer_line_number): Revert to former version.
9859
9860 2000-04-06  Andy Piper  <andy@xemacs.org>
9861
9862         * gmalloc.c (malloc): add error checking.
9863         (malloc): ditto.
9864         (free): ditto.
9865         (realloc): ditto.
9866
9867         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9868         button_item_to_widget_value arg.
9869
9870         * glyphs-x.c (x_button_instantiate): add extra
9871         button_item_to_widget_value arg.
9872         (x_progress_gauge_instantiate): ditto.
9873         (x_edit_field_instantiate): ditto.
9874         (x_label_instantiate): ditto.
9875
9876         * gui-x.c (gui_items_to_widget_values_1): add extra
9877         button_item_to_widget_value arg.
9878         (button_item_to_widget_value): add extra menu_item_p arg.
9879
9880         * gui-x.h: change signature of button_item_to_widget_value.
9881
9882         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9883         button_item_to_widget_value arg.
9884
9885 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9886
9887         * buffer.h (struct buffer): auto_save_modified should be long.
9888
9889 2000-04-05  Andy Piper  <andy@xemacs.org>
9890
9891         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9892         type.
9893         (button_query_geometry): give a little more room so that athena
9894         buttons fit.
9895
9896 2000-04-05  Andy Piper  <andy@xemacs.org>
9897
9898         * faces.c (complex_vars_of_faces): The widget face should inherit
9899         the font of the gui-element face.
9900
9901 2000-04-04  Andy Piper  <andy@xemacs.org>
9902
9903         * glyphs-x.c (x_button_update): new function. unconditionally
9904         update a button's state when the instance is dirty.
9905         (image_instantiator_format_create_glyphs_x): add x_button_update.
9906         (x_widget_instantiate): remove old resize cruft.
9907
9908 2000-04-02  Andy Piper  <andy@xemacs.org>
9909
9910         * frame.c (change_frame_size_1): The introduction of gutters means
9911         that we need to allow 0 as a potential frame dimension.
9912
9913 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9914
9915         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9916         image glyph if allow_cursor.
9917         (add_hscroll_rune): Don't allow cursor to border glyph.
9918         (create_text_block): Ditto.
9919
9920         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9921         text not in buffer.
9922         (redisplay_output_layout): Call ensure_face_cachel_complete for
9923         text image glyph.
9924
9925
9926 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9927
9928         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9929
9930         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9931         not in buffer
9932
9933         * redisplay-tty.c (tty_output_display_block): Delete the routine
9934         for text image glyph
9935         * redisplay-x.c (x_output_display_block): ditto
9936         * redisplay-msw.c (mswindows_output_display_block): ditto
9937
9938 2000-02-02  Mike Alexander  <mta@arbortext.com>
9939
9940         Note: Some of these were committed by accident as part of other
9941         patches.
9942
9943         * regex.c (regex_compile): Avoid compiler warnings.
9944
9945         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9946
9947         * nt.h: Declare term_ntproc correctly.
9948
9949         * nt.c: Remove incorrect declaration of get_home_directory which
9950         is declared correctly in lisp.h.
9951
9952         * keymap.c (get_keyelt): Avoid compiler warnings.
9953         (raw_lookup_key_mapper): Avoid compiler warnings.
9954
9955         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9956
9957         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9958
9959         * filemode.c (mode_string): Avoid compiler warnings.
9960
9961         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9962         avoid warning.
9963
9964         * events-mod.h: Undef some things that winuser.h defines differently.
9965
9966         * data.c (Faset): Avoid compiler warnings.
9967
9968         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9969
9970 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9971
9972         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9973         Fall through to simple beep on error.
9974         Replace "extern" by real header file.
9975
9976         * linuxplay.c: Use nativesound.h
9977         (play_sound_data): Return error code. Be less verbose on error.
9978
9979         * sunplay.c: Use nativesound.h
9980         (play_sound_data): Return error code. Be less verbose on error.
9981
9982         * ntplay.c: Use nativesound.h
9983         (play_sound_data): Return fake error code
9984
9985         * sgiplay.c: Use nativesound.h
9986         (play_sound_data): Return error code
9987
9988         * hpplay.c: Use nativesound.h, partially implement
9989         new error code. Break compilation until finished.
9990         (play_sound_data): error code.
9991
9992         * nativesound.h (play_sound_file):
9993           (play_sound_data): Prototype in new header.
9994
9995 2000-03-31  Andy Piper  <andy@xemacs.org>
9996
9997         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9998         for toggle and radio buttons.
9999         (image_instantiator_buttons): use it.
10000
10001 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10002
10003         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
10004         (x_update_horizontal_scrollbar_callback): Return if no mirror was
10005         found. Scrollbar event probably belonged to some old config.
10006
10007 2000-03-31  Andy Piper  <andy@xemacs.org>
10008
10009         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
10010         than 1.
10011         (initialize_widget_image_instance): default layout to
10012         LAYOUT_HORIZONTAL rather than 0.
10013         (widget_instantiate): reverse the item list at the end rather than
10014         every iteration.
10015         (layout_layout): re-code for the border text at the front of the
10016         item list rather than at the end.
10017         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
10018         provided by the user.
10019         (widget_query_geometry): comment.
10020
10021 2000-03-30  Andy Piper  <andy@xemacs.org>
10022
10023         * glyphs-widget.c (image_instantiator_layout): allow standard
10024         widget keywords in layouts.
10025
10026         * gutter.c (output_gutter): cope with nil gutter contents.
10027
10028         * frame.c (Fset_frame_properties): add gutter docs.
10029
10030 2000-03-29  Andy Piper  <andy@xemacs.org>
10031
10032         * toolbar-msw.c (TBSTYLE_FLAT): add.
10033         (mswindows_output_toolbar): minor fiddling.
10034
10035 2000-03-29  Andy Piper  <andy@xemacs.org>
10036
10037         * gutter.c (output_gutter): force gutter size recalculation if
10038         what we are trying to display won't fit.
10039         (update_gutter_geometry): new function. A per-gutter version of
10040         update_frame_gutter_geometry.
10041         (update_frame_gutter_geometry): use it.
10042         (redraw_exposed_gutter): add extra debugging output.
10043
10044 2000-03-28  Mike Alexander  <mta@arbortext.com>
10045
10046         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10047         (pdump_file_unmap): Implement it on Windows
10048         (pdump_file_get): Save alocated handles for pdump_file_unmap
10049
10050 2000-03-28  Andy Piper  <andy@xemacs.org>
10051
10052         * gui.c (get_gui_callback): treat Quit specially.
10053
10054 2000-03-27  Andy Piper  <andy@xemacs.org>
10055
10056         * glyphs.c (image_instantiate): be careful to check in the same
10057         way we assigned.
10058
10059 2000-03-27  Didier Verna  <didier@xemacs.org>
10060
10061         * config.h.in: define the proper SMART_INCLUDE macro.
10062         handle renaming of `foo_h_path' to `foo_h_file'.
10063
10064         * database.c: ditto.
10065
10066         * emacs.c: ditto.
10067
10068         * linuxplay.c: ditto.
10069
10070         * terminfo.c: ditto.
10071
10072         * tooltalk.h: ditto.
10073
10074 2000-03-27  Andy Piper  <andy@xemacs.org>
10075
10076         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10077         gets updated whenever the face might have changed.
10078
10079 2000-03-26  Mike Alexander  <mta@arbortext.com>
10080
10081         * dumper.c (pdump_resource_free): Fix the comment.
10082
10083 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10084
10085         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10086
10087 2000-03-22  Mike Alexander  <mta@arbortext.com>
10088
10089         * dumper.c: Include Windows headers on Windows
10090         (pdump_resource_free): Add a body to the function
10091         (pdump_load): exe_name -> exe_path and add some comments.
10092
10093 2000-03-25  Mike Alexander  <mta@arbortext.com>
10094
10095         * gui.c (copy_gui_item_tree): Return a value in all cases
10096
10097 2000-03-21  Didier Verna  <didier@xemacs.org>
10098
10099         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10100         lwlib/config.h.in.
10101         (SMART_INCLUDE): new macro.
10102         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10103         the proper location.
10104
10105         * postgresql.c: use it.
10106
10107         * inline.c: ditto.
10108
10109 2000-03-24  Andy Piper  <andy@xemacs.org>
10110
10111         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10112         do this.
10113
10114 2000-03-24  Andy Piper  <andy@xemacs.org>
10115
10116         * redisplay-output.c (compare_runes): use image_instance_changed
10117         to detect changes. Do not depend on glyphs_changed, only depend on
10118         dirtiness.
10119          (redisplay_output_layout): add debug messages.
10120         (compare_runes): ditto.
10121
10122         * glyphs.h: declare new functions.
10123         (struct Lisp_Image_Instance): remove percent and associated
10124         accessors.
10125
10126         * gui.h: declare new copying functions.
10127
10128         * gui.c (copy_gui_item_tree): new function.
10129         (copy_gui_item): new function.
10130         (gui_item_id_hash): revert to standard hash.
10131         (gui_item_hash): ditto.
10132         (gui_item_hash_internal): deleted.
10133         (mark_gui_item): mark value.
10134         (gui_item_add_keyval_pair): add value.
10135         (gui_item_init): ditto.
10136         (gui_add_item_keywords_to_plist): ditto.
10137         (gui_item_equal): ditto.
10138         (syms_of_gui): add Q_value.
10139
10140         * glyphs-x.c (x_progress_gauge_update): use pending items and
10141         value for setting the state.
10142         (x_update_widget): don't set items from pending here.
10143
10144         * glyphs-widget.c (update_widget): update items here.
10145         (progress_gauge_set_property): use items for storing value. Put
10146         new value in pending items.
10147
10148         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10149         items for new value. Convert percent -> value.
10150         (mswindows_tab_control_update): don't update items here.
10151
10152         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10153         (update_subwindow): ditto.
10154         (image_instance_changed): new function. Compare hash values and
10155         past and present widget items.
10156         (image_instantiate): We more careful about where we instantiate
10157         things.
10158         (image_instantiate): add error checking.
10159
10160         * gutter.c (syms_of_gutter): use -hook.
10161
10162 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10163
10164         * console-tty.c (Fset_console_tty_input_coding_system): Use
10165         Qkeyboard.
10166         (Fset_console_tty_output_coding_system): Use Qterminal.
10167         (tty_init_console): Use Qkeyboard and Qterminal.
10168
10169 2000-03-21  Ben Wing  <ben@xemacs.org>
10170
10171         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10172         From Mike Alexander <mta@arbortext.com>.
10173
10174 2000-03-21  Ben Wing  <ben@xemacs.org>
10175
10176         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10177         process brokenness.  Proper implementation to come.
10178         * callproc.c:
10179         Rename call-process-internal to old-call-process-internal.
10180         New impl. in process.el.
10181
10182 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10183
10184         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10185
10186 2000-03-20  Andy Piper  <andy@xemacs.org>
10187
10188         * glyphs.c (full_list_hash): make hashes of the same elements in
10189         different orders return different values.
10190
10191 2000-03-20  Martin Buchholz <martin@xemacs.org>
10192
10193         * XEmacs 21.2.32 is released.
10194
10195 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10196
10197         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10198         (DFC_MALLOC_USE_CONVERTED_DATA):
10199         Add aliasing-safe casts to allow use with char* or unsigned char*
10200         lvalues.
10201
10202         * eldap.c (Fldap_open):
10203         (Fldap_search_basic):
10204         (Fldap_add):
10205         (Fldap_modify):
10206         Make C++-compilable.
10207         Make sure GCPRO'ed variables are initialized.
10208         Use temp variables to avoid repeated calls to Flength.
10209
10210 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10211
10212         * sysfile.h:
10213         Make sure PATH_MAX is always defined.
10214         Include limits.h for PATH_MAX.
10215         Deprecate use of MAXPATHLEN.
10216
10217 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10218
10219         * emacs.c: Add reinit_vars_of_fileio.
10220         * symsinit.h: Add reinit_vars_of_fileio.
10221         * fileio.c (reinit_vars_of_fileio): New.
10222         * fileio.c (Fmake_temp_name):
10223         Initialize temp_name random number from microseconds to make
10224         collisions even less likely.  Initialize always at process startup
10225         time.  (make-temp-name) used to return the same file name twice in
10226         a row when PDUMP.
10227         Random stylistic fiddling.
10228         Comment fixes.
10229
10230 2000-03-20  Andy Piper  <andy@xemacs.org>
10231
10232         * glyphs.c (image_instantiate): allow text glyphs to be
10233         instantiated in the minibuffer window.
10234
10235 2000-03-19  Andy Piper  <andy@xemacs.org>
10236
10237         * glyphs.c (image_instance_hash): be careful about which items we
10238         hash on.
10239
10240         * glyphs-widget.c (tab_control_set_property): record into pending
10241         items rather than the actual items.
10242
10243         * glyphs-x.c (x_update_widget): use pending items to update with.
10244
10245         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10246         to update with.
10247
10248         * glyphs.c (mark_image_instance): mark pending items.
10249
10250         * window.c (Fset_window_configuration): record the buffer.
10251         (Fselect_window): totally revert previous change which breaks many
10252         things.
10253
10254 2000-03-18  Andy Piper  <andy@xemacs.org>
10255
10256         * glyphs-msw.c (mswindows_tab_control_update): force selected
10257         item.
10258
10259         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10260         window domain cache, otherwise we get inconsistencies at
10261         startup. There is something fishy at startup which can lead to the
10262         minibuffer being the selected window when the gutter content is
10263         instantiated.
10264
10265         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10266         gcpros.
10267         (parse_gui_item_tree_children): ditto.
10268         (parse_gui_item_tree_item): ditto.
10269
10270         * glyphs.c (Fupdate_widget_instances): return something.
10271
10272 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10273
10274         * window.c (Fselect_window): Undo 2000-03-17 change.
10275
10276 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10277
10278         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10279         against v7.0 libraries.  Insta-coredump city until the postgres
10280         folks fix it.
10281
10282 2000-03-17  Andy Piper  <andy@xemacs.org>
10283
10284         * faces.c (complex_vars_of_faces): don't give the widget face an
10285         inherited background pixmap.
10286
10287         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10288         selected item.
10289
10290         * event-stream.c (Fdispatch_non_command_events): return something.
10291
10292         * gutter.c (output_gutter): use widget face.
10293         (clear_gutter): ditto.
10294
10295         * NEWS: adjust again.
10296
10297         * window.c (Fselect_window): make sure this runs to completion to
10298         avoid oddities with Fset_window_configuration.
10299         (Fcurrent_window_configuration): in general do not save the
10300         minibuffer as the selected window.
10301
10302         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10303
10304 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10305
10306         * emacs.c (Frunning_temacs_p): Revert previous patch.
10307         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10308
10309 2000-03-16  Andy Piper  <andy@xemacs.org>
10310
10311         * glyphs-x.c (x_tab_control_update): if no widget values then
10312         return.
10313
10314         * NEWS: update for new features.
10315
10316         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10317         synthetic event to the native system.
10318         (reinit_vars_of_event_Xt): set force_event_pending to
10319         emacs_Xt_force_event_pending.
10320
10321         * events.h (struct event_stream): add force_event_pending.
10322
10323         * specifier.c (recompute_one_cached_specifier_in_window): add
10324         comment.
10325
10326         * redisplay.c (redisplay_frame): don't call
10327         update_frame_subwindows. Reset subwindow cachels when
10328         subwindows_changed, removing this was an optimization too far.
10329
10330         * redisplay-output.c (compare_runes): reorganize so that we catch
10331         glyph changes when we want them. Set optimize_output when this
10332         would help layouts.
10333         (redisplay_output_layout): remove frame_really_changed, use
10334         optimize_output instead.
10335
10336         * redisplay-msw.c (mswindows_output_display_block): reset
10337         optimize_output after outputting a glyph.
10338         * redisplay-x.c (x_output_display_block): ditto.
10339         * redisplay-tty.c (tty_output_display_block): ditto.
10340
10341         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10342         functions.
10343         (gutter_specs_changed): do specific gutter positions.
10344         (top_gutter_specs_changed): new function. Only update the
10345         specified gutter specs.
10346         (bottom_gutter_specs_changed): ditto.
10347         (left_gutter_specs_changed): ditto.
10348         (right_gutter_specs_changed): ditto.
10349
10350         * gui.c (gui_item_hash_internal): new function, does a real hash.
10351         (gui_item_id_hash): use it.
10352         (gui_item_hash): hash the eval'ed gui_item.
10353
10354         * gui-x.c (popup_selection_callback): send an eval event to call
10355         Fupdate_widget_instances.
10356
10357         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10358         to call Fupdate_widget_instances.
10359
10360         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10361         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10362
10363         * glyphs.c: (update_frame_subwindows): deleted.
10364         (Fupdate_widget_instances): new function for updating the dirty
10365         state of widgets that might have changed.
10366         (syms_of_glyphs): add Qupdate_widget_instances.
10367         (full_list_hash): hash a list completely.
10368         (image_instance_hash): use it for items and properties.
10369
10370         * frame-msw.c (mswindows_size_frame_internal): remove unused
10371         variable.
10372
10373         * faces.h (struct face_cachel): fix comment.
10374
10375         * event-stream.c (Fdispatch_non_command_events): new
10376         function. Process non-command events, forcing an event cycle
10377         beforehand.
10378         (syms_of_event_stream): declare.
10379         (event_stream_force_event_pending): new function. Force an event
10380         on the native event queue so that an event cycle will occur next
10381         time we check.
10382
10383         * event-msw.c:
10384         (struct ntpipe_shove_stream):
10385         (mswindows_enqueue_dispatch_event):
10386         (mswindows_dequeue_dispatch_event):
10387         (mswindows_cancel_dispatch_event):
10388         (mswindows_pump_outstanding_events):
10389         (mswindows_drain_windows_queue):
10390         (mswindows_handle_paint):
10391         (mswindows_wnd_proc):
10392         (mswindows_key_to_emacs_keysym):
10393         (get_process_input_waitable):
10394         (emacs_mswindows_delete_stream_pair): re-indent file.
10395         (mswindows_need_event): do not process further fds if the windows
10396         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10397         fixes the 100% cpu problem.
10398         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10399
10400 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10401
10402         * alloc.h: New.
10403         * dumper.h: New.
10404         * dumper.c: New.
10405
10406         * emacs.c: Moved dump file searching to dumper.c.
10407         (Frunning_temacs_p): Fixed.
10408
10409         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10410         last_lrecord_type_index_assigned.
10411
10412 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10413
10414         * symsinit.h: Added reinit parameter to init_console_stream
10415         declaration.
10416
10417         * lisp.h: Added file parameter to pdump_load declaration.
10418
10419         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10420         support.  Added dump file searching.
10421
10422         * config.h.in: Added EMACS_PROGNAME.
10423
10424         * console-stream.c (init_console_stream): Fix reinitialisation
10425         when running from temacs.
10426
10427         * alloc.c (pdump): Add id support.
10428         (pdump_load): Add file parameter and signature/id support.
10429
10430         * Makefile.in.in: Add full pdump support.
10431
10432 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10433
10434         * postgresql.c: Update documentation to reflect latest code
10435         status.
10436         (print_result): Show tuple counts in printed representation when
10437         appropriate.
10438         (Fpq_put_nbytes): MULE-ize.
10439         (Fpq_get_line_async): Ditto.
10440
10441 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10442
10443         * postgresql.c (Fpq_lo_import): Fix return value.
10444         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10445
10446 2000-03-13  Ben Wing  <ben@xemacs.org>
10447
10448         * alloc.c (pdump_load):
10449         Fix compile warning under mswin.
10450
10451 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10452
10453         * postgresql.c: Mule-ization, bug fixes.
10454         Use PG_CODING to encapsulate coding system name changes.
10455         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10456         (pg-coding-system): Create.
10457
10458         (Fpq_conn_defaults): Mule-ize.
10459         (Fpq_connectdb): Mule-ize & bug fix.
10460         (Fpq_connect_start): Mule-ize.
10461         (Fpq_set_client_encoding): Mule-ize.
10462         (Fpq_finish): Document `DEAD' connection status.
10463         (Fpq_clear): Ditto.
10464         (Fpq_pgconn): Mule-ize.
10465         (Fpq_exec): Mule-ize & bug fix.
10466         (Fpq_send_query): Ditto.
10467         (Fpq_get_result): Ditto.
10468         (Fpq_res_status): Mule-ize.
10469         (Fpq_result_error_message): Mule-ize.
10470         (Fpq_ntuples): fix comments.
10471         (Fpq_fname): Mule-ize.
10472         (Fpq_fnumber): Mule-ize.
10473         (Fpq_ftype): fix comments.
10474         (Fpq_get_value): Mule-ize.
10475         (Fpq_cmd_status): Ditto.
10476         (Fpq_cmd_tuples): Ditto.
10477         (Fpq_oid_value): Ditto.
10478         (Fpq_notifies): Ditto.
10479         (Fpq_lo_import): Ditto.
10480         (Fpq_lo_export): Ditto.
10481         (Fpq_get_line): Ditto.
10482         (Fpq_put_line): Mule-ize and bug fix.
10483         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10484
10485 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10486
10487         * postgresql.c (vars_of_postgresql): Mule-ize.
10488         (Fpq_conn_defaults): Ditto.
10489
10490 2000-03-12  Ben Wing  <ben@xemacs.org>
10491
10492         * alloc.c (Fmake_byte_code):
10493         * alloc.c (debug_string_purity_print):
10494         * alloc.c (pdump_backtrace):
10495         * alloc.c (pdump_get_indirect_count):
10496         * alloc.c (pdump_register_sub):
10497         * alloc.c (pdump_register_object):
10498         * alloc.c (pdump_register_struct):
10499         * alloc.c (pdump_dump_data):
10500         * alloc.c (pdump_reloc_one):
10501         Minor cleanups.
10502
10503         * console-msw.c:
10504         * console-msw.c (GetConsoleHwnd):
10505         * console-msw.c (msw_hide_console):
10506         * console-msw.c (msw_show_console):
10507         * console-msw.c (msw_ensure_console_buffered):
10508         * console-msw.c (msw_output_console_string):
10509         * console-msw.c (console_type_create_mswindows):
10510
10511         a) Added functions to manipulate the console window for use with
10512         shell support.
10513
10514         b) Added support for writing text to the console, which is now
10515         used under Windows when xemacs is not being run non-interactively,
10516         to write text that would otherwise be destined for stdout because
10517         under these circumstances, text written to stdout tends to
10518         disappear and not be seen.
10519
10520         * console-msw.h:
10521         * event-Xt.c:
10522         * event-Xt.c (x_event_to_emacs_event):
10523         * event-Xt.c (describe_event_window):
10524         * events-mod.h (XEMACS_MOD_CONTROL):
10525         * events.c:
10526         * events.c (Fmake_event):
10527         * events.c (character_to_event):
10528         * events.c (event_to_character):
10529         * events.c (format_event_object):
10530         * events.c (Fevent_modifiers):
10531         * events.h:
10532         * events.h (struct key_data):
10533         * events.h (struct button_data):
10534         * events.h (struct misc_user_data):
10535         * frame-x.c (Fcde_start_drag_internal):
10536         * frame-x.c (Foffix_start_drag_internal):
10537         * gpmevent.c (Freceive_gpm_event):
10538         * keymap.c:
10539         * keymap.c (bucky_sym_to_bucky_bit):
10540         * keymap.c (control_meta_superify):
10541         * keymap.c (make_key_description):
10542         * keymap.c (keymap_lookup_directly):
10543         * keymap.c (create_bucky_submap):
10544         * keymap.c (keymap_store):
10545         * keymap.c (define_key_check_and_coerce_keysym):
10546         * keymap.c (define_key_parser):
10547         * keymap.c (define_key_alternate_name):
10548         * keymap.c (Fdefine_key):
10549         * keymap.c (raw_lookup_key_mapper):
10550         * keymap.c (struct map_keymap_unsorted_closure):
10551         * keymap.c (map_keymap_unsorted_mapper):
10552         * keymap.c (map_keymap_sort_predicate):
10553         * keymap.c (map_keymap_sorted):
10554         * keymap.c (accessible_keymaps_mapper_1):
10555         * keymap.c (where_is_recursive_mapper):
10556         * keymap.c (describe_map_mapper):
10557         * keymap.c (describe_map_sort_predicate):
10558         * keymap.c (describe_map):
10559         * keymap.c (complex_vars_of_keymap):
10560         And a number of other files, the key modifier preprocessor
10561         constants that xemacs uses have names that conflict with constants
10562         defined under MS Windows for other purposes, so they were renamed
10563         to begin with the prefix XEMACS_. The variables that hold such
10564         modifiers were changed to consistently be of type int to fix
10565         various compile warnings.
10566
10567         * console.c (complex_vars_of_console):
10568         * device.c:
10569         * device-msw.c:
10570         * device-msw.c (mswindows_finish_init_device):
10571         * device-msw.c (msw_get_workspace_coords):
10572         * device-msw.c (mswindows_device_system_metrics):
10573         and various other files, added support for a new
10574         device property called offset-workspace which returns the position
10575         of the upper left corner of the workspace area and goes along with
10576         the existing size-workspace property.
10577
10578         * dialog-msw.c:
10579         * dialog-msw.c (push_bufbyte_string_as_unicode):
10580         * dialog-msw.c (mswindows_popup_dialog_box):
10581         Added support for XEmacs-style accelerator specifications in
10582         button text.  Note: I didn't add support for this under X Windows,
10583         and somebody needs to do this.
10584
10585         * dialog.c:
10586         * dialog.c (Fpopup_dialog_box):
10587         Documented the support for accelerators that was just mentioned.
10588
10589         editfns.c (get_home_directory): Changed behavior under Windows
10590         when HOME not defined; former behavior was irretrievably broken.
10591
10592         * emacs.c:
10593         * emacs.c (main_1):
10594         * emacs.c (main):
10595         * minibuf.c (clear_echo_area_internal):
10596         * minibuf.c (echo_area_append):
10597         * print.c:
10598         * print.c (std_handle_out_external):
10599         * print.c (std_handle_out_va):
10600         * print.c (fatal):
10601         * print.c (write_string_to_stdio_stream):
10602         * print.c (output_string):
10603         * print.c (debug_print):
10604         * print.c (debug_backtrace):
10605         * print.c (debug_short_backtrace):
10606         Cleaned up the code that prints text to stdout so that this can be
10607         changed to output into a console window instead under MS Windows,
10608         as described above.
10609
10610         * eval.c:
10611         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10612         * eval.c (internal_catch):
10613         * eval.c (unwind_to_catch):
10614         * eval.c (throw_or_bomb_out):
10615         * eval.c (condition_case_1):
10616         * eval.c (signal_1):
10617         * eval.c (check_error_state_sanity):
10618         * eval.c (call_with_suspended_errors_1):
10619         * eval.c (call_with_suspended_errors):
10620         * eval.c (reinit_vars_of_eval):
10621         Added code to catch throw loops and check for a pesky bug that may
10622         be gone now.
10623
10624         * event-msw.c:
10625         * event-msw.c (key_needs_default_processing_p):
10626         * event-msw.c (mswindows_wnd_proc):
10627         * event-msw.c (mswindows_modifier_state):
10628         * event-msw.c (emacs_mswindows_quit_p):
10629         * event-msw.c (vars_of_event_mswindows):
10630         a) Added support for using the alt key to select menu items as is
10631         standard under MS Windows.  This is controlled using the variable
10632         menu-accelerator-enabled, just like under X Windows.  There is an
10633         option on the options menu to turn this support on.  I really
10634         think that it should be on by default under Windows, but I'm not
10635         going to make this change yet.
10636
10637         b)  Added support for dynamic display size changes under Windows.
10638
10639         * event-stream.c:
10640         * event-stream.c (maybe_echo_keys):
10641         * event-stream.c (Fnext_event):
10642         * event-stream.c (command_builder_find_leaf):
10643         * event-stream.c (lookup_command_event):
10644         * event-stream.c (execute_command_event):
10645         * event-stream.c (pre_command_hook):
10646         * event-stream.c (post_command_hook):
10647         * event-stream.c (syms_of_event_stream):
10648         * event-stream.c (vars_of_event_stream):
10649         * event-stream.c (complex_vars_of_event_stream):
10650         * events.h (struct command_builder):
10651
10652         a) Tried to clean up a little bit the horribly written x-specific
10653         accelerator code that crept into this file.  I moved this code
10654         into menubar-x.c where it belongs. I also needed to move the
10655         command builder structure into the file events.h because it is
10656         accessed directly by this accelerator code.  What I didn't do, but
10657         which should be done at some point, is to properly abstract this
10658         code using device methods instead of the kludgy way that it
10659         currently hooks into the event code.
10660
10661         b) Added the lisp variables this-command-properties and
10662         last-command- properties, which should be used to synchronize two
10663         adjacent commands in preference to playing games with the variable
10664         this-command, which is typically what happens.
10665
10666         c) Added some slightly nasty code to hook into the lisp support
10667         for shifted- motion-key selection.  This is actually necessary for
10668         somewhat complicated reasons, which are described in
10669         simple.el. (NB: I think the proper thing would be to have the code
10670         that calls the pre and post command hooks also call out to generic
10671         lisp functions in simple.el, where all built-in stuff could be
10672         added.  I will think about this more.)
10673
10674         * event-unixoid.c (poll_fds_for_input):
10675         * lread.c (readchar):
10676         * redisplay-tty.c (tty_clear_frame):
10677         * redisplay-x.c (x_get_gc):
10678         * signal.c (interrupt_signal):
10679         And a whole bunch of other files: fixed up places that printed
10680         directly to stderr to instead call the function stderr_out so that
10681         the changes I made under Windows work correctly.
10682
10683         * filemode.c (mode_string):
10684         Warning fixes.
10685
10686         * frame-msw.c:
10687         * frame-msw.c (mswindows_size_frame_internal):
10688         Fixed the computation of frame size and position to keep the frame
10689         within the workspace area, rather than within the physical
10690         dimensions of the screen, so that the frame doesn't overlap window
10691         manager decorations, such as the start menu and toolbar, typically
10692         at the bottom of the screen.
10693
10694         * frame.c (vars_of_frame):
10695         Changed the default frame title format under MS Windows to consist
10696         of buffername-XEmacs, which is standard under MS Windows.  I think
10697         it might be a good idea to change this everywhere because I think
10698         it is superior to the current frame title format, but this is the
10699         kind of change that is likely to cause some people to get annoyed,
10700         so I'm not making it.
10701
10702         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10703
10704         * gui-msw.c (mswindows_handle_gui_wm_command):
10705         Fixed compile warnings.
10706
10707         * gui-x.c:
10708         * gui-x.c (strdup_and_add_accel):
10709         * gui-x.c (button_item_to_widget_value):
10710         * gui-x.h:
10711         Added code to automatically put an accelerator onto the beginning
10712         of menu items that don't have one as is now the standard, and is
10713         described more later.  Also fixed things so that the menu item
10714         name can be an evaluated expression, again a new standard.
10715
10716         * gui.c:
10717         * gui.c (gui_item_add_keyval_pair):
10718         * gui.c (make_gui_item_from_keywords_internal):
10719         * gui.c (gui_add_item_keywords_to_plist):
10720         * gui.c (gui_item_accelerator):
10721         * gui.c (gui_name_accelerator):
10722         * gui.c (gui_item_included_p):
10723         * gui.c (gui_item_display_flush_left):
10724         * gui.c (gui_item_display_flush_right):
10725         * gui.c (parse_gui_item_tree_item):
10726         * gui.c (parse_gui_item_tree_children):
10727         * gui.c (parse_gui_item_tree_list):
10728         Mule-ized.  Cleanup.  GCPRO addition.
10729
10730         * line-number.c (buffer_line_number):
10731         * lisp.h:
10732         * lisp.h (EMACS_INT_MAX):
10733         Added the manifest constant EMACS_INT_MIN corresponding to the
10734         existing constant EMACS_INT_MAX.  This is partially to fix compile
10735         warnings under Windows, and partly for cleanliness.
10736
10737         * menubar-msw.c:
10738         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10739         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10740         * menubar-msw.c (displayable_menu_item):
10741         * menubar-msw.c (populate_menu_add_item):
10742         * menubar-msw.c (populate_or_checksum_helper):
10743         * menubar-msw.c (populate_menu):
10744         * menubar-msw.c (update_frame_menubar_maybe):
10745         * menubar-msw.c (prune_menubar):
10746         * menubar-msw.c (msw_char_is_accelerator):
10747         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10748         * menubar-msw.c (mswindows_handle_wm_command):
10749         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10750         * menubar-msw.c (mswindows_handle_wm_initmenu):
10751         * menubar-msw.c (mswindows_update_frame_menubars):
10752         * menubar-msw.c (mswindows_free_frame_menubars):
10753         * menubar-msw.c (mswindows_popup_menu):
10754         Fixed a bug in handling accelerators where an extra character
10755         would be displayed in the menu item.  Also generalized the
10756         function displayable_menu_item because it is now used by the
10757         dialog box code as well.  And finally, added code in the functions
10758         that create the menubar to extract a list of accelerators for the
10759         top level menubar, which is used in the event code to determine
10760         whether a particular alt-key combination should be used to invoke
10761         a menu item, or should be passed through to access the standard
10762         XEmacs keymap binding for this key combination.
10763
10764         Much needed GCPROing.
10765
10766         * menubar-x.c:
10767         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10768         * menubar-x.c (menu_item_descriptor_to_widget_value):
10769         * menubar-x.c (restore_in_menu_callback):
10770         * menubar-x.c (x_popup_menu):
10771         * menubar-x.c (menu_move_up):
10772         * menubar-x.c (menu_move_down):
10773         * menubar-x.c (menu_move_left):
10774         * menubar-x.c (menu_move_right):
10775         * menubar-x.c (menu_select_item):
10776         * menubar-x.c (command_builder_operate_menu_accelerator):
10777         * menubar-x.c (menu_accelerator_junk_on_error):
10778         * menubar-x.c (command_builder_find_menu_accelerator):
10779         * menubar-x.c (Faccelerate_menu):
10780         * menubar.h:
10781         Moved a whole bunch of code here that was previously in
10782         event-stream.c as described above.  There is also code connected
10783         to the new standard of adding an accelerator to the beginning of
10784         menu items that don't have one as described above and below.
10785
10786         * menubar.c:
10787         * menubar.c (menu_parse_submenu_keywords):
10788         * menubar.c (Fmenu_find_real_submenu):
10789         * menubar.c (Fnormalize_menu_item_name):
10790         * menubar.c (syms_of_menubar):
10791         * menubar.c (vars_of_menubar):
10792         * menubar.c (complex_vars_of_menubar):
10793
10794         a) Cleaned up a bunch of documentation and improved it.
10795
10796         b) XEmacs now automatically adds an accelerator onto the beginning
10797         of any menu items that don't have one.  I did this because there
10798         will inevitably be some menu items on the main menubar that don't
10799         have accelerators on them because the package that adds that
10800         particular menu item hasn't yet been fixed up to have accelerators
10801         in them and it looked rather strange to have some items with and
10802         some items without accelerators, especially since even in items
10803         without accelerators, you can, at least under windows, still
10804         access the item through an accelerator corresponding to the first
10805         character in the item's name.  If people don't like this behavior,
10806         I can add a variable to turn it off optionally, but I'm not sure
10807         this is a good idea because we really do need to have accelerators
10808         on all of the menu items, and if a package doesn't like the
10809         accelerators being put on the first character, then it should put
10810         the accelerators where they belong.
10811
10812         c) I made a behavior change, which is that the descriptor that
10813         specifies the text of the menu item, which formerly was just a
10814         string, can now also be an evaluated expression.  This makes this
10815         descriptor parallel with all of the others, which could also be
10816         evaluated expressions.  This also obviates the need for the
10817         keyword :label, which was previously listed in the documentation
10818         as unimplemented, and which was for the same purpose.
10819
10820         d) GCPROing.
10821
10822         * ntproc.c:
10823         * ntproc.c (new_child):
10824         * ntproc.c (sys_spawnve):
10825         * ntproc.c (find_child_console):
10826         * ntproc.c (sys_kill):
10827         Fixed compile warnings.  By the way, this file should really go
10828         away entirely, and this will happen as soon as Kirill makes his
10829         final round of process cleanups, which affect the function
10830         call-process.
10831
10832         * process-nt.c:
10833         * process-nt.c (struct nt_process_data):
10834         * process-nt.c (find_process_from_pid):
10835         * process-nt.c (send_signal_the_nt_way):
10836         * process-nt.c (enable_child_signals):
10837         * process-nt.c (find_child_console):
10838         * process-nt.c (send_signal_the_95_way):
10839         * process-nt.c (nt_finalize_process_data):
10840         * process-nt.c (ensure_console_window_exists):
10841         * process-nt.c (nt_create_process):
10842         * process-nt.c (nt_kill_child_process):
10843         * process-nt.c (nt_kill_process_by_pid):
10844         * process-nt.c (nt_open_network_stream):
10845         * process-nt.c (vars_of_process_nt):
10846         Copied over code from Emacs 20.5 to correctly send signals to sub-
10847         processes under Windows 95.  Also added code to automatically
10848         create and hide console window when a sub-process is created under
10849         Windows 95, which obviates the need for the separate runemacs.exe
10850         executable, and finally implemented some variables that were
10851         implemented in Emacs 20.5, but previously not in XEmacs.  These
10852         include mswindows- start-process-share-console and
10853         mswindows-start-process-inherit-error-mode. (Both of these only
10854         apply to Windows 95.)
10855
10856         * regex.c (regex_compile): Fixed a compile warning.
10857
10858         * select-msw.c:
10859         * select-msw.c (mswindows_own_selection):
10860         * select-msw.c (mswindows_get_foreign_selection):
10861         * select-msw.c (mswindows_disown_selection):
10862         * select-msw.c (console_type_create_select_mswindows):
10863         * select-msw.c (syms_of_select_mswindows):
10864         Cleaned up the file and implemented the device method
10865         selection_exists_p, which had accidentally been left out.  Also
10866         removed four lisp functions that were remnants from before the
10867         time when the selection code was properly device abstracted.
10868         These functions are no longer needed because there are generic
10869         equivalents, and because they were added recently and don't exist
10870         in FSF Emacs, I don't think there's any problem with just deleting
10871         them.
10872
10873         * sysdep.c:
10874         * sysdep.c (sys_subshell):
10875         Fixed a compile warning, although in this case there's probably
10876         something wrong with this code, and it ought to be looked into
10877         more thoroughly by somebody who understands it.
10878
10879         * window.c:
10880         * window.c (Fwindow_text_area_height):
10881         * window.c (Fwindow_width):
10882         * window.c (Fwindow_full_width):
10883         * window.c (Fwindow_pixel_width):
10884         * window.c (debug_print_window):
10885         * window.c (syms_of_window):
10886         Added functions window-text-area-height and window-full-width,
10887         which are functions for returning various width and height
10888         characteristics of a window. (One of these functions is necessary
10889         for making the file dialog box work correctly, and the other one
10890         was added for completeness.)  Also added a table to the
10891         documentation for window-height which describes the entire scheme
10892         for accessing width and height characteristics of a window.
10893
10894 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10895
10896         * nt.c (fstat): Added a comment for another problem with
10897         non-encapsulated [f]stat(), reported by Adrian Aichner
10898         <aichner@ecf.teradyne.com>.
10899
10900 2000-03-11  Andy Piper  <andy@xemacs.org>
10901
10902         * window.c (make_dummy_parent): initialize subwindow instance
10903         cache.
10904         (Fset_window_configuration): zero extent_modiff.
10905
10906 2000-03-10  Andy Piper  <andy@xemacs.org>
10907
10908         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10909         more changes can be triggered.
10910         (Fredisplay_frame): ditto.
10911         (Fredraw_device): ditto.
10912         (Fredisplay_device): ditto.
10913         (redisplay_frame): make non-static.
10914         (redisplay_frame): call update_frame_gutter_geometry outside of
10915         display proper.
10916
10917         * gutter.h: declare update_frame_gutter_geometry.
10918
10919         * redisplay.h: declare redisplay_frame.
10920
10921         * gutter.c (update_frame_gutter_geometry): move geometry changes
10922         in update_frame_gutters here. Geometry changes can only occur
10923         outside of redisplay.
10924         (update_frame_gutters): remove geometry change code.
10925         (Fredisplay_gutter_area): make sure that we are in display when we
10926         update and that we have flushed any size changes.
10927
10928 2000-03-11  Andy Piper  <andy@xemacs.org>
10929
10930         * alloc.c (pdump_dump_data): remove i & count shadows.
10931
10932 2000-02-27  Mike Alexander  <mta@arbortext.com>
10933
10934         * sysdep.h: Declare pdump_read_file
10935
10936         * sysdep.c (pdump_read_file): New function
10937
10938         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10939         dump data
10940
10941 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10942
10943         * lrecord.h: add `lrecord_type_pgsetenv'.
10944
10945 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10946
10947         * symsinit.h: declare (vars|syms)_of* functions.
10948         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10949
10950 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10951
10952         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10953
10954         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10955         GCCs.
10956
10957         * emacs.c (main_1): Call postgres initialization code.
10958
10959         * postgresql.h: New file.  PostgreSQL RDBMS support.
10960         * postgresql.c: New file.
10961
10962 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10963
10964         * redisplay-output.c (redisplay_output_display_block): Disable
10965         redundant code.
10966
10967 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10968
10969         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10970         (Fcanna_henkan_next): Ditto.
10971         (Fcanna_bunsetu_henkou): Ditto.
10972         (Fcanna_henkan_kakutei): Ditto.
10973         (Fcanna_henkan_end): Ditto.
10974         (Fcanna_henkan_quit): Ditto.
10975         (Fcanna_henkan_next): Set retun value correctly.
10976         (c2mu): Use unsigned char instead of signed char.
10977
10978 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10979
10980         * emacs.c (main_1): Always call syms_of_gui.
10981         * inline.c: include gui.h
10982
10983 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10984
10985         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10986         converted to Lisp_Object.
10987         (Qtop_bottom): New variable.
10988         (syms_of_redisplay): Initialize it.
10989         * redisplay.h (Vvisible_bell): Ditto.
10990         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10991         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10992         only flash top and bottom.
10993
10994 2000-03-08  Andy Piper  <andy@xemacs.org>
10995
10996         * buffer.c (Frename_buffer): record new buffer name the right way.
10997
10998 2000-03-08  Andy Piper  <andy@xemacs.org>
10999
11000         * glyphs.c (update_subwindow): increase hash depth so that widget
11001         items get picked up properly.
11002
11003         * redisplay-output.c (compare_runes): increase hash depth so that
11004         widget items get picked up properly.
11005
11006 2000-03-08  Andy Piper  <andy@xemacs.org>
11007
11008         * gutter.c (output_gutter): add some debug.
11009
11010         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
11011         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
11012         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
11013
11014         * redisplay-output.c (compare_runes): use display_hash to
11015         determine if glyphs really are not the same.
11016
11017         * glyphs.c (update_subwindow): check display_hash to see if
11018         anything really needs to be updated. If not then do
11019         nothing. Record the display_hash after updating.
11020         (image_instance_equal): compare the image_instance face also.
11021
11022 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
11023
11024         * redisplay.h: Fix comment style.
11025
11026 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11027
11028         * consle-msw.h (struct mswindows_frame):
11029         Added new member paint_pending to indicate whether a WM_PAINT
11030         magic event has been queued for this frame.
11031
11032         * event-msw.c (mswindows_drain_windows_queue):
11033         Don't queue a WM_PAINT magic event if one is already queued.
11034         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
11035
11036         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
11037
11038 2000-03-07  Didier Verna  <didier@xemacs.org>
11039
11040         * dired.c: #include `regex.h' after `sysfile.h'.
11041
11042 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11043
11044         * sound.c (init_nas_sound): Fix compiler warning.
11045
11046         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11047         (FREE_STRUCT_P):
11048         (MARK_STRUCT_AS_FREE):
11049         (MARK_STRUCT_AS_NOT_FREE):
11050         Make `gcc -fstrict-aliasing' work properly.
11051
11052 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11053
11054         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11055         (mswindows_delete_device): Call CoUnnitialize().
11056
11057         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11058
11059 2000-02-25    <CraigL@DyCon.com>
11060
11061         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11062         <errno.h>.
11063
11064         * sysdep.c: This extern declaration for environ prevents MinGW
11065         from finding the variable in CRTDLL.DLL.
11066
11067         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11068         windows headers.
11069         (SHGFI_EXETYPE): ..
11070         (WM_MOUSEWHEEL): ..
11071         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11072         definitions.
11073         (MMRESULT): Removed, now defined in cygwin's windows headers.
11074         (TIMECAPS): ..
11075         (uid_t,gid_t,pid_t,ssize_t): ..
11076         (_timeb): Removed, MinGW defines both _timeb and timeb.
11077         (HAVE_H_ERRNO): Added.
11078         (HAVE_TZNAME): Added, configure is not detecting this.
11079
11080 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11081
11082         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11083         * syntax.c (syntax_match): Use it.
11084
11085         * cmds.c: Import auto-fill-chars from FSF Emacs.
11086         (Vauto_fill_chars): New variables.
11087         (internal_self_insert): Check Vauto_fill_chars.
11088         (vars_of_cmds):
11089         Declare auto-fill-chars as a Lisp variable and initialize it.
11090
11091 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11092
11093         * fileio.c (Fmake_symbolic_link):
11094         (Ffile_symlink_p):
11095         Run handlers even if local machine doesn't have symlinks.
11096
11097 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11098
11099         * event-msw.c (mswindows_drain_windows_queue):
11100         Don't generate paint magic events for non-XEmacs frames.
11101
11102 2000-03-05  Andy Piper  <andy@xemacs.org>
11103
11104         * redisplay.c (redisplay_frame): generate_displayable_area and
11105         friends assumes that we are not in GC, we therefore have to make
11106         sure that this doesn't happen.
11107
11108         * gutter.c (calculate_gutter_size): generate_displayable_area
11109         assumes that we are not in GC, we therefore have to make sure that
11110         this doesn't happen.
11111
11112 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11113
11114         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11115
11116 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11117
11118         * redisplay.c (regenerate_window): Make sure we set a sane value
11119         for end_pos even if we jump out of the loop.
11120         (regenerate_window): Answer Ben's question :-).
11121         (start_end_of_last_line): Add may_error argument.
11122         (start_of_last_line):
11123         (end_of_last_line): Pass may_error = 0.
11124         (end_of_last_line_may_error): New function.
11125         (pixel_to_glyph_translation): Use it, so we don't crash in
11126         event_to_glyph.
11127
11128 2000-03-04  Andy Piper  <andy@xemacs.org>
11129
11130         * window.h (struct window): add gutter_extent_modiff.
11131
11132         * window.c (allocate_window): zero out gutter_extent_modiff.
11133
11134         * redisplay.h: declare sync_display_line_structs.
11135
11136         * redisplay.c (add_glyph_rune): add a better comment.
11137
11138         * redisplay-output.c (sync_display_line_structs): made non-static.
11139         (compare_runes): remove unneccesary glyph cachel access.
11140
11141         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11142
11143         * gutter.c (output_gutter): don't output the gutter if extent
11144         changes only involve extents in buffers. use 4 sets of display
11145         lines.
11146         (gutter_extent_signal_changed_region_maybe): new function. Mark
11147         extents in gutters as changed.
11148         (update_frame_gutters): use 4 sets of display lines.
11149         (reset_gutter_display_lines): ditto.
11150         (free_frame_gutters): ditto.
11151         (redraw_exposed_gutter): force output of gutters.
11152
11153         * frame.h (struct frame): add 4 sets of gutter display lines.
11154
11155         * extents.c: (extent_changed_for_redisplay): signal changes to
11156         extents in strings in the gutter as well as extents in buffers.
11157
11158 2000-03-02  Andy Piper  <andy@xemacs.org>
11159
11160         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11161
11162         * frame.c (Fmake_frame): make sure the gutters get initialized
11163         after the frame is visible.
11164         (set_frame_selected_window): re-arrange compilation macros a
11165         little.
11166         (change_frame_size_1): mark gutters changed.
11167
11168         * device.c (Fset_device_class): mark gutters changed.
11169
11170 2000-03-01  Andy Piper  <andy@xemacs.org>
11171
11172         * window.c (window_top_frame_gutter_height): deleted.
11173         (window_bottom_frame_gutter_height): ditto.
11174         (window_left_frame_gutter_height): ditto.
11175         (window_right_frame_gutter_height): ditto.
11176         (window_top_gutter_height): don't use them.
11177         (window_bottom_gutter_height): ditto.
11178         (window_left_gutter_width): ditto.
11179         (window_right_gutter_width): ditto.
11180         (Fsplit_window): ditto.
11181         (Fwindow_pixel_edges): don't use border dimensions here.
11182
11183         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11184         (update_scrollbar_instance): ditto.
11185
11186         * redisplay.c (generate_modeline): don't take gutters into account.
11187         (generate_modeline): ditto.
11188         (redisplay_frame): small gutter display optimization.
11189
11190         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11191
11192         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11193         gutters into account.
11194
11195         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11196         for window position and type.
11197
11198         * gutter.c (get_gutter_coords): fix for frame gutters.
11199         (update_frame_gutters): update frame geometry if the gutters have
11200         changed.
11201         (init_frame_gutters): record current gutter geometries.
11202
11203         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11204         var.
11205         (mswindows_widget_instantiate): ditto.
11206
11207         * frame.h (struct frame): add current_gutter_bounds.
11208
11209         * frame.c (change_frame_size_1): position window and minibuffer
11210         appropriately taking into account the frame gutters.
11211
11212         * frame-x.c: (x_initialize_frame_size): take into account the
11213         frame gutters.
11214
11215 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11216
11217         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11218
11219 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11220
11221         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11222
11223 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11224
11225         * file-coding.c (reset_decoding_stream): Clear previous
11226         detection state when autodetect.
11227
11228 2000-02-29  Didier Verna  <didier@xemacs.org>
11229
11230         * extents.c (set_extent_glyph_1): don't require extents to be
11231         attached.
11232
11233 2000-02-27  Andy Piper  <andy@xemacs.org>
11234
11235         * gutter.c (Fset_default_gutter_position): don't default left and
11236         right gutter visibility to t.
11237         (Fset_default_gutter_position): run
11238         default-gutter-position-changed-hook.
11239         (syms_of_gutter): add default-gutter-position-changed-hook.
11240
11241 2000-02-26  Andy Piper  <andy@xemacs.org>
11242
11243         * specifier.c (Fmake_specifier): add gutter references.
11244
11245         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11246
11247         * lisp.h: declare Fvalid_plist_p.
11248
11249         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11250         as changed.
11251         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11252         well as its visibility so that it gets reconstructed.
11253         (construct_window_gutter_spec): new function. Construct a string
11254         to be displayed in the gutter from a plist of strings. Take care
11255         to only use elements that are declared as visible.
11256         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11257         WINDOW_GUTTER.
11258         (gutter_validate): allow plists of strings in the specifier.
11259         (gutter_specs_changed): construct the real_gutter from the gutter
11260         specs using construct_window_gutter_spec.
11261         (gutter_visible_validate): gutter-visible is a new specifier type.
11262         (Fgutter_visible_specifier_p): new function for the new specifier.
11263         (syms_of_gutter): declare gutter-visible and
11264         Fgutter_visible_specifier_p.
11265         (specifier_type_create_gutter): intitalize new gutter-visible
11266         specifier.
11267         (reinit_specifier_type_create_gutter): ditto.
11268         (specifier_vars_of_gutter): use new specifier type for gutter
11269         visibility.
11270         (init_frame_gutters): construct real_gutter correctly.
11271         (Fgutter_specifier_p): beef up documentation.
11272         (Fgutter_size_specifier_p): ditto.
11273
11274         * winslots.h: add real_gutter slots.
11275
11276 2000-02-25  Andy Piper  <andy@xemacs.org>
11277
11278         * device-msw.c: Be kind to older cygwin versions. From Raymond
11279         Toy <toy@rtp.ericsson.se>.
11280
11281         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11282         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11283
11284 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11285
11286         * elhash.c (MARK_OBJ): Practice macro hygiene.
11287
11288 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11289
11290         * miscplay.c: s/__inline__/inline/g;
11291         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11292         (get_device_compdc): INLINE ==> static inline
11293         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11294         find -name '*.h' | \
11295         xargs global-replace \
11296         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11297
11298 2000-02-25  Andy Piper  <andy@xemacs.org>
11299
11300         * window.c (window_top_frame_gutter_height): new function.
11301         (window_top_window_gutter_height): ditto.
11302         (window_top_gutter_height): use them.
11303         (window_bottom_frame_gutter_height): new function.
11304         (window_bottom_window_gutter_height): ditto.
11305         (window_bottom_gutter_height): use them.
11306         (window_left_window_gutter_width): new function.
11307         (window_left_frame_gutter_width): ditto.
11308         (window_left_gutter_width): use them.
11309         (window_right_window_gutter_width): new function.
11310         (window_right_frame_gutter_width): ditto.
11311         (window_right_gutter_width): use them.
11312         (window_pixel_height): new function. calulate window pixel height
11313         with frame gutter involvement.
11314         (Fsplit_window): calculate new sizes taking frame gutters into
11315         account.
11316         (window_char_height_to_pixel_height): don't include frame gutters.
11317         (window_char_height): use window_pixel_height.
11318         (window_pixheight): rename from window_pixel_height.
11319         (change_window_height): use it.
11320         (window_pixel_height_to_char_height): don't include frame gutters.
11321         (window_char_width_to_pixel_width): ditto.
11322
11323 2000-02-25  Andy Piper  <andy@xemacs.org>
11324
11325         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11326         if it is.
11327
11328 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11329
11330         * alloc.c (staticpro):
11331         (staticpro_nodump):
11332         (dumpstruct):
11333         (dumpopaque):
11334         (pdump_wire):
11335         (pdump_wire_list):
11336         (compact_string_chars):
11337         (pdump_dump_wired):
11338         Convert:  if (foo) abort();  ==>  assert (! foo);
11339
11340         * eldap.c (Fldap_search_basic):
11341         (Fldap_add):
11342         (Fldap_modify):
11343         (Fldap_delete):
11344         Fix compiler warnings, and possible crashes if (random) return
11345         value were to be used.
11346
11347 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11348
11349         * device-msw.c: Workaround ResetDC failure.
11350
11351         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11352         applying a devmode.
11353
11354         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11355         (mswindows_text_width): Do not start printer page.
11356
11357         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11358
11359         * glyphs-msw.c: Added image methods to msprinter console and
11360         msprinter-specific image instantiation.
11361
11362 2000-02-20  Mike Alexander  <mta@arbortext.com>
11363
11364         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11365         to avoid crashes when selection-sets-clipboard is on
11366         (mswindows_own_selection): ditto
11367
11368 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11369
11370         * glyphs-msw.c:
11371         * redisplay-msw.c (get_frame_dc):
11372         (get_frame_compdc):
11373         * console-msw.h:
11374         * device-msw.c (mswindows_init_device):
11375         (mswindows_delete_device):
11376         (msprinter_init_device):
11377         (msprinter_delete_device):
11378         * frame-msw.c (mswindows_init_frame_1):
11379         (mswindows_delete_frame):
11380         (msprinter_init_frame_3):
11381         (msprinter_delete_frame): Move compatible DC to device object from
11382         frame object, for both mswindows and msprinter. Only one at a time
11383         is needed, it is a real waste to have one per frame!
11384
11385 2000-02-23  Andy Piper  <andy@xemacs.org>
11386
11387         * glyphs.c: add dynamic width and height elements.
11388         (image_instance_equal): ditto.
11389
11390         * glyphs-widget.c (widget_query_geometry): calculate width and
11391         height dynamically if required.
11392         (initialize_widget_image_instance): initialize dynamic dimensions.
11393         (widget_instantiate): pick-up dynamic dimensions.
11394
11395         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11396         dynamic determination. Add appropriate macros.
11397
11398         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11399         dimensions safe.
11400         (WINDOW_GUTTER_SIZE): ditto.
11401         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11402
11403         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11404         inline.
11405         (get_frame_dc): ditto.
11406
11407         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11408         here.
11409
11410 2000-02-23  Martin Buchholz <martin@xemacs.org>
11411
11412         * XEmacs 21.2.31 is released.
11413
11414 2000-02-22  Ben Wing <ben@xemacs.org>
11415
11416         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11417
11418 2000-02-22  Andy Piper  <andy@xemacs.org>
11419
11420         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11421
11422 2000-02-21  Mike Sperber <mike@xemacs.org>
11423
11424         * .dbxrc:
11425         * .gdbinit:
11426         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11427         variables.
11428
11429 2000-02-21  Mike Sperber <mike@xemacs.org>
11430
11431         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11432
11433 2000-02-21  Martin Buchholz <martin@xemacs.org>
11434
11435         * XEmacs 21.2.30 is released.
11436
11437 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11438
11439         Performance hacking.
11440         * *.c (syms_of_*):
11441         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11442         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11443         * emacs.c (main_1):
11444         * lisp.h (DEFUN):
11445         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11446         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11447         * symeval.h (DEFVAR_SYMVAL_FWD):
11448         * symbols.c (guts_of_unbound_marker):
11449         Make all c_readonly objects also lisp_readonly and marked for life.
11450         * lrecord.h (struct lrecord_implementation):
11451         Document flags better.
11452         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11453         * lrecord.h (DECLARE_LRECORD):
11454         * lrecord.h (XSETRECORD):
11455         * lrecord.h (RECORDP):
11456         * lrecord.h (RECORD_TYPEP):
11457         * lrecord.h (RECORD_MARKER): New.
11458         * lrecord.h (error_check_*):
11459         * lrecord.h (CONCHECK_NONRECORD):
11460         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11461         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11462         * lrecord.h (set_lheader_implementation):
11463         * lrecord.h (enum lrecord_type): New.
11464         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11465         * alloc.c (disksave_object_finalization_1):
11466         * alloc.c (mark_object):
11467         * alloc.c (lrecord_type_index):
11468         * alloc.c (tick_lcrecord_stats):
11469         * alloc.c (Fgarbage_collect):
11470         * alloc.c (init_alloc_once_early):
11471         * alloc.c (pdump_load):
11472         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11473         * alloc.c (lrecord_type_index): Delete.
11474         Make lisp object type indexes be constant.
11475           Makes (byte-compile) 5% faster.
11476         Put all marker functions into their own array.
11477           Makes (garbage-collect) 5% faster.
11478         Optimize SYMBOL_VALUE_MAGIC_P.
11479           Makes (byte-compile) 2-3% faster.
11480         * config.h.in (gc_checking_assert): New.
11481         * alloc.c: Use gc_checking_assert().
11482         * .dbxrc: Make compatible with new object type implementation.
11483         * .gdbinit: Make compatible with new object type implementation.
11484         * alloc.c: Delete all symbols defined only for debugging, such as
11485         Lisp_Type_Vector and lrecord_charset.
11486
11487 2000-02-21  Andy Piper  <andy@xemacs.org>
11488
11489         * gui-msw.c (Fmswindows_shell_execute): fix file location
11490         problems.
11491
11492         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11493         unshowing so that set_window_buffer doesn't undo
11494         kill_buffer_hook's hard work.
11495
11496         * glyphs-widget.c (tab_control_query_geometry): don't count the
11497         first item when calculating geometry.
11498
11499         * glyphs.c (map_subwindow): remove redundant code.
11500         (update_frame_subwindows): be more circumspect about when to
11501         update subwindows.
11502
11503         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11504         when items haven't changed. Update faces if faces have changed as
11505         well as just the widget face.
11506         (x_tab_control_update): Update faces if faces have changed as well
11507         as just the widget face.
11508
11509 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11510
11511         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11512         registration.
11513         (build_syscolor_string): Use mswindows_color_to_string to try to
11514         get a named color.
11515         (mswindows_device_system_metrics): Reverse the foreground and
11516         background colors so that they match the documentation.
11517
11518         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11519         they match the default Windows palette.
11520         (mswindows_color_to_string): New function.
11521
11522 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11523
11524         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11525
11526 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11527
11528         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11529         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11530
11531         * symbols.c (init_symbols_once_early): Removed obsolete
11532         DATA_SEG_BITS related kludge.
11533         (defvar_magic): Ditto.
11534
11535         * malloc.c: Removed obsolete DATA_SEG_BITS
11536         * ralloc.c: Ditto.
11537         * mem-limits.h: Ditto.
11538
11539         * Makefile.in.in: Removed obsolete HAVE_SHM
11540         * emacs.c: Ditto.
11541
11542 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11543
11544         *  device-msw.c (mswindows_delete_device): Free DDE string
11545         handles.
11546
11547 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11548
11549         * keymap.c (get_keyelt):
11550         * unexnt.c (unexec):
11551         * vm-limit.c (memory_warnings):
11552         * ntheap.c (recreate_heap):
11553         * ntheap.h (UNINIT_PTR):
11554         * select-msw.c (Fmswindows_get_clipboard):
11555         (Fmswindows_set_clipboard):
11556         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11557         * objects-msw.c:
11558         * menubar-msw.c (displayable_menu_item):
11559         * glyphs-msw.c:
11560         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11561         * sysdep.c (sys_subshell):
11562         * process-nt.c (nt_create_process):
11563         * nt.c (normalize_filename):
11564         (dostounix_filename):
11565         (unixtodos_filename):
11566         * ntproc.c (win32_executable_type):
11567         * ntplay.c (play_sound_data_1):
11568         (play_sound_file):
11569         * editfns.c (get_home_directory):
11570         * event-msw.c (struct winsock_stream):
11571         (mswindows_dde_callback):
11572         * device-msw.c (msprinter_init_device):
11573         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11574
11575         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11576         mswindows_clear_toolbar were swapped!
11577
11578         * objects-msw.c:(colormap_t):
11579         (fontmap_t):
11580         * emacs.c (struct standard_args): Fixed const jumble.
11581
11582         * glyphs-widget.c (update_widget): Fixed comparison notation.
11583
11584         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11585
11586         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11587         __declspec(noreturn) syntax.
11588
11589 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11590
11591         * eldap.c (Fldap_open):
11592         (Fldap_search_basic):
11593         (Fldap_add):
11594         (Fldap_modify):
11595         Use new coding system conversion macros.
11596
11597 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11598
11599         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11600
11601 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11602
11603         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11604         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11605
11606         * eldap.c (Qadd, Qreplace): New constant symbols
11607         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11608         interruptions by XEmacs signals
11609         Remove unnecessary calls to slow_down_interrupts and
11610         speed_up_interrupts
11611         (Fldap_search_basic): Renamed from Fldap_search_internal
11612         Added new optional parameter VERBOSE that triggers the
11613         display of progress messages
11614         Remove unnecessary calls to slow_down_interrupts and
11615         speed_up_interrupts
11616         LDAP result code analysis rewritten
11617         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11618         (syms_of_eldap): Define the new symbols and functions
11619
11620
11621 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11622
11623         * realpath.c: Determine PATH_MAX maximally portably.
11624
11625         * insdel.c (bytecount_to_charcount): Optimize.
11626         The function used to be optimized for entirely ASCII sequences.
11627         Now it is optimized for successive characters from the same
11628         charset.  This also wins big for _mostly_ ASCII sequences.
11629
11630         * fileio.c (Ffile_truename): convert return from realpath() using
11631         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11632         - Rewrite GCPROing slightly.
11633
11634         * sysdep.c (sys_open): Do filename conversion, like all other
11635         sys_* functions.  Fixes bug:
11636         (let ((file-name-coding-system 'iso-8859-2))
11637            (write-region x y latin2-name))
11638         ==> writes filename using internal encoding.
11639
11640 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11641
11642         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11643         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11644         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11645         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11646         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11647         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11648         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11649         (CONST_IF_NOT_DEBUG): Delete.
11650         * alloc.c (this_one_is_unmarkable): Delete.
11651         (mark_object): Don't check for this_one_is_unmarkable. Use the
11652         c_readonly flag instead.
11653         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11654
11655 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11656
11657         * event-msw.c (mswindows_drain_windows_queue):
11658         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11659         away redundant repaint events.
11660
11661 2000-02-17  Andy Piper  <andy@xemacs.org>
11662
11663         * redisplay.h: declare mark_redisplay_structs.
11664
11665         * redisplay.c (redisplay_window):
11666         (redisplay_frame): don't check subwindows_state_changed.
11667         (mark_redisplay): mark gutters here.
11668
11669         * glyphs.c: (instantiate_image_instantiator): always layout if we
11670         haven't done so already.
11671         (allocate_image_instance): don't mark as dirty.
11672         (update_subwindow): bind inhibit_quit.
11673
11674         * gutter.c (mark_gutters): new function.
11675
11676         * glyphs-x.c (x_update_widget): Always resize to get round a
11677         widget bug.
11678
11679         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11680         breaking absolutely everything.
11681
11682         * gutter.h: declare mark_gutters.
11683
11684 2000-02-16  Martin Buchholz <martin@xemacs.org>
11685
11686         * XEmacs 21.2.29 is released.
11687
11688 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11689
11690         * fns.c (size_bit_vector): Fix computation of the size.
11691
11692 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11693
11694         * *.[ch]: Change CONST to const globally.
11695         find -name '*.[ch]' | \
11696         xargs global-replace \
11697         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11698         - Remove vestigial references to CONST_IS_LOSING
11699
11700 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11701
11702         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11703         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11704         events instead of dispatching them directly.
11705         (mswindows_handle_paint): New function to do repainting.
11706         (mswindows_wnd_proc):
11707         (emacs_mswindows_handle_magic_event): Call above function.
11708
11709 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11710
11711         * objects-msw.c (mswindows_create_font_variant): Return the new
11712         font handle.
11713         (initialize_font_instance): Get font metrics from the underlined
11714         variant of the font to cope with the case where the underlined
11715         font has a bigger descent.
11716
11717 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11718
11719         * gui.c (gui_item_accelerator): Return the first underlined
11720         character in item name.
11721
11722 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11723
11724         * lisp.h: Added Qprinter.
11725
11726         * general.c (syms_of_general): Initialized it.
11727
11728         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11729         (get_frame_dc):
11730         (get_frame_compdc): Made inline.
11731
11732         * console.h (struct console_methods): Added eject_page method.
11733
11734         * frame.h: Added FRAME_DISPLAY_P and friends.
11735         Aligned backslahes in many macros in more readable fashion.
11736         Added page_number to struct frame, and an accessor macro
11737         for it.
11738
11739         * defice.h: Added DEVICE_DISPLAY_P and friends.
11740
11741         * device.c (Fdevice_printer_p): Used these.
11742
11743         * frame.c (allocate_frame_core): Initialize page number.
11744         (Fprint_job_page_number):
11745         (Fprint_job_eject_page): Implemented.
11746
11747         * frame-msw.c (msprinter_eject_page): Added method.
11748         (msprinter_start_page): Added.
11749
11750         * window.c (Fwindow_truncated_p): Fixed docstring.
11751         (Fwindow_last_line_visible_height): Implemented.
11752
11753 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11754
11755         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11756
11757 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11758
11759         * syntax.c (scan_words): Always advance at least one character.
11760
11761 2000-02-13  Andy Piper  <andy@xemacs.org>
11762
11763         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11764         to make sure the glyph is in the cachels.
11765
11766         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11767         global image instance flag.
11768         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11769         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11770
11771         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11772         (Fset_image_instance_property): mark layout as changed.
11773         (invalidate_glyph_geometry_maybe): mark layout as changed.
11774         (glyph_width): use new NEEDS_LAYOUT macro.
11775         (glyph_ascent): ditto.
11776         (glyph_descent): ditto.
11777         (glyph_height): ditto.
11778         (image_instance_layout): mark layout as clean after laying out.
11779         (update_subwindow): don't mark layout as clean here.
11780
11781         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11782         should no longer be needed.
11783
11784         * glyphs-x.c (x_update_widget): sanitize asserts.
11785         (x_finalize_image_instance): sanitize assignment to widgets.
11786
11787         * glyphs-widget.c (widget_instantiate): don't need to clear the
11788         layout flag here.
11789
11790 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11791
11792         * sysdep.c (getcwd): Use standard prototype.
11793         * sysdep.h (getcwd): Use standard prototype.
11794
11795         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11796         (sequence, start, end).
11797         Remove redundant type checking.
11798         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11799         view of `caller-protects') to avoid a crash where the real fix was
11800         found elsewhere.
11801
11802 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11803
11804         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11805
11806         * s/sol2.h: Remove feature macro initialization.
11807
11808         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11809         (vector_hash): New.  Code from internal_hash.
11810         * lrecord.h:
11811         Fix up allocation subsystem comments.
11812
11813         * config.h.in: Add __EXTENSIONS__ for Solaris.
11814
11815         * systime.h (EMACS_GETTIMEOFDAY): New.
11816         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11817         Remove Solaris-specific code.
11818         Use void* for the (ignored) second arg for gettimeofday().
11819
11820         * elhash.c (hash_table_hash): Implement it, finally.
11821         * elhash.c:  Use hashcode_t.
11822
11823         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11824         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11825
11826         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11827         * fns.c (size_bit_vector):
11828         * alloc.c (size_vector):
11829         (make_vector_internal):
11830         (make_bit_vector_internal):
11831         (sweep_bit_vectors_1):
11832         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11833
11834 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11835
11836         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11837         Include strings.h to avoid warnings for bzero and strcasecmp.
11838
11839 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11840
11841         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11842         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11843
11844         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11845         sequence.
11846
11847 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11848
11849         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11850         use a value field instead.
11851         (symbol_value_forward_forward): Use value field.
11852         (DEFVAR_SYMVAL_FWD): Use value field.
11853         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11854         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11855         (DEFVAR_CONST_INT): Ditto.
11856         (DEFVAR_BOOL): Ditto.
11857         (DEFVAR_CONST_BOOL): Ditto.
11858         (DEFVAR_INT_MAGIC): Ditto.
11859         (DEFVAR_BOOL_MAGIC): Ditto.
11860
11861         * symbols.c (guts_of_unbound_marker): Use value field.
11862         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11863         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11864
11865         * lisp.h: Declare dumpopaque and noninteractive1.
11866
11867         * alloc.c (dumpopaque): Added.
11868         (pdump_dump_opaquevec): Added.
11869         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11870         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11871         noninteractive.
11872
11873 2000-02-10  Andy Piper  <andy@xemacs.org>
11874
11875         * glyphs.c (image_instance_layout): if the size changes, mark it
11876         as such.
11877
11878         * redisplay-output.c (redisplay_output_layout): Update the
11879         subwindow here.
11880         (redisplay_output_subwindow): ditto.
11881
11882         * glyphs.c (update_subwindow): make sure we reset flags for
11883         layouts as well as everything else.
11884
11885         * glyphs-widget.c (layout_layout): don't need to set the instances
11886         dimensions here.
11887
11888 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11889
11890         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11891         not HAVE_DLOPEN, which is a lower-level thing.
11892
11893         * .cvsignore: Ignore gmon.out
11894
11895 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11896
11897         * .cvsignore: Ignore portable dumper xemacs.dmp file
11898
11899 2000-02-09  Andy Piper  <andy@xemacs.org>
11900
11901         * redisplay-output.c (redisplay_output_layout): be more clever
11902         about when we output based on the changed flags.
11903
11904         * glyphs.h (struct image_instantiator_methods): add update_method.
11905         (struct Lisp_Image_Instance): add changed flags. Declare new
11906         macros for manipulating them.
11907
11908         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11909         (image_instance_parent_glyph): find an image_instance's parent
11910         glyph or image_instance.
11911         (image_instance_layout): mark the size as changed.
11912         (set_image_instance_dirty_p): new function. mark an image
11913         instance, plus all of its parents, as dirty.
11914         (Fset_image_instance_property): use it.
11915         (Fglyph_animated_timeout_handler): use it.
11916         (update_subwindow): call update_widget and device methods for
11917         update_subwindow. Mark all changed flags as clean.
11918         (Fresize_subwindow): mark size as changed.
11919
11920         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11921         failures.
11922         (x_update_subwindow): only resize subwindows here.
11923         (x_update_widget): new function. Update all changed properties of
11924         a widget.
11925         (x_resize_subwindow): deleted.
11926         (x_widget_set_property): deleted.
11927         (x_progress_gauge_set_property): deleted.
11928         (x_progress_gauge_update): new function. Implement recorded
11929         changes.
11930         (x_tab_control_update): ditto.
11931         (x_tab_control_set_property): deleted.
11932         (console_type_create_glyphs_x): declare new functions.
11933         (image_instantiator_format_create_glyphs_x): ditto.
11934
11935         * glyphs-widget.c (widget_set_property): mark text changed.
11936         (update_widget): new function. Update properties of a widget.
11937         (widget_instantiate): for layouts make sure we set their
11938         children's parent correctly.
11939         (tab_control_set_property): new function. Record changes that will
11940         take place under redisplay's control.
11941         (progress_gauge_set_property): ditto.
11942         (image_instantiator_progress_guage): declare new functions.
11943         (image_instantiator_tab_control): ditto.
11944
11945         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11946         now.
11947         (mswindows_update_widget): new function. Update all properties on
11948         a widget that have changed.
11949         (mswindows_button_update): new function. Update a button's set
11950         state.
11951         (mswindows_tab_control_update): new function. Update the items in
11952         a tab.
11953         (mswindows_tab_control_set_property): deleted.
11954         (mswindows_progress_gauge_update): new function. Update the
11955         progress gauge's progress.
11956         (mswindows_widget_set_property): deleted. This is all done
11957         asynchronously now.
11958         (mswindows_progress_gauge_set_property): ditto.
11959         (console_type_create_glyphs_mswindows): declare new methods.
11960         (image_instantiator_format_create_glyphs_mswindows): ditto.
11961
11962         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11963         (msprinter_set_frame_properties): ditto.
11964
11965         * console.h (struct console_methods): Add update_widget_method.
11966
11967 2000-02-09  Andy Piper  <andy@xemacs.org>
11968
11969         * gui-msw.c (Fmswindows_shell_execute): Make
11970         mswindows-shell-execute industrial strength.
11971
11972 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11973
11974         * lrecord.h: Make macro argument `props' match member function `plist'.
11975         * fns.c (Fget):
11976         * fns.c (Fput):
11977         * fns.c (Fremprop):
11978         * fns.c (Fobject_plist):
11979         * alloc.c:
11980         * symbols.c:
11981         Object property list frobbing cleanup.
11982         - Allow any lisp object (compared with `eq'), not just symbols, as
11983           keys in object plists.
11984         - Move symbol plist frobbing into symbols.c, where it belongs.
11985         - Move string plist frobbing into alloc.c, where it belongs.
11986         - Everything's an lrecord now, so no need to test for symbolp, etc.
11987         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11988
11989         * extents.c: Reorder code to remove declarations.
11990
11991         * frame.h (store_in_alist): Remove useless declaration.
11992
11993 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11994
11995         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11996         * config.h.in: Add HAVE_XCONVERTCASE.
11997
11998 2000-02-07  Andy Piper  <andy@xemacs.org>
11999
12000         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
12001         it breaks many things.
12002
12003 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12004
12005         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
12006         actually can start a common comment type.
12007         * src/syntax.h (SYNTAX_END_P): ditto for end.
12008
12009 2000-02-07  Martin Buchholz <martin@xemacs.org>
12010
12011         * XEmacs 21.2.28 is released.
12012
12013 2000-02-06  Martin Buchholz  <martin@xemacs.org>
12014
12015         * event-Xt.c (x_keysym_to_character): New.
12016         (maybe_define_x_key_as_self_inserting_character): New.
12017         (x_has_keysym): New.
12018         Auto-define all keys on the keyboard as self-insert-key.
12019
12020 2000-02-02  Martin Buchholz  <martin@xemacs.org>
12021
12022         * menubar.c (vars_of_menubar): A small code simplification.
12023
12024         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
12025
12026         * ExternalShell.c:
12027         * ExternalClient.c:
12028         * EmacsShell-sub.c:
12029         * EmacsManager.c:
12030         * EmacsFrame.c:
12031         Use consistent style for specifying X resources.
12032
12033         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
12034         This makes (dontusethis-set-symbol-value-handler) actually usable.
12035
12036         * lrecord.h (lrecord_decription_type):
12037         * alloc.c (pdump_register_sub):
12038         (pdump_dump_data):
12039         (pdump_reloc_one):
12040         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12041         Comply with XEmacs coding style.
12042         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12043         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12044
12045         * keymap.c (Faccessible_keymaps):
12046         Make (accessible-keymaps map "\C-h") do the Right Thing.
12047         Make (accessible-keymaps map []) do the Right Thing.
12048         Make (accessible-keymaps map "") do the Right Thing.
12049         (check_keymap_definition_loop): New function.
12050         (keymap_store_internal): Keep luser from shooting self in foot,
12051           via (define-key ctl-x-4-map "p" global-map).
12052         Remove fullness slot from struct Lisp_Keymap, since hash tables
12053         are now reliable.
12054         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12055
12056 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12057
12058         * redisplay.c (init_redisplay): Fix small memory leak.
12059         * elhash.h:
12060         * elhash.c (pdump_reorganize_hash_table):
12061         Rename from reorganize_hash_table. Change prototype.
12062         Reuse the original memory for hentries.  Save 100k.
12063         * alloc.c (PDUMP_READ): new macro.
12064         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12065         * alloc.c: No need to #ifndef before #undef.
12066
12067         * print.c: Allow debug_print() to print readably by modifying
12068         debug_print_readably.  Use consistent variable names.
12069
12070         * .dbxrc: Try to get things to work even if stopped in a function
12071         without source available by explicitly specifying source files.
12072 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12073
12074         * unexnt.c (_start): Removed bogus code which caused loading heap
12075         from differrent executable file.
12076         Removed bogus assignment to _fmode, which caused inconsistencies.
12077
12078 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12079
12080         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12081         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12082         Do not preliminary `#define signal sigset'.
12083
12084         * systime.h: Do not prototype environ on windows nt and cygwin,
12085         this conflicts with system header.
12086
12087         * syssignal.h: Use correct define for WINDOWSNT
12088
12089         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12090         with system header.
12091
12092         * sysdep.c (near start of file): Fixed commentary and rearranged
12093         ifdefs in readable order.
12094         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12095         (start_of_text):
12096         (end_of_text):
12097         (end_of_data): Do not compile in if using PDUMP.
12098
12099         * symsinit.h: Prototyped vars_of_nt().
12100
12101         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12102         (find_child_console): Use it.
12103         (sys_kill): Use it.
12104
12105         * ntheap.h: Do not extern os_subtype.
12106
12107         * ntheap.c (cache_system_info): Do not cache unneeded:
12108         nt_major_version, nt_minor_version and os_subtype.
12109         (recreate_heap): Do not compile in when PDUMPing.
12110
12111         * nt.c (geteuid and friends): Use the new varibale
12112         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12113         (init_user_info): Removed the above mentioned hackery.
12114         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12115         stat has been fixed in the C runtime.
12116         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12117
12118         * file-coding.c (struct file_coding_dump): Do not define
12119         ucs_to_mule_table in the struct if not MULE.
12120         (struct struct lrecord_description fcd_description_1): Do not dump
12121         the above.
12122
12123         * emacs.c (main_1): Call vars_of_nt().
12124         (right before Fdump_emacs_data): Don't need lastfile if using both
12125         portabe dumper and system malloc.
12126
12127         * alloc.c (Fmemory_limit): Conditionalized out.
12128         (pdump): Use OPEN_BINARY for the portable dump file.
12129         (pdump_load): Ditto.
12130
12131 2000-02-02  Mike Alexander  <mta@arbortext.com>
12132
12133         * nt.c (convert_time): Set tm_isdst before calling mktime and
12134         avoid calling it at all if the compiler supports 64 bit integers.
12135         Also initialize utc_base_ft before using it.
12136
12137 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12138
12139         * frame.c (change_frame_size_1): Take f->internal_border_width
12140         into consideration when calculating the width of the frame.
12141
12142 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12143
12144         * window.c (frame_min_height):
12145         (frame_size_valid_p):
12146         (frame_pixsize_valid_p): Added.
12147         (check_frame_size): Generalized.
12148
12149         * window.h: Prototyped the above.
12150
12151         * lisp.h:
12152         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12153         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12154         Deleted Vwin32_* and Vbinary_process_* unused variables.
12155
12156         * device-msw.c (msprinter_init_device): Do not get printer font
12157         list; Added DEVMODE functions.
12158
12159         * frame-msw.c: Added lots of printer code.
12160
12161         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12162         general.c.
12163
12164         * console-msw.h: Added more msprinter device private slots.
12165
12166 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12167
12168         * event-msw.c (key_needs_default_processing_p): Added.
12169         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12170
12171 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12172
12173         * glyphs.c (image_instance_layout): Mark image instance as clean
12174         after layout.
12175         (glyph_dirty_p): Removed redundant function.
12176         (invalidate_glyph_geometry_maybe): Added.
12177         (update_glyph_cachel_data): Call it.
12178
12179         * glyphs.h: Prototyped it.
12180
12181         * redisplay.c (add_glyph_rune): Call it.
12182         (redisplay_window): Reset glyphs cachels when frame faces have
12183         changed, thus forcing recomputation of built-in border glyphs.
12184
12185 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12186
12187         * Makefile.in.in: Make portable dumper and purify play well together.
12188         Add imperfect, but better than nothing, support for pdump.
12189         Remove xemacs.dmp when temacs is re-generated.
12190         Don't ignore errors when dumping xemacs.
12191
12192         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12193
12194 2000-01-28  Andy Piper  <andy@xemacs.org>
12195
12196         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12197         (setup_normal_frame): ditto.
12198         (setup_frame_without_minibuffer): ditto.
12199         (setup_minibuffer_frame): ditto.
12200         (delete_frame_internal): ditto.
12201         (Fmake_frame_invisible): ditto.
12202         (Ficonify_frame): ditto.
12203
12204         * window.h: change Fset_window_buffer signature.
12205
12206         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12207         (Fset_window_buffer): allow recording of buffer if the window is
12208         the selected window.
12209         (window_loop): Use new Fset_window signature.
12210
12211 2000-01-23  Daniel Pittman  <daniel@danann.net>
12212
12213         * config.h.in: Added template for `HAVE_ATHENA_3D'
12214
12215 2000-01-29  Andy Piper  <andy@xemacs.org>
12216
12217         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12218
12219         * gutter.c (output_gutter): Don't output if the window isn't live.
12220
12221 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12222
12223         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12224         of 01/12/00: Moved SetFocus back here where it belongs.
12225
12226 2000-01-23  Andy Piper  <andy@xemacs.org>
12227
12228         * s/cygwin32.h: declare printer things.
12229
12230 2000-01-26  Andy Piper  <andy@xemacs.org>
12231
12232         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12233         Alexander.
12234
12235 2000-01-24  Andy Piper  <andy@xemacs.org>
12236
12237         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12238         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12239
12240         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12241
12242         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12243
12244         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12245
12246         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12247         (mswindows_output_display_block): Avoid local shadows.
12248
12249         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12250         (mswindows_enqueue_mouse_button_event): ditto.
12251         (mswindows_handle_gui_wm_command): remove declaration.
12252
12253         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12254         warnings.
12255
12256         * console-msw.h: Avoid shadows.
12257         (mswindows_get_toolbar_button_text):
12258         (emacs_mswindows_create_stream_pair):
12259         (emacs_mswindows_delete_stream_pair):
12260         (mswindows_handle_toolbar_wm_command): declare.
12261
12262         * device-msw.c (build_syscolor_string): Avoid shadows.
12263
12264 2000-01-23  Andy Piper  <andy@xemacs.org>
12265
12266         * glyphs-widget.c (widget_instantiate): reverse the items for
12267         layouts so that children are in the expected order.
12268
12269 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12270
12271         * ralloc.c: safe_bcopy ==> memmove
12272         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12273         * s/msdos.h: Remove BCOPY macros.
12274         * insdel.c (gap_right): Remove BCOPY conditional code.
12275         * insdel.c (gap_left): Remove BCOPY conditional code.
12276         XEmacs demands a working ANSI C compiler - hence memmove.
12277
12278         * regex.c (regex_compile): Remove accidental use of trigraphs.
12279
12280 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12281
12282         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12283         event timestamp.
12284
12285 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12286
12287         * event-msw.c (mswindows_drain_windows_queue): Added the
12288         parameter.
12289         (mswindows_need_event): Commented the call to
12290         mswindows_drain_windows_queue().
12291         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12292         only.
12293
12294         * console-msw.h: Moved a few function prototypes here from
12295         event-msw.c.
12296
12297         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12298         parameter from unsigned short to unsigned long.
12299         (Fmswindows_shell_execute): Added return value.
12300
12301 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12302
12303         * sysdep.c (init_system_name):
12304           process-unix.c (unix_canonicalized_host_name):
12305         Don't call freeaddrinfo() if getaddrinfo() fails.
12306
12307         * process-unix.c (unix_open_unix_network_stream):
12308         Moved the code to get a port # into address loop.
12309
12310 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12311
12312         * buffer.c (reinit_vars_of_buffer):
12313         The right place to initialize conversion_in_dynarr and
12314         conversion_out_dynarr.
12315
12316         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12317
12318         * process-unix.c (unix_canonicalize_host_name): Muleize.
12319         (unix_open_network_stream): Muleize.
12320
12321         * buffer.h: Fix up prototypes for ralloc.c functions.
12322
12323 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12324         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12325         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12326                 instead of gethostbyname()
12327         * process-unix.c: In unix_canonicalize_host_name() and
12328                 unix_open_network_stream(), add code to use getaddrinfo()
12329                 instead of gethostbyname().
12330
12331 2000-01-27  Daniel Pittman <daniel@danann.net>
12332
12333         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12334         libs when built with flat Athena.
12335
12336 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12337
12338         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12339         Use coding standards for function prototypes.
12340
12341 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12342
12343         * dialog-msw.c (push_lisp_string_as_unicode):
12344         * doc.c (unparesseuxify_doc_string):
12345         * dired.c (Fuser_name_completion_1):
12346         * dired.c (Fuser_name_all_completions):
12347         * dired.c (free_user_cache):
12348         * dired.c (user_name_completion):
12349         * console-x.c (get_display_arg_connection):
12350         * minibuf.c (clear_echo_area_internal):
12351         * minibuf.c (echo_area_append):
12352         * eldap.c (Fldap_open):
12353         * eldap.c (Fldap_search_internal):
12354         * frame-x.c (x_set_frame_text_value):
12355         * frame-x.c (x_set_frame_properties):
12356         * frame-x.c (x_create_widgets):
12357         * redisplay-tty.c (term_get_fkeys_1):
12358         * objects-x.c (x_parse_nearest_color):
12359         * objects-x.c (x_valid_color_name_p):
12360         * objects-x.c (x_initialize_font_instance):
12361         * objects-x.c (x_list_fonts):
12362         * objects-x.c (x_find_charset_font):
12363         * tooltalk.c (Fadd_tooltalk_message_arg):
12364         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12365         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12366         * process-unix.c (unix_create_process):
12367         * ntproc.c (sys_spawnve):
12368         * sound.c (Fplay_sound_file):
12369         * sound.c (Fplay_sound):
12370         * buffer.c (init_initial_directory):
12371         * buffer.c (init_buffer):
12372         * editfns.c (init_editfns):
12373         * editfns.c (Ftemp_directory):
12374         * editfns.c (Fuser_full_name):
12375         * editfns.c (uncache_home_directory):
12376         * editfns.c (get_home_directory):
12377         * editfns.c (Fuser_home_directory):
12378         * editfns.c (Fformat_time_string):
12379         * editfns.c (Fcurrent_time_string):
12380         * gui-x.c (button_item_to_widget_value):
12381         * database.c (Fopen_database):
12382         * event-Xt.c (x_to_emacs_keysym):
12383         * event-Xt.c (x_event_to_emacs_event):
12384         * event-Xt.c (describe_event_window):
12385         * event-msw.c (mswindows_wnd_proc):
12386         * glyphs-eimage.c (jpeg_instantiate):
12387         * glyphs-eimage.c (gif_instantiate):
12388         * glyphs-eimage.c (png_instantiate):
12389         * glyphs-eimage.c (tiff_instantiate):
12390         * glyphs-x.c (xbm_instantiate_1):
12391         * glyphs-x.c (x_xbm_instantiate):
12392         * glyphs-x.c (x_xface_instantiate):
12393         * glyphs-x.c (autodetect_instantiate):
12394         * glyphs-x.c (cursor_font_instantiate):
12395         * glyphs-x.c (x_widget_instantiate):
12396         * glyphs-x.c (x_widget_set_property):
12397         * glyphs-x.c (x_widget_property):
12398         * glyphs-x.c (BUILD_GLYPH_INST):
12399         * print.c (write_string_to_stdio_stream):
12400         * print.c (output_string):
12401         * print.c (Falternate_debugging_output):
12402         * print.c (Fexternal_debugging_output):
12403         * glyphs-msw.c (extract_xpm_color_names):
12404         * glyphs-msw.c (mswindows_xpm_instantiate):
12405         * glyphs-msw.c (bmp_instantiate):
12406         * glyphs-msw.c (resource_name_to_resource):
12407         * glyphs-msw.c (mswindows_resource_instantiate):
12408         * glyphs-msw.c (xbm_instantiate_1):
12409         * glyphs-msw.c (mswindows_xbm_instantiate):
12410         * glyphs-msw.c (mswindows_xface_instantiate):
12411         * glyphs-msw.c (mswindows_widget_instantiate):
12412         * glyphs-msw.c (add_tree_item):
12413         * glyphs-msw.c (add_tab_item):
12414         * glyphs-msw.c (mswindows_combo_box_instantiate):
12415         * glyphs-msw.c (mswindows_widget_property):
12416         * glyphs-msw.c (mswindows_combo_box_property):
12417         * glyphs-msw.c (mswindows_widget_set_property):
12418         * console.c (stuff_buffered_input):
12419         * objects-msw.c (mswindows_initialize_color_instance):
12420         * objects-msw.c (mswindows_valid_color_name_p):
12421         * objects-msw.c (mswindows_list_fonts):
12422         * objects-msw.c (mswindows_font_instance_truename):
12423         * bytecode.c (optimize_compiled_function):
12424         * select-x.c (symbol_to_x_atom):
12425         * select-x.c (x_atom_to_symbol):
12426         * select-x.c (hack_motif_clipboard_selection):
12427         * select-x.c (selection_data_to_lisp_data):
12428         * select-x.c (lisp_data_to_selection_data):
12429         * select-x.c (Fx_get_cutbuffer_internal):
12430         * select-x.c (Fx_store_cutbuffer_internal):
12431         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12432         * buffer.h (TO_INTERNAL_FORMAT): New function.
12433         * emacs.c (make_arg_list_1):
12434         * emacs.c (make_argc_argv):
12435         * emacs.c (main_1):
12436         * emacs.c (Fdump_emacs):
12437         * emacs.c (split_string_by_emchar_1):
12438         * file-coding.h:
12439         * lisp.h:
12440         * lstream.h:
12441         * symsinit.h:
12442         * device-x.c (x_init_device):
12443         * device-x.c (Fx_valid_keysym_name_p):
12444         * device-x.c (Fx_get_font_path):
12445         * device-x.c (Fx_set_font_path):
12446         * glyphs.c (bitmap_to_lisp_data):
12447         * glyphs.c (pixmap_to_lisp_data):
12448         * alloc.c (make_ext_string): Use coding system arguments.  Update
12449         all callers.
12450         * alloc.c (build_string):
12451         * callproc.c (child_setup):
12452         * callproc.c (init_callproc):
12453         * fileio.c (lisp_strerror):
12454         * fileio.c (directory_file_name):
12455         * fileio.c (Fexpand_file_name):
12456         * fileio.c (Ffile_truename):
12457         * fileio.c (Fsysnetunam):
12458         * fileio.c (Fdo_auto_save):
12459         * sysdep.c (sys_readdir):
12460         * tests.c: New file.  Allow adding C tests.
12461         Replace GET_* macros with a more comprehensible and flexible
12462         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12463         Modify all calls.
12464         Any coding system can be used to do format conversion.
12465         Eliminate enum external_data_format.
12466         Eliminate convert_to_external_format.
12467         Eliminate convert_to_internal_format.
12468         Make sure file-name, keyboard, terminal, and ctext are always
12469         defined as coding systems or aliases.  Make
12470         file-name-coding-system, terminal-coding-system, and
12471         keyboard-coding-system magical variables that are equivalent to
12472         defining the corresponding coding system aliases.
12473
12474         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12475         * file-coding.c (Fcoding_system_alias_p): New function.
12476         * file-coding.c (Fcoding_system_aliasee): New function.
12477         * file-coding.c (append_suffix_to_symbol): New function.
12478         * file-coding.c (dangling_coding_system_alias_p): New function.
12479         * file-coding.c (Ffind_coding_system):
12480         * file-coding.c (Fcopy_coding_system):
12481         * file-coding.c (encode_coding_no_conversion):
12482         * file-coding.c (syms_of_file_coding):
12483         * file-coding.c (vars_of_file_coding):
12484         Rewrite coding system alias code.
12485         Allow nested aliases, like symbolic links.
12486         Allow redefinition of coding system aliases.
12487         Prevent existence of dangling coding system aliases.
12488
12489         * dired.c (Fuser_name_completion_1):
12490         * dired.c (Fuser_name_all_completions):
12491         A crash would happen if user did QUIT in the middle of building
12492         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12493
12494         * lisp.h:
12495         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12496
12497         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12498         an unsigned char *.  Update all callers.
12499
12500 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12501
12502         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12503
12504 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12505
12506         * elhash.c (hentry_description): Use more portable definition.
12507         (resize_hash_table): Initialize new hentries using
12508         xnew_array_and_zero, thereby simplifying the code.
12509
12510         * mule-charset.c (make_charset): Make sure entire object is
12511         initialized, to avoid Purify warnings.
12512
12513         * alloc.c (resize_string): Fix unlikely crash with big strings.
12514
12515 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12516
12517         * realpath.c (xrealpath):
12518         Don't call getwd().
12519
12520 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12521
12522         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12523
12524 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12525
12526         * unexelfsgi.c (unexec): Change the way we decide which segment
12527         should be extended.
12528
12529         Assumption that .bss section should be outside the PT_LOADable
12530         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12531         it's present) is inside the 'data' segment. This would fail the
12532         test which was used to find a segment to grow and cover new
12533         heap. Instead of this assumption, I created another one - on IRIX
12534         the segment to grow should start below .bss and it's address
12535         should extent above the end of .bss. Once this segment is
12536         identified, it's grown to accommodate the new heap and new
12537         zero-length .bss section is added at the end of .data2.
12538
12539 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12540
12541         * eval.c (Feval): Wrong number of arguments should use original
12542         function, not the indirect_function version of it.
12543
12544 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12545
12546         * glyphs-x.c (x_button_instantiate): Don't add image if
12547         it is not a pixmap.
12548         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12549         is relative.
12550
12551 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12552
12553         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12554         declaration.
12555         (DEFVAR_INT_MAGIC): Ditto.
12556         (DEFVAR_BOOL_MAGIC): Ditto.
12557         * glyphs.h: Reindent backslash.
12558
12559 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12560
12561         * glyphs-widget.c (layout_query_geometry):
12562         (layout_layout): Use correct types for gheight, gwidth.
12563
12564 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12565
12566         * EmacsManager.c (QueryGeometry): Purified.
12567
12568 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12569
12570         * alloc.c (make_float): Make sure entire object is initialized, to
12571         avoid Purify warnings.
12572         (pdump_register_sub): Remove useless assignment.
12573         (pdump): Use xmalloc, not malloc.
12574         (pdump_load): Use xmalloc, not malloc.
12575
12576 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12577
12578         * callproc.c:
12579         * dired-msw.c:
12580         * fileio.c:
12581         * process-nt.c:
12582         * redisplay-msw.c:
12583         * sysdep.c: Removed redundant #include <windows.h>
12584
12585 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12586
12587         * frame.c (delete_frame_internal): Do not delete device when its
12588         implementation so declares.
12589         (delete_frame_internal): Set device selected frame to nil when
12590         last frame goes away.
12591
12592         * device-msw.c (msprinter_device_system_metrics): Implemented.
12593         (mswindows_device_system_metrics): Added 'device-dpi property.
12594
12595         * device.c: (Fdevice_printer_p): Added.
12596         Added 'offset-workspace device metric.
12597
12598         * console.h (device_metrics): Declared DM_offset_workspace.
12599
12600 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12601
12602         * fileio.c (Ffile_truename): Remove pointless and confusing
12603         initialization of elen.
12604
12605         * glyphs-widget.c: Compiler warning fixes.
12606
12607 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12608
12609         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12610         instead of a Lisp_Object as argument to make it consistent with
12611         the other LIVE_P macros.
12612         (CHECK_LIVE_PROCESS): New macro.
12613
12614         * process.c: Declare Qprocess_live_p.
12615         (Fprocess_live_p): New function.
12616         (create_process): Use PROCESS_LIVE_P.
12617         (read_process_output): Ditto.
12618         (set_process_filter): Ditto.
12619         (Fdelete_process): Ditto.
12620         (kill_buffer_processes): Ditto
12621         (process_send_signal): Use CHECK_LIVE_PROCESS.
12622         (Fprocess_input_coding_system): Check whether process is still
12623         alive (fix PR#1061).
12624         (Fprocess_output_coding_system): Ditto.
12625         (Fprocess_coding_system): Ditto.
12626         (Fset_process_input_coding_system): Ditto.
12627         (Fset_process_output_coding_system): Ditto.
12628
12629 2000-01-23  Andy Piper  <andy@xemacs.org>
12630
12631         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12632         layout and widget.
12633
12634         * glyphs.c (mark_image_instance): take into account changed
12635         image_instance format.
12636         (image_instance_equal): ditto.
12637         (image_instance_hash): ditto.
12638
12639         * glyphs-widget.c (widget_instantiate): Incorporate layout
12640         instantiation here. Delay layout of the layout until later.
12641         (layout_instantiate): deleted.
12642         (layout_query_geometry): new function. get the geometry of a
12643         layout.
12644         (layout_layout): layout a layout dynamically.
12645         (image_instantiator_widget): New function - splitting up
12646         image_instantiator_format_create_glyphs_widget for netwinder
12647         compilation.
12648         (image_instantiator_buttons):
12649         (image_instantiator_edit_fields):
12650         (image_instantiator_combo_box):
12651         (image_instantiator_scrollbar):
12652         (image_instantiator_progress_guage):
12653         (image_instantiator_tree_view):
12654         (image_instantiator_tab_control):
12655         (image_instantiator_labels):
12656         (image_instantiator_layout): ditto.
12657         (image_instantiator_format_create_glyphs_widget): Call preceding
12658         functions.
12659
12660 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12661
12662         * process.c (Fset_process_coding_system):
12663         * device-x.c (Fx_keysym_hash_table):
12664         Docstring fixes.
12665
12666         * lstream.c (Lstream_write): Return documented value, not 0.
12667
12668         * fileio.c (directory_file_name):
12669         (Fsubstitute_in_file_name):
12670         (Fsubstitute_insert_file_contents_internal):
12671         (Fwrite_region_internal):
12672         * emacs.c:
12673         * sysdep.c:
12674         * getloadavg.c:
12675         * systty.h:
12676         Remove vestigial APOLLO-conditional code.
12677
12678 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12679
12680         * getpagesize.h: Add guard macros.
12681         * libsst.h: Add guard macros.
12682         * libst.h: Add guard macros.
12683         * line-number.h: Add guard macros.
12684         * ndir.h: Add guard macros.
12685         * sysfloat.h: Add guard macros.
12686         * sysfile.h: Add guard macros.
12687         * sysproc.h: Add guard macros.
12688         * syswait.h: Add guard macros.
12689         * xintrinsic.h: Add guard macros.
12690         * xintrinsicp.h: Add guard macros.
12691         * xmmanager.h: Add guard macros.
12692         * xmmanagerp.h: Add guard macros.
12693         * xmprimitive.h: Add guard macros.
12694         * xmu.h: Add guard macros.
12695         * gpmevent.h: Add copyright statement. Add guard macros.
12696         * miscplay.h: Add guard macros.
12697         * *.h: Use consistent C-standards-approved guard macro names.
12698
12699         * opaque.c (make_opaque): Switch parameter order.
12700         * opaque.h (make_opaque): Switch parameter order.
12701         Update all callers.
12702         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12703
12704         * config.h.in (type_checking_assert): Added.
12705         (bufpos_checking_assert): Added.
12706
12707 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12708
12709         * alloc.c: Harmless pdump changes.
12710         - Use countof().
12711         - spell alignment correctly.
12712         * sysdep.c: Use countof()
12713
12714 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12715
12716         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12717         initially_selected_for_input() console method, default to 0.
12718         (semi_canonicalize_console_connection): Try to delegate to
12719         canonicalize_console_connection if no such console method.
12720         (canonicalize_console_connection): Vice versa.
12721         (print_console): Do not print nil connection.
12722
12723         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12724         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12725         (XDEVIMPF_FRAMELESS_OK): Added.
12726         (CONSOLE_INHERITS_METHOD): Added.
12727
12728         * console-msw.c (mswindows_canonicalize_console_connection):
12729         Added.
12730         (mswindows_canonicalize_device_connection): Added.
12731
12732         * console-msw.h (struct msprinter_device): Added this struct and
12733         accessor macros.
12734         (mswindows_device): Made fontlist a lisp object.
12735
12736         * device.c (semi_canonicalize_device_connection):  Try to delegate
12737         to canonicalize_device_connection if no such console method.
12738         (canonicalize_device_connection): Vice versa.
12739         (print_device): Do not print nil connection.
12740
12741         * device-msw.c (mswindows_init_device): Call InitCommonControls
12742         when have widgets.
12743         (mswindows_delete_device): Removed fontlist deallocation.
12744         (mswindows_mark_device): Added.
12745
12746         * events.c (event_equal): Added abort() at unreached code.
12747         (event_hash): Ditto.
12748
12749         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12750         fallback tags of Windows devices.
12751
12752         * general.c (syms_of_general): Initialized Qmsprinter.
12753
12754         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12755         of fallback tags of Windows devices.
12756
12757         * lisp.h: Declared Qmsprinter.
12758
12759         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12760         of strings.
12761         (mswindows_list_fonts): Ditto.
12762         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12763         that it can be used by both mswindows and msprinter devices.
12764         (initialize_font_instance): Added.
12765         (mswindows_initialize_font_instance): Use it.
12766         (msprinter_initialize_font_instance): Added.
12767
12768         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12769         and implementation flags check.
12770         (redisplay_without_hooks): Changed the call to the above.
12771         (Fredraw_device): Ditto.
12772         (Fredisplay_device): Ditto.
12773
12774         * redisplay-msw.c (get_frame_dc): Implemented.
12775         (get_frame_compdc): Implemented.
12776         (many functions): Use the two functions above to get device
12777         contexts, ether for a window or a printer.
12778
12779 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12780
12781         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12782         initialization here.
12783         (init_symbols_once_early): Call it.
12784         * emacs.c (main_1): Call it.
12785         * symsinit.h: Declare it.
12786
12787 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12788
12789         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12790         Lisp_Object.
12791         (pdump_backtrace): Ditto.
12792         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12793         (pdump_get_entry): Abort if trying to register a null pointer.
12794         (pdump_dump_data): Cleanup types when relocating.
12795         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12796         (pdump_dump_rtables): Remove bad casts.
12797         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12798         Lisp_Object instead of a EMACS_INT for the hashtable
12799         reorganization.
12800
12801 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12802
12803         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12804
12805         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12806
12807         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12808
12809         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12810
12811 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12812
12813         * faces.h (FACE_STRIKETHRU_P): Added.
12814
12815         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12816         of font variants.
12817
12818         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12819         (mswindows_set_dc_font): New function, aware of font variants,
12820         separated from mswindows_update_dc.
12821
12822         * objects-msw.h (struct mswindows_font_instance_data): Added
12823         definition.
12824
12825         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12826         cached fonts and the data structure.
12827         (mswindows_initialize_font_instance): Added creation of font data
12828         structure.
12829         (mswindows_print_font_instance): Print at least something.
12830         (mswindows_create_font_variant): Implemented.
12831         (mswindows_get_hfont): Implemented.
12832
12833 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12834
12835         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12836         prototyping problem with msvc.
12837
12838         * emacs.c (main_1): added syms_of_gui_mswindows() call
12839
12840         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12841         syms_of_gui_mswindows() function
12842
12843         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12844
12845 2000-01-18  Martin Buchholz <martin@xemacs.org>
12846
12847         * XEmacs 21.2.27 is released.
12848
12849 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12850
12851         * glyphs-eimage.c (struct tiff_error_struct):
12852         (tiff_error_func):
12853         (tiff_warning_func):
12854         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12855
12856         * unexmips.c:
12857         * unexhp9k3.c:
12858         * unexfreebsd.c:
12859         * unexec.c: Remove vestigial Lucid C code.
12860         * unexalpha.c:
12861         * unexaix.c:
12862         * termcap.c:
12863         * libsst.c: Ansify.
12864         Remove declarations of errno and strerror().
12865
12866         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12867
12868         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12869
12870 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12871
12872         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12873         Optimize.
12874
12875 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12876
12877         * md5.c:
12878         * file-coding.c:
12879         * file-coding.h:
12880         Change enum eol_type to eol_type_t.
12881
12882 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12883
12884         * gui.c (get_gui_callback): Check cons before accessing car.
12885
12886 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12887
12888         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12889         (XSETSPECIFIER_TYPE): Ditto.
12890
12891 2000-01-17  Didier Verna  <didier@xemacs.org>
12892
12893         * redisplay.c (generate_fstring_runes): compute string size in
12894         characters, not bytes.
12895
12896 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12897
12898         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12899
12900 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12901
12902         * print.c (print_error_message): Call print_prepare().
12903
12904 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12905
12906         * .dbxrc: Renamed from dbxrc.
12907
12908         * events.c (event_to_character):
12909         Use `assert (foo)' instead of `if (!foo) abort()'
12910
12911         * .gdbinit (xtype): Add documentation.
12912         * .gdbinit (check-temacs): New function.
12913         * .gdbinit (check-xemacs): New function.
12914         * dbxrc (check-xemacs): New function.
12915         * dbxrc (check-xemacs): New function.
12916
12917 2000-01-14  Andy Piper  <andy@xemacs.org>
12918
12919         * glyphs-widget.c (widget_query_geometry): Make sure that we
12920         calculate default dimensions correctly.
12921
12922 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12923
12924         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12925
12926         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12927         pdump_wire'd variable.
12928
12929         * emacs.c: (main_1): Conditionalized calls to
12930         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12931
12932 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12933
12934         * window.c (Fset_window_configuration):
12935         * sysdep.c (_start):
12936         * input-method-motif.c (res):
12937         * event-Xt.c (Xt_process_to_emacs_event):
12938         Simple compiler warning fixes.
12939
12940         * bytecode.c (funcall_compiled_function): Use the original
12941         function symbol on the backtrace list in preference to the
12942         compiled_function object in error messages.
12943
12944 2000-01-13  Andy Piper  <andy@xemacs.org>
12945
12946         * glyphs-x.c (update_widget_face): Make sure we update the widget
12947         background as well as foreground.
12948
12949 2000-01-13  Andy Piper  <andy@xemacs.org>
12950
12951         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12952         fields to subwindow.
12953         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12954         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12955         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12956         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12957
12958         * glyphs-widget.c (check_valid_tab_orientation): new function.
12959         (initialize_widget_image_instance): zero orientation and
12960         justification.
12961         (widget_instantiate): pick up orientation.
12962         (tab_control_query_geometry): return appropriate values for
12963         vertical tabs.
12964
12965         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12966         appropriate creation flags for left, right and bottom tabs.
12967
12968         * s/cygwin32.h: add tab definitions.
12969
12970 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12971
12972         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12973         frame upon hiding a subwindow.
12974         (mswindows_button_instantiate): Changed the push button style to
12975         BS_PUSHBUTTON.
12976         (mswindows_button_instantiate): Removed button BS_NOTIFY
12977         style.
12978         (mswindows_button_instantiate): Removed redundant check for
12979         a disabled gui item.
12980         (mswindows_button_instantiate): Made use of WS_TABSTOP
12981         consistent: "operable" controls (edit, button, tree, scroll) have
12982         this style, "display-only" ones (static, progress gauge) do
12983         not. This style is currently ignored by XEmacs though. Also,
12984         removed the WS_EX_CONTROLPARENT style - it is not for children,
12985         it is for their parents!
12986         (mswindows_edit_field_instantiate): Ditto.
12987         (mswindows_progress_gauge_instantiate): Ditto.
12988         (mswindows_tree_view_instantiate): Ditto.
12989         (mswindows_tab_control_instantiate): Ditto.
12990         (mswindows_scrollbar_instantiate): Ditto.
12991         (mswindows_combo_box_instantiate): Ditto.
12992         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12993         style to the "clip" window.
12994         (mswindows_button_instantiate): Removed compilation warning by
12995         equally typing terms of the ?: operator.
12996
12997 2000-01-12  Didier Verna  <didier@xemacs.org>
12998
12999         * redisplay.c (generate_fstring_runes): new parameter holding the
13000         last modeline-format extent.
13001         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
13002         extent, fill the glyph block with it.
13003         (generate_fstring_runes): handle these parameters.
13004         (generate_formatted_string_db): ditto.
13005
13006         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
13007         glyphs'extents in the modeline.
13008
13009 1999-01-11  Mike Woolley  <mike@bulsara.com>
13010
13011         * ntheap.c: Reduced the reserved heap space from 1Gb down to
13012         256Mb, as a workaround for the non-starting problem many people
13013         have experienced.
13014
13015 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13016
13017         * console-tty.c (Fset_console_tty_output_coding_system):
13018         Force redrawing tty frame.
13019
13020 2000-01-10  Didier Verna  <didier@xemacs.org>
13021
13022         * redisplay.c (generate_fstring_runes): fix size computation bug.
13023
13024 2000-01-09  William M. Perry <wmperry@aventail.com>
13025
13026         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
13027
13028 2000-01-09  Andy Piper  <andy@xemacs.org>
13029
13030         * glyphs-msw.c: index -> i to avoid shadows.
13031         (xbm_create_bitmap_from_data): make static.
13032         (check_valid_string_or_int): deleted.
13033         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
13034
13035         * glyphs-x.c (x_update_subwindow): remove unused args.
13036
13037         * glyphs.c (glyph_image_instance): return the thing. Don't set the
13038         back pointer - this is done in allocate_image_instance.
13039         (query_string_font): return Qnil to make the compiler happy.
13040         (unmap_subwindow): set to ~0 to make the compiler happy.
13041         (glyph_query_geometry): comment out until used.
13042         (glyph_layout): ditto.
13043
13044 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13045
13046         * insdel.c (signal_after_change): Remove extraneous unbind_to().