(Vcharacter_composition_table): Deleted.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * text-coding.c (Qcomposition): Add extern if external-DB feature
4         is supported.
5         (Vcharacter_composition_table): Don't add extern if external-DB
6         feature is supported.
7         (COMPOSE_ADD_CHAR): Modify for new data-representation of
8         character composition rule if external-DB feature is supported.
9
10         * chartab.c (Vcharacter_composition_table): Don't define if
11         external-DB feature is supported.
12         (Qcomposition): New variable.
13         (Fget_composite_char): New implementation for external-DB support.
14         (Fput_char_attribute): Use `composition' property of each
15         character instead of `Vcharacter_composition_table' to store
16         character-composition rules if external-DB feature is supported.
17         (syms_of_chartab): Add new symbol `composition'.
18         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
19         external-DB feature is supported.
20
21 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
22
23         * chartab.c (Vchar_db_stingy_mode): New variable.
24         (load_char_attribute_maybe): Close database if
25         Vchar_db_stingy_mode is not NIL.
26         (Fload_char_attribute_table_map_function): Use
27         `get_char_id_table_0' instead of `get_char_id_table'.
28         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
29
30         * chartab.h (get_char_id_table_0): New inline function.
31         (get_char_id_table): Use `get_char_id_table_0'.
32
33 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
34
35         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
36         and `COMPOSE_ADD_CHAR'.
37         (decode_coding_iso2022): Use `decode_flush_er_chars'.
38
39 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
40
41         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
42         instead of `DECODE_ADD_UCS_CHAR'.
43         (COMPOSE_ADD_CHAR): Likewise.
44
45 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
46
47         * text-coding.c (decode_flush_er_chars): New inline function.
48         (decode_add_er_char): New function.
49         (decode_coding_utf8): Use `decode_flush_er_chars' and
50         `decode_add_er_char'.
51
52 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
53
54         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
55         done before `decode_output_utf8_partial_char'.
56
57         * mule-charset.c (complex_vars_of_mule_charset): Specify
58         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
59         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
60
61 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
62
63         * mule-charset.c (decode_defined_char): New function; search
64         mother.
65         (decode_builtin_char): Don't search mother if
66         XCHARSET_MAX_CODE(charset) == 0.
67         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
68         == 0 even if code >= XCHARSET_MAX_CODE(charset).
69         (Fdecode_char): Use `decode_defined_char' instead of
70         `DECODE_DEFINED_CHAR'.
71         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
72         mother of `Vcharset_ucs_jis'.
73
74         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
75         instead of `DECODE_DEFINED_CHAR'.
76
77         * char-ucs.h (decode_defined_char): Renamed from
78         `DECODE_DEFINED_CHAR'; changed to normal function.
79         (DECODE_CHAR): Use `decode_defined_char' instead of
80         `DECODE_DEFINED_CHAR'.
81
82         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
83
84 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
85
86         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
87
88         * text-coding.c (Vcoded_charset_entity_reference_alist): New
89         variable.
90         (Quse_entity_reference): New variable.
91         (Qd): New variable.
92         (Qx): New variable.
93         (QX): New variable.
94         (coding_system_description): Add description for
95         `ccs_priority_list'.
96         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
97         (allocate_coding_system): Initialize `ccs_priority_list' in
98         UTF-2000.
99         (Fmake_coding_system): Add description about
100         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
101         (codesys).
102         (Fcoding_system_property): Accept `disable-composition' and
103         `use-entity-reference' in UTF-2000.
104         (struct decoding_stream): Add new member `er_counter' and `er_buf'
105         in UTF-2000.
106         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
107         (decode_coding_utf8): Decode entity-reference if
108         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
109         (char_encode_utf8): Encode non-Unicode characters as
110         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
111         (str->codesys).
112         (syms_of_file_coding): Add new symbols `use-entity-reference',
113         `d', `x', `X'.
114         (vars_of_file_coding): Add new variable
115         `coded-charset-entity-reference-alist'.
116         (complex_vars_of_file_coding): Declare `disable-composition' and
117         `use-entity-reference' to be coding-system-properties in UTF-2000.
118
119         * file-coding.h (struct Lisp_Coding_System): Add new member
120         `use_entity_reference' and `ccs_priority_list'.
121         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
122         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
123         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
124
125 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
126
127         * chartab.c (save_uint8_byte_table): Don't clear the table.
128         (save_uint16_byte_table): Likewise.
129         (save_byte_table): Likewise.
130         (Fmount_char_attribute_table): New function.
131         (syms_of_chartab): Add new builtin function
132         `mount-char-attribute-table'.
133
134 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * mule-charset.c (Fsave_charset_mapping_table): Open database as
137         "w+" mode.
138         (load_char_decoding_entry_maybe): Open database as read-only mode.
139
140         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
141         open database as "w+" mode.
142         (load_char_attribute_maybe): Open database as read-only mode.
143         (Fload_char_attribute_table): Likewise.
144
145 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
146
147         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
148         (char_table_description): Delete member `db_file'.
149         (Fmake_char_table): Don't refer `ct->db_file'.
150         (Fcopy_char_table): Likewise.
151         (Fsave_char_attribute_table): Likewise.
152         (Fclose_char_attribute_table): Likewise.
153         (Freset_char_attribute_table): Likewise.
154         (load_char_attribute_maybe): Likewise.
155         (Fload_char_attribute_table): Likewise.
156
157         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
158
159 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
160
161         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
162         (Fsave_char_attribute_table): Don't check `ct->db_file' if
163         `ct->db' is living.
164         (load_char_attribute_maybe): Likewise.
165         (Fload_char_attribute_table): Likewise.
166
167 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
168
169         * chartab.c (Fclose_char_attribute_table): Set Qnil on
170         `ct->db_file' unconditionally.
171
172 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
173
174         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
175         UTF-2000.
176         (char_table_description): Add description for `db_file' and `db'
177         in UTF-2000.
178         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
179         UTF-2000.
180         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
181         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
182         (Fclose_char_attribute_table): New function.
183         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
184         (load_char_attribute_maybe): Change interface; use `cit->db_file'
185         and `cit->db'.
186         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
187         (syms_of_chartab): Add new builtin function
188         `Fclose_char_attribute_table'.
189
190 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
191
192         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
193         `db' in UTF-2000.
194         (load_char_attribute_maybe): Change interface.
195         (get_char_id_table): Modify for `load_char_attribute_maybe'.
196
197 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
198
199         * database.h: Add an EXFUN for `Fdatabase_live_p'.
200
201 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
204         instead of `DECODE_CHAR' for mother; don't use special code for
205         chinese-big5 to use code space of chinese-big5-1 and
206         chinese-big5-2.
207         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
208         `MAX_CHAR_BIG5_CDP' for chinese-big5.
209
210         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
211         (MAX_CHAR_BIG5_CDP): Revival.
212
213 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
216         the XLFD registry-encoding name of `chinese-big5'.
217
218 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
219
220         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
221         (Qchinese_big5_cdp): Deleted.
222         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
223         (complex_vars_of_mule_charset): Delete coded-charset
224         `chinese-big5-cdp'.
225
226         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
227         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
228         `CHARSET_ID_OFFSET - n' for private CCS.
229         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
230         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
231         of `MIN_LEADING_BYTE'.
232         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
233         `(CHARSET_ID_OFFSET - 97)'.
234         (MIN_CHAR_BIG5_CDP): Deleted.
235         (MAX_CHAR_BIG5_CDP): Deleted.
236
237 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
240
241 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
244         (vars_of_mule): Add new variable `utf-2000-version' [moved from
245         chartab.c].
246
247         * chartab.c (Vutf_2000_version): Moved to mule.c.
248         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
249
250 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
251
252         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
253         when HAVE_CHISE_CLIENT is not defined.
254
255         * mule.c (vars_of_mule): Provide feature `chise' when
256         HAVE_CHISE_CLIENT is defined.
257
258 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
259
260         * config.h.in (UTF2000): Add comment.
261         (HAVE_CHISE_CLIENT): New macro.
262
263 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
264
265         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
266         CONSP.
267         (Fput_char_attribute): Likewise.
268         (char_attribute_system_db_file): Encode file-name of attribute.
269         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
270         the initial value.
271
272 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
273
274         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
275         (Fsave_charset_mapping_table): Use
276         `char_attribute_system_db_file'.
277         (load_char_decoding_entry_maybe): Likewise.
278
279         * chartab.h (Qsystem_char_id): New external variable.
280         (char_attribute_system_db_file): New prototype.
281
282         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
283         (char_attribute_system_db_file): New function.
284         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
285         (Freset_char_attribute_table): Likewise.
286         (load_char_attribute_maybe): Likewise.
287         (Fload_char_attribute_table): Likewise.
288         (syms_of_chartab): Add new symbol `system-char-id'.
289
290 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
291
292         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
293         `XCHARSET_GRAPHIC(ccs)'.
294
295 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
296
297         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
298
299 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
300
301         * chartab.c (Q_ucs_variants): New variable.
302         (syms_of_chartab): Add new symbol `->ucs-variants'.
303         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
304         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
305         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
306
307         * mule-charset.c (load_char_decoding_entry_maybe): New function.
308
309         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
310         `HAVE_DATABASE' is defined.
311         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
312         `HAVE_DATABASE' is defined.
313
314 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
315
316         * chartab.c (Fsave_char_attribute_table): Don't clear internal
317         attribute-table.
318         (Freset_char_attribute_table): New function.
319         (syms_of_chartab): Add new builtin function
320         `reset-char-attribute-table'.
321
322 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
323
324         * chartab.c (load_char_attribute_maybe): Don't make directories.
325
326 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
327
328         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
329
330         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
331         for decoding-table.
332
333 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
334
335         * mule-charset.c (Fsave_charset_mapping_table): Use
336         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
337
338         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
339         instead of `XCHARSET_CHARS'.
340
341 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
342
343         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
344         (XCHARSET_BYTE_SIZE): Likewise.
345
346         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
347         mule-charset.c].
348         (XCHARSET_BYTE_SIZE): Likewise.
349
350 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
351
352         * chartab.c (Fput_char_attribute): Use exec-directory instead of
353         data-directory to store database.
354         (Fsave_char_attribute_table): Likewise.
355         (load_char_attribute_maybe): Likewise.
356         (Fload_char_attribute_table): Likewise.
357
358 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
359
360         * mule-charset.c (Fsave_charset_mapping_table): New function.
361         (syms_of_mule_charset): Add new builtin function
362         `save-charset-mapping-table'.
363
364 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
365
366         * char-ucs.h (decoding_table_check_elements): Delete prototype.
367         (get_ccs_octet_table): New inline function.
368         (put_ccs_octet_table): Likewise.
369         (decoding_table_put_char): Use `get_ccs_octet_table' and
370         `put_ccs_octet_table'.
371         (decoding_table_remove_char): Use `decoding_table_put_char'.
372         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
373
374         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
375         into encoding_table.
376         (make_charset): Use Qunbound instead Qnil as initial value of
377         decoding_table.
378
379 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
380
381         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
382         element is Qunloaded.
383         (map_over_uint16_byte_table): Likewise.
384         (map_over_byte_table): Likewise.
385         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
386         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
387         database support, load encoding-table of the specified
388         coded-charset if it is not loaded yet.
389         (save_uint8_byte_table): New function of UTF-2000 with external
390         database support.
391         (save_uint16_byte_table): Likewise.
392         (save_byte_table): Likewise.
393         (Fput_char_attribute): Don't store value into external database
394         even if the external database feature is supported in UTF-2000;
395         set `attribute' as name of char-table if the external database
396         feature is supported.
397         (Fsave_char_attribute_table): New function in UTF-2000.
398         (syms_of_chartab): Add new builtin function
399         `save-char-attribute-table' in UTF-2000.
400
401 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
402
403         * chartab.c (char_attribute_table_to_put): New variable in
404         UTF-2000.
405         (Qput_char_table_map_function): Likewise.
406         (value_to_put): Likewise.
407         (Fput_char_table_map_function): New function in UTF-2000.
408         (put_char_table): Use `Fmap_char_attribute' for
409         CHARTAB_RANGE_CHARSET in UTF-2000.
410         (Fput_char_attribute): Store symbol instead of string in
411         `XCHAR_TABLE_NAME (table)'.
412         (load_char_attribute_maybe): Likewise.
413         (syms_of_chartab): Add new symbol/function
414         `put-char-table-map-function'.
415
416 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
417
418         * database.h: Add new EXFUN for `Fmap_database'.
419
420         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
421         (syms_of_database): Likewise.
422
423         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
424         UTF-2000.
425         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
426         (XCHAR_TABLE_UNLOADED): Likewise.
427
428         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
429         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
430         HAVE_DATABASE is defined.
431         (char_attribute_table_to_load): New variable of UTF-2000 with
432         external database support.
433         (Qload_char_attribute_table_map_function): Likewise.
434         (Fload_char_attribute_table_map_function): New function of
435         UTF-2000 with external database support.
436         (Fload_char_attribute_table): New function of UTF-2000.
437         (Fmap_char_attribute): Call Fload_char_attribute_table if
438         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
439         (syms_of_chartab): Add new symbol and function
440         `load-char-attribute-table-map-function' in UTF-2000 with external
441         database support; add new function `load-char-attribute-table' in
442         UTF-2000.
443
444 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
445
446         * chartab.h (load_char_attribute_maybe): New prototype for
447         UTF-2000 with DATABASE support.
448         (get_char_id_table): Use `load_char_attribute_maybe' if
449         HAVE_DATABASE is defined.
450
451         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
452         with DATABASE support.
453
454 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * chartab.c (Fput_char_attribute): Use S-expression as key of
457         external database.
458
459         * chartab.h (get_char_id_table): Use S-expression as key of
460         external database.
461
462 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
463
464         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
465         if an element is not loaded, load the corresponding attributes
466         from an external database.
467         (map_over_uint16_byte_table): Likewise.
468         (map_over_byte_table): Likewise.
469         (map_char_table): Modify for `map_over_uint8_byte_table',
470         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
471         element is not loaded, load the corresponding attributes from an
472         external database.
473         (Fput_char_attribute): Change initial values to Qunloaded.
474
475         * chartab.h (get_char_id_table): If a character attribute is not
476         loaded and the attribute value is not found in an external
477         database, store Qunbound as the attribute value.
478
479 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
480
481         * chartab.c (BT_UINT8_unloaded): New macro.
482         (UINT8_VALUE_P): Accept Qunloaded.
483         (UINT8_ENCODE): Likewise.
484         (UINT8_DECODE): Likewise.
485         (BT_UINT16_unloaded): New macro.
486         (UINT16_VALUE_P): Accept Qunloaded.
487         (UINT16_ENCODE): Likewise.
488         (UINT16_DECODE): Likewise.
489         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
490         BT_UINT16_unloaded.
491         (mark_char_table): Mark `ct->name' in UTF-2000.
492         (char_table_description): Add `name' in UTF-2000.
493         (Fmake_char_table): Initialize `ct->name'.
494         (Fcopy_char_table): Copy `ct->name'.
495         (Fput_char_attribute): Store value into an external database if
496         HAVE_DATABASE is defined.
497
498         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
499         UTF-2000.
500         (CHAR_TABLE_NAME): New macro in UTF-2000.
501         (XCHAR_TABLE_NAME): New macro in UTF-2000.
502         (get_char_id_table): Try to read an external database if Qunloaded
503         is stored in a table.
504
505         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
506         Qunloaded.
507
508 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
509
510         * database.h: Add EXFUN definitions for Fopen_database,
511         Fput_database, Fget_database and Fclose_database.
512
513         * data.c (Qunloaded): New variable in UTF-2000.
514
515         * lisp.h (Qunloaded): New variable in UTF-2000.
516
517 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * mule-charset.c (put_char_ccs_code_point): Modify for
520         `decoding_table_remove_char' and `decoding_table_put_char'.
521         (remove_char_ccs): Modify for `decoding_table_remove_char'.
522
523         * char-ucs.h (decoding_table_remove_char): Change arguments to
524         hide decoding_table vector.
525         (decoding_table_put_char): Likewise.
526
527 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
528
529         * mule-charset.c (decoding_table_remove_char): Moved to
530         char-ucs.h.
531         (decoding_table_put_char): Likewise.
532
533         * char-ucs.h (decoding_table_check_elements): New prototype [moved
534         from mule-charset.c].
535         (decoding_table_remove_char): New inline function [moved from
536         mule-charset.c].
537         (decoding_table_put_char): Likewise.
538
539 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
540
541         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
542         extension.
543
544 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
545
546         * mule-charset.c (decode_builtin_char): Support mother charsets.
547
548 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
549
550         * mule-charset.c (Q94x94x60): New variable.
551         (charset_code_point): Support conversion `94x94x60'.
552         (Fmake_charset): Likewise.
553         (syms_of_mule_charset): Add new symbol `94x94x60'.
554
555         * char-ucs.h (CONVERSION_94x94x60): New macro.
556
557 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
558
559         * mule-charset.c (charset_code_point): Unify code about
560         `code-offset'.
561
562 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
563
564         * mule-charset.c (charset_code_point): Merge code about builtin
565         characters into code about mother charsets; don't use
566         `range_charset_code_point'.
567         (range_charset_code_point): Deleted.
568
569 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
570
571         * mule-charset.c (Qcode_offset): New variable.
572         (Fmake_charset): Use `XUINT' to get value of `min-code' and
573         `max-code'; accept new property `code-offset'.
574         (syms_of_mule_charset): Add new symbol `code-offset'.
575
576 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
577
578         * mule-charset.c (range_charset_code_point): Fixed.
579
580 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
581
582         * mule-charset.c (decode_builtin_char): Change semantics of
583         code-offset of coded-charset.
584         (charset_code_point): Likewise.
585         (range_charset_code_point): Likewise.
586         (complex_vars_of_mule_charset): Modify for the change.
587
588 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
589
590         * mule-charset.c (Fencode_char): Reverse arguments.
591
592         * mule-charset.c (charset_code_point): Fixed.
593
594 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
595
596         * mule-charset.c (Vcharset_mojikyo): Deleted.
597         (Vcharset_mojikyo_2022_1): Deleted.
598         (Vcharset_mojikyo_pj_{1..21}): Deleted.
599         (Qmin_code): New variable in UTF-2000.
600         (Qmax_code): Likewise.
601         (Qmother): Likewise.
602         (Qconversion): Likewise.
603         (Q94x60): Likewise.
604         (Qmojikyo): Deleted.
605         (Qmojikyo_2022_1): Deleted.
606         (Qmojikyo_pj_{1..22}): Deleted.
607         (mark_charset): Mark `cs->mother'.
608         (charset_description): Add description for `mother'.
609         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
610         new arguments `mother' and `conversion'; use
611         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
612         (charset_code_point): Moved from char-ucs.h; support `mother'
613         charset feature.
614         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
615         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
616         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
617         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
618         allow 2 as the value of `graphic' in UTF-2000; add new properties
619         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
620         require `final' in UTF-2000; modify for `make_charset'.
621         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
622         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
623         (Fcharset_property): Support `mother', `min-code' and `max-code'.
624         (Fencode_char): New function.
625         (syms_of_mule_charset): Add new builtin function `encode-char' in
626         UTF-2000; add new symbols `min-code', `max-code', `mother',
627         `conversion' and `94x60'; delete symbols `mojikyo',
628         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
629         (complex_vars_of_mule_charset): Modify for `make_charset' change;
630         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
631         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
632
633         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
634         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
635
636         * char-ucs.h (Vcharset_mojikyo): Deleted.
637         (Vcharset_mojikyo_2022_1): Deleted.
638         (LEADING_BYTE_MOJIKYO): Deleted.
639         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
640         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
641         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
642         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
643         add new member `mother'; add new member `conversion'.
644         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
645         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
646         (CHARSET_MOTHER): New macro.
647         (CHARSET_CONVERSION): New macro.
648         (CONVERSION_IDENTICAL): New macro.
649         (CONVERSION_94x60): New macro.
650         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
651         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
652         (XCHARSET_MOTHER): New macro.
653         (XCHARSET_CONVERSION): New macro.
654         (MIN_CHAR_MOJIKYO): Deleted.
655         (MAX_CHAR_MOJIKYO): Deleted.
656         (DECODE_MOJIKYO_2022): Deleted.
657         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
658         (charset_code_point): Changed to non-inline function.
659         (encode_char_1): Use `charset_code_point'.
660         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
661
662 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
663
664         * lread.c (read_compiled_function): Fix prototype.
665         (read_vector): Likewise.
666
667 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
668
669         * lrecord.h (struct lrecord_header): Delete `older'.
670         (set_lheader_implementation): Delete code for `older'.
671         (set_lheader_older_implementation): Deleted.
672         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
673         (OLDER_RECORD_P): Deleted.
674         (OLDER_RECORD_HEADER_P): Deleted.
675         (alloc_older_lcrecord): Deleted.
676         (alloc_older_lcrecord_type): Deleted.
677
678         * alloc.c (all_older_lcrecords): Deleted.
679         (alloc_older_lcrecord): Deleted.
680         (disksave_object_finalization_1): Delete code for older objects.
681         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
682         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
683
684 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
685
686         * mule-charset.c (decoding_table_put_char): Use `make_vector'
687         instead of `make_older_vector'.
688         (put_char_ccs_code_point): Likewise.
689         (mark_charset): Mark `cs->decoding_table'.
690         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
691
692         * lisp.h (make_older_vector): Deleted.
693         (make_vector_newer): Deleted.
694
695         * config.h.in (HAVE_GGC): Deleted.
696
697         * alloc.c (make_older_vector): Deleted.
698         (make_vector_newer_1): Deleted.
699         (make_vector_newer): Deleted.
700
701 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
704         (Qideograph_daikanwa_2): New variable.
705         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
706         (complex_vars_of_mule_charset): Add new coded-charset
707         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
708         `LEADING_BYTE_DAIKANWA'.
709
710         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
711         (LEADING_BYTE_DAIKANWA_1): New macro.
712         (LEADING_BYTE_DAIKANWA_2): New macro.
713         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
714
715 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * mule-charset.c (complex_vars_of_mule_charset): Change
718         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
719         the second revised version.
720
721 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * mule-charset.c (Vcharset_ucs_smp): New variable.
724         (Vcharset_ucs_sip): New variable.
725         (Qucs_smp): New variable.
726         (Qucs_sip): New variable.
727         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
728         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
729         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
730         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
731         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
732         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
733
734         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
735         (LEADING_BYTE_UCS_SIP): New macro.
736         (MIN_CHAR_SMP): New macro.
737         (MAX_CHAR_SMP): New macro.
738         (MIN_CHAR_SIP): New macro.
739         (MAX_CHAR_SIP): New macro.
740
741 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
742
743         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
744         utf-2000.
745
746 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
749         value; don't store value into `encoding_table' of `Lisp_Charset'.
750         (mark_charset): `encoding_table' was deleted.
751         (charset_description): Likewise.
752         (make_charset): Likewise.
753         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
754         `put_char_ccs_code_point'.
755
756         * chartab.h (Fput_char_attribute): New EXFUN.
757
758         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
759         is unified with normal symbol space.
760         (Fget_char_attribute): Likewise.
761         (Fput_char_attribute): Likewise; behavior of
762         `put_char_ccs_code_point' is changed.
763
764         * char-ucs.h: Include "elhash.h".
765         (Vchar_attribute_hash_table): New external variable.
766         (struct Lisp_Charset): Delete `encoding_table'.
767         (CHARSET_ENCODING_TABLE): New implementation; refer
768         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
769         `Lisp_Charset'.
770
771 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
774         (cs) == 0.
775
776 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * text-coding.c (char_encode_big5): Prefer charset-g1 than
779         `chinese-big5'.
780
781 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * chartab.c (uint8_byte_table_description): New constant.
784         (uint8-byte-table): Use `uint8_byte_table_description'.
785         (uint16_byte_table_description): New constant.
786         (uint16-byte-table): Use `uint16_byte_table_description'.
787
788 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
791         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
792
793 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
794
795         * mule-charset.c (Vcharset_ucs_ks): New variable.
796         (Qucs_ks): New variable.
797         (syms_of_mule_charset): Add new symbol `ucs-ks'.
798         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
799
800         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
801
802 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
803
804         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
805         (Fdecode_char): Likewise.
806
807         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
808         chartab.h.
809         (Fdefine_char): Modify for Fdecode_char.
810         (Ffind_char): Likewise.
811
812         * mule-charset.c (Fdecode_char): Add new optional argument
813         `defined-only'.
814         (Fdecode_builtin_char): Modify for `Fdecode_char'.
815
816 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
819         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
820         (allocate_coding_system): Initialize initial-charsets of
821         CODESYS_BIG5 in XEmacs UTF-2000.
822         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
823         CODESYS_BIG5 in XEmacs UTF-2000.
824         (decode_coding_big5): Use initial-charset-g0 and -g1 of
825         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
826
827         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
828         variables.
829         (Qideograph_hanziku_{1 .. 12}): Likewise.
830         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
831         .. 12}'.
832         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
833         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
834         `ideograph-hanziku-{1 .. 12}'.
835
836         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
837         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
838         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
839         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
840         (DECODE_DEFINED_CHAR): New inline function.
841         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
842
843 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * mule-charset.c (Vcharset_china3_jef): Renamed from
846         `Vcharset_japanese_jef_china3'.
847         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
848         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
849         `{MIN|MAX}_CHAR_JEF_CHINA3'..
850         (syms_of_mule_charset): Rename `china3-jef' from
851         `japanese-jef-china3'.
852         (complex_vars_of_mule_charset): Likewise; rename
853         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
854
855         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
856         `LEADING_BYTE_JEF_CHINA3'.
857         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
858         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
859
860 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (encode_builtin_char_1): Comment out special code
863         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
864
865         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
866         (MAX_CHAR_MOJIKYO_0): Comment out.
867         (MIN_CHAR_CBETA): Changed to 0x00E20000.
868         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
869         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
870         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
871
872 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
873
874         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
875         (Qideograph_cbeta): New variable.
876         (encode_builtin_char_1): Comment out special code for
877         coded-charset `mojikyo' and `japanese-jef-china3'.
878         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
879         (complex_vars_of_mule_charset): Add new coded-charset
880         `ideograph-cbeta'.
881
882         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
883         (MIN_CHAR_CBETA): New macro.
884         (MAX_CHAR_CBETA): New macro.
885
886 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
887
888         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
889         (LEADING_BYTE_JEF_CHINA3): New macro.
890         (MIN_CHAR_JEF_CHINA3): New macro.
891         (MAX_CHAR_JEF_CHINA3): Likewise.
892         (DECODE_CHAR): Fixed.
893
894 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
895
896         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
897         (Qjapanese_jef_china3): New variable.
898         (encode_builtin_char_1): Support `japanese-jef-china3'.
899         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
900         (complex_vars_of_mule_charset): Add new coded-charset
901         `japanese-jef-china3'.
902
903 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
904
905         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
906         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
907         94^4, 96^3, 96^4, 128^n and 256^n set.
908         (put_char_table): Use `XCHARSET_CELL_RANGE'.
909         (map_char_table): Likewise.
910
911 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
912
913         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
914         UTF-2000.
915
916 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
917
918         * chartab.h (get_char_id_table): New inline function.
919
920         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
921         function.
922
923 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
924
925         * chartab.h (decode_char_table_range): New prototype in XEmacs
926         UTF-2000.
927         (put_char_id_table): New inline function in XEmacs UTF-2000.
928
929         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
930         function.
931         (decode_char_table_range): Delete static declaration in XEmacs
932         UTF-2000.
933
934 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
935
936         * chartab.c (put_char_id_table): Use `put_char_table'.
937
938 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
941         (map_over_uint16_byte_table): Likewise.
942         (map_over_byte_table): Likewise.
943         (map_char_table): Modify for `map_over_uint8_byte_table',
944         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
945         UTF-2000.
946
947 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
948
949         * chartab.c (struct map_char_table_for_charset_arg): New
950         structure.
951         (map_char_table_for_charset_fun): New function.
952         (map_char_table): Use `map_char_table' for encoding_table of
953         `range->charset'.
954
955 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
956
957         * chartab.c (map_char_table): Check a character is found in
958         range->charset instead of non default value is defined in
959         char-table when range is CHARTAB_RANGE_ROW.
960
961 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
962
963         * chartab.c (map_char_id_table): Deleted.
964         (Fmap_char_attribute): Use `map_char_table' instead of
965         `map_char_id_table'.
966
967 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
968
969         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
970         UTF-2000.
971         (update_syntax_table): Deleted in XEmacs UTF-2000.
972
973         * syntax.c (find_defun_start): Use `syntax_table' instead of
974         `mirror_syntax_table' in XEmacs UTF-2000.
975         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
976         UTF-2000.
977         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
978         XEmacs UTF-2000.
979         (Fmatching_paren): Likewise.
980         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
981         in XEmacs UTF-2000.
982         (find_start_of_comment): Likewise.
983         (find_end_of_comment): Likewise.
984         (Fforward_comment): Likewise.
985         (scan_lists): Likewise.
986         (char_quoted): Likewise.
987         (Fbackward_prefix_chars): Likewise.
988         (scan_sexps_forward): Likewise.
989         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
990         (update_syntax_table): Likewise.
991
992         * search.c (skip_chars): Use `syntax_table' instead of
993         `mirror_syntax_table' in XEmacs UTF-2000.
994         (wordify): Likewise.
995         (Freplace_match): Likewise.
996
997         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
998         `mirror_syntax_table' in XEmacs UTF-2000.
999         (WORDCHAR_P_UNSAFE): Likewise.
1000         (re_match_2_internal): Likewise.
1001
1002         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1003         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1004
1005         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1006         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1007
1008         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1009         XEmacs UTF-2000.
1010
1011         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1012         UTF-2000.
1013         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1014         (char_table_description): Delete `mirror_table' in XEmacs
1015         UTF-2000.
1016         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1017         UTF-2000.
1018         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1019         (Fcopy_char_table): Likewise.
1020         (put_char_table): Don't call `update_syntax_table' in XEmacs
1021         UTF-2000.
1022
1023         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1024         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1025         (casify_region_internal): Likewise.
1026
1027         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1028
1029         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1030         `mirror_syntax_table' in XEmacs UTF-2000.
1031
1032         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1033         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1034         (Fexpand_abbrev): Likewise.
1035
1036 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1037
1038         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1039
1040 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1041
1042         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1043         (map_over_uint16_byte_table): Likewise.
1044         (map_over_byte_table): Likewise.
1045         (get_char_id_table): Refer `cit->default_value'.
1046         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1047         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1048         of character-id ranges.
1049         (mark_char_table): Mark `ct->default_value'.
1050         (char_table_description): Add `default_value'.
1051         (fill_char_table): Use `default_value'.
1052         (decode_char_table_range): Decode `nil' as
1053         `CHARTAB_RANGE_DEFAULT'.
1054         (get_char_id_table): Refer `cit->default_value'.
1055         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1056         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1057         temporary hack; check value of char-table is bound or not.
1058         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1059
1060         * chartab.h (struct Lisp_Char_Table): Add new member
1061         `default_value' in XEmacs UTF-2000.
1062         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1063         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1064         UTF-2000.
1065
1066 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1067
1068         * chartab.h (Lisp_Char_ID_Table): Deleted.
1069
1070         * chartab.c (char_table_description): Fix typo.
1071         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1072         `Lisp_Char_ID_Table'.
1073
1074 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1075
1076         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1077         `CHAR_ID_TABLE_P'.
1078
1079         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1080         `CHAR_ID_TABLE_P'.
1081
1082         * chartab.h (XCHAR_ID_TABLE): Deleted.
1083         (XSETCHAR_ID_TABLE): Deleted.
1084         (CHAR_ID_TABLE_P): Deleted.
1085
1086         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1087         `CHAR_ID_TABLE_P'.
1088         (Fget_composite_char): Likewise.
1089         (put_char_table): Likewise.
1090         (add_char_attribute_alist_mapper): Fixed.
1091         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1092         `CHAR_ID_TABLE_P'.
1093         (Fget_char_attribute): Likewise.
1094         (Fget_char_attribute): Likewise.
1095         (Fmap_char_attribute): Likewise.
1096
1097         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1098         `CHAR_ID_TABLE_P'.
1099         (encode_char_1): Likewise.
1100
1101 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1102
1103         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1104         `XCHAR_ID_TABLE'.
1105
1106         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1107         instead of `XCHAR_ID_TABLE'.
1108         (remove_char_ccs): Likewise.
1109
1110         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1111         `XCHAR_ID_TABLE'.
1112         (Fget_composite_char): Likewise.
1113         (Fchar_variants): Likewise.
1114         (put_char_table): Likewise.
1115         (add_char_attribute_alist_mapper): Likewise.
1116         (Fchar_attribute_alist): Likewise.
1117         (Fget_char_attribute): Likewise.
1118         (Fput_char_attribute): Likewise.
1119         (Fmap_char_attribute): Likewise.
1120         (Fmap_char_attribute): Likewise.
1121
1122         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1123         `XCHAR_ID_TABLE'.
1124         (encode_char_1): Likewise.
1125
1126 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1127
1128         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1129         `Lisp_Char_ID_Table'.
1130         (mark_char_id_table): Deleted.
1131         (print_char_id_table): Likewise.
1132         (char_id_table_equal): Likewise.
1133         (char_id_table_hash): Likewise.
1134         (char_id_table_description): Likewise.
1135         (char_id_table): Likewise.
1136         (make_char_id_table): Use `Fmake_char_table' and
1137         `fill_char_table'.
1138         (get_char_id_table): Use `Lisp_Char_Table' instead of
1139         `Lisp_Char_ID_Table'.
1140         (put_char_id_table): Likewise.
1141         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1142         `XCHAR_ID_TABLE'.
1143         (Fremove_char_attribute): Likewise.
1144         (syms_of_chartab): Don't define type `char-id-table'.
1145
1146         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1147         (char_id_table): Likewise.
1148         (GC_CHAR_ID_TABLE_P): Likewise.
1149         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1150         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1151         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1152         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1153         (get_char_id_table): Use `Lisp_Char_Table' instead of
1154         `Lisp_Char_ID_Table'.
1155         (put_char_id_table_0): Likewise.
1156         (put_char_id_table): Likewise.
1157
1158 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1159
1160         * chartab.h: Lisp_Byte_Table related codes are moved from
1161         chartab.h.
1162
1163         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1164
1165 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1166
1167         * chartab.h: Don't include "chartab.h".
1168         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1169         (Lisp_Char_ID_Table): Likewise.
1170         (char_id_table): Likewise.
1171         (XCHAR_ID_TABLE): Likewise.
1172         (XSETCHAR_ID_TABLE): Likewise.
1173         (CHAR_ID_TABLE_P): Likewise.
1174         (GC_CHAR_ID_TABLE_P): Likewise.
1175         (get_char_id_table): Likewise.
1176
1177         * char-ucs.h: Include "chartab.h".
1178         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1179         (Lisp_Char_ID_Table): Likewise.
1180         (char_id_table): Likewise.
1181         (XCHAR_ID_TABLE): Likewise.
1182         (XSETCHAR_ID_TABLE): Likewise.
1183         (CHAR_ID_TABLE_P): Likewise.
1184         (GC_CHAR_ID_TABLE_P): Likewise.
1185         (get_char_id_table): Likewise.
1186
1187 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1188
1189         * chartab.c (copy_uint8_byte_table): New function.
1190         (copy_uint16_byte_table): New function.
1191         (copy_byte_table): New function.
1192         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1193         characters to call.
1194         (map_over_uint16_byte_table): Likewise.
1195         (map_over_byte_table): Likewise.
1196         (get_byte_table): Move prototype to chartab.h.
1197         (put_byte_table): Likewise.
1198         (put_char_id_table_0): Moved to chartab.h.
1199         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1200         (char_table_entry_equal): Likewise.
1201         (char_table_entry_hash): Likewise.
1202         (char_table_entry_description): Likewise.
1203         (char_table_entry): Likewise.
1204         (make_char_table_entry): Likewise.
1205         (copy_char_table_entry): Likewise.
1206         (get_non_ascii_char_table_value): Likewise.
1207         (map_over_charset_ascii): Likewise.
1208         (map_over_charset_control_1): Likewise.
1209         (map_over_charset_row): Likewise.
1210         (map_over_other_charset): Likewise.
1211         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1212         (print_char_table): Likewise.
1213         (char_table_equal): Likewise.
1214         (char_table_hash): Likewise.
1215         (char_table_description): Likewise.
1216         (fill_char_table): Likewise.
1217         (Fcopy_char_table): Likewise.
1218         (get_char_table): Likewise.
1219         (Fget_range_char_table): Likewise.
1220         (put_char_table): Likewise.
1221         (map_char_table): Likewise.
1222         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1223         UTF-2000.
1224
1225 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1226
1227         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1228         `Vauto_fill_chars' in XEmacs UTF-2000.
1229
1230         * chartab.h (get_byte_table): New prototype [moved from
1231         chartab.c].
1232         (put_byte_table): Likewise [moved from chartab.c].
1233         (put_char_id_table_0): New inline function [moved from chartab.c].
1234         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1235         (Lisp_Char_Table_Entry): Likewise.
1236         (char_table_entry): Likewise.
1237         (XCHAR_TABLE_ENTRY): Likewise.
1238         (XSETCHAR_TABLE_ENTRY): Likewise.
1239         (CHAR_TABLE_ENTRYP): Likewise.
1240         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1241         (NUM_ASCII_CHARS): Likewise.
1242         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1243         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1244
1245 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1246
1247         * chartab.c (get_char_id_table): Change interface.
1248         (put_char_id_table_0): New function.
1249         (put_char_id_table): Change interface; new implementation.
1250         (Fget_composite_char): Modify for interface change of
1251         `get_char_id_table'.
1252         (Fchar_variants): Likewise.
1253         (add_char_attribute_alist_mapper): Likewise.
1254         (Fchar_attribute_alist): Likewise.
1255         (Fget_char_attribute): Likewise.
1256         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1257         as same as character as the first argument like `put-char-table';
1258         modify for interface change of `put_char_id_table'.
1259         (Fremove_char_attribute): Modify for interface change of
1260         `put_char_id_table'.
1261
1262 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1263
1264         * text-coding.c: Sync up with XEmacs 21.2.41.
1265         (COMPOSE_ADD_CHAR): Modify for interface change of
1266         `get_char_id_table'.
1267
1268         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1269         change of `put_char_id_table'.
1270         (remove_char_ccs): Likewise.
1271
1272         * chartab.h (put_char_id_table): Change interface.
1273
1274         * char-ucs.h (get_char_id_table): Change interface.
1275         (charset_code_point): Modify for interface change of
1276         `get_char_id_table'.
1277         (encode_char_1): Likewise.
1278
1279 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1280
1281         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1282         argument `ccs'.
1283         (map_over_uint16_byte_table): Likewise.
1284         (map_over_byte_table): Likewise.
1285         (map_char_id_table): Add new argument `range' like
1286         `map_char_table'.
1287         (Fmap_char_attribute): Add new argument `range' like
1288         `Fmap_char_table'.
1289
1290 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1291
1292         * chartab.c (map_over_uint8_byte_table): Change interface of
1293         mapping function to use struct chartab_range instead of Emchar.
1294         (map_over_uint16_byte_table): Likewise.
1295         (map_over_byte_table): Likewise.
1296         (map_char_id_table): Likewise.
1297         (struct slow_map_char_id_table_arg): Deleted.
1298         (slow_map_char_id_table_fun): Deleted.
1299         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1300         function `slow_map_char_table_fun' instead of struct
1301         `slow_map_char_id_table_arg' and function
1302         `slow_map_char_id_table_fun'.
1303
1304 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1305
1306         * mule-charset.c: Move char-it-table related codes to chartab.c.
1307         (Vutf_2000_version): Moved to chartab.c.
1308         (Fdefine_char): Likewise.
1309         (Ffind_char): Likewise.
1310         (syms_of_mule_charset): Move types `uint8-byte-table',
1311         `uint16-byte-table', `byte-table' and `char-id-table' to
1312         chartab.c; move functions `char_attribute_list,
1313         `find_char_attribute_table, `char_attribute_alist,
1314         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1315         `map_char_attribute, `define_char, `find_char, `char_variants and
1316         `get_composite_char to chartab.c; move symbols `=>ucs',
1317         `->decomposition', `compat', `isolated', `initial', `medial',
1318         `final', `vertical', `noBreak', `fraction', `super', `sub',
1319         `circle', `square', `wide', `narrow', `small' and `font' to
1320         chartab.c.
1321         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1322         setting codes for `Vcharacter_composition_table' and
1323         `Vcharacter_variant_table' to chartab.c.
1324         (complex_vars_of_mule_charset): Move setting code for
1325         `Vchar_attribute_hash_table' to chartab.c.
1326
1327         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1328         (make_char_id_table): New prototype.
1329         (put_char_id_table): Likewise.
1330         (Fget_char_attribute): Likewise.
1331
1332         * chartab.c: Move char-id-table related code from mule-charset.c.
1333         (Vutf_2000_version): Moved from mule-charset.c.
1334
1335         * char-ucs.h (Qucs): New external variable.
1336         (put_char_ccs_code_point): New prototype.
1337         (remove_char_ccs): Likewise.
1338
1339 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1340
1341         * mule-charset.c (Vcharset_ucs_jis): New variable.
1342         (Qucs_jis): Likewise.
1343         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1344         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1345
1346         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1347
1348 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1349
1350         * mule-charset.c (map_over_uint8_byte_table): New function.
1351         (map_over_uint16_byte_table): Likewise.
1352         (map_over_byte_table): Likewise.
1353         (map_char_id_table): Likewise.
1354         (slow_map_char_id_table_fun): Likewise.
1355         (Fmap_char_attribute): Likewise.
1356         (syms_of_mule_charset): Add new function `map-char-attribute'.
1357
1358 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1359
1360         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1361         (syms_of_mule_charset): Add new function `find-char'.
1362
1363 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1364
1365         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1366         XEmacs UTF-2000.
1367         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1368         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1369         XEmacs UTF-2000.
1370         (complex_vars_of_mule_charset): Add new coded-charset
1371         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1372         `ideograph-gt-pj-*'.
1373
1374         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1375
1376 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1377
1378         * mule-charset.c (encode_builtin_char_1): Purge codes about
1379         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1380         {MIN|MAX}_CHAR_HEBREW.
1381         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1382         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1383
1384         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1385         (MAX_CHAR_GREEK): Purged.
1386         (MIN_CHAR_CYRILLIC): Purged.
1387         (MAX_CHAR_CYRILLIC): Purged.
1388         (MIN_CHAR_HEBREW): Commented out.
1389         (MAX_CHAR_HEBREW): Likewise.
1390
1391 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1392
1393         * mule-charset.c (Qto_ucs): New variable.
1394         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1395         (Fdefine_char): Likewise.
1396         (syms_of_mule_charset): Add new symbol `=>ucs'.
1397
1398 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1399
1400         * mule-charset.c (Fdecode_char): Fixed.
1401
1402 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1403
1404         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1405         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1406         "tcvn5712-1".
1407
1408 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1409
1410         * mule-charset.c (Vcharset_ucs_big5): New variable.
1411         (Qucs_big5): Likewise.
1412         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1413         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1414
1415         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1416
1417 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1418
1419         * mule-charset.c (decode_builtin_char): Check Big5 code range
1420         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1421
1422 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1423
1424         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1425         (Qchinese_gb12345): Likewise.
1426         (Fdecode_builtin_char): Fixed.
1427         (syms_of_mule_charset): Add `chinese-gb12345'.
1428         (complex_vars_of_mule_charset): Add coded-charset
1429         `chinese-gb12345'.
1430
1431         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1432         (LEADING_BYTE_CHINESE_GB12345): New macro.
1433
1434 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1437         and `latin-viscii-upper' for `latin-viscii'.
1438
1439 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1440
1441         * mule-charset.c (Fdecode_builtin_char): Comment out
1442         regularization code for ISO-IR GR representation.
1443
1444 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1445
1446         * mule-charset.c (decode_builtin_char): New function; renamed from
1447         `make_builtin_char'; return -1 instead of signal.
1448         (Fdecode_builtin_char): Use `decode_builtin_char'.
1449
1450         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1451         `make_builtin_char'.
1452         (DECODE_CHAR): Use `decode_builtin_char' instead of
1453         `make_builtin_char'; use mapping table of `chinese-big5' for
1454         `chinese-big5-{1,2}'.
1455
1456 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * text-coding.c (char_encode_big5): New function.
1459         (char_finish_big5): Likewise.
1460         (reset_encoding_stream): Use `char_encode_big5' and
1461         `char_finish_big5' for CODESYS_BIG5.
1462         (mule_encode): Don't use `encode_coding_big5'.
1463         (encode_coding_big5): Deleted.
1464
1465 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1466
1467         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1468         0x81- in XEmacs UTF-2000.
1469         (detect_coding_big5): Likewise.
1470
1471 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1472
1473         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1474         generate character-id if the CCS property does not have
1475         corresponding predefined character.
1476         (make_builtin_char): Return -1 if corresponding predefined
1477         character is not found.
1478         (Fdecode_char): Return nil if corresponding character is not
1479         found.
1480         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1481         don't map to builtin ucs space.
1482
1483 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1484
1485         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1486         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1487
1488 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1489
1490         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1491         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1492         (Qideograph_gt): Likewise.
1493         (Qideograph_gt_pj_{1..11}): Likewise.
1494         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1495         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1496         `ideograph-gt-pj-11'.
1497         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1498         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1499         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1500
1501         * char-ucs.h (LEADING_BYTE_GT): New macro.
1502         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1503         (MIN_CHAR_GT): Likewise.
1504         (MAX_CHAR_GT): Likewise.
1505
1506 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1507
1508         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1509         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1510
1511         * doprnt.c (unsigned_int_converters): Add `c'.
1512         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1513
1514         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1515         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1516         `MIN_CHAR_MOJIKYO'.
1517         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1518         (MAX_CHAR_MOJIKYO_0): New macro.
1519         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1520
1521 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1522
1523         * mule-charset.c (Fdefine_char): Delete cemented out code.
1524         (encode_builtin_char_1): Modify for new allocation of builtin
1525         Mojikyo characters.
1526
1527         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1528
1529 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1530
1531         * mule-charset.c (Vcharset_ucs_cns): New variable.
1532         (Qucs_cns): New variable.
1533         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1534         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1535
1536 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1539
1540 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1541
1542         * search.c (search_buffer): Make `charset_base_code' as
1543         character-id >> 6 to eliminate the corresponding last byte in
1544         UTF-8 representation [I'm not sure it is right thing].
1545         (boyer_moore): Likewise.
1546
1547 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1548
1549         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1550         representation in MULE.
1551
1552 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1553
1554         * text-coding.c (Fmake_coding_system): Use
1555         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1556         `EXTERNAL_PROPERTY_LIST_LOOP'.
1557
1558 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1559
1560         * text-coding.c (decode_output_utf8_partial_char): New function.
1561         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1562
1563 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1564
1565         * text-coding.c (decode_coding_utf8): Output original byte
1566         sequence if it is broken; change order of conditions.
1567
1568         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1569         of conditions.
1570
1571         * mb-multibyte.h (BYTE_ASCII_P):
1572         Use bit ops for char-signedness safety.
1573         (BYTE_C0_P): Use bit ops for char-signedness safety.
1574         (BYTE_C1_P): Use bit ops for char-signedness safety.
1575
1576         * character.h: (XCHAR_OR_CHAR_INT):
1577         Always use inline function.
1578         Remove redundant type checking assert() - XINT will abort quite
1579         nicely.
1580
1581 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1582
1583         * text-coding.c: (Fencode_shift_jis_char):
1584         (Fencode_big5_char):
1585         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1586         Replace 0 with '\0' when working with bytes.
1587         Replace initial "(" with "\(" in docstrings.
1588
1589         (Fmake_coding_system):
1590         When type is ccl and value is vector, register it with a proper
1591         symbol.  And checks whether the given ccl program is valid.
1592         (mule_decode): When calling ccl_driver, if src indicates
1593         NULL pointer, set an empty string instead.
1594         (mule_encode): Likewise.
1595
1596         (detect_eol_type):
1597         (detect_coding_sjis):
1598         (decode_coding_sjis):
1599         (detect_coding_big5):
1600         (decode_coding_big5):
1601         (detect_coding_ucs4):
1602         (decode_coding_ucs4):
1603         (detect_coding_utf8):
1604         (decode_coding_utf8):
1605         (detect_coding_iso2022):
1606         (decode_coding_iso2022):
1607         (decode_coding_no_conversion):
1608         (mule_decode):
1609         Make all detecting and decoding functions take an Extbyte * arg.
1610         (text_encode_generic):
1611         (encode_coding_big5):
1612         (encode_coding_no_conversion):
1613         (mule_encode):
1614         Make all encoding functions take a Bufbyte * arg.
1615         Use size_t instead of unsigned int for memory sizes.
1616         Only cast to unsigned char whenever dereferencing Extbyte *.
1617
1618         (struct lrecord_description fcd_description_1): Use countof.
1619         (complex_vars_of_file_coding):
1620         Use countof instead of sizeof.
1621         Use CHECK_NATNUM instead of CHECK_INT.
1622
1623 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1624
1625         * mule-charset.c (Fget_char_attribute): Add new optional argument
1626         `default-value'.
1627         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1628         (remove_char_ccs): Likewise.
1629
1630 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * text-coding.c (char_encode_shift_jis): New implementation in
1633         UTF-2000.
1634         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1635         ...)'.
1636
1637         * mule-charset.c (Vcharset_chinese_big5): New variable in
1638         UTF-2000.
1639         (Qchinese_big5): New variable in UTF-2000.
1640         (BIG5_SAME_ROW): New macro in UTF-2000.
1641         (make_builtin_char): Use builtin characters of
1642         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1643         characters of `Vcharset_chinese_big5'.
1644         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1645         (complex_vars_of_mule_charset): Add new coded-charset
1646         `chinese-big5' in UTF-2000.
1647
1648         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1649         (Vcharset_chinese_big5): New external variable declaration.
1650         (Vcharset_japanese_jisx0208_1990): Likewise.
1651
1652 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1653
1654         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1655         function.
1656         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1657
1658 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1659
1660         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1661         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1662         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1663         `mojikyo-pj-*'.
1664
1665 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1666
1667         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1668
1669 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1670
1671         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1672         to 0.17.
1673
1674 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1675
1676         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1677         for `CHARSET_BY_ATTRIBUTES'.
1678         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1679         `CHARSET_BY_ATTRIBUTES'.
1680
1681         * text-coding.c (struct decoding_stream): Rename member `CH' to
1682         `CPOS'.
1683         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1684         (decode_coding_sjis): Likewise.
1685         (decode_coding_big5): Likewise.
1686         (decode_coding_ucs4): Likewise.
1687         (decode_coding_utf8): Likewise.
1688         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1689         `CHARSET_BY_ATTRIBUTES'.
1690         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1691         `str->counter'; decode 3, 4 bytes sets.
1692         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1693         sets.
1694         (decode_coding_no_conversion): Use `str->cpos' instead of
1695         `str->ch'.
1696
1697         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1698         (Qmojikyo_2022_1): New variable.
1699         (make_charset): Don't use `CHARSET_TYPE_*'.
1700         (range_charset_code_point): Support coded-charset
1701         `mojikyo-2022-1'.
1702         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1703         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1704         `CHARSET_BY_ATTRIBUTES'.
1705         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1706         `CHARSET_BY_ATTRIBUTES'.
1707         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1708         (complex_vars_of_mule_charset): Add new coded-charset
1709         `mojikyo-2022-1'.
1710
1711         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1712         interface; changed to inline function.
1713
1714         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1715         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1716         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1717         (CHARSET_TYPE_94): Deleted.
1718         (CHARSET_TYPE_94X94): Deleted.
1719         (CHARSET_TYPE_96): Deleted.
1720         (CHARSET_TYPE_96X96): Deleted.
1721         (CHARSET_TYPE_128): Deleted.
1722         (CHARSET_TYPE_128X128): Deleted.
1723         (CHARSET_TYPE_256): Deleted.
1724         (CHARSET_TYPE_256X256): Deleted.
1725         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1726         to inline function.
1727         (DECODE_MOJIKYO_2022): New inline function.
1728         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1729         `Vcharset_mojikyo_2022_1'.
1730
1731 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1732
1733         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1734         instead of `EQ'.
1735         (put_byte_table): Likewise.
1736         (char_id_table_equal): Use `get_byte_table' [new implementation].
1737
1738 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1739
1740         * mule-charset.c: Include <limits.h> in UTF-2000.
1741         (BT_UINT8_MIN): New macro in UTF-2000.
1742         (BT_UINT8_MAX): New macro in UTF-2000.
1743         (BT_UINT8_t): New macro in UTF-2000.
1744         (BT_UINT8_nil): New macro in UTF-2000.
1745         (BT_UINT8_unbound): New macro in UTF-2000.
1746         (INT_UINT8_P): New inline function in UTF-2000.
1747         (UINT8_VALUE_P): New inline function in UTF-2000.
1748         (UINT8_ENCODE): New inline function in UTF-2000.
1749         (UINT8_DECODE): New inline function in UTF-2000.
1750         (mark_uint8_byte_table): New function in UTF-2000.
1751         (print_uint8_byte_table): New function in UTF-2000.
1752         (uint8_byte_table_equal): New function in UTF-2000.
1753         (uint8_byte_table_hash): New function in UTF-2000.
1754         (make_uint8_byte_table): New function in UTF-2000.
1755         (uint8_byte_table_same_value_p): New function in UTF-2000.
1756         (BT_UINT16_MIN): New macro in UTF-2000.
1757         (BT_UINT16_MAX): New macro in UTF-2000.
1758         (BT_UINT16_t): New macro in UTF-2000.
1759         (BT_UINT16_nil): New macro in UTF-2000.
1760         (BT_UINT16_unbound): New macro in UTF-2000.
1761         (INT_UINT16_P): New inline function in UTF-2000.
1762         (UINT16_VALUE_P): New inline function in UTF-2000.
1763         (UINT16_ENCODE): New inline function in UTF-2000.
1764         (UINT16_DECODE): New inline function in UTF-2000.
1765         (UINT8_TO_UINT16): New inline function in UTF-2000.
1766         (mark_uint16_byte_table): New function in UTF-2000.
1767         (print_uint16_byte_table): New function in UTF-2000.
1768         (uint16_byte_table_equal): New function in UTF-2000.
1769         (uint16_byte_table_hash): New function in UTF-2000.
1770         (make_uint16_byte_table): New function in UTF-2000.
1771         (uint16_byte_table_same_value_p): New function in UTF-2000.
1772         (print_byte_table): New function in UTF-2000.
1773         (byte-table): Use `print_byte_table' as printer.
1774         (make_byte_table): Delete second argument `older'.
1775         (byte_table_same_value_p): New function in UTF-2000.
1776         (copy_byte_table): Deleted.
1777         (get_byte_table): New function in UTF-2000.
1778         (put_byte_table): New function in UTF-2000.
1779         (print_char_id_table): New function in UTF-2000.
1780         (char-id-table): Use `print_char_id_table' as printer.
1781         (make_char_id_table): Delete second argument `older'.
1782         (get_char_id_table): Use `get_byte_table [new implementation].
1783         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1784         implementation].
1785         (Ffind_char_attribute_table): New function in UTF-2000.
1786         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1787         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1788         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1789         (syms_of_mule_charset): Add new function
1790         `find-char-attribute-table' in UTF-2000.
1791
1792         * lrecord.h (enum lrecord_type): Add
1793         `lrecord_type_uint16_byte_table' and
1794         `lrecord_type_uint8_byte_table'.
1795
1796         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1797         (Lisp_Uint8_Byte_Table): New type.
1798         (XUINT8_BYTE_TABLE): New macro.
1799         (XSETUINT8_BYTE_TABLE): New macro.
1800         (UINT8_BYTE_TABLE_P): New macro.
1801         (GC_UINT8_BYTE_TABLE_P): New macro.
1802         (struct Lisp_Uint16_Byte_Table): New structure.
1803         (Lisp_Uint16_Byte_Table): New type.
1804         (XUINT16_BYTE_TABLE): New macro.
1805         (XSETUINT16_BYTE_TABLE): New macro.
1806         (UINT16_BYTE_TABLE_P): New macro.
1807         (GC_UINT16_BYTE_TABLE_P): New macro.
1808
1809 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1810
1811         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1812         (Vcharacter_ideographic_strokes_table): Deleted.
1813         (Vcharacter_total_strokes_table): Deleted.
1814         (Vcharacter_morohashi_daikanwa_table): Deleted.
1815         (Vcharacter_decomposition_table): Deleted.
1816         (Qname): Deleted because it is duplicated.
1817         (Qideographic_radical): Deleted.
1818         (Qideographic_strokes): Deleted.
1819         (Qtotal_strokes): Deleted.
1820         (Qmorohashi_daikanwa): Deleted.
1821         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1822         `ideographic-radical', `ideographic-strokes', `total-strokes',
1823         `morohashi-daikanwa' and `->decomposition'.
1824         (Fget_char_attribute): Likewise.
1825         (Fput_char_attribute): Likewise; use `make-vector' instead of
1826         `make_older_vector' for `->decomposition' value.
1827         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1828         `ideograph-daikanwa'.
1829         (syms_of_mule_charset): Delete builtin symbols `name',
1830         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1831         `morohashi-daikanwa'.
1832         (vars_of_mule_charset): Don't setup
1833         `Vcharacter_ideographic_radical_table',
1834         `Vcharacter_ideographic_strokes_table',
1835         `Vcharacter_total_strokes_table',
1836         `Vcharacter_morohashi_daikanwa_table' and
1837         `Vcharacter_decomposition_table'.
1838
1839 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1840
1841         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1842         `make_older_vector', `make_vector_newer_1' and
1843         `make_vector_newer'.
1844
1845         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1846         `make_older_vector' and `make_vector_newer'.
1847
1848         * config.h.in (HAVE_GGC): New macro.
1849
1850 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1851
1852         * mule-charset.c (struct char_attribute_list_closure): New
1853         structure in UTF-2000.
1854         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1855         (Fchar_attribute_list): Likewise.
1856         (Fset_charset_mapping_table): Use `make_vector_newer'.
1857         (Fdecode_builtin_char): New function in UTF-2000.
1858         (syms_of_mule_charset): Add new function `char-attribute-list' and
1859         `decode-builtin-char' in UTF-2000.
1860
1861         * lisp.h (make_vector_newer): New prototype.
1862
1863         * alloc.c (make_vector_newer_1): New function.
1864         (make_vector_newer): New function.
1865
1866 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1867
1868         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1869         50100)'.
1870
1871 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1872
1873         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1874         (Vcharacter_attribute_table): Deleted.
1875         (Vcharacter_name_table): Deleted.
1876         (put_char_attribute): Deleted.
1877         (remove_char_attribute): Deleted.
1878         (struct char_attribute_alist_closure): New structure.
1879         (add_char_attribute_alist_mapper): New function.
1880         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1881         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1882         (Fget_char_attribute): Likewise.
1883         (Fput_char_attribute): Likewise.
1884         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1885         of `remove_char_attribute'.
1886         (Fdefine_char): Return character.
1887         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1888         and `Vcharacter_name_table'.
1889         (complex_vars_of_mule_charset): Likewise
1890         `Vchar_attribute_hash_table'.
1891
1892 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1893
1894         * character.h (CHARC_CHARSET): New macro.
1895         (CHARC_CHARSET_ID): New macro.
1896         (CHARC_CODE_POINT): New macro.
1897         (CHARC_COLUMNS): New macro.
1898         (CHARC_TO_CHAR): New inline function.
1899         (CHARC_EQ): New inline function.
1900         (CHARC_ASCII_EQ): New inline function.
1901         (CHARC_IS_SPACE): New inline function.
1902         (ASCII_TO_CHARC): New inline function.
1903
1904         * char-ucs.h (encode_char_2): Deleted.
1905         (ENCODE_CHAR): Use `encode_char_1' again.
1906         (breakup_char_1): Likewise.
1907         (CHAR_TO_CHARC): New inline function.
1908
1909         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1910
1911 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1912
1913         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1914         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1915         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1916         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1917         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1918         `CHARC_IS_SPACE'.
1919         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1920
1921         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1922         `CHARC_CODE_POINT'.
1923         (x_output_display_block): Use `CHARC_CHARSET' and
1924         `CHARC_ASCII_EQ'.
1925
1926         * redisplay-tty.c (tty_output_display_block): Use
1927         `CHARC_ASCII_EQ'.
1928         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1929
1930         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1931
1932         * insdel.c (find_charsets_in_charc_string): Use
1933         `CHARC_CHARSET_ID'.
1934         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1935         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1936         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1937         (convert_charc_string_into_malloced_string): Likewise.
1938
1939 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1940
1941         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1942         instead of <Emchar_dynarr *> for buf; use
1943         `convert_bufbyte_string_into_charc_dynarr' instead of
1944         `convert_bufbyte_string_into_emchar_dynarr'; use
1945         `find_charsets_in_charc_string' instead of
1946         `find_charsets_in_emchar_string'.
1947
1948         * redisplay.h:
1949         - Include "character.h".
1950         (struct rune): New member `cglyph'; delete member `chr'.
1951
1952         * redisplay.c (redisplay_text_width_charc_string): New function;
1953         delete `redisplay_text_width_emchar_string'.
1954         (rtw_charc_dynarr): New variable; renamed from
1955         `rtw_emchar_dynarr'.
1956         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1957         `rtw_emchar_dynarr'; use
1958         `convert_bufbyte_string_into_charc_dynarr' instead of
1959         `convert_bufbyte_string_into_emchar_dynarr'; use
1960         `redisplay_text_width_charc_string' instead of
1961         `redisplay_text_width_emchar_string'.
1962         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1963         instead of `rtw_emchar_dynarr'; use
1964         `convert_bufbyte_string_into_charc_dynarr' instead of
1965         `convert_bufbyte_string_into_emchar_dynarr'.
1966         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1967         `redisplay_text_width_charc_string' instead of
1968         `redisplay_text_width_emchar_string'.
1969         (create_text_block): Modify for <struct rune> change.
1970         (generate_formatted_string_db): Likewise.
1971         (create_string_text_block): Likewise.
1972         (pixel_to_glyph_translation): Likewise.
1973
1974         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1975         instead of <const Emchar *>.
1976         (x_text_width): Likewise.
1977         (x_output_display_block): Use <Charc_dynarr *> instead
1978         <Emchar_dynarr *>; modify for <structure rune> change.
1979         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1980         *>.
1981
1982         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1983         <const Emchar *>; use `charc_string_displayed_columns' instead of
1984         `emchar_string_displayed_columns'.
1985         (tty_output_display_block): Use <Charc_dynarr *> instead of
1986         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1987         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1988         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1989         `tty_output_emchar_dynarr_dynarr'.
1990         (tty_output_charc_dynarr): New function; delete
1991         `tty_output_charc_dynarr'.
1992
1993         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1994         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1995         <Emchar_dynarr *> for buf; use
1996         `convert_bufbyte_string_into_charc_dynarr' instead of
1997         `convert_bufbyte_string_into_emchar_dynarr'.
1998
1999         * frame.c (title_string_charc_dynarr): New variable; renamed from
2000         `title_string_emchar_dynarr'.
2001         (generate_title_string): Use `title_string_charc_dynarr' instead
2002         of `title_string_emchar_dynarr'; use
2003         `convert_charc_string_into_malloced_string' instead of
2004         `convert_emchar_string_into_malloced_string'.
2005         (init_frame): Use `title_string_charc_dynarr' instead of
2006         `title_string_emchar_dynarr'.
2007
2008         * console.h:
2009         - Include "character.h".
2010         (struct console_methods): Use <const Charc *> instead of <const
2011         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2012         <Emchar_dynarr *> in output_string_method.
2013
2014         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2015         <Emchar_dynarr *>.
2016
2017         * console-stream.c (stream_text_width): Use <const Charc *>
2018         instead of <const Emchar *>.
2019
2020         * character.h (Charc_dynarr): New type.
2021
2022         * char-ucs.h (structure Charc): New structure; define new type
2023         `Charc'.
2024
2025         * char-lb.h (DECODE_CHAR): New inline function.
2026         (encode_char_1): New inline function.
2027         (ENCODE_CHAR): New macro.
2028         (structure Charc): New structure; define new type `Charc'.
2029
2030         * char-1byte.h (Vcharset_control_1): New macro.
2031         (Vcharset_latin_iso8859_1): New macro.
2032         (DECODE_CHAR): New inline function.
2033         (encode_char_1): New inline function.
2034         (ENCODE_CHAR): New macro.
2035         (structure Charc): New structure; define new type `Charc'.
2036
2037         * insdel.c (find_charsets_in_charc_string): New function; delete
2038         `find_charsets_in_emchar_string'.
2039         (charc_string_displayed_columns): New function; delete
2040         `emchar_string_displayed_columns'.
2041         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2042         `convert_bufbyte_string_into_emchar_dynarr'.
2043         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2044         `convert_charc_string_into_bufbyte_dynarr'.
2045         (convert_charc_string_into_malloced_string): New function; delete
2046         `convert_charc_string_into_malloced_string'.
2047
2048         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2049         `find_charsets_in_emchar_string'.
2050         (charc_string_displayed_columns): New prototype; delete
2051         `emchar_string_displayed_columns'.
2052         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2053         `convert_charc_string_into_bufbyte_dynarr'.
2054         (convert_charc_string_into_malloced_string): New prototype; delete
2055         `convert_charc_string_into_malloced_string'.
2056
2057 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2058
2059         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2060
2061 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2062
2063         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2064
2065         * char-ucs.h: Use <short> for <Charset_ID>.
2066
2067         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2068         <Charset_ID>.
2069
2070 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2071
2072         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2073         to 0.16.
2074
2075 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2076
2077         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2078         variable.
2079         (Qmorohashi_daikanwa): New variable.
2080         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2081         for `morohashi-daikanwa' attribute.
2082         (Fget_char_attribute): Likewise.
2083         (Fput_char_attribute): Likewise.
2084         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2085         has the same value of `ideograph-daikanwa'.
2086         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2087         (vars_of_mule_charset): Setup
2088         `Vcharacter_morohashi_daikanwa_table'.
2089
2090 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2091
2092         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2093         attributes.
2094         (add_charset_to_list_mapper): Add `key' instead of
2095         `XCHARSET_NAME (value)' to return aliases.
2096
2097 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2098
2099         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2100         variable.
2101         (Vcharacter_ideographic_strokes_table): New variable.
2102         (Qideographic_radical): New variable.
2103         (Qideographic_strokes): New variable.
2104         (Fchar_attribute_alist): Use
2105         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2106         attribute; use `Vcharacter_ideographic_strokes_table' for
2107         `ideographic-strokes' attribute.
2108         (Fget_char_attribute): Likewise.
2109         (Fput_char_attribute): Likewise.
2110         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2111         `ideographic-strokes'.
2112         (vars_of_mule_charset): Setup
2113         `Vcharacter_ideographic_radical_table' and
2114         `Vcharacter_ideographic_strokes_table'.
2115
2116 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2117
2118         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2119         (Qtotal_strokes): New variable.
2120         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2121         `total-strokes' attribute.
2122         (Fget_char_attribute): Likewise.
2123         (Fput_char_attribute): Likewise.
2124         (syms_of_mule_charset): Add new symbol `total-strokes'.
2125         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2126
2127 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2128
2129         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2130         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2131         are found.
2132         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2133         `->decomposition' attribute.
2134         (Fput_char_attribute): Likewise.
2135         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2136
2137 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2138
2139         * mule-charset.c (decoding_table_check_elements): New function.
2140         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2141
2142 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2143
2144         * mule-charset.c (Fset_charset_mapping_table): Use
2145         `put_char_ccs_code_point'.
2146
2147 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2148
2149         * mule-charset.c (decoding_table_put_char): New inline function.
2150         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2151
2152 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2153
2154         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2155         (XCHARSET_BYTE_SIZE): New macro.
2156         (decoding_table_remove_char): New inline function.
2157         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2158         `decoding_table_remove_char'.
2159         (remove_char_ccs): Use `decoding_table_remove_char'.
2160         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2161
2162 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2163
2164         * mule-charset.c (Vcharacter_name_table): New variable.
2165         (Qname): New variable.
2166         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2167         attribute.
2168         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2169         `Vcharacter_name_table' for `name' attribute.
2170         (Fremove_char_attribute): Use function `remove_char_ccs'.
2171         (put_char_ccs_code_point): New function.
2172         (remove_char_ccs): New function.
2173         (syms_of_mule_charset): Add new symbol `name'.
2174         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2175
2176 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2177
2178         * mule-charset.c (make_byte_table): Add new argument `older'.
2179         (make_char_id_table): Likewise.
2180         (copy_char_id_table): Comment out because it is not used.
2181         (put_char_id_table): Modify for `make_byte_table'.
2182         (Fput_char_attribute): Make encoding_table as older object;
2183         inherit older bit of `Vcharacter_composition_table'.
2184         (mark_charset): Don't mark `cs->encoding_table'.
2185         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2186         normal object; make `Vcharacter_composition_table' as an older
2187         object; delete staticpro for `Vcharacter_composition_table'; make
2188         `Vcharacter_variant_table' as a normal object.
2189
2190         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2191         (mark_object): Don't check older object in UTF-2000.
2192
2193         * lrecord.h (struct lrecord_header): Add new member `older' in
2194         UTF-2000.
2195         (set_lheader_implementation): Setup `SLI_header->older' in
2196         UTF-2000.
2197         (set_lheader_older_implementation): New macro in UTF-2000.
2198         (OLDER_RECORD_P): New macro in UTF-2000.
2199         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2200         (alloc_older_lcrecord): New prototype in UTF-2000.
2201         (alloc_older_lcrecord_type): New macro in UTF-2000.
2202
2203 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2204
2205         * mule-charset.c (byte_table_description): Use
2206         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2207         (char_id_table_description): Delete bogus `, 1'.
2208         (Fget_char_attribute): Refer encoding_table of each coded-charset
2209         to get value of coded-charset attribute of a character.
2210         (Fput_char_attribute): Use `make_older_vector' instead of
2211         `make_vector'; use encoding_table of each coded-charset to store
2212         value of coded-charset attribute of a character.
2213         (Fremove_char_attribute): Use encoding_table of each coded-charset
2214         to store value of coded-charset attribute of a character.
2215         (mark_charset): Mark `cs->encoding_table'; don't mark
2216         `cs->decoding_table'.
2217         (charset_description): Add description of new member
2218         `encoding_table'.
2219         (make_charset): Initialize `encoding_table'.
2220
2221         * char-ucs.h (struct Lisp_Charset): Add new member
2222         `encoding_table'.
2223         (CHARSET_ENCODING_TABLE): New macro.
2224         (XCHARSET_ENCODING_TABLE): New macro.
2225         (charset_code_point): New implementation.
2226         (encode_char_1): Likewise.
2227
2228         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2229         (disksave_object_finalization_1): Call finalizers of
2230         `all_older_lcrecords' in UTF-2000.
2231         (make_older_vector): New function in UTF-2000.
2232         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2233         UTF-2000.
2234
2235         * lisp.h (make_older_vector): New prototype in UTF-2000.
2236
2237 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2238
2239         * lrecord.h (enum lrecord_type): Rename
2240         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2241
2242         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2243         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2244         `get_char_code_table'.
2245
2246         * mule-charset.c (mark_char_id_table): Renamed from
2247         `mark_char_code_table'.
2248         (char_id_table_equal): Renamed from `char_code_table_equal'.
2249         (char_id_table_hash): Renamed from `char_code_table_hash'.
2250         (make_char_id_table): Renamed from `make_char_code_table'.
2251         (copy_char_id_table): Renamed from `copy_char_code_table'.
2252         (get_char_id_table): Renamed from `get_char_code_table'.
2253         (put_char_id_table): Renamed from `put_char_code_table'.
2254         (to_char_id): Renamed from `to_char_code'.
2255
2256         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2257         `Lisp_Char_Code_Table'.
2258         (char_id_table): Renamed from `char_code_table'.
2259         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2260         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2261         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2262         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2263         (get_char_id_table): Renamed from `get_char_code_table'.
2264
2265 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2266
2267         * lrecord.h (enum lrecord_type): Rename
2268         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2269
2270         * mule-charset.c (mark_byte_table): Renamed from
2271         `mark_char_byte_table'.
2272         (byte_table_equal): Renamed from `char_byte_table_equal'.
2273         (byte_table_hash): Renamed from `byte_table_hash'.
2274         (make_byte_table): Renamed from `make_byte_table'.
2275         (copy_byte_table): Renamed from `copy_char_byte_table'.
2276
2277         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2278         `Lisp_Char_Byte_Table'.
2279         (byte_table): Renamed from `char_byte_table'.
2280         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2281         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2282         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2283         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2284
2285 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2286
2287         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2288         (dfc_convert_to_internal_format): Likewise.
2289         
2290         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2291         * text-coding.c (Fcoding_system_alias_p): New function.
2292         * text-coding.c (Fcoding_system_aliasee): New function.
2293         * text-coding.c (append_suffix_to_symbol): New function.
2294         * text-coding.c (dangling_coding_system_alias_p): New function.
2295         * text-coding.c (Ffind_coding_system):
2296         * text-coding.c (Fcopy_coding_system):
2297         * text-coding.c (encode_coding_no_conversion):
2298         * text-coding.c (syms_of_file_coding):
2299         * text-coding.c (vars_of_file_coding):
2300         Rewrite coding system alias code.
2301         Allow nested aliases, like symbolic links.
2302         Allow redefinition of coding system aliases.
2303         Prevent existence of dangling coding system aliases.
2304         Eliminate convert_to_external_format.
2305         Eliminate convert_to_internal_format.
2306         
2307         * text-coding.c: Change enum eol_type to eol_type_t.
2308
2309 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2310
2311         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2312         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2313
2314         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2315         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2316
2317 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2318
2319         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2320         `ideograph-daikanwa'.
2321
2322         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2323         (Vcharset_ucs_bmp): Likewise.
2324         (Vcharset_mojikyo): Add new extern variable definition.
2325         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2326         (Vcharset_latin_iso8859_3): Likewise.
2327         (Vcharset_latin_iso8859_4): Likewise.
2328         (Vcharset_latin_iso8859_9): Likewise.
2329         (Vcharset_latin_viscii_lower): Likewise.
2330         (Vcharset_latin_viscii_upper): Likewise.
2331         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2332         `mojikyo' code-point is used to decode.
2333         (encode_char_2): New function [to convert `mojikyo' code-point to
2334         Mojikyo font encoding].
2335         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2336         (breakup_char_1): Likewise.
2337         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2338
2339 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2340
2341         * text-coding.c (Fmake_coding_system): Add document about
2342         `disable-composition' property.
2343
2344 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * text-coding.c (Qdisable_composition): New variable; delete
2347         `Qcomposite'.
2348         (Fmake_coding_system): Add new property `disable-composite';
2349         delete property `composite'.
2350         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2351         instead of `!CODING_SYSTEM_COMPOSITE'.
2352         (syms_of_file_coding): Add new symbol `disable-composition';
2353         delete symbol `composite'.
2354
2355         * file-coding.h (struct Lisp_Coding_System): Add
2356         `disable_composition'; delete `enable_composition'.
2357         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2358         `CODING_SYSTEM_COMPOSITE'.
2359         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2360         `XCODING_SYSTEM_COMPOSITE'.
2361
2362 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2363
2364         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2365         to 0.15.
2366
2367 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2368
2369         * text-coding.c (Qcomposite): New variable.
2370         (Fmake_coding_system): Add new property `composite'.
2371         (struct decoding_stream): Add `combined_char_count',
2372         `combined_chars' and `combining_table' in UTF-2000.
2373         (COMPOSE_FLUSH_CHARS): New macro.
2374         (COMPOSE_ADD_CHAR): New macro.
2375         (reset_decoding_stream): Reset `str->combined_char_count' and
2376         `str->combining_table' in UTF-2000.
2377         (decode_coding_iso2022): Modify for character-decomposition.
2378         (syms_of_file_coding): Add new symbol `composite'.
2379
2380 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2381
2382         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2383         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2384         of `Vcharacter_composition_table' if `->decomposition' property
2385         has only 1 element.
2386         (Qlatin_tcvn5712): New variable.
2387         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2388         (complex_vars_of_mule_charset): Add new coded-charset
2389         `latin-tcvn5712'.
2390
2391         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2392
2393 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2394
2395         * file-coding.h (struct Lisp_Coding_System): Add
2396         `enable_composition'.
2397         (CODING_SYSTEM_COMPOSITE): New macro.
2398         (XCODING_SYSTEM_COMPOSITE): New macro.
2399
2400 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2401
2402         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2403
2404 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2405
2406         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2407         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2408
2409 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2410
2411         * mule-charset.c (Vcharset_mojikyo): New variable.
2412         (Fdefine_char): Don't use coded-charset which does not have
2413         non-builtin character range to allocate character-id.
2414         (Qmojikyo): New variable.
2415         (syms_of_mule_charset): Add new symbol `mojikyo'.
2416         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2417
2418         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2419         (LEADING_BYTE_MOJIKYO): New macro.
2420         (MIN_CHAR_MOJIKYO): New macro.
2421         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2422         (MAX_CHAR_MOJIKYO): New macro.
2423
2424 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2425
2426         * mule-charset.c (remove_char_attribute): Fixed.
2427
2428 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2429
2430         * mule-charset.c (remove_char_attribute): New function.
2431         (Fremove_char_attribute): New function.
2432         (encode_builtin_char_1): Comment out builtin-support for
2433         greek-iso8859-7 and cyrillic-iso8859-5.
2434         (Fdecode_char): Check `code' is an integer.
2435         (syms_of_mule_charset): Add `remove-char-attribute'.
2436         (MIN_CHAR_GREEK): Deleted.
2437         (MAX_CHAR_GREEK): Likewise.
2438         (MIN_CHAR_CYRILLIC): Likewise.
2439         (MAX_CHAR_CYRILLIC): Likewise.
2440         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2441         MAX_CHAR_GREEK for `greek-iso8859-7'.
2442
2443         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2444         (MAX_CHAR_GREEK): Likewise.
2445         (MIN_CHAR_CYRILLIC): Likewise.
2446         (MAX_CHAR_CYRILLIC): Likewise.
2447
2448 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2449
2450         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2451         format is used without `ucs' property.
2452         (Fdecode_char): Fix problem with GR representation.
2453         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2454         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2455
2456 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2457
2458         * mule-charset.c (make_builtin_char): New function.
2459         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2460         (Fset_charset_mapping_table): Modify for new representation of
2461         code-point.
2462         (Fdecode_char): New function.
2463         (syms_of_mule_charset): Add new builtin function `decode-char' in
2464         UTF-2000.
2465
2466         * char-ucs.h (make_builtin_char): New prototype.
2467         (DECODE_CHAR): New inline function.
2468         (MAKE_CHAR): Use `DECODE_CHAR'.
2469
2470 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2471
2472         * text-coding.c (parse_charset_conversion_specs): Use
2473         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2474         `XCHARSET_TYPE'.
2475         (iso2022_designate): Likewise.
2476
2477         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2478         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2479
2480         * mule-charset.c (Vcharset_ucs): New variable.
2481         (print_charset): Change design; use `CHARSET_CHARS' and
2482         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2483         (make_charset): Change signature to specify `chars' and
2484         `dimension' instead of `type'.
2485         (range_charset_code_point): Modify for 256^n-set.
2486         (encode_builtin_char_1): Encode as `ucs' in default.
2487         (Fmake_charset): Modify for `make_charset'.
2488         (Fmake_reverse_direction_charset): Likewise.
2489         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2490         UTF-2000.
2491         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2492         for `make_charset'.
2493
2494         * char-ucs.h (Vcharset_ucs): New variable.
2495         (LEADING_BYTE_UCS): New macro.
2496         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2497         and `chars' to `unsigned short' from `unsigned int'.
2498         (CHARSET_TYPE): Deleted.
2499         (XCHARSET_TYPE): Deleted.
2500
2501 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2502
2503         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2504
2505         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2506         (ENCODE_CHAR): New macro.
2507
2508 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2509
2510         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2511         to 0.14 (Kawachi-Katakami).
2512
2513 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2514
2515         * text-coding.c (char_encode_shift_jis): Modify for
2516         `charset_code_point'.
2517         (char_encode_iso2022): Likewise.
2518
2519         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2520         (integer) instead of list of <Lisp_Object>s (integers) as the
2521         format of code-point of a coded-charset.
2522         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2523         (encode_builtin_char_1): New function; delete
2524         `split_builtin_char'.
2525         (charset_code_point): Return <int> instead of <Lisp_Object>.
2526         (Fsplit_char): Don't use `SPLIT_CHAR'.
2527
2528         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2529         prototype for `split_builtin_char'.
2530         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2531         (charset_code_point): Likewise.
2532         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2533         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2534
2535 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2536
2537         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2538         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2539
2540 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2541
2542         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2543
2544         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2545         (MAX_CHAR_OBS_94x94): Deleted.
2546
2547 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2548
2549         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2550
2551         * char-ucs.h (MAX_CHAR_BMP): New macro.
2552
2553 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2554
2555         * text-coding.c: Sync with r21-2-24.
2556
2557 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2558
2559         * file-coding.c: Modify for UTF-2000.
2560
2561 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2562
2563         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2564         to 0.13 (Takaida).
2565
2566 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2567
2568         * mule-charset.c (split_builtin_char): Delete builtin support for
2569         `katakana-jisx0201'.
2570         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2571         BMP area in builtin representation.
2572
2573         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2574         `Vcharset_katakana_jisx0201'.
2575
2576 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2577
2578         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2579         (Qisolated): New variable.
2580         (Qinitial): New variable.
2581         (Qmedial): New variable.
2582         (Qfinal): New variable.
2583         (Qvertical): New variable.
2584         (Qsmall): New variable.
2585         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2586         `Qvertical' and `Qsmall'.
2587         (Qmojikyo_pj_[1 .. 21]): New variable.
2588         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2589         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2590         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2591         .. 21]'.
2592
2593 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2594
2595         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2596         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2597         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2598
2599 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2600
2601         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2602         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2603         BMP.
2604         (Qjapanese_jisx0208_1990): New variable.
2605         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2606         (complex_vars_of_mule_charset): Add new coded-charset
2607         `japanese-jisx0208-1990'.
2608
2609         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2610         (MIN_CHAR_JIS_X0208_1990): New macro.
2611         (MAX_CHAR_JIS_X0208_1990): New macro.
2612
2613 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2614
2615         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2616         coded-charset is not found.
2617
2618 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2619
2620         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2621         (Fdefine_char): Use `Fmake_char'.
2622
2623 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2624
2625         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2626         (Vcharset_hiragana_jisx0208): Deleted.
2627         (Vcharset_katakana_jisx0208): Deleted.
2628         (Qideograph_daikanwa): New variable.
2629         (Qhiragana_jisx0208): Deleted.
2630         (Qkatakana_jisx0208): Deleted.
2631         (split_builtin_char): Split `ideograph-daikanwa'.
2632         (Fsplit_char): New implementation for UTF-2000.
2633         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2634         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2635         (complex_vars_of_mule_charset): Add new coded-charset
2636         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2637         `katakana-jisx0208'.
2638
2639         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2640         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2641         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2642         (MIN_CHAR_DAIKANWA): New macro.
2643         (MAX_CHAR_DAIKANWA): New macro.
2644
2645 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2646
2647         * data.c (Fstring_to_number): Don't recognize floating point if
2648         base is not 10.
2649
2650 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2651
2652         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2653
2654 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2655
2656         * mule-charset.c (Qsquare): New variable.
2657         (to_char_code): Add `Qsquare'.
2658         (syms_of_mule_charset): Add new symbol `square'.
2659
2660 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2661
2662         * mule-charset.c (Qcircle): New variable.
2663         (to_char_code): Add `Qcircle'.
2664         (syms_of_mule_charset): Add new symbol `circle'.
2665
2666 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2667
2668         * mule-charset.c (Qfont): New variable.
2669         (to_char_code): Add `Qfont'.
2670         (syms_of_mule_charset): Add new symbol `font'.
2671
2672 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2673
2674         * mule-charset.c (Qsub): New variable.
2675         (to_char_code): Add `Qsub'.
2676         (syms_of_mule_charset): Add new symbol `sub'.
2677
2678 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2679
2680         * mule-charset.c (Fput_char_attribute): Convert each element of
2681         VALUE to GL position if ATTRIBUTE is a GR-set,
2682
2683 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2684
2685         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2686         coded-charset is a GR-set.
2687
2688 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2689
2690         * mule-charset.c (Fput_char_attribute): Check each element of
2691         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2692
2693 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2694
2695         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2696         UTF-2000.
2697         (Qethiopic_ucs): New variable in UTF-2000.
2698         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2699         (complex_vars_of_mule_charset): Add new coded-charset
2700         `ethiopic-ucs' in UTF-2000.
2701
2702         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2703         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2704         9)'.
2705         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2706         10)'.
2707         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2708
2709 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2710
2711         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2712         `ascii'.
2713
2714 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2715
2716         * mule-charset.c (Vcharacter_variant_table): New variable.
2717         (Q_ucs): New variable.
2718         (Fchar_variants): New function.
2719         (Fput_char_attribute): Register `->ucs' value to
2720         `Vcharacter_variant_table'.
2721         (syms_of_mule_charset): Add new function `char-variants' and new
2722         symbol `->ucs'.
2723         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2724
2725 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2726
2727         * mule-charset.c (get_char_code_table): Allow negative character
2728         code.
2729         (put_char_code_table): Likewise.
2730         (Vcharacter_composition_table): New variable.
2731         (Q_decomposition): New variable.
2732         (Qwide): New variable.
2733         (Qnarrow): New variable.
2734         (Qcompat): New variable.
2735         (QnoBreak): New variable.
2736         (Qsuper): New variable.
2737         (Qfraction): New variable.
2738         (to_char_code): New function.
2739         (Fget_composite_char): New function.
2740         (Fput_char_attribute): Register `->decomposition' value to
2741         `Vcharacter_composition_table'.
2742         (syms_of_mule_charset): Add new function `get-composite-char', new
2743         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2744         `super' and `fraction'.
2745         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2746
2747 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2748
2749         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2750         character; copy the return value.
2751
2752 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2753
2754         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2755
2756         * mule-charset.c (range_charset_code_point): Must use make_int.
2757         (split_builtin_char): New function.
2758
2759 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2760
2761         * mule-charset.c (char_byte_table): Change name from
2762         "char-code-table" to "char-byte-table".
2763         (mark_char_code_table): New function.
2764         (char_code_table_equal): New function.
2765         (char_code_table_hash): New function.
2766         (char_code_table_description): New constant.
2767         (char_code_table): New type.
2768         (make_char_code_table): New function.
2769         (copy_char_code_table): New function.
2770         (get_char_code_table): Modify for `char_code_table' type.
2771         (put_char_code_table): Likewise.
2772         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2773         (Kashiwara).
2774
2775         * char-ucs.h (char_code_table): New type.
2776         (XCHAR_CODE_TABLE): New macro.
2777         (XSETCHAR_CODE_TABLE): New macro.
2778         (CHAR_CODE_TABLE_P): New macro.
2779         (GC_CHAR_CODE_TABLE_P): New macro.
2780         (struct Lisp_Char_Code_Table): New structure.
2781
2782 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2783
2784         * mule-charset.c (Fmake_charset): Setup byte_offset for
2785         {94|96}^n-set.
2786
2787 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2788
2789         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2790         character.
2791
2792 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2793
2794         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2795         is found.
2796
2797 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2798
2799         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2800         charset, it is regarded as a charset.
2801         (put_char_attribute): New function in UTF-2000.
2802         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2803         charset, mapping-table of the charset is modified.
2804         (Fdefine_char): New function in UTF-2000.
2805         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2806         `Fput_char_attribute'.
2807         (syms_of_mule_charset): Add new function `define-char' and new
2808         symbol `ucs' in UTF-2000.
2809         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2810
2811 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2812
2813         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2814         non-UTF-2000 configuration.
2815
2816 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2817
2818         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2819         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2820
2821         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2822         deleted.
2823         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2824         (Fset_charset_mapping_table): Likewise.
2825
2826         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2827         (CHARSET_ENCODING_TABLE): Delete.
2828         (XCHARSET_ENCODING_TABLE): Delete.
2829         (charset_code_point): New interface.
2830
2831 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2832
2833         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2834         instead of `charset_get_byte1' and `charset_get_byte2'.
2835
2836         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2837         (charset_get_byte2): Deleted.
2838
2839 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2840
2841         * char-ucs.h (SPLIT_CHAR): New inline function.
2842         (breakup_char_1): Use `SPLIT_CHAR'.
2843
2844         * mule-charset.c (range_charset_code_point): New function.
2845         (charset_code_point): New function.
2846
2847         * char-ucs.h (range_charset_code_point): New interface.
2848         (breakup_char_1): Use `range_charset_code_point'.
2849
2850 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2851
2852         * mule-charset.c (Fmake_charset): Delete unused local variable
2853         `code_offset'.
2854
2855         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2856         (breakup_char_1): Find a charset and code-point in
2857         `Vcharacter_attribute_table'.
2858
2859 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2860
2861         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2862         to 0.10 (Yao).
2863
2864 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2865
2866         * mule-charset.c (Vcharacter_attribute_table): New variable.
2867         (Fchar_attribute_alist): New function.
2868         (Fget_char_attribute): New function.
2869         (Fput_char_attribute): New function.
2870         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2871         too.
2872         (syms_of_mule_charset): Add new function `char-attribute-alist',
2873         `get-char-attribute' and `put-char-attribute'.
2874         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2875
2876 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2877
2878         * mule-charset.c (Fmake_charset): Just use
2879         `get_unallocated_leading_byte'.
2880
2881         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2882         sets; don't use final-byte based number for private sets.
2883
2884 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2885
2886         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2887         integer.
2888
2889 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2890
2891         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2892         to 0.9.
2893
2894 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2895
2896         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2897         of `CHAR_LEADING_BYTE' in UTF-2000.
2898
2899         * insdel.c (find_charsets_in_bufbyte_string): Use
2900         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2901         (find_charsets_in_emchar_string): Likewise.
2902
2903         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2904         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2905
2906         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2907         (CHAR_CHARSET_ID): New macro.
2908
2909 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2910
2911         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2912         charset-id - MIN_LEADING_BYTE.
2913         (put_char_table): Likewise.
2914
2915 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2916
2917         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2918         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2919         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2920         (CHARSET_ID_OFFSET): New macro.
2921         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2922         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2923         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2924         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2925         4).
2926         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2927         5).
2928         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2929         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2930         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2931         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2932         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2933
2934 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2935
2936         * mule-charset.c (next_allocated_leading_byte): New variable in
2937         UTF-2000.
2938         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2939         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2940         (get_unallocated_leading_byte): Simply use
2941         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2942         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2943         UTF-2000.
2944
2945         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2946         (MAX_LEADING_BYTE_PRIVATE): New macro.
2947         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2948         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2949
2950 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2951
2952         * mule-charset.c (Fmake_charset): Allocate final-byte based
2953         charset-id for 94-set, 96-set and 94x94-set.
2954
2955 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2956
2957         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2958         ambiguous `else'.
2959         (Fmake_charset): Likewise.
2960         (complex_vars_of_mule_charset): Modify the font registry of
2961         `ucs-bmp' not to match `Ethiopic-Unicode'.
2962
2963 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2964
2965         * mule-charset.c (complex_vars_of_mule_charset): Add font
2966         registory of `ucs-bmp'.
2967
2968 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2969
2970         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2971         coded-charsets in `default-coded-charset-priority-list' when
2972         breaking up a character.
2973
2974         * mule-charset.c (Vcharset_latin_viscii): New variable.
2975         (Qlatin_viscii): New variable.
2976         (make_charset): Don't use `decoding_table'.
2977         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2978         byte_offset.
2979         (Fset_charset_mapping_table): New implementation.
2980         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2981         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2982         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2983         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2984         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2985         charset `latin_viscii'.
2986
2987         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2988         (CHARSET_TYPE_94X94): Change to 1 from 2.
2989         (CHARSET_TYPE_96): Change to 2 from 1.
2990         (CHARSET_TYPE_128): New macro.
2991         (CHARSET_TYPE_128X128): Change to 5 from 4.
2992         (CHARSET_TYPE_256): New macro.
2993         (CHARSET_TYPE_256X256): Change to 7 from 5.
2994         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2995
2996 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2997
2998         * text-coding.c (char_encode_shift_jis): Refer
2999         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3000         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3001
3002         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3003         (char_byte_table_equal): New function in UTF-2000.
3004         (char_byte_table_hash): New function in UTF-2000.
3005         (char_byte_table_description): New constant in UTF-2000.
3006         (char_byte_table): New type in UTF-2000.
3007         (make_char_byte_table): New function in UTF-2000.
3008         (copy_char_byte_table): New function in UTF-2000.
3009         (make_char_code_table): New macro in UTF-2000.
3010         (get_char_code_table): New function in UTF-2000.
3011         (put_char_code_table): New function in UTF-2000.
3012         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3013         (charset_description): Add setting in UTF-2000.
3014         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3015         `CHARSET_TO_BYTE1_TABLE(cs)'.
3016         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3017         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3018         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3019         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3020         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3021         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3022         `CHARSET_TO_BYTE2_TABLE(cs)'.
3023
3024         * char-ucs.h (char_byte_table): New type.
3025         (XCHAR_BYTE_TABLE): New macro.
3026         (XSETCHAR_BYTE_TABLE): New macro.
3027         (CHAR_BYTE_TABLE_P): New macro.
3028         (GC_CHAR_BYTE_TABLE_P): New macro.
3029         (struct Lisp_Char_Byte_Table): New structure.
3030         (get_char_code_table): New interface.
3031         (Emchar_to_byte_table): Deleted.
3032         (get_byte_from_character_table): Deleted.
3033         (struct Lisp_Charset): Add `encoding_table'; delete
3034         `to_byte1_table' and `to_byte2_table'.
3035         (CHARSET_ENCODING_TABLE): New macro.
3036         (CHARSET_TO_BYTE1_TABLE): Deleted.
3037         (CHARSET_TO_BYTE2_TABLE): Deleted.
3038         (XCHARSET_ENCODING_TABLE): New macro.
3039         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3040         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3041
3042 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3043
3044         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3045         `vietnamese-viscii-*'.
3046
3047 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3048
3049         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3050         (Qvietnamese_viscii_upper): New variable.
3051         (Fdefine_charset_alias): New function.
3052         (syms_of_mule_charset): Add new function `define-charset-alias'.
3053         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3054         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3055         `latin-viscii-*'.
3056
3057 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3058
3059         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3060         (MAX_CHAR_OBS_94x94): New macro.
3061         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3062         for 94x94 sets.
3063
3064         * mule-charset.c (put_byte_from_character_table): Change unit size
3065         from 128 to 256.
3066         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3067         not defined.
3068         (Fmake_reverse_direction_charset): Modify dummy argument of
3069         `make_charset' for non-UTF-2000 environment.
3070
3071 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3072
3073         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3074
3075         * mule-charset.c (destroy_byte_from_character_table): New macro.
3076         (latin_jisx0201_to_ucs): Deleted.
3077         (latin_iso8859_2_to_ucs): Deleted.
3078         (latin_iso8859_3_to_ucs): Deleted.
3079         (latin_iso8859_4_to_ucs): Deleted.
3080         (latin_iso8859_9_to_ucs): Deleted.
3081         (latin_viscii_lower_to_ucs): Deleted.
3082         (latin_viscii_upper_to_ucs): Deleted.
3083         (mark_charset): Mark `cs->decoding_table'.
3084         (Fcharset_mapping_table): Fix DOC-string.
3085         (Fset_charset_mapping_table): New function.
3086         (syms_of_mule_charset): Add nwe function
3087         `set-charset-mapping-table'.
3088         (complex_vars_of_mule_charset): Don't setup and use
3089         `latin_*_to_ucs'.
3090
3091 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3092
3093         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3094         charset.
3095
3096 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3097
3098         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3099         (Vcharset_katakana_jisx0208): New variable.
3100         (Qhiragana_jisx0208): New variable.
3101         (Qkatakana_jisx0208): New variable.
3102         (make_charset): Add new argument `byte_offset'.
3103         (charset_get_byte1): Modify for new coded-charset definition; use
3104         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3105         `XCHARSET_BYTE_OFFSET'.
3106         (Fmake_charset): Modify for `make_charset'.
3107         (Fmake_reverse_direction_charset): Likewise.
3108         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3109         `katakana-jisx0208'.
3110         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3111         `.'  in font registry of charset `katakana-jisx0201',
3112         `latin-jisx0201', `vietnamese-viscii-lower' and
3113         `vietnamese-viscii-upper'; modify DOC-string of charset
3114         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3115         registry of charset `japanese-jisx0208' not to use font for JIS
3116         X0208:1990; add new charset `hiragana-jisx0208' and
3117         `katakana-jisx0208'.
3118
3119         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3120         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3121         (struct Lisp_Charset): Add `byte_offset'.
3122         (CHARSET_BYTE_OFFSET): New macro.
3123         (XCHARSET_UCS_MIN): New macro.
3124         (XCHARSET_UCS_MAX): New macro.
3125         (XCHARSET_CODE_OFFSET): New macro.
3126         (XCHARSET_BYTE_OFFSET): New macro.
3127         (MIN_CHAR_HIRAGANA): New macro.
3128         (MAX_CHAR_HIRAGANA): New macro.
3129         (MIN_CHAR_KATAKANA): New macro.
3130         (MAX_CHAR_KATAKANA): New macro.
3131         (MAKE_CHAR): Modify for new coded-charset definition; use
3132         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3133         `XCHARSET_BYTE_OFFSET'.
3134
3135 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3136
3137         * mule-charset.c (CHAR96): Deleted.
3138         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3139         <Lisp_Object>.
3140         (latin_iso8859_2_to_ucs): Likewise.
3141         (latin_iso8859_3_to_ucs): Likewise.
3142         (latin_iso8859_4_to_ucs): Likewise.
3143         (latin_iso8859_9_to_ucs): Likewise.
3144         (latin_viscii_lower_to_ucs): Likewise.
3145         (latin_viscii_upper_to_ucs): Likewise.
3146         (latin_tcvn5712_to_ucs): Commented out.
3147         (make_charset): Change type of argument `decoding_table' from
3148         <Emchar*> to <Lisp_Object> [vector of characters].
3149         (Fmake_charset): Modify for `make_charset'.
3150         (Fmake_reverse_direction_charset): Likewise.
3151         (Fcharset_mapping_table): New function in UTF-2000.
3152         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3153         UTF-2000.
3154         (complex_vars_of_mule_charset): Modify for type change of
3155         `*_to_ucs'; modify for `make_charset'.
3156
3157         * char-ucs.h (struct Lisp_Charset): Change type of
3158         `decoding_table' from <Emchar*> to <Lisp_Object>.
3159         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3160
3161 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3162
3163         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3164         error with non-UTF-2000-Mule.
3165
3166 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3167
3168         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3169         in lisp again].
3170         (Vcharset_chinese_cns11643_4): Likewise.
3171         (Vcharset_chinese_cns11643_5): Likewise.
3172         (Vcharset_chinese_cns11643_6): Likewise.
3173         (Vcharset_chinese_cns11643_7): Likewise.
3174         (Qchinese_cns11643_3): Likewise.
3175         (Qchinese_cns11643_4): Likewise.
3176         (Qchinese_cns11643_5): Likewise.
3177         (Qchinese_cns11643_6): Likewise.
3178         (Qchinese_cns11643_7): Likewise.
3179         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3180         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3181         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3182         (complex_vars_of_mule_charset): Likewise.
3183
3184 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3185
3186         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3187         96-set.
3188         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3189         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3190
3191 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3192
3193         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3194         0xFF60.
3195         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3196         (breakup_char_1): Likewise.
3197
3198         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3199         one of them includes the specified character.
3200
3201 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3202
3203         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3204
3205 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3206
3207         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3208
3209 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3210
3211         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3212         definition for non-UTF-2000 Mule.
3213         (latin_iso8859_3_to_ucs): Likewise.
3214         (latin_iso8859_4_to_ucs): Likewise.
3215         (latin_iso8859_9_to_ucs): Likewise.
3216         (latin_jisx0201_to_ucs): Likewise.
3217         (MIN_CHAR_THAI): Likewise.
3218         (MAX_CHAR_THAI): Likewise.
3219         (MIN_CHAR_GREEK): Likewise.
3220         (MAX_CHAR_GREEK): Likewise.
3221         (MIN_CHAR_HEBREW): Likewise.
3222         (MAX_CHAR_HEBREW): Likewise.
3223         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3224         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3225         (MIN_CHAR_CYRILLIC): Likewise.
3226         (MAX_CHAR_CYRILLIC): Likewise.
3227
3228 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3229
3230         * char-ucs.h (breakup_char_1): Use
3231         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3232         thai-tis620 and katakana-jisx0201 area.
3233
3234 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3235
3236         * char-ucs.h (breakup_char_1): Use
3237         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3238         area.
3239
3240         * text-coding.c (reset_encoding_stream): Fixed.
3241         (char_encode_ucs4): Delete `& 255'.
3242
3243         * char-ucs.h (breakup_char_1): Use
3244         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3245
3246 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3247
3248         * file-coding.c (Fmake_coding_system): Don't set up
3249         `codesys->fixed.size'.
3250         (encode_coding_no_conversion): Don't refer
3251         `str->codesys->fixed.size'.
3252
3253 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3254
3255         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3256         (latin_a_char_to_byte1): Deleted.
3257         (latin_a_char_to_byte2): Deleted.
3258
3259 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3260
3261         * mule-charset.c (make_charset): Add new argument `ucs_min',
3262         `ucs_max' and `code_offset'.
3263         (charset_get_byte1): New implementation [delete specific charset
3264         depended implementations].
3265         (Fmake_charset): Modify for `make_charset'.
3266         (Fmake_reverse_direction_charset): Likewise.
3267         (complex_vars_of_mule_charset): Likewise.
3268
3269         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3270         `code_offset'.
3271         (CHARSET_UCS_MIN): New macro.
3272         (CHARSET_UCS_MAX): New macro.
3273         (CHARSET_CODE_OFFSET): New macro.
3274         (MAKE_CHAR): Delete charset depended definitions [except
3275         katakana-jisx0201].
3276
3277 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3278
3279         * char-ucs.h (breakup_char_1): Use
3280         `Vdefault_coded_charset_priority_list' for C0-Controls,
3281         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3282
3283 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3284
3285         * char-ucs.h (charset_get_byte1): New function.
3286         (XCHARSET_GET_BYTE1): Deleted.
3287         (charset_get_byte2): New function.
3288         (XCHARSET_GET_BYTE2): Deleted.
3289         (Vdefault_coded_charset_priority_list): New external variable.
3290         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3291         `Vdefault_preferred_coded_charset_list'.
3292
3293         * mule-charset.c (charset_get_byte1): New function.
3294         (charset_get_byte2): New function.
3295         (Vdefault_coded_charset_priority_list): New variable.
3296         (vars_of_mule_charset): Add new variable
3297         `default-coded-charset-priority-list'.
3298
3299 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3300
3301         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3302         (XCHARSET_GET_BYTE2): New inline function.
3303         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3304         `XCHARSET_GET_BYTE2'.
3305
3306 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3307
3308         * mule-charset.c (make_charset): Initialize
3309         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3310         NULL if table is not defined.
3311
3312 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3313
3314         * text-coding.c (char_encode_shift_jis): Use
3315         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3316         `ucs_to_latin_jisx0201'.
3317
3318         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3319         (ucs_to_latin_iso8859_2): Deleted.
3320         (ucs_to_latin_iso8859_3): Deleted.
3321         (ucs_to_latin_iso8859_4): Deleted.
3322         (ucs_to_latin_iso8859_9): Deleted.
3323         (ucs_to_latin_viscii_lower): Deleted.
3324         (ucs_to_latin_viscii_upper): Deleted.
3325         (ucs_to_latin_tcvn5712): Deleted.
3326         (make_charset): Add new argument `decoding_table'; set up
3327         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3328         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3329         `decoding_table' is defined in UTF-2000.
3330         (Fmake_charset): Modify for `make_charset'.
3331         (Fmake_reverse_direction_charset): Likewise.
3332         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3333         and `GENERATE_96_SET'.
3334
3335         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3336         (ucs_to_latin_jisx0201): Deleted.
3337         (latin_iso8859_2_to_ucs): Deleted.
3338         (ucs_to_latin_iso8859_2): Deleted.
3339         (latin_iso8859_3_to_ucs): Deleted.
3340         (ucs_to_latin_iso8859_3): Deleted.
3341         (latin_iso8859_4_to_ucs): Deleted.
3342         (ucs_to_latin_iso8859_4): Deleted.
3343         (latin_iso8859_9_to_ucs): Deleted.
3344         (ucs_to_latin_iso8859_9): Deleted.
3345         (latin_viscii_lower_to_ucs): Deleted.
3346         (ucs_to_latin_viscii_lower): Deleted.
3347         (latin_viscii_upper_to_ucs): Deleted.
3348         (ucs_to_latin_viscii_upper): Deleted.
3349         (struct Lisp_Charset): Renamed `encoding_table' to
3350         `to_byte1_table'; add `to_byte2_table'.
3351         (CHARSET_DECODING_TABLE): New macro.
3352         (CHARSET_TO_BYTE1_TABLE): New macro.
3353         (CHARSET_TO_BYTE2_TABLE): New macro.
3354         (XCHARSET_DECODING_TABLE): New macro.
3355         (XCHARSET_TO_BYTE1_TABLE): New macro.
3356         (XCHARSET_TO_BYTE2_TABLE): New macro.
3357         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3358         tables.
3359         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3360         don't use `ucs_to_*' tables.
3361
3362 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3363
3364         * text-coding.c (Fmake_coding_system): Don't set up
3365         `codesys->fixed.size'.
3366         (encode_coding_no_conversion): Use `if' instead of `switch'.
3367
3368         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3369
3370 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3371
3372         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3373         (Fmake_charset): Modify for `make_charset'.
3374         (Fmake_reverse_direction_charset): Likewise.
3375         (complex_vars_of_mule_charset): Likewise.
3376
3377 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3378
3379         * text-coding.c (char_encode_shift_jis): Use table
3380         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3381
3382 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3383
3384         * text-coding.c (text_encode_generic): Use `if' instead of
3385         `switch'.
3386         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3387         decode JIS-Latin.
3388
3389 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3390
3391         * text-coding.c (encode_coding_sjis): Deleted.
3392         (char_encode_shift_jis): New function.
3393         (char_finish_shift_jis): New function.
3394         (reset_encoding_stream): Set up `encode_char' and `finish' for
3395         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3396         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3397         (char_encode_utf8): Treat `eol_type'.
3398
3399 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3400
3401         * file-coding.c (decode_coding_iso2022): Use
3402         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3403
3404 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3405
3406         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3407         to 0.7 (Hirano).
3408
3409 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3410
3411         * char-lb.h (CHAR_COLUMNS): New macro.
3412
3413 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3414
3415         * text-coding.c (char_encode_ucs4): New function.
3416         (char_finish_ucs4): New function.
3417         (encode_coding_ucs4): Deleted.
3418         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3419         (text_encode_generic): Delete local variable `charset' and `half'.
3420         (ucs_to_mule_table): Deleted.
3421         (mule_to_ucs_table): Deleted.
3422         (Fset_ucs_char): Deleted.
3423         (ucs_to_char): Deleted.
3424         (Fucs_char): Deleted.
3425         (Fset_char_ucs): Deleted.
3426         (Fchar_ucs): Deleted.
3427         (decode_ucs4): Deleted.
3428         (mule_char_to_ucs4): Deleted.
3429         (encode_ucs4): Deleted.
3430         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3431         (decode_coding_utf8): Likewise.
3432         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3433         (char_encode_iso2022): Fixed.
3434         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3435         `Fset_char_ucs' and `Fchar_ucs'.
3436         (complex_vars_of_file_coding): Don't initialize
3437         `ucs_to_mule_table'.
3438
3439         * objects-tty.c (tty_initialize_font_instance): Don't use
3440         `XCHARSET_COLUMNS'.
3441
3442         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3443         UTF-2000.
3444
3445         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3446         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3447
3448         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3449         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3450         (emchar_string_displayed_columns): Likewise.
3451
3452         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3453         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3454         (string_column_at_point): Likewise.
3455         (Fmove_to_column): Likewise.
3456
3457         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3458         `encoding_table' and `decoding_table'.
3459         (CHARSET_REP_BYTES): Deleted.
3460         (XCHARSET_REP_BYTES): Deleted.
3461         (XCHARSET_COLUMNS): Deleted.
3462         (CHAR_COLUMNS): New macro.
3463         (lookup_composite_char): Deleted unconditionally.
3464         (composite_char_string): Likewise.
3465
3466 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3467
3468         * char-ucs.h (Emchar_to_byte_table): New type.
3469         (get_byte_from_character_table): New function interface.
3470         (Vcharset_latin_jisx0201): New variable.
3471         (latin_jisx0201_to_ucs): New variable.
3472         (ucs_to_latin_jisx0201): New variable.
3473         (Vcharset_latin_iso8859_2): New variable.
3474         (latin_iso8859_2_to_ucs): New variable.
3475         (ucs_to_latin_iso8859_2): New variable.
3476         (Vcharset_latin_iso8859_3): New variable.
3477         (latin_iso8859_3_to_ucs): New variable.
3478         (ucs_to_latin_iso8859_3): New variable.
3479         (Vcharset_latin_iso8859_4): New variable.
3480         (latin_iso8859_4_to_ucs): New variable.
3481         (ucs_to_latin_iso8859_4): New variable.
3482         (Vcharset_latin_iso8859_9): New variable.
3483         (latin_iso8859_9_to_ucs): New variable.
3484         (ucs_to_latin_iso8859_9): New variable.
3485         (Vcharset_latin_viscii_lower): New variable.
3486         (latin_viscii_lower_to_ucs): New variable.
3487         (ucs_to_latin_viscii_lower): New variable.
3488         (Vcharset_latin_viscii_upper): New variable.
3489         (latin_viscii_upper_to_ucs): New variable.
3490         (ucs_to_latin_viscii_upper): New variable.
3491         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3492         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3493         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3494         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3495         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3496         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3497         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3498         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3499         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3500         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3501
3502         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3503         (Vcharset_latin_viscii_upper): New variable.
3504         (make_byte_from_character_table): New function.
3505         (put_byte_from_character_table): New function.
3506         (get_byte_from_character_table): New function.
3507         (CHAR96): New macro.
3508         (ucs_to_latin_jisx0201): New variable.
3509         (latin_jisx0201_to_ucs): New variable.
3510         (ucs_to_latin_iso8859_2): New variable.
3511         (latin_iso8859_2_to_ucs): New variable.
3512         (ucs_to_latin_iso8859_3): New variable.
3513         (latin_iso8859_3_to_ucs): New variable.
3514         (ucs_to_latin_iso8859_4): New variable.
3515         (latin_iso8859_4_to_ucs): New variable.
3516         (ucs_to_latin_iso8859_9): New variable.
3517         (latin_iso8859_9_to_ucs): New variable.
3518         (ucs_to_latin_viscii_lower): New variable.
3519         (latin_viscii_lower_to_ucs): New variable.
3520         (ucs_to_latin_viscii_upper): New variable.
3521         (latin_viscii_upper_to_ucs): New variable.
3522         (ucs_to_latin_tcvn5712): New variable.
3523         (latin_tcvn5712_to_ucs): New variable.
3524         (Qlatin_viscii_lower): New variable.
3525         (Qlatin_viscii_upper): New variable.
3526         (syms_of_mule_charset): Set up new symbol
3527         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3528         (complex_vars_of_mule_charset): Set up new charset
3529         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3530         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3531         `ucs_to_<CHARSET>' tables.
3532
3533 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3534
3535         * text-coding.c: New file.
3536
3537 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3538
3539         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3540
3541         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3542         (MAKE_CHAR): Modify for `ucs-bmp'.
3543         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3544         non-MULE characters of BMP.
3545
3546 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3547
3548         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3549         to 0.6.
3550
3551 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3552
3553         * lstream.h:
3554         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3555         - Include character.h for `CHAR_ASCII_P'.
3556
3557         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3558
3559         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3560         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3561
3562         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3563         (BYTE_C0_P): Likewise.
3564         (BYTE_C1_P): Likewise.
3565         (Lstream_get_emchar_1): Likewise.
3566         (Lstream_fput_emchar): Likewise.
3567         (Lstream_funget_emchar): Likewise.
3568         (copy_internal_to_external): Likewise.
3569         (copy_external_to_internal): Likewise.
3570
3571         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3572         (BYTE_C0_P): Likewise.
3573         (BYTE_C1_P): Likewise.
3574         (Lstream_get_emchar_1): Likewise.
3575         (Lstream_fput_emchar): Likewise.
3576         (Lstream_funget_emchar): Likewise.
3577         (copy_internal_to_external): Likewise.
3578         (copy_external_to_internal): Likewise.
3579
3580         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3581         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3582
3583         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3584         (BYTE_ASCII_P): Moved to mb-1byte.h.
3585
3586 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3587
3588         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3589
3590         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3591         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3592         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3593         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3594         (VALIDATE_CHARPTR_FORWARD): Likewise.
3595         (simple_charptr_emchar): Moved to mb-multibyte.h.
3596         (simple_set_charptr_emchar): Likewise.
3597         (simple_charptr_copy_char): Likewise.
3598         (non_ascii_charptr_emchar): Likewise.
3599         (non_ascii_set_charptr_emchar): Likewise.
3600         (non_ascii_charptr_copy_char): Likewise.
3601         (charptr_emchar): Moved to mb-*byte.h.
3602         (set_charptr_emchar): Likewise.
3603         (charptr_copy_char): Likewise.
3604
3605         * mb-1byte.h, mb-multibyte.h: New files.
3606
3607 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3608
3609         * mb-utf-8.h (MULTIBYTE): New macro.
3610         (MAX_EMCHAR_LEN): Moved from buffer.h.
3611         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3612
3613         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3614
3615         * mb-lb.h, multibyte.h: New files.
3616
3617         * char-1byte.h (Charset_ID): Moved from buffer.h.
3618         (MIN_LEADING_BYTE): Likewise.
3619         (LEADING_BYTE_ASCII): Likewise.
3620         (NUM_LEADING_BYTES): Likewise.
3621         (CHARSETP): Likewise.
3622         (CHARSET_BY_LEADING_BYTE): Likewise.
3623         (XCHARSET_LEADING_BYTE): Likewise.
3624         (XCHARSET_GRAPHIC): Likewise.
3625         (XCHARSET_COLUMNS): Likewise.
3626         (XCHARSET_DIMENSION): Likewise.
3627         (CHAR_CHARSET): Likewise.
3628         (CHAR_LEADING_BYTE): Likewise.
3629         (BREAKUP_CHAR): Likewise.
3630         (Vcharset_ascii): Likewise.
3631
3632         * buffer.h: Include multibyte.h unconditionally.
3633         (VALID_CHARPTR_P): Moved to multibyte.h.
3634         (ASSERT_VALID_CHARPTR): Likewise.
3635         (REAL_INC_CHARPTR): Likewise.
3636         (REAL_INC_CHARBYTIND): Likewise.
3637         (REAL_DEC_CHARPTR): Likewise.
3638         (INC_CHARPTR): Likewise.
3639         (INC_CHARBYTIND): Likewise.
3640         (DEC_CHARPTR): Likewise.
3641         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3642         (VALIDATE_CHARPTR_FORWARD): Likewise.
3643         (charptr_n_addr): Likewise.
3644         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3645         (simple_charptr_emchar): Moved to multibyte.h.
3646         (simple_set_charptr_emchar): Likewise.
3647         (simple_charptr_copy_char): Likewise.
3648         (non_ascii_charptr_emchar): Likewise.
3649         (non_ascii_set_charptr_emchar): Likewise.
3650         (non_ascii_charptr_copy_char): Likewise.
3651         (charptr_emchar): Likewise.
3652         (set_charptr_emchar): Likewise.
3653         (charptr_copy_char): Likewise.
3654         (charptr_emchar_n): Likewise.
3655         (Charset_ID): Moved to char-1byte.h.
3656         (Vcharset_ascii): Likewise.
3657         (CHAR_CHARSET): Likewise.
3658         (CHAR_LEADING_BYTE): Likewise.
3659         (LEADING_BYTE_ASCII): Likewise.
3660         (NUM_LEADING_BYTES): Likewise.
3661         (MIN_LEADING_BYTE): Likewise.
3662         (CHARSETP): Likewise.
3663         (CHARSET_BY_LEADING_BYTE): Likewise.
3664         (XCHARSET_LEADING_BYTE): Likewise.
3665         (XCHARSET_GRAPHIC): Likewise.
3666         (XCHARSET_COLUMNS): Likewise.
3667         (XCHARSET_DIMENSION): Likewise.
3668         (BREAKUP_CHAR): Likewise.
3669
3670 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3671
3672         * character.h: Add document about interface for characters.
3673
3674         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3675         (MAKE_CHAR): Delete comment about
3676         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3677         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3678         (BREAKUP_CHAR): Modify name of arguments.
3679         (CHAR_CHARSET): Modify name of argument.
3680
3681         * buffer.h: Delete document about Emchar accessors.
3682
3683 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3684
3685         * character.h (CHAR_INTP): Moved from buffer.h
3686         (CHAR_OR_CHAR_INTP): Likewise.
3687         (XCHAR_OR_CHAR_INT): Likewise.
3688         (CHECK_CHAR_COERCE_INT): Likewise.
3689
3690         * buffer.h (CHAR_INTP): Moved to character.h
3691         (CHAR_OR_CHAR_INTP): Likewise.
3692         (XCHAR_OR_CHAR_INT): Likewise.
3693         (CHECK_CHAR_COERCE_INT): Likewise.
3694
3695 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3696
3697         * character.h:
3698         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3699         - Include char-1byte.h, char-lb.h or char-ucs.h.
3700
3701         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3702
3703         * buffer.h: Include character unconditionally.
3704         (valid_char_p): Moved to char-*.h.
3705         (non_ascii_valid_char_p): Moved to char-lb.h.
3706
3707         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3708
3709 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3710
3711         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3712         in UTF-2000 because it is not ported yet and not to use
3713         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3714         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3715         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3716
3717         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3718         (CHAR_ASCII_P): Moved from character.h.
3719
3720         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3721         (CHAR_ASCII_P): Likewise.
3722         (CHAR_FIELD1_MASK): Deleted.
3723         (CHAR_FIELD2_MASK): Deleted.
3724         (CHAR_FIELD3_MASK): Deleted.
3725         (MAX_CHAR_BASIC_LATIN): New macro.
3726         (CHAR_FIELD1): Deleted.
3727         (CHAR_FIELD2_INTERNAL): Deleted.
3728         (CHAR_FIELD3_INTERNAL): Deleted.
3729         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3730         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3731         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3732         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3733         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3734         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3735         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3736         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3737         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3738         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3739         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3740         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3741         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3742         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3743         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3744         (MIN_CHAR_COMPOSITION): Deleted.
3745         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3746         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3747
3748 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3749
3750         * buffer.h: Include mb-utf-8.h in UTF-2000.
3751
3752         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3753
3754         * mb-utf-8.h: New file.
3755
3756 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3757
3758         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3759         instead of `int'.
3760
3761         * mule-charset.h, buffer.h (Charset_ID): New type.
3762
3763 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3764
3765         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3766         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3767         instead of `MULE_CHAR_PRIVATE_OFFSET',
3768         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3769         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3770         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3771
3772         * character.h (Vcharset_japanese_jisx0212): New variable
3773         definition.
3774
3775 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3776
3777         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3778         (charset_by_attributes): Delete array about direction.
3779         (latin_a_char_to_charset): New variable in UTF-2000.
3780         (latin_a_char_to_byte1): New variable in UTF-2000.
3781         (latin_a_char_to_byte2): New variable in UTF-2000.
3782         (Qucs_bmp): New variable.
3783         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3784         `Bufbyte'.
3785         (next_allocated_2_byte_leading_byte): Likewise.
3786         (non_ascii_set_charptr_emchar): Likewise.
3787         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3788         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3789         `charset_by_attributes'.
3790         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3791         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3792         and `CHARSET_BY_LEADING_BYTE'.
3793         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3794         `utf-2000-version' to `vars_of_mule_charset'.
3795         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3796         define `leading-code-private-11' in UTF-2000; move setting of
3797         `utf-2000-version' from `syms_of_mule_charset'.
3798         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3799         UTF-2000.
3800
3801         * character.h (Charset_ID): New type.
3802         (LEADING_BYTE_UCS_BMP): New macro.
3803         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3804         (CHARSET_ID_OFFSET_94): New macro.
3805         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3806         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3807         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3808         final-byte.
3809         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3810         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3811         (CHARSET_ID_OFFSET_96): New macro.
3812         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3813         CHARSET_ID_OFFSET_96 and final-byte.
3814         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3815         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3816         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3817         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3818         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3819         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3820         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3821         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3822         (LEADING_BYTE_THAI_TIS620): Likewise.
3823         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3824         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3825         (CHARSET_ID_OFFSET_94x94): New macro.
3826         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3827         CHARSET_ID_OFFSET_94x94 and final-byte.
3828         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3829         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3830         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3831         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3832         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3833         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3834         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3835         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3836         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3837         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3838         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3839         (CHARSET_TYPE_128X128): New macro.
3840         (CHARSET_TYPE_256X256): New macro.
3841         (XCHARSET_PRIVATE_P): Delete unconditionally.
3842         (charset_by_attributes): Delete array about direction.
3843         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3844         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3845         (MIN_CHAR_94): New macro.
3846         (MAX_CHAR_94): New macro.
3847         (MIN_CHAR_96): New macro.
3848         (MAX_CHAR_96): New macro.
3849         (MIN_CHAR_94x94): New macro.
3850         (MAX_CHAR_94x94): New macro.
3851         (MIN_CHAR_96x96): New macro.
3852         (MAX_CHAR_96x96): New macro.
3853         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3854         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3855         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3856         - 32)'.
3857         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3858         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3859         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3860         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3861         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3862         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3863         `XCHARSET_LEADING_BYTE' to make code-point.
3864         (latin_a_char_to_charset): New variable.
3865         (latin_a_char_to_byte1): New variable.
3866         (latin_a_char_to_byte2): New variable.
3867         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3868         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3869         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3870
3871         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3872         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3873         (find_charsets_in_emchar_string): Likewise.
3874         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3875
3876         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3877         `int'.
3878         (decode_coding_iso2022): Likewise.
3879
3880         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3881         of `unsigned char'.
3882
3883         * redisplay.c (redisplay_text_width_emchar_string): Use
3884         `Charset_ID' instead of `unsigned char'.
3885         (redisplay_frame_text_width_string): Likewise.
3886
3887         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3888         `unsigned char'.
3889
3890         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3891         instead of `unsigned char'.
3892         (face_cachel_charset_font_metric_info): Likewise.
3893
3894         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3895         (get_non_ascii_char_table_value): Likewise.
3896         (get_char_table): Likewise.
3897         (put_char_table): Likewise.
3898         (map_over_other_charset): Likewise.
3899         (map_char_table): Likewise.
3900
3901         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3902         instead of `unsigned char'.
3903
3904 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3905
3906         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3907         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3908
3909         * mule-charset.c (leading_code_private_11): Don't define in
3910         UTF-2000.
3911
3912         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3913         in UTF-2000 because it is not ported yet and not to use
3914         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3915
3916 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3917
3918         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3919
3920 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3921
3922         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3923         in UTF-2000.
3924
3925         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3926         of unsigned char to store leading-byte.
3927
3928         * chartab.c (get_non_ascii_char_table_value): Don't use
3929         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3930
3931         * file-coding.c (encode_coding_big5): Delete bogus implementation
3932         in UTF2000.
3933
3934         * character.h (LEADING_BYTE_*): Delete definition for
3935         non-UTF-2000.
3936         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3937         (LEADING_BYTE_PREFIX_P): Deleted.
3938         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3939         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3940         (BUFBYTE_LEADING_BYTE_P): Deleted.
3941         (CHARSET_PRIVATE_P): Deleted unconditionally.
3942         (rep_bytes_by_first_byte): Deleted unconditionally.
3943         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3944         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3945         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3946         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3947         (CHAR_FIELD2): Deleted.
3948         (CHAR_FIELD3): Deleted.
3949         (MAKE_CHAR): Delete definition for non-UTF-2000.
3950         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3951         (breakup_char_1): New implementation.
3952         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3953         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3954
3955 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3956
3957         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3958         condition.
3959
3960 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3961
3962         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3963         (CHARSET_PRIVATE_P): Likewise.
3964         (XCHARSET_PRIVATE_P): Likewise.
3965         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3966
3967         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3968         UTF2000.
3969         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3970
3971 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3972
3973         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3974         (NUM_LEADING_BYTES): Changed from 128 to 256.
3975         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3976         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3977         UTF2000.
3978         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3979
3980         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3981         UTF2000.
3982         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3983         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3984         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3985         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3986         (Qchinese_cns11643_3): New variable in UTF2000.
3987         (Qchinese_cns11643_4): New variable in UTF2000.
3988         (Qchinese_cns11643_5): New variable in UTF2000.
3989         (Qchinese_cns11643_6): New variable in UTF2000.
3990         (Qchinese_cns11643_7): New variable in UTF2000.
3991         (syms_of_mule_charset): Define `chinese-cns11643-3',
3992         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3993         and `chinese-cns11643-7' in UTF2000.
3994         (vars_of_mule_charset): Initialize
3995         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3996         + 1 in UTF2000.
3997         (complex_vars_of_mule_charset): Setup charset
3998         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3999         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4000
4001 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4002
4003         * mule-charset.c: Move setting for `leading-code-private-11' from
4004         `syms_of_mule_charset' to `vars_of_mule_charset'.
4005
4006 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4007
4008         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4009         and `NUM_LEADING_BYTES' in assert.
4010
4011 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4012
4013         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4014         instead of 128.
4015         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4016         `NUM_LEADING_BYTES' instead of 128.
4017
4018 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4019
4020         * mule-charset.h (charset_by_leading_byte): Use
4021         `NUM_LEADING_BYTES' instead of 128.
4022         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4023
4024         * mule-charset.c (charset_by_leading_byte): Use
4025         `NUM_LEADING_BYTES' instead of 128.
4026         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4027
4028         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4029         128.
4030
4031 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4032
4033         * mule-charset.c (syms_of_mule_charset): Update to
4034         0.4 (Shin-Imamiya).
4035
4036 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4037
4038         * file-coding.c (encode_coding_sjis): New implementation for
4039         UTF2000.  (decode_coding_sjis): Ditto.
4040
4041 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4042
4043         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4044         Don't define in UTF2000.
4045
4046         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4047         defined.
4048
4049         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4050         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4051         MULE.
4052
4053 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4054
4055         * config.h.in (CHAR_IS_UCS4): New macro.
4056
4057         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4058         conventional MULE representation.
4059         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4060
4061         * mule-charset.h: Reverted to original.
4062
4063         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4064         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4065         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4066
4067         * character.h: New file.
4068
4069         * file-coding.c (Fmake_coding_system): Set 1 to
4070         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4071         defined.
4072         (encode_coding_no_conversion): New implementation for UTF2000.
4073
4074         * file-coding.h (struct Lisp_Coding_System): Add new member
4075         `fixed.size'.
4076
4077 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4078
4079         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4080         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4081         (encode_coding_iso2022): New implementation for UTF2000.
4082
4083 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4084
4085         * mule-canna.c (c2mu): New implementation for UTF2000.
4086         (m2c): Likewise.
4087
4088 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4089
4090         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4091
4092 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4093
4094         * file-coding.c (reset_encoding_stream): Set 0 to
4095         `str->iso2022.current_char_boundary' in UTF2000.
4096         (encode_utf8): Don't define in UTF2000.
4097         (encode_coding_utf8): New implementation for UTF-8 representation
4098         of UTF2000.
4099         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4100
4101 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4102
4103         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4104
4105         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4106         UTF2000.
4107         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4108
4109         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4110
4111         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4112         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4113         as UTF-8 in UTF2000.
4114         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4115         (non_ascii_valid_char_p): Don't define in UTF2000.
4116         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4117         (Lstream_get_emchar_1): Likewise.
4118         (utf-2000-version): New variable in UTF2000.
4119
4120         * lread.c (read_escape): Add new reader `u'.
4121
4122         * insdel.c (three_to_one_table): Don't define in UTF2000.
4123         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4124         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4125         UTF2000.
4126         (bytind_to_bufpos_func): Likewise.
4127         (buffer_mule_signal_inserted_region): Likewise.
4128         (vars_of_insdel): Don't initialize `three_to_one_table'.
4129         (init_buffer_text): Use `buf->text->mule_size' instead of
4130         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4131         UTF2000.
4132
4133         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4134         UTF-8 representation in UTF2000.
4135         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4136         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4137         (decode_coding_iso2022): Don't define local variable `lb' in
4138         UTF2000; don't use LEADING_BYTE in UTF2000; use
4139         `DECODE_ADD_UCS_CHAR' in UTF2000.
4140         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4141
4142         * config.h.in (UTF2000): New macro.
4143
4144         * buffer.h (struct buffer_text): Add new member `mule_size' and
4145         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4146         (valid_char_p): Return always 1 in UTF2000.
4147         (MAX_EMCHAR_LEN): 6 in UTF2000.
4148         (three_to_one_table): Don't define in UTF2000.
4149         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4150         UTF2000.
4151         (real_bytind_to_bufpos): Likewise.
4152
4153         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4154
4155 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4156
4157         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4158         representation change.
4159         (Vutf_2000_version): New variable.
4160         (leading_code_private_11): New variable.
4161         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4162         `leading-code-private-11'.
4163
4164         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4165         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4166         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4167         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4168         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4169         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4170         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4171         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4172         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4173         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4174         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4175         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4176         (MIN_CHAR_GREEK): New macro.
4177         (MAX_CHAR_GREEK): New macro.
4178         (MIN_CHAR_CYRILLIC): New macro.
4179         (MAX_CHAR_CYRILLIC): New macro.
4180         (MIN_CHAR_HEBREW): New macro.
4181         (MAX_CHAR_HEBREW): New macro.
4182         (MIN_CHAR_THAI): New macro.
4183         (MAX_CHAR_THAI): New macro.
4184         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4185         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4186         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4187         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4188         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4189         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4190         (CHAR_FIELD2): New inline function.
4191         (CHAR_FIELD3): New inline function.
4192         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4193         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4194         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4195         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4196         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4197         (MIN_CHAR_COMPOSITION): Likewise.
4198         (CHAR_LEADING_BYTE): Modified for character representation change.
4199         (MAKE_CHAR): Likewise.
4200
4201         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4202         (Vcharset_greek_iso8859_7): Likewise.
4203         (Vcharset_cyrillic_iso8859_5): Likewise.
4204         (Vcharset_hebrew_iso8859_8): Likewise.
4205         (Vcharset_thai_tis620): Likewise.
4206         (Vcharset_katakana_jisx0201): Likewise.
4207
4208 2001-02-08  Martin Buchholz <martin@xemacs.org>
4209
4210         * XEmacs 21.2.44 "Thalia" is released.
4211
4212 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4213
4214         Fixes crashes in kill-emacs on some systems.
4215         * process-unix.c (unix_kill_child_process):
4216         It's OK for kill() to fail with ESRCH.
4217
4218 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4219
4220         Contortions to make .gdbinit tricks work on most systems.
4221         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4222         * alloc.c (dbg_valmask): Make non-const.
4223         * alloc.c (dbg_typemask): Make non-const.
4224         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4225         * alloc.c (dbg_valbits): Make non-const.
4226         * alloc.c (dbg_gctypebits): Make non-const.
4227         * .gdbinit (decode_object): Make it work with AIX cc.
4228
4229 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4230
4231         * elhash.c (make_general_lisp_hash_table):
4232         Use simpler and more efficient calloc to clear entries.
4233
4234 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4235
4236         * window.c (window_scroll): Work around an AIX C compiler bug.
4237         Fixes 'scroll-up' does nothing problem with xlC.
4238
4239 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4240
4241         * .gdbinit: Remove obsolete comment.
4242
4243 2001-01-31  Mike Alexander  <mta@arbortext.com>
4244
4245         * select.c (Fown_selection_internal): Set owned_p for device
4246         method correctly.
4247
4248 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4249
4250         Port to g++ 2.97.
4251         "not" cannot be used as a macro name as it is an operator in C++
4252         * config.h.in: Stop #defining `not'.
4253         * chartab.c (check_category_char): not ==> not_p
4254         * chartab.h: Likewise.
4255         * regex.c (re_match_2_internal): Likewise.
4256
4257 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4258
4259         * lisp-disunion.h: Fix up comments.
4260
4261 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4262
4263         * keymap.c (define_key_check_and_coerce_keysym):
4264         (syms_of_keymap):
4265         Support mouse-6 and mouse-7 bindings in the obvious way.
4266
4267 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4268
4269         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4270
4271 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4272
4273         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4274         Previous patch missed DEFVAR_INT_MAGIC.
4275         Make sure future DEFVAR_foo use correct types.
4276         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4277         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4278         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4279         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4280         * (DEFVAR_INT): Likewise.
4281         * redisplay.c (vertical_clip): Should be of type Fixnum.
4282         * redisplay.c (horizontal_clip): Likewise.
4283         * lisp.h (dump_add_opaque_int): New.
4284         (dump_add_opaque_fixnum): New.
4285
4286 2001-01-29  Andy Piper  <andy@xemacs.org>
4287
4288         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4289         since they can be eval'ed
4290
4291 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4292
4293         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4294         Oops, XEmacs redefines `class'.  Use `typename' instead.
4295
4296 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4297
4298         * dumper.c: Fix C++ compile errors.
4299
4300 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4301
4302         * tparam.c: Use correct prototypes.
4303
4304 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4305
4306         * sysproc.h: #include util.h for NetBSD's openpty.
4307
4308 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4309
4310         More 64-bit correctness.
4311         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4312         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4313         Fix up comments.
4314         This finally finishes the 64-bit SGI port.
4315         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4316         * symbols.c: Fix up comments and type casts.
4317         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4318         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4319         * symeval.h (Fixnum): New type.
4320         * symeval.h (symbol_value_type): Fix up comment.
4321
4322         * commands.h:
4323         * nt.c:
4324         * emacs.c:
4325         * data.c:
4326         * redisplay.c:
4327         * abbrev.c:
4328         * dired-msw.c:
4329         * event-Xt.c:
4330         * eldap.c:
4331         * window.c:
4332         * sound.c:
4333         * event-stream.c:
4334         * eval.c:
4335         * buffer.c:
4336         * mule-canna.c: A million DEFVAR_INTs here...
4337         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4338         * extents.c:
4339         * cmdloop.c:
4340         * lisp.h:
4341         * select-x.c:
4342         * console-x.h:
4343         * event-msw.c:
4344         * mule-wnnfns.c:
4345         * hpplay.c:
4346         * ralloc.c:
4347         * alloc.c:
4348         * keymap.c:
4349         * profile.c:
4350         s/int/Fixnum/g in DEFVAR_INT declarations.
4351
4352 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4353
4354         Port pdump to SGI alignment-sensitive environment.
4355         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4356         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4357         properly aligned.
4358         Define and use aligned reading and writing macros.
4359         Use buffered stdio instead of posix i/o for faster dumping.
4360         Eliminate kludgy 256 byte space for header.
4361         Read and write from dump file using structs for alignment safety.
4362         * dumper.c (pdump_align_stream): New.
4363         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4364         * dumper.c (PDUMP_READ_ALIGNED): New.
4365         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4366         * dumper.c (pdump_static_Lisp_Object): New struct.
4367         * dumper.c (pdump_static_pointer): New struct.
4368         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4369         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4370         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4371         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4372
4373         * dumper.c (pdump_backtrace):
4374         * dumper.c (pdump_get_indirect_count):
4375         * dumper.c (pdump_register_object):
4376         * dumper.c (pdump_register_struct):
4377         * dumper.c (pdump_reloc_one):
4378         * dumper.c (pdump_scan_by_alignment):
4379         * dumper.c (pdump_dump_from_root_struct_ptrs):
4380         * dumper.c (pdump_dump_opaques):
4381         * dumper.c (pdump_dump_rtables):
4382         * dumper.c (pdump_dump_from_root_objects):
4383         * dumper.c (pdump):
4384         * dumper.c (pdump_load_finish):
4385         Use aligned reading and writing.
4386
4387         * dumper.c (pdump_free): Make static.
4388         * dumper.c (pdump_hFile): Likewise.
4389         * dumper.c (pdump_hMap): Likewise.
4390
4391 2001-01-26  Martin Buchholz <martin@xemacs.org>
4392
4393         * XEmacs 21.2.43 "Terspichore" is released.
4394
4395 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4396
4397         Type fiddling for window_config.saved_windows_count
4398         * window.c (struct window_config): 
4399         Make saved_windows_count member unsigned.
4400         * window.c (sizeof_window_config_for_n_windows): 
4401         Make parameter unsigned.
4402         * window.c (mark_window_config):
4403         * window.c (window_config_equal):
4404         * window.c (free_window_configuration):
4405         * window.c (Fset_window_configuration):
4406         * window.c (count_windows):
4407         * window.c (Fcurrent_window_configuration):
4408         * window.c (reinit_vars_of_window):
4409         Update all callers and users.
4410
4411 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4412
4413         Alignment correctness for flexible arrays.
4414         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4415         Make alignment-correct. Add interesting comments.
4416         * alloc.c (size_vector):
4417         * alloc.c (make_vector_internal):
4418         * alloc.c (make_bit_vector_internal):
4419         * alloc.c (sweep_bit_vectors_1):
4420         * fns.c (size_bit_vector):
4421         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4422         * window.c (sizeof_window_config_for_n_windows): 
4423         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4424
4425 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4426
4427         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4428
4429 2001-01-23  Andy Piper  <andy@xemacs.org>
4430
4431         * select.c (Fown_selection_internal): pass owned_p
4432
4433         * select-msw.c (mswindows_own_selection): New Signature.
4434
4435         * console.h (struct console_methods): add owned_p to
4436         _own_selection.
4437
4438         * select-x.c (x_own_selection): pass owned_p
4439         (hack_motif_clipboard_selection): use owned_p
4440         (vars_of_select_x): new variable -
4441         x_selection_strict_motif_ownership.
4442
4443 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4444
4445         * specifier.h (specifier_data_offset): Remove pointless parens.
4446         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4447
4448 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4449
4450         Make Lisp_Object sizeof methods be alignment-correct.
4451         pdump must restore objects to the same alignment as the C compiler
4452         assumes.  It really matters on SGIs.
4453         * lstream.c (aligned_sizeof_lstream): New.
4454         (sizeof_lstream): Use aligned_sizeof_lstream.
4455         (Lstream_new): Likewise.
4456         * opaque.c (aligned_sizeof_opaque): New.
4457         (sizeof_opaque): Use aligned_sizeof_opaque.
4458         (make_opaque): Likewise.
4459         * specifier.c (aligned_sizeof_specifier): New.
4460         (sizeof_specifier): Use aligned_sizeof_specifier.
4461         (make_specifier_internal): Likewise.
4462
4463 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4464
4465         * lstream.h (struct lstream): Use max_align_t for trailing data.
4466         * specifier.h (struct Lisp_Specifier): Likewise.
4467
4468 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4469
4470         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4471         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4472         (CCL_SUSPEND): Likewise.
4473         (CCL_INVALID_CMD): Likewise.
4474         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4475         (ccl_driver): Likewise.
4476         (CCL_WRITE_CHAR): Macro hygiene.
4477         (CCL_WRITE_STRING): Macro hygiene.
4478
4479 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4480
4481         Port "portable" dumper to SunOS 4 and HP-UX.
4482         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4483         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4484         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4485
4486 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4487
4488         * lisp.h (ALIGNOF): A better definition for C++.
4489
4490 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4491
4492         Macro hygiene.
4493         Fix printf warnings: int format, long int arg.
4494         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4495         (PUSH_FAILURE_POINT): Use correct printf formats.
4496         (POP_FAILURE_POINT): Use correct printf formats.  
4497         Use do {...} while (0)
4498
4499 2001-01-20  Martin Buchholz <martin@xemacs.org>
4500
4501         * XEmacs 21.2.42 "Poseidon" is released.
4502
4503 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4504
4505         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4506
4507 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4508
4509         De-kludgify FIXED_TYPE free list frobbing.
4510         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4511         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4512         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4513         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4514         * alloc.c (LRECORD_FREE_P): New.
4515         * alloc.c (MARK_LRECORD_AS_FREE): New.
4516         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4517         * alloc.c (STRUCT_FREE_P): Deleted.
4518         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4519         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4520         * alloc.c (STRING_CHARS_FREE_P): New.
4521         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4522         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4523         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4524         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4525         * alloc.c (resize_string): Use new definitions.
4526         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4527         * alloc.c (verify_string_chars_integrity): Use new definitions.
4528         * alloc.c (compact_string_chars): Use new definitions.
4529         * alloc.c: Update monster comments.
4530         * lrecord.h (lrecord_type): Add some new lrecord types for
4531         alloc.c's use.
4532
4533 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4534
4535         Improve alignment hackery.
4536         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4537         (max_align_t): Moved from opaque.h - general purpose.
4538         (ALIGN_PTR): Use size_t, not long.
4539         * opaque.h (max_align_t): Move to lisp.h.
4540
4541 2001-01-18  Norbert Koch  <nk@LF.net>
4542
4543         * gui.h: Fix and add prototypes to fix build problems.
4544
4545 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4546
4547         temacs is going away, so `dump-temacs' is now a bad name.
4548         * .dbxrc (dump-temacs): Rename to `dmp'.
4549         * .gdbinit (dump-temacs): Rename to `dmp'.
4550
4551 2001-01-17  Andy Piper  <andy@xemacs.org>
4552
4553         * glyphs.c (print_image_instance): comment to make martin happy.
4554
4555         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4556         change.
4557
4558         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4559         activation.
4560         (mswindows_tab_control_redisplay): warning suppression.
4561
4562         * glyphs-widget.c (widget_update): re-write to cope with updated
4563         items.
4564         (widget_instantiate): use new gui_item functions.
4565         (tab_control_update): deleted.
4566         (progress_gauge_update): deleted.
4567         (image_instantiator_progress_guage): take out update reference.
4568         (image_instantiator_tree_view): ditto.
4569         (image_instantiator_tab_control): ditto.
4570
4571         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4572         Right the new way.
4573         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4574         return whether anything was changed.
4575         (update_gui_item_keywords): as it sounds.
4576
4577         * gui.h: declare widget_gui_parse_item_keywords.
4578
4579         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4580         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4581
4582 2001-01-17  Martin Buchholz <martin@xemacs.org>
4583
4584         * XEmacs 21.2.41 "Polyhymnia" is released.
4585
4586 2001-01-16  Didier Verna  <didier@xemacs.org>
4587
4588         * glyphs.c (image_instantiate): don't use fallbacks when
4589         instantiating a face's background pixmap by inheritance.
4590
4591 2001-01-14  Mike Sperber <mike@xemacs.org>
4592
4593         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4594         Conditionalize accordingly.
4595
4596 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4597
4598         * dumper.c (pdump_file_get): Fix a compiler warning.
4599
4600 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4601
4602         Make Purify happy when pdumping.
4603         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4604         iniitalizing all bits of new lisp object memory.
4605         * symbols.c (Fmake_local_variable): Likewise.
4606         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4607         * symbols.c (Fdefvaralias): Likewise.
4608         * mule-charset.c (vars_of_mule_charset): Likewise.
4609
4610 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4611         Add the `-nd' flag when running pre-dump operations under the debugger.
4612         * .dbxrc (run-temacs): Add `-nd'.
4613         * .dbxrc (update-elc): Likewise.
4614         * .dbxrc (dump-temacs): Likewise.
4615         * .gdbinit (run-temacs): Likewise.
4616         * .gdbinit (check-temacs): Likewise.
4617         * .gdbinit (update-elc): Likewise.
4618         * .gdbinit (dump-temacs): Likewise.
4619
4620 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4621
4622         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4623         export OBJECT_MODE=64
4624         configure --pdump --use-union-type=no
4625         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4626         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4627
4628         * miscplay.c (sndcnv8U_2mono):
4629         Avoid two uses of `++' in the same expression.
4630         Suppresses a GCC warning.
4631
4632 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4633
4634         Make sure future compilers don't miscompile alloc.c.
4635         * alloc.c:
4636         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4637         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4638
4639 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4640
4641         * dumper.c: A little post-pdump-rename comment fixup.
4642
4643 2001-01-09  Jerry James  <james@eecs.ku.edu>
4644
4645         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4646
4647 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4648
4649         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4650         script:
4651         #!/bin/sh
4652         replace_symbol () {
4653           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4654         }
4655
4656         replace_symbol pdump_wire_lists pdump_weak_object_chains
4657         replace_symbol pdump_wire_list dump_add_weak_object_chain
4658
4659         replace_symbol pdump_wires pdump_root_objects
4660         replace_symbol pdump_wire dump_add_root_object
4661
4662         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4663         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4664
4665         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4666         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4667         replace_symbol dumpstructinfo pdump_root_struct_ptr
4668         replace_symbol dumpstruct dump_add_root_struct_ptr
4669
4670         replace_symbol dumpopaque dump_add_opaque
4671         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4672         replace_symbol dumpopaqueinfos pdump_opaques
4673         replace_symbol dumpopaqueinfo pdump_opaque
4674
4675         replace_symbol nb_structdump nb_root_struct_ptrs
4676         replace_symbol nb_opaquedump nb_opaques
4677
4678         replace_symbol align_table pdump_align_table
4679         replace_symbol dump_header pdump_header
4680
4681         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4682         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4683
4684
4685 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4686
4687         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4688         optimizing bytecount_to_charcount().
4689
4690 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4691
4692         * config.h.in:
4693         (HAVE_DLFCN_H): Removed.
4694         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4695
4696 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4697
4698         Portable dumper maintainability improvements.
4699         * alloc.c (staticpro):
4700         * alloc.c (staticpro_nodump):
4701         * alloc.c (garbage_collect_1):
4702         * alloc.c (reinit_alloc_once_early):
4703         * alloc.c (init_alloc_once_early):
4704         * alloc.c: Move dumper functions to alloc.c.
4705         * dumper.c (pdump_backtrace):
4706         * dumper.c (pdump_dump_structs):
4707         * dumper.c (pdump_dump_opaques):
4708         * dumper.c (pdump_dump_rtables):
4709         * dumper.c (pdump_dump_wired):
4710         * dumper.c (pdump):
4711         * dumper.c (pdump_load_check):
4712         * dumper.c (pdump_load_finish):
4713         * dumper.c (pdump_file_unmap):
4714         * dumper.c (pdump_file_get):
4715         * dumper.c (pdump_resource_free):
4716         * dumper.c (pdump_resource_get):
4717         * dumper.c (pdump_file_free):
4718         * dumper.c (pdump_file_try):
4719         * dumper.c (pdump_load):
4720         Remove fixed size limits on staticpro(), staticpro_nodump(),
4721         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4722         Remove custom code for dumping lrecord_implementations_table - use
4723         dumpopaque instead.
4724         Remove (most of the) custom code for dumping staticpros - dump it
4725         like any other dynarr.
4726
4727         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4728         * dumper.c: Moved functions from alloc.c.
4729         * alloc.c (dumpstruct): Moved to dumper.c.
4730         * alloc.c (dumpopaque): Likewise.
4731         * alloc.c (pdump_wire): Likewise.
4732         * alloc.c (pdump_wire_list): Likewise.
4733
4734         * lisp.h (Dynarr_sizeof): New.
4735         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4736         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4737         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4738
4739         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4740         * lisp.h (dumpopaque): ditto.
4741         * lisp.h (pdump_wire): ditto.
4742         * lisp.h (pdump_wire_list): ditto.
4743
4744 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4745
4746         * make-src-depend (PrintPatternDeps):
4747         Use `sort' to make output independent of perl version.
4748
4749 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4750
4751         Port to Netbsd 1.5.
4752         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4753         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4754
4755 2001-01-03  Didier Verna  <didier@xemacs.org>
4756
4757         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4758         that `focus_frame' is alive before thinking of calling
4759         `redisplay_redraw_cursor' on it.
4760
4761 2001-01-08  Martin Buchholz <martin@xemacs.org>
4762
4763         * XEmacs 21.2.40 is released.
4764
4765 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4766
4767         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4768
4769 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4770
4771         * alloc.c (dbg_valmask): Make const.
4772         * alloc.c (dbg_typemask): Make const.
4773         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4774         * alloc.c (dbg_valbits): Make const.
4775         * alloc.c (dbg_gctypebits): Make const.
4776
4777 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4778
4779         * redisplay-x.c (x_bevel_area):
4780         redisplay.h (struct rune):
4781         Typo fixes in comments.
4782
4783 2001-01-05  Andy Piper  <andy@xemacs.org>
4784
4785         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4786         adjustment.
4787
4788         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4789
4790 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4791
4792         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4793
4794         * mule-ccl.c (stack_idx_of_map_multiple):
4795         Non const global data must not be initialized!
4796         Found by MIYASHITA Hisashi.
4797
4798 2001-01-02  Andy Piper  <andy@xemacs.org>
4799
4800         * frame.c (change_frame_size): make sure frame size is always
4801         marked as changed.
4802
4803         * glyphs.c (image_instance_layout): minor code reuse.
4804
4805         * window.c (Fcurrent_window_configuration): revert previous
4806         change.
4807
4808 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4809
4810         * glyphs.h:
4811         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4812
4813 2000-12-31  Andy Piper  <andy@xemacs.org>
4814
4815         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4816         when widget gets unmapped.
4817
4818         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4819         function. Make sure widgets losing focus don't just drop it.
4820         (handle_focus_event_1): record the widget with focus.
4821
4822 2000-12-31  Andy Piper  <andy@xemacs.org>
4823
4824         * window.c (allocate_window): use
4825         make_image_instance_cache_hash_table.
4826         (make_dummy_parent): ditto.
4827         (Fset_window_configuration): ditto.
4828
4829         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4830
4831         * glyphs.c (process_image_string_instantiator): use
4832         INSTANTIATOR_TYPE.
4833         (get_image_instantiator_governing_domain): ditto.
4834         (normalize_image_instantiator): ditto.
4835         (instantiate_image_instantiator): ditto.
4836         (make_image_instance_1): ditto.
4837         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4838         (instantiator_eq_equal): new function for use with instance hash
4839         tables.
4840         (instantiator_eq_hash): ditto.
4841         (make_image_instance_cache_hash_table): create a suitable hash
4842         table for storing image instances.
4843
4844         * elhash.h (hash_table_weakness): new internal weakness type
4845         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4846         declare new functions.
4847
4848         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4849         another weakness type for glyphs.
4850         (make_standard_lisp_hash_table): new function split out from
4851         make_general_lisp_hash_table.
4852         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4853         (hash_table_instantiate): ditto.
4854         (Fmake_hash_table): ditto.
4855
4856 2000-12-31  Martin Buchholz <martin@xemacs.org>
4857
4858         * XEmacs 21.2.39 is released.
4859
4860 2000-12-29  Andy Piper  <andy@xemacs.org>
4861
4862         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4863
4864         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4865         the frame has changed so that we pick up geometry changes such as
4866         menubar visibility.
4867
4868 2000-12-28  Andy Piper  <andy@xemacs.org>
4869
4870         * lastfile.c (my_ebss): make a char array so we can pad the
4871         bss. Fixes cygwin unexec.
4872
4873         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4874
4875 2000-12-26  Andy Piper  <andy@xemacs.org>
4876
4877         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4878         comments and try and be more precise about a non-/SIGIO world.
4879         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4880         SIGIO.
4881
4882         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4883         we don't normalize to zero width or height.
4884
4885 2000-12-24  Andy Piper  <andy@xemacs.org>
4886
4887         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4888
4889 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4890
4891         * s/sco5.h: SCO 5 has pty support.
4892
4893 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4894
4895         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4896         input-method-xlib.c contains whole contents of input-method-xfs.c,
4897         so we can use input-method-xlib.c's code for USE_XFONTSET
4898         using #ifdefs.
4899         * input-method-xfs.c: removed.
4900
4901 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4902
4903         * file-coding.h (enum coding_category_type): reorder enumerators to
4904         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4905         (now one greater than largest real coding_category_type enumerator).
4906         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4907         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4908         Fcoding_category_list, Fset_coding_priority_list,
4909         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4910         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4911
4912 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4913
4914         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4915         * redisplay-output.c (redisplay_output_window): Clear top of window
4916         when face is changed.
4917         * redisplay-x.c (x_redraw_exposed_window): Call
4918         redisplay_clear_top_of_window.
4919         * redisplay.h: Publish redisplay_clear_top_of_window.
4920
4921 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4922
4923         * buffer.c (Fkill_buffer): Map over all devices.
4924         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4925         (list_windows): New function.
4926         (list_all_windows): Ditto.
4927         (Freplace_buffer_in_windows): Use them.
4928
4929 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4930
4931         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4932         (Fopen_database): Use `db_create' instead of `db_open'.
4933         (syms_of_database): Initialize Qqueue.
4934
4935 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4936
4937         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4938         buffer_local_face_property.
4939         * buffer.h (struct buffer): New member buffer_local_face_property.
4940         * window.c (Fset_window_buffer):  Mark window's face as changed
4941         when buffer has buffer local face.
4942         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4943         * objects.c (color_after_change): Set buffer_local_face_property
4944         when locale of face specifier is buffer.
4945         * objects.c (font_after_change): Ditto.
4946         * objects.c (face_boolean_after_change): Ditto.
4947         * glyphs.c (image_after_change): Ditto.
4948
4949 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4950
4951         * nt.c (mswindows_fstat): Report file permissions, volume serial
4952         number, etc. Code adapted from FSF Emacs 20.7.
4953
4954 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4955
4956         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4957         of stat when we don't have symbolic links, to make sure
4958         mswindows_stat is called on mswindows.
4959
4960 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4961
4962         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4963
4964 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4965
4966         * doprnt.c (emacs_doprnt_1): More printing fixes.
4967         Make printing of numbers compatible with libc and FSF Emacs.
4968         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4969         Use the system printf to do most of the hard work of formatting,
4970         instead of doprnt_1().
4971         Calculate memory to allocate for format string.
4972         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4973         (doprnt_1): Cleaner code and documentation.
4974
4975 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4976
4977         * Makefile.in.in: Use the loop variable to install headers.
4978
4979 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4980
4981         * window.c (Fsplit_window): Don't invalidate face cache.
4982
4983 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4984
4985         * minibuf.c (Fall_completions): Undo the previous change
4986         which removed checking elements start with space.
4987
4988 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4989
4990         * mule-canna.c: Didier suppression.
4991
4992 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4993
4994         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4995         (warning suppression).  Add English comment translations.
4996
4997 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4998
4999         * unexelfsgi.c (unexec): Better test for mmap failure.
5000
5001 2000-12-05  Martin Buchholz <martin@xemacs.org>
5002
5003         * XEmacs 21.2.38 is released.
5004
5005 2000-12-05  Martin Buchholz  <martin@xemacs.org>
5006
5007         * redisplay.c (bar-cursor): Make a user variable.
5008
5009         * symsinit.h: Add init_postgresql_from_environment.
5010
5011 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5012
5013         * regex.c: Convert to clean C.
5014
5015 2000-12-05  Dan Holmsand  <dan@eyebee.com>
5016
5017         * realpath.c:
5018         Don't #include sysfile.h. Revert to duplicating PATH_MAX
5019         initialization.
5020         (sys_readlink): renamed to system_readlink to avoid conflict with
5021         the other sys_readlink.
5022
5023 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
5024
5025         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
5026
5027 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
5028
5029         * postgresql.c (init_postgresql_from_environment): new function.
5030         (vars_of_postgresql): Move code initializing Lisp variables out and
5031         into init_postgresql_from_environment.
5032         emacs.c (main_1): Call init_postgresql_from_environment if and only
5033         if running a dumped XEmacs.
5034
5035 2000-08-31  Dan Holmsand  <dan@eyebee.com>
5036
5037         * buffer.c: Make find-file-compare-truenames default to true on
5038         windows.
5039
5040         * realpath.c (win32_abs_start):
5041         (cygwin_readlink):
5042         (win32_readlink): New functions.
5043         (xrealpath): Return really real filenames on windows.
5044
5045         * fileio.c (Ffile_truename): Make file-truename work on windows.
5046
5047 2000-11-29  Didier Verna  <didier@xemacs.org>
5048
5049         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
5050         * faces.c (update_face_cachel_data): use it.
5051         * faces.c (add_face_cachel): use it. Complete background pixmap
5052         frobbing in face cache if `update_face_cachel_data' has not done so.
5053
5054 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
5055
5056         * search.c (string_match_1): Don't set last_thing_searched
5057         when search failed.
5058
5059 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
5060
5061         * buffer.c: Include casetab.h
5062         (common_init_complex_vars_of_buffer): Use new case-table object.
5063         * buffer.h: Include casetab.h
5064         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
5065         (DOWNCASE_TABLE_OF): Ditto.
5066         * bufslots.h: Remove char-tables and add case-table.
5067         * casetab.c: Include casetab.h
5068         (CASE_TABLE_P): Removed.
5069         (mark_case_table): New function.
5070         (allocate_case_table): New function.
5071         (Fcase_table_p): Use new case-table.
5072         (case_table_char): New function.
5073         (Fget_case_table): Ditto.
5074         (Fput_case_table): Ditto.
5075         (Fput_case_table_pair): Ditto.
5076         (Fcopy_case_table): Ditto.
5077         (Fcurrent_case_table): Return case-table.
5078         (Fstandard_case_table): Return case-table.
5079         (Fset_case_table): Fix doc-string.
5080         (set_case_table): Use case-table
5081         (syms_of_casetab): DEFSUBR new functions.
5082         (complex_vars_of_casetab): Set up standard case-table.
5083         * casetab.h: New file.
5084         * editfns.c: Include casetab.h
5085         (Fcompare_buffer_substrings): Use case-table.
5086         * inline.c: Include casetab.h
5087         * lisp.h: Remove bogus extern.
5088         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
5089         * search.c: Include casetab.h
5090         (TRANSLATE_ASCII): Removed.
5091         (TRANSLATE): Unconditionally translate character.
5092         (looking_at_1): Use case-table.
5093         (string_match_1): Ditto.
5094         (fast_string_match): Ditto.
5095         (search_command): Ditto.
5096         (search_buffer): Separate boyer_moore.  Check whether
5097         boyer_moore is possible.
5098         (simple_search): New function.
5099         (boyer_moore): Separated from search_buffer. Translate char.
5100
5101 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5102
5103         * regex.c (RE_TR_ASCII): Removed.
5104         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
5105         (PATFETCH): Call PATFETCH_RAW.
5106         (PATFETCH_RAW): Fetch Emchar.
5107         (PATUNFETCH): Decrement charptr.
5108         (GET_BUFFER_SPACE): Rename b to buf_end.
5109         (BUF_PUSH): Ditto.
5110         (BUF_PUSH_2): Ditto.
5111         (BUF_PUSH_3): Ditto.
5112         (EXTEND_BUFFER): Ditto.
5113         (SET_LIST_BIT): Ditto.
5114         (regex_compile): Ditto.  Translate non ASCII char.
5115         (compile_range): Ditto.
5116         (re_search_2): Ditto.
5117         (re_match_2_internal): Compare Emchar.
5118         (bcmp_translate): Ditto.
5119
5120 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
5121
5122         * lisp.h (basic char/int typedefs):  comment improvement.
5123
5124 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5125
5126         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5127         unstomp inhibit_site_lisp.  Improve comments.
5128
5129 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5130
5131         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5132
5133 2000-11-28  Andy Piper  <andy@xemacs.org>
5134
5135         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5136         clipped display for windows in the gutter also.
5137         (redisplay_display_boxes_in_window_p): change semantics of return
5138         codes to be more intuitive.
5139
5140         * gutter.h: declare display_boxes_in_gutter_p.
5141
5142         * gutter.c (display_boxes_in_gutter_p): new function for
5143         redisplay.
5144
5145 2000-11-22  Andy Piper  <andy@xemacs.org>
5146
5147         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5148         autodetect domain.
5149
5150 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5151
5152         * callproc.c (Fold_call_process_internal):
5153         * gpm.c (Freceive_gpm_event):
5154         (tty_get_foreign_selection): Might be just warning supression.
5155         * fileio.c (Fwrite_region_internal):
5156         (Fset_visited_file_modtime):
5157         * keymap.c (event_matches_key_specifier_p):
5158         Initialize GCPROed variable.
5159
5160         * menubar-x.c (command_builder_find_menu_accelerator):
5161         Initialize before use.
5162
5163 2000-11-23  Andy Piper  <andy@xemacs.org>
5164
5165         * unexcw.c (unexec): make the resulting executable executable.
5166
5167 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5168
5169         * doc.c (get_doc_string):
5170         Use size_t, not int, for result of XSTRING_LENGTH.
5171
5172         * cmds.c (Fdelete_char):
5173         * cmds.c (Fpoint_at_eol):
5174         * cmds.c (Fself_insert_command):
5175         Use EMACS_INT, not int, for result of XINT.
5176         Someday, someone will want to insert more than 2**31 identical characters.
5177
5178         * cmds.c (Fdelete_char):
5179         * cmds.c (Fdelete_backward_char):
5180         * syntax.c (Fforward_word):
5181         * syntax.c (Fforward_comment):
5182         Make COUNT argument optional, for consistency with forward-char et al.
5183
5184 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5185
5186         * lisp.h:
5187         * print.c (long_to_string):
5188         Return a useful value: the pointer at end of data written.
5189
5190         * doprnt.c:
5191         Use `static const char * const' for constant strings.
5192         (union printf_arg): Delete `i', `ui' members.
5193         (get_doprnt_args):
5194         (emacs_doprnt_1):
5195         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5196         Do all printf-ing via the `l' specifier.
5197         Use EMACS_INT instead of int.
5198         Optimize.
5199
5200 2000-11-20  Didier Verna  <didier@xemacs.org>
5201
5202         * faces.c (update_face_cachel_data): don't frob the background
5203         pixmap when the window is being created. The face is needed but
5204         does not exist yet.
5205
5206 2000-11-20  Andy Piper  <andy@xemacs.org>
5207
5208         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5209         messing with a debug environment.
5210
5211 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5212
5213         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5214
5215 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5216
5217         * casetab.c (Fcase_table_p): Fix compile error and crash.
5218
5219 2000-11-18  Philip Aston  <philipa@mail.com>
5220
5221         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5222
5223 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5224
5225         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5226         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5227
5228 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5229
5230         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5231         * unexelf.c: Use HAVE_ELF_H.
5232         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5233         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5234         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5235         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5236         for testing.
5237         So this is an unexelfsgi.c from a different line of development.
5238
5239 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5240
5241         * regex.c (RE_TR_ASCII): New function.
5242         (RE_TRANSLATE): Call it.
5243
5244 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5245
5246         * buffer.h (TRT_TABLE_OF): Remove assert.
5247         (IN_TRT_TABLE_DOMAIN): Removed.
5248
5249 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5250
5251         * free-hook.c (log_gcpro):
5252         (show_gcprohist): Add support for GCPRO5.
5253
5254 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5255
5256         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5257
5258 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5259
5260         * symeval.h: Declare flush_all_buffer_local_cache.
5261
5262         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5263         (flush_buffer_local_cache): Added.
5264         (flush_all_buffer_local_cache): Added.
5265
5266         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5267
5268         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5269         (pdump_dump_data): Ditto.
5270         (pdump_reloc_one): Ditto.
5271         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5272         before dumping.
5273
5274
5275 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5276
5277         * buffer.c: Remove if 0'ed entry.
5278         * buffer.h: Rewrite TRT to use char-table.
5279         * bufslots.h: Remove mirror tables.
5280         * casetab.c: Remove mirror tables.
5281         (CASE_TABLE_P): New macro.
5282         (Fcase_table_p): Element of a case table is string or char-table.
5283         (make_mirror_trt_table): Removed.
5284         (set_case_table): Setup char-table from strings for backward
5285         compatibility.
5286         * dired.c (Fdirectory_files):
5287         * dired-msw.c: (mswindows_get_files):
5288         * lisp.h: Change prototype of re_pattern_buffer.
5289         * regex.c: (RE_TRANSLATE): New macro.
5290         (TRANSLATE_P): Ditto.
5291         Change translate to type RE_TRANSLATE_TYPE.
5292         * regex.h: Define RE_TRANSLATE_TYPE
5293         * search.c (TRANSLATE): New macro.
5294         (TRANSLATE_ASCII): New macro.
5295         Translate table is changed to Lisp_Object.
5296         (signal_failure): Inhibit return.
5297
5298 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5299
5300         * device-msw.c:
5301         * eldap.c:
5302         * event-Xt.c:
5303         * event-stream.c:
5304         * print.c:
5305         Do UNGCPRO before return.
5306
5307 2000-11-14  Martin Buchholz <martin@xemacs.org>
5308
5309         * XEmacs 21.2.37 is released.
5310
5311 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5312
5313         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5314         Add comments about discarded return value.
5315
5316 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5317
5318         * callint.c:
5319         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5320
5321 2000-10-27  Andy Piper  <andy@xemacs.org>
5322
5323         * gutter.c (Fset_default_gutter_position): default left and right
5324         gutters to visible.
5325         (calculate_gutter_size): calculate resonable heuristic for left
5326         and right gutter sizes.
5327         (specifier_vars_of_gutter): change left and right gutter sizes to
5328         autodetect.
5329         (calculate_gutter_size_from_display_lines): new function.
5330         (output_gutter): check for resizing on left and right gutters.
5331         (clear_gutter): don't special case top and left gutters.
5332         (specifier_vars_of_gutter): use new signature for
5333         set_specifier_caching.
5334
5335         * glyphs-x.c (x_redisplay_widget): spelling fix.
5336         * glyphs.c (specifier_vars_of_glyphs):
5337         * menubar.c (specifier_vars_of_menubar):
5338         * redisplay.c (specifier_vars_of_redisplay):
5339         * toolbar.c (specifier_vars_of_toolbar):
5340         * window.c (specifier_vars_of_window):
5341         * scrollbar.c (specifier_vars_of_scrollbar):
5342         (complex_vars_of_scrollbar): use new signature for
5343         set_specifier_caching.
5344
5345         * specifier.c (set_specifier_caching): include recompute flag.
5346         (recompute_one_cached_specifier_in_window): always recompute if
5347         flag set.
5348         (recompute_one_cached_specifier_in_frame): ditto.
5349
5350         * specifier.h (struct specifier_caching): add recompute flag.
5351
5352 2000-10-24  Andy Piper  <andy@xemacs.org>
5353
5354         * unexcw.c (copy_executable_and_dump_data_section): add new
5355         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5356         5.0 happy.
5357
5358 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5359
5360         * console-x.h (x_device): New member modifier_release_time.
5361         * event-Xt.c (x_handle_sticky_modifiers):
5362         Bound interval modifier keys are sticky.
5363         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5364         * events.h: extern it.
5365
5366 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5367
5368         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5369
5370 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5371
5372         * event-stream.c (execute_command_event): Preserve current_events
5373         and the like when event is misc-user-event.
5374         Inhibit quit during the call to maybe_echo_keys.
5375
5376 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5377
5378         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5379         symlink when buffer is killed.
5380         (inhibit_clash_detection): New variable.
5381
5382 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5383
5384         * console.c (Fset_input_method): Trigger redisplay on tty.
5385
5386 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5387
5388         * process.c (Fprocess_status): Revert to previous behavior:
5389         (process-status "nosuchprocess") ==> nil
5390
5391 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5392
5393         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5394         Work around another GCC 2.95.2 optimizer bug.
5395
5396 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5397
5398         * process.c (Fget_process): Use LIST_LOOP_2.
5399         (kill_buffer_processes): Use LIST_LOOP_2.
5400
5401         * minibuf.c (Fall_completions):
5402         Delete old non-functional code for FSF fourth argument.
5403
5404         * frame.c (frame_matches_frame_spec):
5405         Renamed from `frame_matches_frametype'.  Update all callers.
5406         (device_matches_device_spec):
5407         Renamed from 'device_matches_console_spec'.  Update all callers.
5408
5409         * doc.c (Fsubstitute_command_keys):
5410         Remove buffer overflow crash.  Small code cleanups.
5411
5412         * casetab.c (check_case_table): Simpler code.
5413
5414         * window.c (Freplace_buffer_in_windows):
5415         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5416         (and similar implementation) as Fdelete_windows_on.
5417         Update all callers.
5418
5419         * alloc.c (Fmake_list):
5420         * alloc.c (make_vector):
5421         * alloc.c (Fmake_vector):
5422         * alloc.c (make_bit_vector):
5423         * alloc.c (Fmake_bit_vector):
5424         * alloc.c (Fbit_vector):
5425         * alloc.c (Fmake_string):
5426         * alloc.c (Fpurecopy):
5427         * alloc.c (Fmemory_limit):
5428         * buffer.c:
5429         * buffer.c (Fget_buffer):
5430         * buffer.c (Fkill_buffer):
5431         * buffer.c (complex_vars_of_buffer):
5432         * bytecode.c (Fcompiled_function_stack_depth):
5433         * callint.c (Fprefix_numeric_value):
5434         * event-stream.c:
5435         * event-stream.c (Fread_key_sequence):
5436         * casetab.c:
5437         * casetab.c (Fcase_table_p):
5438         * casetab.c (check_case_table):
5439         * casetab.c (Fset_case_table):
5440         * casetab.c (Fset_standard_case_table):
5441         * chartab.c:
5442         * chartab.c (Fchar_table_type):
5443         * chartab.c (Freset_char_table):
5444         * chartab.c (Fget_char_table):
5445         * chartab.c (Fget_range_char_table):
5446         * chartab.c (Fput_char_table):
5447         * chartab.c (Fmap_char_table):
5448         * chartab.c (Fcategory_table_p):
5449         * chartab.c (Fcheck_category_at):
5450         * chartab.c (Fchar_in_category_p):
5451         * chartab.c (Fcategory_table):
5452         * chartab.c (Fcopy_category_table):
5453         * chartab.c (Fset_category_table):
5454         * chartab.c (Fcategory_designator_p):
5455         * chartab.c (Fcategory_table_value_p):
5456         * cmds.c (Fdelete_char):
5457         * cmds.c (Fdelete_backward_char):
5458         * cmds.c (Fself_insert_command):
5459         * cmds.c (Fself_insert_internal):
5460         * console.c (Fvalid_console_type_p):
5461         * console.c (Fcdfw_console):
5462         * console.c (Fconsole_type):
5463         * console.c (Fconsole_name):
5464         * console.c (Fconsole_device_list):
5465         * console.c (Fconsole_on_window_system_p):
5466         * data.c:
5467         * data.c (Feq):
5468         * data.c (Fold_eq):
5469         * data.c (Fsubr_interactive):
5470         * data.c (Fchar_to_int):
5471         * data.c (Fint_to_char):
5472         * data.c (Fsetcar):
5473         * data.c (Fsetcdr):
5474         * data.c (Fnumber_to_string):
5475         * data.c (Fstring_to_number):
5476         * data.c (Frem):
5477         * database.c (mark_database):
5478         * database.c (finalize_database):
5479         * database.c (Fdatabase_live_p):
5480         * database.c (Fdatabasep):
5481         * device-x.c (Fx_get_resource):
5482         * device.c (Fdfw_device):
5483         * dired.c:
5484         * dired.c (Ffile_name_completion):
5485         * dired.c (Ffile_name_all_completions):
5486         * dired.c (Fuser_name_completion):
5487         * dired.c (Fuser_name_completion_1):
5488         * dired.c (Fuser_name_all_completions):
5489         * doc.c (Fdocumentation):
5490         * doc.c (Fdocumentation_property):
5491         * doc.c (Fsubstitute_command_keys):
5492         * editfns.c:
5493         * editfns.c (Fchar_to_string):
5494         * editfns.c (Fstring_to_char):
5495         * editfns.c (Ftemp_directory):
5496         * editfns.c (Finsert_char):
5497         * editfns.c (Fbuffer_substring_no_properties):
5498         * editfns.c (Fnarrow_to_region):
5499         * editfns.c (Fchar_equal):
5500         * editfns.c (Fchar_Equal):
5501         * editfns.c (Ftranspose_regions):
5502         * emacs.c (Fdump_emacs):
5503         * eval.c (Fthrow):
5504         * eval.c (Fcommand_execute):
5505         * eval.c (Fautoload):
5506         * eval.c (Fbacktrace):
5507         * eval.c (Fbacktrace_frame):
5508         * events.c:
5509         * events.c (Fcopy_event):
5510         * events.c (Fcharacter_to_event):
5511         * events.c (Fevent_button):
5512         * events.c (Fevent_process):
5513         * extents.c:
5514         * extents.c (Fnext_extent_change):
5515         * extents.c (Fextent_property):
5516         * faces.c (Ffacep):
5517         * faces.c (Fmake_face):
5518         * file-coding.c:
5519         * file-coding.c (Fencode_shift_jis_char):
5520         * file-coding.c (Fencode_big5_char):
5521         * fileio.c (Ffile_name_directory):
5522         * fileio.c (Ffile_name_nondirectory):
5523         * fileio.c (Ffile_name_as_directory):
5524         * fileio.c (Fdirectory_file_name):
5525         * fileio.c (Ffile_truename):
5526         * fileio.c (Fsubstitute_in_file_name):
5527         * fileio.c (Ffile_modes):
5528         * fileio.c (Fset_file_modes):
5529         * fileio.c (Fset_default_file_modes):
5530         * fileio.c (Fverify_visited_file_modtime):
5531         * floatfns.c (Facos):
5532         * floatfns.c (Fasin):
5533         * floatfns.c (Fatan):
5534         * floatfns.c (Fcos):
5535         * floatfns.c (Fsin):
5536         * floatfns.c (Ftan):
5537         * floatfns.c (Fbessel_j0):
5538         * floatfns.c (Fbessel_j1):
5539         * floatfns.c (Fbessel_jn):
5540         * floatfns.c (Fbessel_y0):
5541         * floatfns.c (Fbessel_y1):
5542         * floatfns.c (Fbessel_yn):
5543         * floatfns.c (Ferf):
5544         * floatfns.c (Ferfc):
5545         * floatfns.c (Flog_gamma):
5546         * floatfns.c (Fexp):
5547         * floatfns.c (Fexpt):
5548         * floatfns.c (Flog):
5549         * floatfns.c (Flog10):
5550         * floatfns.c (Fsqrt):
5551         * floatfns.c (Fcube_root):
5552         * floatfns.c (Facosh):
5553         * floatfns.c (Fasinh):
5554         * floatfns.c (Fatanh):
5555         * floatfns.c (Fcosh):
5556         * floatfns.c (Fsinh):
5557         * floatfns.c (Ftanh):
5558         * floatfns.c (Fabs):
5559         * floatfns.c (Ffloat):
5560         * floatfns.c (Flogb):
5561         * floatfns.c (Fceiling):
5562         * floatfns.c (Ffloor):
5563         * floatfns.c (Fround):
5564         * floatfns.c (Ftruncate):
5565         * floatfns.c (Ffceiling):
5566         * floatfns.c (Fffloor):
5567         * floatfns.c (Ffround):
5568         * floatfns.c (Fftruncate):
5569         * fns.c (Fstring_equal):
5570         * fns.c (Fstring_lessp):
5571         * fns.c (concat2):
5572         * fns.c (concat3):
5573         * fns.c (vconcat2):
5574         * fns.c (vconcat3):
5575         * fns.c (Fsubstring):
5576         * fns.c (Fassoc):
5577         * fns.c (Fold_assoc):
5578         * fns.c (assoc_no_quit):
5579         * fns.c (Fassq):
5580         * fns.c (Fold_assq):
5581         * fns.c (assq_no_quit):
5582         * fns.c (Frassoc):
5583         * fns.c (Fold_rassoc):
5584         * fns.c (Frassq):
5585         * fns.c (Fold_rassq):
5586         * fns.c (rassq_no_quit):
5587         * fns.c (Fremassoc):
5588         * fns.c (remassoc_no_quit):
5589         * fns.c (Fremassq):
5590         * fns.c (remassq_no_quit):
5591         * fns.c (Fremrassoc):
5592         * fns.c (Fremrassq):
5593         * fns.c (remrassq_no_quit):
5594         * fns.c (Fsort):
5595         * fns.c (Fplist_get):
5596         * fns.c (Fplist_put):
5597         * fns.c (Fplist_remprop):
5598         * fns.c (Fplist_member):
5599         * fns.c (Flax_plist_get):
5600         * fns.c (Flax_plist_put):
5601         * fns.c (Flax_plist_remprop):
5602         * fns.c (Flax_plist_member):
5603         * fns.c (Fequal):
5604         * fns.c (Fold_equal):
5605         * fns.c (Frequire):
5606         * fns.c (Fbase64_encode_region):
5607         * fns.c (Fbase64_encode_string):
5608         * fns.c (Fbase64_decode_region):
5609         * frame.c:
5610         * frame.c (frame_matches_frame_spec):
5611         * frame.c (device_matches_device_spec):
5612         * frame.c (next_frame):
5613         * frame.c (previous_frame):
5614         * frame.c (Fnext_frame):
5615         * frame.c (Fprevious_frame):
5616         * frame.c (Fframe_property):
5617         * frame.c (Fset_frame_height):
5618         * frame.c (Fset_frame_size):
5619         * frame.h:
5620         * glyphs.c:
5621         * glyphs.c (if):
5622         * glyphs.c (decode_error_behavior_flag):
5623         * glyphs.c (Fmake_image_instance):
5624         * indent.c (Findent_to):
5625         * intl.c (Fignore_defer_gettext):
5626         * keymap.c (Fkeymapp):
5627         * keymap.c (Flookup_key):
5628         * lread.c:
5629         * lread.c (Fload_internal):
5630         * lread.c (Feval_buffer):
5631         * lread.c (Feval_region):
5632         * macros.c (Fexecute_kbd_macro):
5633         * marker.c (set_marker_internal):
5634         * marker.c (Fset_marker):
5635         * marker.c (set_marker_restricted):
5636         * marker.c (Fcopy_marker):
5637         * marker.c (noseeum_copy_marker):
5638         * menubar.c:
5639         * menubar.c (Fpopup_menu):
5640         * minibuf.c:
5641         * mule-charset.c (Fcharset_name):
5642         * mule-charset.c (Fchar_charset):
5643         * mule-charset.c (Fchar_octet):
5644         * mule-charset.c (Fsplit_char):
5645         * mule-wnnfns.c (Fwnn_open):
5646         * mule-wnnfns.c (Fwnn_dict_comment):
5647         * mule-wnnfns.c (Fwnn_quit_henkan):
5648         * mule-wnnfns.c (Fwnn_word_toroku):
5649         * mule-wnnfns.c (Fwnn_word_sakujo):
5650         * mule-wnnfns.c (Fwnn_word_use):
5651         * mule-wnnfns.c (Fwnn_hindo_set):
5652         * objects.c:
5653         * objects.c (Fmake_color_instance):
5654         * objects.c (Fmake_font_instance):
5655         * print.c (Fwrite_char):
5656         * process.c:
5657         * process.c (mark_process):
5658         * process.c (print_process):
5659         * process.c (get_process_from_usid):
5660         * process.c (Fprocessp):
5661         * process.c (Fprocess_live_p):
5662         * process.c (Fget_process):
5663         * process.c (Fget_buffer_process):
5664         * process.c (get_process):
5665         * process.c (Fprocess_id):
5666         * process.c (Fprocess_name):
5667         * process.c (Fprocess_command):
5668         * process.c (init_process_io_handles):
5669         * process.c (start_process_unwind):
5670         * process.c (Fstart_process_internal):
5671         * process.c (Fopen_multicast_group_internal):
5672         * process.c (Fset_process_window_size):
5673         * process.c (read_process_output):
5674         * process.c (send_process):
5675         * process.c (Fprocess_tty_name):
5676         * process.c (Fset_process_buffer):
5677         * process.c (Fprocess_buffer):
5678         * process.c (Fprocess_mark):
5679         * process.c (set_process_filter):
5680         * process.c (Fset_process_filter):
5681         * process.c (Fprocess_filter):
5682         * process.c (Fprocess_send_region):
5683         * process.c (Fprocess_send_string):
5684         * process.c (exec_sentinel):
5685         * process.c (Fset_process_sentinel):
5686         * process.c (Fprocess_sentinel):
5687         * process.c (status_notify):
5688         * process.c (Fprocess_status):
5689         * process.c (Fprocess_exit_status):
5690         * process.c (process_send_signal):
5691         * process.c (Fprocess_send_eof):
5692         * process.c (deactivate_process):
5693         * process.c (remove_process):
5694         * process.c (Fdelete_process):
5695         * process.c (kill_buffer_processes):
5696         * process.c (Fprocess_kill_without_query):
5697         * process.c (Fprocess_kill_without_query_p):
5698         * rangetab.c:
5699         * rangetab.c (Fget_range_table):
5700         * rangetab.c (Fput_range_table):
5701         * rangetab.c (Fremove_range_table):
5702         * rangetab.c (Fclear_range_table):
5703         * search.c:
5704         * search.c (Fskip_chars_forward):
5705         * search.c (Fskip_chars_backward):
5706         * search.c (Fskip_syntax_forward):
5707         * search.c (Fskip_syntax_backward):
5708         * search.c (search_command):
5709         * search.c (Freplace_match):
5710         * search.c (Fregexp_quote):
5711         * select.c (Fown_selection_internal):
5712         * select.c (Fselection_owner_p):
5713         * select.c (Fselection_exists_p):
5714         * select.c (Fget_selection_internal):
5715         * specifier.c:
5716         * symbols.c:
5717         * symbols.c (Fintern):
5718         * symbols.c (Fintern_soft):
5719         * symbols.c (Funintern):
5720         * symbols.c (Fapropos_internal):
5721         * symbols.c (Fset_default):
5722         * syntax.c:
5723         * syntax.c (Fsyntax_table_p):
5724         * syntax.c (Fcopy_syntax_table):
5725         * syntax.c (Fset_syntax_table):
5726         * syntax.c (Fchar_syntax):
5727         * syntax.c (syntax_match):
5728         * syntax.c (Fmatching_paren):
5729         * syntax.c (Fforward_word):
5730         * syntax.c (scan_lists):
5731         * syntax.c (Fscan_lists):
5732         * syntax.c (Fscan_sexps):
5733         * syntax.c (Fparse_partial_sexp):
5734         * toolbar.c (Fcheck_toolbar_button_syntax):
5735         * tooltalk.doc:
5736         * window.c:
5737         * window.c (Fwindowp):
5738         * window.c (Fwindow_live_p):
5739         * window.c (Fwindow_point):
5740         * window.c (Fdelete_window):
5741         * window.c (Fnext_window):
5742         * window.c (Fprevious_window):
5743         * window.c (Fother_window):
5744         * window.c (window_loop):
5745         * window.c (Fget_lru_window):
5746         * window.c (Fsplit_window):
5747         * window.c (Fenlarge_window):
5748         * window.c (Fenlarge_window_pixels):
5749         * window.c (Fshrink_window):
5750         * window.c (Fshrink_window_pixels):
5751         * window.c (change_window_height):
5752         * window.c (Fwindow_configuration_p):
5753         * window.c (Fcurrent_window_configuration):
5754         * window.h:
5755         * casefiddle.c (casify_object):
5756         * casefiddle.c (Fupcase):
5757         * casefiddle.c (Fdowncase):
5758         * casefiddle.c (Fcapitalize):
5759         * casefiddle.c (Fupcase_initials):
5760         * casefiddle.c (casify_region_internal):
5761         * casefiddle.c (casify_region):
5762         * casefiddle.c (Fupcase_region):
5763         * casefiddle.c (Fdowncase_region):
5764         * casefiddle.c (Fcapitalize_region):
5765         * casefiddle.c (Fupcase_initials_region):
5766         * casefiddle.c (Fupcase_word):
5767         * casefiddle.c (Fdowncase_word):
5768         * casefiddle.c (Fcapitalize_word):
5769         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5770         Replace 0 with '\0' when working with bytes.
5771         Replace initial "(" with "\(" in docstrings.
5772
5773 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5774
5775         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5776
5777         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5778
5779 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5780
5781         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5782
5783 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5784
5785         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5786         correctly.
5787
5788 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5789
5790         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5791         (inhibit_auto_save_session): New variable.
5792         (vars_of_fileio): Declare and initialize them.
5793         * fileio.c (Fdo_auto_save): Don't create session file if
5794         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5795
5796 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5797
5798         * sgiplay.c (play_internal): C++ compilability.
5799         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5800         * callproc.c (Fold_call_process_internal):
5801         Remove unused vars `env', `first'.
5802         * scrollbar.c (update_scrollbar_instance):
5803         #### unused var `current_window'.
5804         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5805         etc. within #ifdef NOT_YET.
5806         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5807         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5808         * specifier.c (specifier_instance):
5809         #### unused var `tag'.
5810         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5811
5812 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5813
5814         * fns.c (Fbutlast):
5815         * fns.c (list_sort):
5816         * fns.c (Ffillarray):
5817         * fns.c (bytecode_nconc2):
5818         * fns.c (Fnconc):
5819         * fns.c (mapcar1):
5820         * fns.c (Fmapconcat):
5821         Be pedantically 64-bit correct.  For the time when someone will
5822         want to have a list with length > 2**32.
5823
5824         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5825         Work around MIPSpro compiler bug.
5826
5827         * process-unix.c (unix_kill_child_process): Add snarky comment.
5828         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5829
5830         * config.h.in: Oops, _getpt ==> _getpty
5831
5832 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5833
5834         * config.h.in:
5835         * regex.c:
5836         Use void*, not char*, as return type of alloca().
5837
5838         * alloc.c (free_marker): Side effect inside assert expression!
5839
5840 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5841
5842         * mule-charset.c (Fset_charset_ccl_program): To check
5843         if the given ccl program is valid, use setup_ccl_program()
5844         instead of CHECK_VECTOR().
5845         (Fmake_charset): Likewise.
5846
5847 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5848
5849         * faces.c (get_extent_fragment_face_cache_index):
5850         Fix cachel.merged_faces memory leak.
5851
5852 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5853
5854         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5855         Reset MSB of octets obtained by DECODE_SJIS
5856         because of the incompatibility with Emacs.
5857         (ccl_driver)<CCL_ENCODE_SJIS>:
5858         Set MSB of octets before passing them to
5859         ENCODE_SJIS because of the incompatibility
5860         with Emacs.
5861
5862 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5863
5864         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5865         (DECLARE_LRECORD): Undo the last change.
5866         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5867
5868 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5869
5870         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5871         the implementation to lrecord_implementations_table.
5872
5873 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5874
5875         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5876         initial value of `lrecord_type_##c_name' and
5877         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5878         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5879         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5880         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5881         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5882
5883 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5884
5885         * miscplay.c (sndcnv8S_2mono):
5886         (sndcnv2monounsigned):
5887         (sndcnvULaw_2linear):
5888         (sndcnv16swap):
5889         Remove implementation-defined behavior.
5890
5891 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5892
5893         * input-method-xlib.c: Warning suppression.
5894
5895 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5896
5897         * mule-ccl.c: Sync up with Emacs 21.0.90.
5898         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5899         Do nothing.
5900         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5901         Likewise.
5902         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5903         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5904         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5905         leading char belongs to official 2-dimensional charset.
5906         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5907         write the given character as is.  Otherwise,
5908         if it is a multibyte char, convert it by
5909         non_ascii_set_charptr_emchar, then write it.
5910         (CCL_WRITE_STRING): Likewise.
5911         (ccl_get_compiled_code): New function.
5912         (setup_ccl_program): When ccl_prog is invalid,
5913         return -1.
5914         (Fregister_code_conversion_map): New function.
5915         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5916
5917         * mule-ccl.h: Sync up with Emacs 21.0.90.
5918         (Fregister_ccl_program): export it.
5919
5920         * redisplay-msw.c (separate_textual_runs):
5921         If ccl program is not valid, don't do ccl conversion.
5922
5923         * redisplay-x.c (separate_textual_runs): Ditto.
5924
5925         * file-coding.c (Fmake_coding_system):
5926         When type is ccl and value is vector, register it
5927         with a proper symbol.  And checks whether the
5928         given ccl program is valid.
5929         (mule_decode): When calling ccl_driver, if src indicates
5930         NULL pointer, set an empty string instead.
5931         (mule_encode): Likewise.
5932
5933 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5934
5935         The following large batch of changes gets us back to a state of
5936         C++ compilability.  Extbyte is now a char, which means that
5937         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5938
5939         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5940
5941         * sound.c (Fplay_sound): Type correctness.
5942
5943         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5944         (x_get_window_property): Type correctness.
5945         (receive_incremental_selection): unsigned char ==> Extbyte
5946         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5947         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5948         (Fx_store_cutbuffer_internal): Type correctness.
5949
5950         * process-unix.c (try_to_initialize_subtty): Type correctness.
5951
5952         * objects-x.c (x_print_color_instance): Type correctness.
5953         (x_print_font_instance): Type correctness.
5954         (x_list_fonts): SExtbyte ==> Extbyte.
5955         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5956         (x_find_charset_font): SExtbyte ==> Extbyte.
5957         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5958         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5959         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5960         Use bufbyte_strcmp.
5961
5962         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5963         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5964         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5965         (BYTE_C0_P): Use bit ops for char-signedness safety.
5966         (BYTE_C1_P): Use bit ops for char-signedness safety.
5967         (CHARSET_BY_LEADING_BYTE):
5968         (CHARSET_BY_ATTRIBUTES):
5969         Always use inline function.
5970         Use type_checking_assert.
5971         Hide chlook.
5972
5973         * mule-charset.c (non_ascii_charptr_copy_char):
5974         Modify to work with both ASCII and non-ASCII characters.
5975         Improve docs and variable names.
5976         Replace over-clever fall-through switch with a simple loop.
5977         (Lstream_get_emchar_1):
5978         Replace over-clever fall-through switch with a simple loop.
5979
5980         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5981         Warning suppression.
5982
5983         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5984         the return value of Lstream_getc, which could be EOF as well.
5985
5986         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5987
5988         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5989         APIs can be used on Extbytes without casts.  Risky!
5990         (SExtbyte): Remove.
5991         (UExtbyte): Remove.
5992
5993         * input-method-xlib.c (XIM_init_device):
5994         Use Xlib.h instead of IntrinsicP.h.
5995         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5996         which will break in X11R7.
5997         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5998         to call XRegisterIMInstantiateCallback with correct types.
5999
6000         * gui-x.c (button_item_to_widget_value): Type correctness.
6001
6002         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
6003
6004         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
6005         (xbm_instantiate_1): Type correctness.
6006         (BUILD_GLYPH_INST):  Type correctness.
6007
6008         * fileio.c (Fsubstitute_in_file_name): Type correctness.
6009
6010         * file-coding.c:
6011         (decode_coding_sjis):
6012         (decode_coding_big5):
6013         (decode_coding_ucs4):
6014         (decode_coding_utf8):
6015         (decode_coding_iso2022):
6016         (decode_coding_no_conversion):
6017         Make all decoding functions take an Extbyte * arg.
6018         (encode_coding_sjis):
6019         (encode_coding_big5):
6020         (encode_coding_ucs4):
6021         (encode_coding_utf8):
6022         (encode_coding_iso2022):
6023         (encode_coding_no_conversion):
6024         Make all encoding functions take a Bufbyte * arg.
6025         Use size_t instead of unsigned int for memory sizes.
6026         Only cast to unsigned char whenever dereferencing Extbyte *.
6027
6028         * doc.c (unparesseuxify_doc_string): Type correctness.
6029
6030         * console-x.c (split_up_display_spec):
6031         Rewrite without using details of internal string representation.
6032         (x_semi_canonicalize_device_connection): Type correctness.
6033
6034         * config.h.in:
6035         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
6036         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
6037         (HAVE_XFREE386): Removed.
6038
6039         * buffer.h (DEC_CHARPTR): `const' correctness.
6040         (bufbyte_strcmp): New.
6041         (bufbyte_memcmp): New.
6042
6043         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
6044
6045         * buffer.h (XCHAR_OR_CHAR_INT):
6046         Always use inline function.
6047         Remove redundant type checking assert() - XINT will abort quite nicely.
6048
6049 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6050
6051         * search.c (Freplace_match): Set newtext to an empty string.
6052
6053 2000-10-10  Martin Buchholz  <martin@xemacs.org>
6054
6055         * s/decosf1-3.h: Remove #include of stropts.h
6056         * s/ptx.h: Remove #include of stropts.h
6057         * s/usg5-4.h: Remove #include of stropts.h
6058         * sysproc.h:
6059         * config.h.in:
6060         Use stropts.h, not sys/stropts.h.
6061         Use strtio.h, not sys/strtio.h.
6062
6063 2000-10-04  Martin Buchholz <martin@xemacs.org>
6064
6065         * XEmacs 21.2.36 is released.
6066
6067 2000-09-21  Andy Piper  <andy@xemacs.org>
6068
6069         * glyphs-x.c (x_redisplay_widget): make sure non-structural
6070         changes still involve copying the widget tree.
6071         (update_widget_face): make sure a change is register in the widget
6072         tree. Call update_tab_widget_face appropriately.
6073         (update_tab_widget_face): ditto.
6074         (x_tab_control_redisplay): make sure non-structural changes still
6075         involve copying the widget tree.
6076
6077 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
6078
6079         * lread.c (locate_file): Check the path element is non-nil.
6080
6081 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6082
6083         * lisp.h: Warning suppression for SCO compilers.
6084
6085         * redisplay-tty.c (reset_tty_modes): Fix crash.
6086         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
6087
6088 2000-09-27  Martin Buchholz  <martin@xemacs.org>
6089
6090         Big signal/process handling overhaul.  Bugs fixed:
6091         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
6092         M-x comint-kill-subjob should work for both values nil and t of
6093         process-connection-type. It was broken on most platforms.
6094         Testing on Irix and Cygwin still needed.  Other plaforms tested.
6095         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
6096         * process-unix.c: Signal/Process handling overhaul.
6097         (pty_name): make 64 bytes, as `expect' does, for paranoia.
6098         (allocate_pty): Use all available modern methods of allocating
6099         ptys, falling back to old style BSD allocation as a last resort.
6100         Use allegedly more secure Unix98 pty allocation by default.
6101         (allocate_pty_the_old_fashioned_way): New. the last resort.
6102         (unix_create_process): Push ptem, ldterm, ttcompat where
6103         available.  Autoconfiscate.
6104         (try_to_initialize_subtty): New.
6105         (unix_kill_child_process): Proper signal handling for ptys on most
6106         platforms, using special knowledge of AIX, BSD, etc...
6107         (unix_create_process): Always disconnect_controlling_terminal() for
6108         subprocesses, whether using ptys or not.
6109         * process.h: Remove old getpt-dependent PTY code.
6110         * process.c (Fprocess_send_signal): New, obvious generic function.
6111         (decode_signal): New.
6112         (Finterrupt_process):
6113         (Fkill_process):
6114         (Fquit_process):
6115         (Fstop_process):
6116         (Fcontinue_process):
6117         (Fsignal_process): Use decode_signal.
6118         (process_send_signal):
6119         Many docstring corrections.
6120         Allow any signal to be sent to a process object.
6121         * config.h.in: Add symbols for big signal/process overhaul.
6122         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
6123         * sysproc.h: Include process-related headers, where available:
6124         sys/stropts.h sys/strtio.h pty.h libutil.h
6125         * s/irix4-0.h:
6126         * s/irix5-0.h:
6127         * s/cygwin32.h:
6128         * s/gnu.h:
6129         * s/linux.h:
6130         * s/hpux.h:
6131         * s/aix3-1.h:
6132         Remove old S&M pty stuff.
6133         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6134         * systty.h: Simplify cpp hackery, improve comments.
6135         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6136
6137         * editfns.c (Fformat_time_string):
6138         Be a little more paranoid with the return value of ctime.
6139
6140         * fileio.c (check_executable):
6141         (check_writable):
6142         Use symbolic constants X_OK, W_OK.
6143
6144         * console-x.c (split_up_display_spec): Fix a warning.
6145
6146 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6147
6148         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6149         * ntproc.c (sys_spawnve): make_string ==> build_string
6150         Small clarity improvements.
6151
6152 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6153
6154         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6155
6156         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6157
6158         * config.h.in (HAVE_STRCASECMP): Remove.
6159
6160 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6161
6162         * redisplay-output.c (redisplay_output_pixmap):
6163         Cleaner and possibly more 64-bit correct code.
6164
6165 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6166
6167         * dumper.c (pdump_load_finish): move restoration of
6168         `noninteractive1' to emacs.c (main_1).
6169         * emacs.c (main_1): protect LISP-visible command-line flags
6170         from pdump_load().
6171
6172 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6173
6174         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6175         DUMP_TARGET instead of literal program names.
6176
6177 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6178
6179         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6180
6181 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6182
6183         * *: Spelling mega-patch
6184
6185 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6186
6187         * fns.c (bad_bad_turtle):
6188         Delete "Eek!" comment, since we fixed the bug to which it refers.
6189
6190 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6191
6192         * alloca.c: Replace REGISTER with register.
6193
6194 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6195
6196         * file-coding.c (ucs_to_char): Use countof.
6197
6198 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6199
6200         * file-coding.c: (ucs_to_char):
6201         (complex_vars_of_file_coding):
6202         Use countof instead of sizeof.
6203         Use CHECK_NATNUM instead of CHECK_INT.
6204
6205         * sysdep.c (strcasecmp): Remove.
6206         * device-x.c (ascii_strcasecmp): New.
6207         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6208         Avoid using non-standard non-portable strcasecmp.
6209
6210 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6211
6212         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6213         * font-lock.c: remove reference to emacsfns.h.
6214         * search.c: small doc improvement.
6215         * event-Xt.c: correct file names in comments.
6216         * console-x.h Correct file names in comments.
6217         * frame.c: Correct file names in comments.
6218         * event-stream.c: remove Energize from comments.
6219
6220 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6221
6222         * symeval.h (DEFERROR_STANDARD):
6223         (DEFERROR):
6224         (DEFSYMBOL):
6225         (DEFSYMBOL_NO_DUMP):
6226         (DEFSYMBOL_MULTIWORD_PREDICATE):
6227         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6228         (DEFKEYWORD):
6229         The construct &##name is not sensible C.
6230         Fixes compilation errors with Unixware native compiler.
6231
6232 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6233
6234         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6235         (next_frame_internal): Removed.  We now just have next_frame.
6236         (next_frame):
6237         Write a simpler and cleaner one-pass algorithm.
6238         Remove called_from_delete_device arg and #ifdefed-out code.
6239         (previous_frame):
6240         Renamed from prev_frame.  Update callers.
6241         Cleaned up to have an analogous implementation to next_frame.
6242         (other_visible_frames_internal): Remove the
6243         called_from_delete_device bogus arg, and hence, remove this
6244         function.  Just use other_visible_frames().
6245
6246         * window.c (Fnext_window):
6247         Prettify docstring.
6248         Since next_frame() is guaranteed to return a frame, remove check
6249         for nil inserted in previous patch.
6250         (Fprevious_window):
6251         Prettify docstring.
6252         Make code look more like Fnext_window.
6253         (window_loop):
6254         Respect the `console' arg when iterating through windows.
6255         Fixes bug: (get-buffer-window buffer t device) not respecting
6256         the `device' arg.
6257         This function needs more work, as others have pointed out.
6258
6259         * frame.h: Rename prev_frame to previous_frame.
6260         device_matches_console_spec no longer takes a `frame' arg.
6261
6262         * s/gnu.h:
6263         * s/linux.h:
6264         * s/hpux.h:
6265         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6266         From "Golubev I. N." <gin@mo.msk.ru>.
6267
6268         * make-src-depend: Fix typo.
6269
6270 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6271
6272         * window.c (Fnext_window):
6273         next_frame() might return nil, not a frame.
6274         Fixes this crash:
6275         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6276
6277         * frame.c (next_frame_internal):
6278         We've passed a frame if we've passed its device.
6279         Fixes this crash:
6280         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6281 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6282
6283 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6284
6285         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6286         Allow option to suppress accelerators in menu/dialog items.
6287         (populate_or_checksum_helper): Pass dialog title through above.
6288
6289 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6290
6291         * event-msw.c (mswindows_key_to_emacs_keysym):
6292         Add "pause" key, fix "menu" key.
6293
6294 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6295
6296         * eval.c (reinit_vars_of_eval):
6297         Increase max_lisp_eval_depth to 1000,
6298         required for thai-xtis.el to byte-compile under some circumstances.
6299
6300 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6301
6302         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6303         From Kenichi Handa.
6304
6305 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6306
6307         * make-src-depend: Make the generated Makefiles smaller.
6308
6309         * s/hpux.h (SETUP_SLAVE_PTY):
6310         Provide a %d in the format string for the errno argument.
6311
6312         * editfns.c (Ftemp_directory):
6313         Warning fix.
6314         Avoid buffer overrun on very long file name.
6315
6316         * input-method-xlib.c (XIM_init_device):
6317         6th parameter of XRegisterIMInstantiateCallback has different
6318         pointer types on different OSes, so simply cast to (void *).
6319
6320         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6321
6322         * sysdll.c (dll_open):
6323         shl_load will hang hard if passed a NULL filename.
6324         Simply return NULL for compatibility with dlopen.
6325         * sysdll.c: Conform to XEmacs coding standards.
6326
6327         * sysdep.c (get_pty_max_bytes):
6328         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6329
6330 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6331
6332         * tooltalk.c: Add #include <syssignal.h>
6333
6334 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6335
6336         * s/hpux.h: Don't use undefined function sigunblock().
6337
6338 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6339
6340         * config.h.in: Add HAVE_BALLOON_HELP.
6341         * emacs.c: Use HAVE_BALLOON_HELP.
6342         * Makefile.in.in (x_objs):
6343         Make Balloon Help conditional on finding shape.h.
6344
6345 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6346
6347         * syntax.c (regex_emacs_buffer_p): New variable.
6348         * syntax.h (regex_emacs_buffer_p): extern.
6349         * search.c (looking_at_1):
6350         (string_match_1):
6351         (fast_string_match):
6352         (search_buffer): Set regex_emacs_buffer_p.
6353         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6354         when before_dot, at_dot, after_dot.
6355
6356 2000-08-23  Andy Piper  <andy@xemacs.org>
6357
6358         * gui-x.c (popup_selection_callback): Only set action_occurred
6359         when we really have an image instance.
6360         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6361
6362 2000-08-23  Andy Piper  <andy@xemacs.org>
6363
6364         * gui-msw.c (mswindows_handle_gui_wm_command): set
6365         action_occurred.
6366         * gui-x.c (popup_selection_callback): ditto.
6367
6368         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6369         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6370         (struct Lisp_Image_Instance): add action_occurred flag.
6371
6372         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6373         (image_instance_changed): ditto.
6374         (reset_frame_subwindow_instance_cache): only unmap windows - do
6375         not remove them from the cache also.
6376
6377         * glyphs-widget.c (tab_control_update): better debug.
6378         (progress_gauge_update): ditto.
6379         (layout_update): ditto.
6380         (layout_instantiate): ditto.
6381         (tab_control_order_only_changed): cope with null pending items.
6382
6383         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6384         debug. Force selection of an item when an action occurred. Cope
6385         with null pending_items.
6386         (mswindows_progress_gauge_redisplay): better debug.
6387         * glyphs-x.c (x_tab_control_redisplay): ditto.
6388
6389         * redisplay.c (redisplay_frame): reset the frame cache if the
6390         frame is garbaged.
6391
6392         * window.c (Fset_window_configuration): potentially re-enable
6393         frame cache reset.
6394         (window_unmap_subwindows): need to finalize instances here since
6395         it is only used in mark_window_as_deleted.
6396
6397 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6398
6399         * nas.c (SndOpenDataForReading):
6400         nas.c (WaveOpenDataForReading):
6401         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6402         Somehow escaped from the 2000-08-14 patch.
6403
6404 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6405
6406         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6407         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6408
6409 2000-08-21  Andy Piper  <andy@xemacs.org>
6410
6411         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6412         window if it is not already displayed.
6413
6414         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6415         it is not already displayed.
6416
6417         * window.c (Fset_window_configuration): don't reset the frame
6418         cache.
6419
6420         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6421         instances from the frame cache if we are actually finalizing them.
6422         (reset_frame_subwindow_instance_cache): reset frame cache only
6423         after unmapping everything.
6424         (map_subwindow): set displayed flag after mapping.
6425
6426 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6427
6428         * data.c (indirect_function):
6429         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6430
6431         * eval.c (function_argcount):
6432         Use original function when signaling errors.
6433
6434 2000-08-18  Andy Piper  <andy@xemacs.org>
6435
6436         * frame.c (delete_frame_internal): use new
6437         free_frame_subwindow_instances name.
6438
6439         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6440         (add_tab_item): make return type correct.
6441         (mswindows_tab_control_instantiate): assert index of tab.
6442         (mswindows_tab_control_redisplay): Re-code to use
6443         gui_item_equal_sans_selected and gui_item_list_find_selected.
6444
6445         * glyphs-widget.c (tab_control_update): Correct comment.
6446
6447         * window.c (window_unmap_subwindows): use new
6448         unmap_subwindow_instance_cache_mapper.
6449         (window_unmap_subwindows_cache_mapper): deleted.
6450         (Fset_window_configuration): comparisons should now be with
6451         EQ. Preserve the subwindow instance cache across configuration
6452         changes.
6453         (allocate_window): ditto.
6454         (make_dummy_parent): ditto.
6455
6456         * glyphs.c (free_frame_subwindow_instances): rename from
6457         free_frame_subwindow_instance_cache. finalize all instances rather
6458         than just those in the display cache.
6459         (finalize_all_subwindow_instances): walk windows unmapping and
6460         finalizing subwindows.
6461         (unmap_subwindow_instance_cache_mapper): moved from
6462         window.c. Allow finalization as well as unmapping.
6463
6464         * gui.c (gui_item_list_find_selected): new function.
6465
6466         * gui.h (gui_item_list_find_selected): declare.
6467
6468         * glyphs-x.c (x_tab_control_redisplay): pick tab
6469         explicitly. Re-code to use gui_item_equal_sans_selected and
6470         gui_item_list_find_selected.
6471
6472         * glyphs-x.h: add lwlib-utils.h
6473
6474         * buffer.c (Frecord_buffer): undo previous change.
6475
6476 2000-08-09  Vin Shelton  <acs@xemacs.org>
6477
6478         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6479         possible.  Create temporary files more securely.  The patch was
6480         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6481         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6482         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6483         for details.
6484
6485 2000-08-07  Ben Wing  <ben@xemacs.org>
6486
6487         * getloadavg.c: remove duplicate (and windows-breaking)
6488         includes of fcntl.h and sys/file.h.
6489
6490         * nt.c: remove duplicate getloadavg() definition.
6491
6492         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6493         encodings.
6494
6495 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6496
6497         * eval.c (function_argcount): If function needs to be autoloaded
6498         actually use the loaded definition.
6499         GCPRO function.
6500
6501 2000-08-05  Ben Wing  <ben@xemacs.org>
6502
6503         * getloadavg.c: add prototype for getloadavg().  remove
6504         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6505         of the code).  remove duplicate header includes.
6506
6507         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6508
6509         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6510         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6511         useful load average.
6512
6513         * alloc.c (reinit_alloc_once_early): removed references to
6514         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6515         the lisp vars are the only things referencing the malloc_sbrk_*
6516         vars, and they were already if 0'd out.  these vars only exist
6517         in the older malloc.c, which is basically unused, and they're
6518         only for informational purposes.
6519
6520         * m\*.h: removed useless VIRT_ADDR_VARIES.
6521
6522         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6523
6524 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6525
6526         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6527         color if the image is a mono pixmap.
6528
6529 2000-07-30  Ben Wing  <ben@xemacs.org>
6530
6531         * Makefile.in.in (release):
6532         Remove stray @.
6533
6534         * buffer.c (directory_is_current_directory):
6535         * dired-msw.c (mswindows_get_files):
6536         * dired.c:
6537         * dired.c (Fdirectory_files):
6538         * dired.c (file_name_completion_stat):
6539         * dired.c (Ffile_attributes):
6540         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6541         preprocessor tricks, to avoid problems on some machines
6542         (e.g. SCO).
6543
6544         * callproc.c (egetenv): GC docs.
6545
6546         * console-msw.h:
6547         * console-msw.h (struct mswindows_dialog_id):
6548         * lrecord.h (lrecord_type):
6549         New object for use with MSW dialogs.
6550
6551         * console.h (struct console_methods):
6552         New enable/disable frame methods, for proper modal dialogs.
6553
6554         * device-msw.c (msprinter_default_printer): Fix to follow
6555         proper Mule conventions.
6556
6557         * device-msw.c:
6558         * device-msw.c (signal_open_printer_error):
6559         * device-msw.c (msprinter_init_device):
6560         * device-msw.c (ensure_not_printing):
6561         * device-msw.c (plist_get_margin):
6562         * device-msw.c (Fmsprinter_select_settings):
6563         * device-msw.c (finalize_devmode):
6564         * device-msw.c (Fmsprinter_settings_despecialize):
6565         * device-msw.c (signal_enum_priner_error):
6566         * extents.c (decode_extent):
6567         * extents.c (decode_map_extents_flags):
6568         * extents.c (decode_extent_at_flag):
6569         * extents.c (Fextent_at):
6570         * extents.c (Fextents_at):
6571         * extents.c (symbol_to_glyph_layout):
6572         [[[[2]]]] Use structured errors.
6573
6574         * dialog-msw.c:
6575         * dialog-msw.c (mswindows_is_dialog_msg):
6576         * dialog-msw.c (mark_mswindows_dialog_id):
6577         * dialog-msw.c (dialog_proc):
6578         * dialog-msw.c (handle_question_dialog_box):
6579         * dialog-msw.c (syms_of_dialog_mswindows):
6580         Define new object to clean up marking; use it as a dialog identifier.
6581         Call new delete-dialog-box-hook.
6582
6583         * dialog-x.c (dbox_selection_callback):
6584         * dialog-x.c (dbox_descriptor_to_widget_value):
6585         * dialog-x.c (x_make_dialog_box_internal):
6586         Call new delete-dialog-box-hook.
6587         Return an id.
6588
6589         * dialog.c:
6590         * dialog.c (syms_of_dialog):
6591         * dialog.c (vars_of_dialog):
6592         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6593
6594         * eval.c:
6595         * eval.c (signal_call_debugger):
6596         when noninteractive, output stack traces on the console instead
6597         of in a (never-seen) buffer.
6598
6599         * eval.c (signal_type_error):
6600         * eval.c (invalid_argument_2):
6601         * lisp.h:
6602         new funs for use w/structured errors.
6603
6604         * event-Xt.c:
6605         * event-Xt.c (x_to_emacs_keysym):
6606         * event-Xt.c (describe_event):
6607         * event-Xt.c (emacs_Xt_event_handler):
6608         * event-Xt.c (vars_of_event_Xt):
6609         * event-msw.c:
6610         * event-msw.c (mswindows_wnd_proc):
6611         * event-msw.c (vars_of_event_mswindows):
6612         rename {x,mswindows}-debug-events to debug-{}-events for
6613         consistency with other debug-foo variables.
6614
6615         * event-stream.c:
6616         document next-event more clearly.
6617
6618         * fileio.c (Ffile_name_directory):
6619         * fileio.c (Ffile_name_nondirectory):
6620         * fileio.c (Funhandled_file_name_directory):
6621         * fileio.c (file_name_as_directory):
6622         * fileio.c (Ffile_name_as_directory):
6623         * fileio.c (directory_file_name):
6624         * fileio.c (Fdirectory_file_name):
6625         * fileio.c (Fmake_temp_name):
6626         * fileio.c (Ffile_truename):
6627         * fileio.c (Fsubstitute_in_file_name):
6628         * fileio.c (expand_and_dir_to_file):
6629         * fileio.c (barf_or_query_if_file_exists):
6630         * fileio.c (check_executable):
6631         * fileio.c (Ffile_exists_p):
6632         * fileio.c (Ffile_writable_p):
6633         * fileio.c (Ffile_directory_p):
6634         * fileio.c (Ffile_regular_p):
6635         * fileio.c (Ffile_modes):
6636         * fileio.c (Ffile_newer_than_file_p):
6637         * fileio.c (Fverify_visited_file_modtime):
6638         * fileio.c (Fset_visited_file_modtime):
6639         * fileio.c (auto_save_1):
6640         (1). (2).
6641         fix up gcpro's.
6642
6643         * frame-msw.c:
6644         * frame-msw.c (mswindows_init_frame_1):
6645         * frame-msw.c (mswindows_enable_frame):
6646         * frame-msw.c (error_frame_unsizable):
6647         * frame-msw.c (msprinter_init_frame_1):
6648         * frame-msw.c (msprinter_init_frame_3):
6649         * frame-msw.c (console_type_create_frame_mswindows):
6650         (2).
6651         implement new enable/disable frame methods.
6652
6653         * frame-x.c:
6654         * frame-x.c (x_enable_frame):
6655         * frame-x.c (console_type_create_frame_x):
6656         implement new enable/disable frame methods.
6657
6658         * frame.c:
6659         * frame.c (Fdisable_frame):
6660         * frame.c (syms_of_frame):
6661         * frame.h (struct frame):
6662         implement new enable/disable frame methods/functions.
6663
6664         * general-slots.h:
6665         add initial-focus.
6666
6667         * glyphs-msw.c (mswindows_widget_instantiate):
6668         comment that initial-focus should be implemented.
6669
6670         * glyphs-widget.c:
6671         * glyphs-widget.c (check_valid_instantiator):
6672         * glyphs-widget.c (check_valid_orientation):
6673         * glyphs-widget.c (check_valid_tab_orientation):
6674         * glyphs-widget.c (check_valid_justification):
6675         * glyphs-widget.c (check_valid_border):
6676         * glyphs-widget.c (check_valid_callback):
6677         * glyphs-widget.c (check_valid_int_or_function):
6678         * glyphs-widget.c (check_valid_string_or_vector):
6679         * glyphs-widget.c (check_valid_item_list_1):
6680         * glyphs-widget.c (widget_validate):
6681         * glyphs-widget.c (combo_box_validate):
6682         * glyphs-widget.c (widget_instantiate):
6683         * glyphs-widget.c (syms_of_glyphs_widget):
6684         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6685         * glyphs-widget.c (image_instantiator_combo_box):
6686         * glyphs-widget.c (image_instantiator_scrollbar):
6687         * glyphs-widget.c (image_instantiator_tab_control):
6688         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6689         (2).
6690         support (unimplemented) keyword initial-focus.
6691         reindent long macros.
6692
6693         * glyphs-x.c (x_redisplay_widget):
6694         * glyphs-x.c (x_button_instantiate):
6695         * glyphs-x.c (x_button_redisplay):
6696         * glyphs-x.c (x_progress_gauge_instantiate):
6697         * glyphs-x.c (x_edit_field_instantiate):
6698         * glyphs-x.c (x_combo_box_instantiate):
6699         * glyphs-x.c (x_tab_control_instantiate):
6700         * glyphs-x.c (x_label_instantiate):
6701         * gui-x.c:
6702         * gui-x.c (button_item_to_widget_value):
6703         * gui-x.c (gui_items_to_widget_values_1):
6704         * gui-x.c (gui_item_children_to_widget_values):
6705         * gui-x.c (gui_items_to_widget_values):
6706         * gui-x.h:
6707         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6708         add new flag to gui-parsing routines to indicate whether
6709         accelerator specs should be supported.
6710
6711         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6712
6713         * glyphs.h (struct Lisp_Image_Instance):
6714         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6715         add initial-focus flag.
6716
6717         * gui.c:
6718         * gui.c (syms_of_gui):
6719         * gui.c (vars_of_gui):
6720         clean up menu-no-selection-hook.
6721
6722         * gui.h:
6723         support delete-dialog-box-hook.
6724
6725         * lread.c (Fload_internal):
6726         * lread.c (locate_file_in_directory_mapper):
6727         (1).
6728
6729         * lrecord.h:
6730         * lrecord.h (struct toolbar_button):
6731         * lrecord.h (syms_of_toolbar):
6732         document how to create a new object.
6733
6734         * menubar-msw.c (mswindows_char_is_accelerator):
6735         may be called on frames w/o menus.
6736
6737         * menubar.c (vars_of_menubar):
6738         clean up :filter docs.
6739
6740         * nt.c (readdir):
6741         * ntproc.c:
6742         (1).
6743
6744         * process-nt.c:
6745         * process-nt.c (validate_signal_number):
6746         * process-nt.c (signal_cannot_launch):
6747         * process-nt.c (nt_create_process):
6748         * process-nt.c (nt_send_process):
6749         * process-nt.c (nt_kill_child_process):
6750         * process-nt.c (nt_open_network_stream):
6751         * process-nt.c (syms_of_process_nt):
6752         (2).
6753         delete quote-handling.  call new lisp code that does it better.
6754
6755         * process-unix.c (connect_to_file_descriptor):
6756         * process-unix.c (allocate_pty):
6757         * process-unix.c (unix_send_process):
6758         * process-unix.c (unix_kill_child_process):
6759         * process-unix.c (unix_open_network_stream):
6760         * process-unix.c (unix_open_multicast_group):
6761         (1). (2).
6762
6763         * process.c:
6764         * process.c (Fstart_process_internal):
6765         (2).  need to canonicalize process path even if absolute.
6766
6767         * select-msw.c (symbol_to_ms_cf):
6768         * select-msw.c (ms_cf_to_symbol):
6769         * select-msw.c (cf_is_autofreed):
6770         * select-msw.c (mswindows_destroy_selection):
6771         * select.c:
6772         * select.c (syms_of_select):
6773         * select.h:
6774         support dibv5, fix bugs. (from Mike Alexander)
6775
6776         * select.c (Fget_selection_internal):
6777         * select.c (select_convert_out):
6778
6779         * sysdep.c:
6780         * sysdep.c (xemacs_stat):
6781         renamed.
6782
6783         * sysdep.c (mkdir):
6784         * sysdep.c (rmdir):
6785         but keep original stat() here because we provide encapsulation
6786         around these funs.
6787
6788         * sysfile.h:
6789         * sysfile.h (fstat):
6790         remove stat garbage.
6791
6792         * syswindows.h:
6793         fix X/MSW conflict.
6794         don't include tchar.h.  it's inappropriate because it makes
6795         compile-time distinctions when we want runtime distinctions.
6796         (we provide our own tchar replacements)
6797
6798         * toolbar.c:
6799         use default object printer for toolbar-button.
6800
6801         * unexcw.c:
6802         make sure we don't encapsulate.
6803
6804         * window.c (vars_of_window):
6805         emphasize that temp-buffer-show-hook is obsolete.
6806
6807 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6808
6809         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6810         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6811
6812         * events.c (Fevent_timestamp_lessp):
6813         Not 64-bit clean.  Use EMACS_INT, not int.
6814
6815 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6816
6817         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6818         unsigned int and changed the last enum to
6819         lrecord_type_last_built_in_type.
6820         (lrecord_implementations_table): changed prototype to know how
6821         long the array is supposed to be.
6822         (lrecord_type_count): new unsigned int to keep track of the
6823         current number of lisp lrecord types.
6824         (DEFINE_EXTERNAL_LRECORD):
6825         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6826         dynamic-modules to declare new lisp types. They are the same
6827         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6828         int for each new type, and increment lrecord_type_count by 1.
6829
6830         * alloc.c (lrecord_implementations_table): Changed to reference
6831         lrecord_type_last_built_in_type for the size of the array.
6832         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6833
6834 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6835
6836         * glyphs.h (check_valid_item_list): Renamed from
6837         check_valid_item_list_1.
6838
6839 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6840
6841         * select.c (Qselect_coerce): New.
6842         * select.c (Vselection_coercion_alist): New.
6843         * select.c (syms_of_select): Declare.
6844         * select.c (get-selection-internal): Use it.
6845         Use the new select-coerce functionality.
6846
6847         * select.c (select_coerce): New.
6848         * select.h (select_coerce): Declare.
6849         New function to coerce one type of data into another.
6850
6851 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6852
6853         * callproc.c (Fcall_process_internal):
6854         (Fcall_process_internal):
6855         * process-unix.c (unix_create_process):
6856         Save and restore the value of errno, so that error messages are accurate.
6857
6858 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6859
6860         * elhash.c (print_hash_table):
6861         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6862         Prettify docstrings and indentation.
6863
6864 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6865
6866         * window.c (Fwindow_pixel_edges): Subtract frame border and
6867         gutter size.
6868
6869 2000-07-31  Andy Piper  <andy@xemacs.org>
6870
6871         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6872         will acknowledge the change.
6873
6874         * glyphs.h: declare tab_control_order_only_changed.
6875
6876         * glyphs-x.c (x_tab_control_redisplay): use
6877         tab_control_order_only_changed.
6878
6879         * glyphs-widget.c (tab_control_order_only_changed): new function.
6880
6881         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6882         tab_control_order_only_changed.
6883
6884         * gui.c (gui_item_equal_sans_selected): new function.
6885         (gui_item_equal): use it.
6886
6887         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6888         :properties in favor of :items..
6889
6890         * glyphs-widget.c (check_valid_item_list): rename from
6891         check_valid_item_list_1.
6892         (check_valid_item_list_1): renamed.
6893         (combo_box_validate): deprecate :properties in favor of :items.
6894         (widget_instantiate): ditto.
6895         (tab_control_update): ditto.
6896         (image_instantiator_combo_box): ditto.
6897         (image_instantiator_tree_view): ditto.
6898         (image_instantiator_tab_control): ditto.
6899         (layout_post_instantiate): remove dead code.
6900
6901         * print.c (debug_print_no_newline): only write to debugger if in
6902         WIN32_NATIVE.
6903
6904         * elhash.c (Fmake_hash_table): update doc string.
6905
6906         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6907         messages whilst in GC. This at least stops XEmacs crashing but has
6908         the potential for wierd behaviour.
6909
6910 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6911
6912         * config.h.in:
6913         Make existence of s&m files optional.
6914
6915         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6916         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6917         * s/gnu.h: Remove HAVE_GETLOADAVG.
6918         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6919         * s/sol2.h: Remove HAVE_GETLOADAVG.
6920         * lisp.h: Remove getloadavg() declaration.
6921         * fns.c:
6922         Include <sys/loadavg.h> if available.
6923         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6924         * config.h.in:  Group together getloadavg()-related macros.
6925         Use only configure-time tests to detect getloadavg().
6926
6927 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6928
6929         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6930
6931 2000-07-25  Andy Piper  <andy@xemacs.org>
6932
6933         * syswindows.h: add tchar.h for native builds.
6934
6935         * frame.c (syms_of_frame): remove set-glyph-image.
6936
6937         * general-slots.h: add Qset_glyph_image.
6938
6939         * glyphs-widget.c (layout_update): add domain arg to
6940         set-glyph-image.
6941         (syms_of_glyphs_widget): remove set-glyph-image.
6942
6943 2000-07-23  Ben Wing  <ben@xemacs.org>
6944
6945         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6946         Vpopup_frame_list.
6947
6948 2000-07-22  Andy Piper  <andy@xemacs.org>
6949
6950         * symsinit.h: add syms_of_win32().
6951
6952         * gui-msw.c (syms_of_gui_mswindows): remove
6953         Fmswindows_shell_execute.
6954         (Fmswindows_shell_execute): moved to win32.c.
6955
6956         * emacs.c (main_1): add syms_of_win32 ().
6957
6958         * win32.c (init_potentially_nonexistent_functions): rewrite in
6959         compiler-friendly terms.
6960         (Fmswindows_shell_execute): move here from gui-msw.c.
6961         (syms_of_win32): new.
6962
6963         * device-msw.c (Fmswindows_printer_list): clean up args to
6964         EnumPrinters.
6965         Don't include tchar under cygwin or mingw.
6966         (msprinter_default_printer): make cygwin-friendly.
6967
6968 2000-07-21  Andy Piper  <andy@xemacs.org>
6969
6970         * glyphs-widget.c (image_instantiator_tree_view): use tab
6971         control's update function.
6972         (layout_property): new function. Retrieve items.
6973
6974         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6975         function. Re-populate the tree view from the pending items.
6976
6977         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6978         is designated the parent if the domain is an image instance. This
6979         is needed so that dirtiness can be cascade up the hierarchy and
6980         thus for layout children to be redisplayed correctly.
6981         (allocate_image_instance): rename glyph -> parent.
6982
6983         * redisplay.h: change redisplay_output_layout signature.
6984
6985         * redisplay-msw.c (mswindows_output_display_block): use domain
6986         arg.
6987
6988         * redisplay-x.c (x_output_display_block): use domain arg.
6989
6990 2000-07-10  Andy Piper  <andy@xemacs.org>
6991
6992         * window.c (Fset_window_configuration): add comment.
6993
6994         * redisplay-output.c (compare_runes):
6995         (redisplay_output_subwindow): redisplay rather than update subwindow.
6996         (redisplay_output_layout): ditto.
6997
6998         * redisplay-msw.c (mswindows_frame_output_end):
6999         (mswindows_frame_output_end): make defer window pos optional.
7000
7001         * lisp.h: add Flast.
7002
7003         * glyphs.h (struct image_instantiator_methods): add dest_mask top
7004         normalize method. Change update method to be for changed
7005         instantiators. Add redisplay method. Change signature of layout
7006         method.
7007         (struct Lisp_Image_Instance): add instantiator.
7008         (IMAGE_INSTANCE_INSTANTIATOR): new.
7009         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
7010         (XIMAGE_INSTANCE_INSTANTIATOR): new.
7011         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
7012
7013         * glyphs.c:
7014         (find_instantiator_differences): new function.
7015         (Fset_instantiator_property): new convenience function.
7016         (check_image_instance_structure): strictly check for vector
7017         instantiators.
7018         (normalize_image_instantiator): make non-static.
7019         (instantiate_image_instantiator): pass on dest_mask and use new
7020         signatures for image_instance_layout and friends.
7021         (mark_image_instance): mark the instantiator. Mark the subwindow
7022         face not the widget face.
7023         (image_instance_equal): add instantiator.
7024         (image_instance_hash): ditto.
7025         (allocate_image_instance): ditto.
7026         (Fset_image_instance_property): removed.
7027         (Fimage_instance_file_name): ditto.
7028         (Fcolorize_image_instance): ditto.
7029         (image_instance_layout): add offsets to be set.
7030         (update_image_instance): new function. update an image instance
7031         from its changed instantiator.
7032         (inherit_normalize): add dest_mask.
7033         (xbm_normalize): ditto.
7034         (xface_normalize): ditto.
7035         (xpm_normalize): ditto.
7036         (text_update): set_property -> update.
7037         (image_instantiate): use the glyph identity as a hash key, not the
7038         instantiator.
7039         (glyph_width): use new image_instance_layout signature.
7040         (glyph_ascent): ditto.
7041         (glyph_descent): ditto.
7042         (glyph_height): ditto.
7043         (glyph_query_geometry): ressurrect.
7044         (glyph_layout): ditto.
7045         (redisplay_subwindow): update -> redisplay.
7046         (syms_of_glyphs): add Fset_instantiator_property.
7047         (image_instantiator_format_create): set_property -> update.
7048
7049         * glyphs-x.c:
7050         (autodetect_normalize): add dest_maks to signature.
7051         (x_redisplay_subwindow): update -> redisplay.
7052         (x_redisplay_widget): ditto.
7053         (x_button_redisplay): ditto.
7054         (x_progress_gauge_redisplay): ditto.
7055         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
7056         stacking order.
7057         (console_type_create_glyphs_x): update -> redisplay.
7058         (image_instantiator_format_create_glyphs_x): ditto.
7059
7060         * glyphs-widget.c:
7061         (check_valid_instantiator): disallow glyphs in the instantiator,
7062         they must now be vectors.
7063         (check_valid_instantiator_list): ditto.
7064         (glyph_instantiator_to_glyph): use internal symbol rather than
7065         intern.
7066         (widget_update): renamed from widget_set_property. Call cascaded
7067         update methods.
7068         (redisplay_widget): renamed from update_widget.
7069         (widget_layout): image_instance_layout now takes position as well
7070         as size.
7071         (widget_normalize): ditto.
7072         (widget_instantiate): ditto.
7073         (tab_control_query_geometry) ditto.:
7074         (tab_control_update): renamed from tab_control_set_property.
7075         (progress_gauge_update): set_property -> update.
7076         (layout_normalize): rewrite so that child instantiators are
7077         normalized also.
7078         (layout_update): new function. Create glyphs from the normalized
7079         children and cope with any other layout keywords. We do not
7080         instantiate children here that will be take care of by
7081         redisplay_output_layout.
7082         (layout_instantiate): call layout_update and not much else.
7083         (layout_post_instantiate): not sure whether this is needed
7084         anymore.
7085         (layout_query_geometry): query glyph geometry rather than
7086         image_instance geometry.
7087         (layout_layout): set offsets from pass in parameters. Use glyph
7088         geometry and layout functions rather than image instance ones.
7089         (native_layout_layout): ditto.
7090         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
7091         (image_instantiator_widget): set_property -> update.
7092         (image_instantiator_buttons): ditto.
7093         (image_instantiator_progress_guage): ditto.
7094         (image_instantiator_tab_control): ditto.
7095         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
7096         (image_instantiator_layout): add update method.
7097
7098         * glyphs-msw.c (bmp_normalize):
7099         (mswindows_resource_normalize): add dest_mask so that it can be
7100         proprogated by layout_normalize.
7101         (begin_defer_window_pos): make optional because it may not be the
7102         right thing to do and it introduces differences with X.
7103         (mswindows_unmap_subwindow): ditto.
7104         (mswindows_map_subwindow): ditto.
7105         (mswindows_redisplay_subwindow): renamed from
7106         mswindows_update_subwindow.
7107         (mswindows_redisplay_widget): ditto.
7108         (mswindows_button_redisplay): renamed from
7109         mswindows_button_update. Update is now what the instantiation
7110         function does for a changed instantiator.
7111         (mswindows_progress_gauge_instantiate): set the progress value
7112         here if appropriate.
7113         (mswindows_tab_control_redisplay): cope with re-ordering of the
7114         members of the tab widget by simply selecting the new top
7115         widget. This makes things appear ok if you click on a tab.
7116         (mswindows_combo_box_instantiate): image_instance_layout now takes
7117         position as well as size.
7118         (mswindows_progress_gauge_redisplay): renamed from
7119         mswindows_progress_gauge_update.
7120         (console_type_create_glyphs_mswindows): fix update -> redisplay.
7121         (image_instantiator_format_create_glyphs_mswindows): ditto.
7122
7123         * glyphs-eimage.c (jpeg_normalize):
7124         (gif_normalize):
7125         (png_normalize):
7126         (tiff_normalize): add dest_mask so that it can be proprogated by
7127         layout_normalize.
7128
7129         * elhash.c:
7130         (print_hash_table):
7131         (hash_table_weakness_validate):
7132         (decode_hash_table_weakness):
7133         (Fhash_table_weakness):
7134         (Fhash_table_type):
7135         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7136
7137         * console.h (struct console_methods): move update_* to
7138         redisplay_*.
7139
7140 2000-07-20  Ben Wing  <ben@xemacs.org>
7141
7142         * *.[ch] (XSETOBJ): remove unused middle argument.
7143         lisp-disunion.h: correct wrap_object() to one argument.
7144
7145 2000-07-15  Ben Wing  <ben@xemacs.org>
7146
7147         * s/cygwin32.h:
7148         * s/cygwin32.h (CYGWIN_CONV_PATH):
7149         Add missing logb prototype for v1.1.
7150         Use post-b20 names and alias to pre-b20 names when pre-b20.
7151
7152         * s/windowsnt.h: [5].
7153
7154 2000-07-15  Ben Wing  <ben@xemacs.org>
7155
7156         * Makefile.in.in (x_objs):
7157         * Makefile.in.in (sheap_objs):
7158         * Makefile.in.in (objs):
7159         added win32.o, cosmetic cleanups.
7160
7161         * alloc.c (Fmake_byte_code):
7162         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7163         etc. macros which declare their own args now.
7164
7165         * alloc.c (syms_of_alloc):
7166         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7167
7168         * buffer.c:
7169         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7170
7171         * buffer.c (Fget_file_buffer):
7172         Fixed GCPRO problem.
7173
7174         * buffer.c (get_truename_buffer):
7175         Fixed comment about GC checking.
7176
7177         * buffer.c (syms_of_buffer):
7178         Undeclared those dedicated frame funs.
7179         [2].
7180
7181         * buffer.h:
7182         Define convenience macros for internal/external conversions.
7183         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7184         and Qenvironment_variable_encoding for cleaner code.
7185
7186         * bufslots.h:
7187         Remove dedicated-frame; in lisp.
7188
7189         * bytecode.c (funcall_compiled_function):
7190         [1].
7191
7192         * bytecode.c (syms_of_bytecode):
7193         [2].
7194
7195         * console-msw.c:
7196         * console-msw.c (mswindows_show_console): Rewrote.
7197
7198         * console-msw.c (Fmswindows_debugging_output): New.
7199         Sends to OutputDebugString (special MSWin debugger interface).
7200
7201         * console-msw.c (Fmswindows_message_box):
7202         Fixed stupid bugs so it works when called from kill-emacs.
7203
7204         * console-msw.c (syms_of_console_mswindows):
7205         Declare Fmswindows_debugging_output.
7206
7207         * console-msw.h:
7208         New MSWin prototypes.
7209
7210         * console-msw.h (struct mswindows_frame):
7211         New entry last-click-mods for improved button-modifier support.
7212
7213         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7214         New struct entry `popup' with corresponding accessor.
7215
7216         * console-x.c:
7217         * console-x.c (split_up_display_spec):
7218         * console-x.c (get_display_arg_connection):
7219         * console-x.c (x_semi_canonicalize_console_connection):
7220         * console-x.c (x_canonicalize_device_connection):
7221         [[[6]]]: Change char to more specific type.
7222         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7223
7224         * console-x.c (x_semi_canonicalize_console_connection):
7225         * console-x.c (x_canonicalize_device_connection):
7226         [[[9]]]: Fix up error signalling to use new structured error system.
7227
7228         * console-x.h:
7229         [[[4]]]: Define codesys aliases:
7230         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7231         Qx_color_name_encoding, Qx_display_name_encoding.
7232
7233         * console.h (struct console_methods):
7234         New method make_dialog_box_internal supersedes older
7235         popup_dialog_box method.
7236
7237         * data.c:
7238         Define many new errors, part of new structured errors.
7239
7240         * data.c (init_errors_once_early):
7241         * data.c (syms_of_data):
7242         [2].
7243
7244         * device-msw.c (mswindows_init_device):
7245         [[[5]]]: Cleanup to support NT 3.51.
7246
7247         * device-msw.c (decode_devmode): Cleanup.
7248
7249         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7250         * device-msw.c (mswindows_handle_print_dialog_box):
7251         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7252         * device-msw.c (syms_of_device_mswindows):
7253         Delete the dialog box primitives recently introduced by Kirill and
7254         instead interface to general dialog box interface.
7255
7256         * device-x.c:
7257         * device-x.c (compute_x_app_name):
7258         * device-x.c (x_init_device):
7259         * device-x.c (Fx_valid_keysym_name_p):
7260         * device-x.c (Fx_set_font_path):
7261         [6].
7262         [7].
7263
7264         * device.h (wrap_device): New.
7265         First of its kind; meant to replace XSETDEVICE.
7266
7267         * dialog-msw.c: Many file-dialog symbols.
7268
7269         * dialog-msw.c (mswindows_register_popup_frame): New.
7270         * dialog-msw.c (mswindows_is_dialog_msg): New.
7271         For supporting kbd traversal in dialog boxes.
7272
7273         * dialog-msw.c (dialog_proc):
7274         Support hitting ESC in dialogs.
7275
7276         * dialog-msw.c (struct):
7277         Common dialog box errors.
7278
7279         * dialog-msw.c (handle_file_dialog_box): New.
7280         Add file dialog code.
7281
7282         * dialog-msw.c (handle_question_dialog_box):
7283         Redo existing code to support new question dialog syntax.
7284
7285         * dialog-msw.c (console_type_create_dialog_mswindows):
7286         We support new dialog console method.
7287
7288         * dialog-msw.c (syms_of_dialog_mswindows):
7289         * dialog-msw.c (vars_of_dialog_mswindows):
7290         New file dialog symbols, vars.
7291
7292         * dialog-x.c:
7293         * dialog-x.c (maybe_run_dbox_text_callback):
7294         * dialog-x.c (dbox_descriptor_to_widget_value):
7295         * dialog-x.c (x_make_dialog_box_internal):
7296         * dialog-x.c (console_type_create_dialog_x):
7297         Mule-ize entire file.
7298         Redo to support question dialog syntax.
7299         [6].
7300
7301         * dialog.c:
7302         * dialog.c (Fmake_dialog_box_internal):
7303         * dialog.c (syms_of_dialog):
7304         Kill old popup-dialog-box, replace with new primitive.
7305         Just call device method or signal error.
7306
7307         * eldap.c (Fldap_open):
7308         * eldap.c (Fldap_search_basic):
7309         * eldap.c (Fldap_add):
7310         * eldap.c (Fldap_modify):
7311         [1].
7312         [7].
7313
7314         * emacs.c:
7315         * emacs.c (make_arg_list_1):
7316         * emacs.c (make_arg_list):
7317         Mule-ize call to dll_init().
7318         [6].
7319         [8].
7320
7321         * emacs.c (make_argc_argv):
7322         * emacs.c (free_argc_argv):
7323         * emacs.c (init_cmdargs):
7324         * emacs.c (main_1):
7325         * emacs.c (Fkill_emacs):
7326         * emacs.c (Fdump_emacs):
7327         Update comments about what can be used in syms_* etc.
7328         Call init_win32() when necessary.
7329         Fix up MS Win dialog box in kill-buffer to actually work right.
7330         [7].
7331
7332         * eval.c:
7333         * eval.c (For):
7334         * eval.c (Fand):
7335         * eval.c (Fprogn):
7336         * eval.c (Fprog1):
7337         * eval.c (Fprog2):
7338         * eval.c (FletX):
7339         * eval.c (Flet):
7340         * eval.c (condition_case_3):
7341         * eval.c (Feval):
7342         * eval.c (function_argcount):
7343         * eval.c (funcall_lambda):
7344         [1].
7345
7346         * eval.c (type_error): New.
7347         * eval.c (maybe_type_error): New.
7348         * eval.c (continuable_type_error): New.
7349         * eval.c (maybe_continuable_type_error): New.
7350         * eval.c (type_error_with_frob): New.
7351         * eval.c (maybe_type_error_with_frob): New.
7352         * eval.c (continuable_type_error_with_frob): New.
7353         * eval.c (maybe_continuable_type_error_with_frob): New.
7354         New functions for use with structured errors.
7355
7356         * event-Xt.c:
7357         * event-Xt.c (x_event_to_emacs_event):
7358         Buttons are now modifiers too.
7359
7360         * event-Xt.c (emacs_Xt_current_event_timestamp):
7361         Implement new event method.
7362         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7363
7364         * event-msw.c:
7365         * event-msw.c (ntpipe_shove_writer): [5].
7366         * event-msw.c (mswindows_enqueue_mouse_button_event):
7367         * event-msw.c (mswindows_drain_windows_queue):
7368         * event-msw.c (mswindows_wnd_proc): [7].
7369         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7370         * event-msw.c (mswindows_modifier_state):
7371         Throughout: support new button modifiers.
7372
7373         * event-msw.c (emacs_mswindows_current_event_timestamp):
7374         Implement new event method.
7375         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7376
7377         * event-stream.c:
7378         * event-stream.c (event_stream_current_event_timestamp): New.
7379         * event-stream.c (maybe_kbd_translate): New functionality.
7380         * event-stream.c (vars_of_event_stream):
7381         Document new kbd-translate-table functionality.
7382
7383         * event-stream.c (Fcurrent_event_timestamp): New.
7384         New primitive for use in fabricated events.
7385         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7386
7387         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7388
7389         * events.c:
7390         * events.c (Fmake_event):
7391         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7392         [1].
7393         [9].
7394
7395         * events.c (format_event_object): fix gcc warnings.
7396
7397         * events.c (Fevent_timestamp): Document new primitives.
7398
7399         * events.c (TIMESTAMP_HALFSPACE): New.
7400
7401         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7402         comparing timestamps correctly (half-space algorithm).
7403
7404         * events.c (Fevent_modifier_bits): Doc fix.
7405
7406         * events.c (Fevent_modifiers): Major doc addition.
7407         * events.c (event_x_y_pixel_internal): Typo fix.
7408         * events.c (syms_of_events): Declare new primitives.
7409
7410         * events.h:
7411         Update long comment for button modifiers, timestamps.
7412
7413         * events.h (struct event_stream):
7414         New current_event_timestamp method.
7415
7416         * extents.c:
7417         * extents.c (extent_in_region_p):
7418         * extents.c (decode_extent):
7419         * extents.c (Fset_extent_parent):
7420         * extents.c (decode_map_extents_flags):
7421         Fix gcc warnings.
7422         [9].
7423
7424         * extents.c (struct extent_at_arg):
7425         * extents.c (decode_extent_at_flag):
7426         * extents.c (extent_at_mapper):
7427         * extents.c (extent_at_bytind):
7428         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7429         * extents.c (Fextents_at): New primitive. [9].
7430         * extents.c (symbol_to_glyph_layout): [9].
7431         Support new primitive `extents-at'.
7432
7433
7434         * extents.c (get_text_property_bytind):
7435         extent_at_bytind has another arg.
7436         [9].
7437
7438         * extents.c (syms_of_extents): New primitive.
7439
7440         * file-coding.c (Fmake_coding_system): [1].
7441         * file-coding.c (subsidiary_coding_system): fix gcc warning
7442         * file-coding.c (syms_of_file_coding): [2].
7443
7444         * fileio.c (Fexpand_file_name):
7445         * fileio.c (Fsysnetunam):
7446         * fileio.c (Ffile_exists_p):
7447         * fileio.c (Ffile_executable_p):
7448         * fileio.c (Fverify_visited_file_modtime):
7449         Clean up GCPROing.
7450
7451         * fileio.c (syms_of_fileio): [2].
7452
7453         * filelock.c (lock_file_1):
7454         * filelock.c (current_lock_owner):
7455         * filelock.c (lock_if_free):
7456         * filelock.c (lock_file):
7457         * filelock.c (unlock_file):
7458         Clean up GCPROing.
7459
7460         * fns.c (concat): Fix gcc warning.
7461
7462         * fns.c (Fmember):
7463         * fns.c (Fold_member):
7464         * fns.c (Fmemq):
7465         * fns.c (Fold_memq):
7466         * fns.c (memq_no_quit):
7467         * fns.c (Fassoc):
7468         * fns.c (Fold_assoc):
7469         * fns.c (Fassq):
7470         * fns.c (Fold_assq):
7471         * fns.c (assq_no_quit):
7472         * fns.c (Frassoc):
7473         * fns.c (Fold_rassoc):
7474         * fns.c (Frassq):
7475         * fns.c (Fold_rassq):
7476         * fns.c (rassq_no_quit):
7477         * fns.c (Fdelete):
7478         * fns.c (Fold_delete):
7479         * fns.c (Fdelq):
7480         * fns.c (Fold_delq):
7481         * fns.c (delq_no_quit):
7482         * fns.c (Fremassoc):
7483         * fns.c (Fremassq):
7484         * fns.c (remassq_no_quit):
7485         * fns.c (Fremrassoc):
7486         * fns.c (Fremrassq):
7487         * fns.c (remrassq_no_quit):
7488         * fns.c (Freverse):
7489         * fns.c (mapcar1):
7490         [1].
7491
7492         * frame-msw.c (mswindows_init_frame_1):
7493         * frame-msw.c (mswindows_delete_frame):
7494         Register popups with dialog code so keyboard traversing works.
7495
7496         * frame-tty.c (tty_raise_frame_no_select): [1].
7497
7498         * frame-x.c:
7499         * frame-x.c (x_set_frame_text_value):
7500         * frame-x.c (x_set_frame_properties):
7501         * frame-x.c (x_create_widgets):
7502         [7].
7503
7504         * frame.c:
7505         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7506
7507         * frame.h (wrap_frame): New.
7508         Macro like wrap_device.
7509
7510         * general.c:
7511         * general.c (SYMBOL):
7512         * general.c (syms_of_general):
7513         Major reorg.  This is now just a wrapper and symbols themselves
7514         are listed in general-slots.h.
7515
7516         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7517         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7518
7519         * glyphs-msw.c (mswindows_native_layout_instantiate):
7520         Add DS_CONTROL so keyboard traversal will work.
7521
7522         * glyphs-widget.c:
7523         * glyphs-widget.c (syms_of_glyphs_widget):
7524         Move some symbols to general-slots.h.
7525
7526         * glyphs-x.c:
7527         * glyphs-x.c (xbm_instantiate_1):
7528         * glyphs-x.c (x_xbm_instantiate):
7529         * glyphs-x.c (x_xface_instantiate):
7530         * glyphs-x.c (autodetect_instantiate):
7531         * glyphs-x.c (cursor_font_instantiate):
7532         * glyphs-x.c (x_update_widget):
7533         * glyphs-x.c (x_widget_instantiate):
7534         * glyphs.c (bitmap_to_lisp_data):
7535         * glyphs.c (pixmap_to_lisp_data):
7536         [7].
7537
7538         * glyphs.c (syms_of_glyphs):
7539         [2].
7540
7541         * gui-x.c:
7542         * gui-x.c (print_widget_value):
7543         * gui-x.c (menu_separator_style_and_to_external):
7544         * gui-x.c (add_accel_and_to_external):
7545         * gui-x.c (button_item_to_widget_value):
7546         * gui-x.c (gui_items_to_widget_values_1):
7547         * gui-x.c (gui_items_to_widget_values):
7548         * gui-x.c (syms_of_gui_x):
7549         * gui-x.c (vars_of_gui_x):
7550         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7551         [9].
7552
7553         * gui-x.h:
7554         Muleize, prototype changes matching gui-x.c.
7555
7556         * gui.c:
7557         * gui.c (separator_string_p):
7558         * gui.c (gui_item_add_keyval_pair):
7559         * gui.c (make_gui_item_from_keywords_internal):
7560         * gui.c (signal_too_long_error):
7561         * gui.c (parse_gui_item_tree_item):
7562         * gui.c (syms_of_gui):
7563         * gui.c (vars_of_gui):
7564         * gui.h:
7565         menu-no-selection-hook moved here (used by MSWin).
7566         Move some symbols to general-slots.h.
7567         [6].
7568         [9].
7569
7570         * insdel.c (get_buffer_pos_char):
7571         * insdel.c (get_buffer_range_char):
7572         Add GC comments.
7573
7574         * keymap.c (keymap_lookup_directly):
7575         * keymap.c (keymap_store):
7576         * keymap.c (ensure_meta_prefix_char_keymapp):
7577         * keymap.c (describe_map):
7578         * keymap.h:
7579         Support new button modifiers.
7580
7581         * lisp-disunion.h (wrap_object):
7582         * lisp-disunion.h (XSETOBJ):
7583         Rename make_obj to wrap_object.
7584
7585         * lisp-union.h:
7586         * lisp-union.h (make_int):
7587         * lisp-union.h (make_char):
7588         Support wrap_object.
7589
7590         * lisp.h:
7591         * lisp.h (LIST_LOOP):
7592         * lisp.h (EXTERNAL_LIST_LOOP):
7593         * lisp.h (LIST_LOOP_2):
7594         * lisp.h (EXTERNAL_LIST_LOOP_1):
7595         * lisp.h (EXTERNAL_LIST_LOOP_2):
7596         * lisp.h (EXTERNAL_LIST_LOOP_3):
7597         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7598         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7599         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7600         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7601         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7602         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7603         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7604         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7605         * lisp.h (struct Lisp_Symbol):
7606         * lisp.h (maybe_continuable_error_with_frob):
7607         Fix up section comments.
7608         Add new types for char to indicate usage.
7609         Delete symbols auto-generated from general-slots.h.
7610         Add prototypes for structured error functions.
7611         Add long comments describing looping macros and change interface
7612         so that lvalues are automatically declared.
7613         Add NO_DECLARE macro in case callers want to declare lvalues
7614         themselves.
7615
7616         * lread.c (read_syntax_error):
7617         * lread.c (continuable_read_syntax_error):
7618         * lread.c (read_structure):
7619         * lread.c (sequence_reader):
7620         * lread.c (read_list_conser):
7621         * lread.c (read_compiled_function):
7622         Rename syntax_error and continuable_syntax_error to avoid clash
7623         with same-named structured error functions.
7624
7625         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7626         * menubar-msw.c (populate_menu_add_item):
7627         * menubar-msw.c (populate_or_checksum_helper):
7628         [5].
7629         [9].
7630
7631         * menubar-x.c:
7632         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7633         Mule-ize whole file.
7634
7635         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7636
7637         * mule-charset.c (Fmake_charset):
7638         * mule-wnnfns.c (Fwnn_set_param):
7639         [1].
7640
7641         * ntproc.c (create_child):
7642         * ntproc.c (Fwin32_set_current_locale):
7643         Add comments portending doom.
7644
7645         * objects-msw.c:
7646         * objects-msw.c (old_font_enum_callback_2):
7647         * objects-msw.c (font_enum_callback_1):
7648         * objects-msw.c (mswindows_enumerate_fonts):
7649         [5].
7650
7651         * objects-x.c:
7652         * objects-x.c (allocate_nearest_color):
7653         * objects-x.c (x_parse_nearest_color):
7654         * objects-x.c (x_initialize_color_instance):
7655         * objects-x.c (x_print_color_instance):
7656         * objects-x.c (x_finalize_color_instance):
7657         * objects-x.c (x_valid_color_name_p):
7658         * objects-x.c (x_initialize_font_instance):
7659         * objects-x.c (x_print_font_instance):
7660         * objects-x.c (valid_x_font_name_p):
7661         * objects-x.c (truename_via_FONT_prop):
7662         * objects-x.c (truename_via_random_props):
7663         * objects-x.c (truename_via_XListFonts):
7664         * objects-x.c (x_font_truename):
7665         * objects-x.c (x_font_instance_truename):
7666         * objects-x.c (x_font_instance_properties):
7667         * objects-x.c (x_list_fonts):
7668         * objects-x.c (x_find_charset_font):
7669         Mule-ize entire file.
7670         [7].
7671
7672         * objects-x.h:
7673         Mule-verify.
7674
7675         * print.c:
7676         * print.c (std_handle_out_external):
7677         * print.c (debug_print_no_newline):
7678         * print.c (syms_of_print):
7679         Output to all debugger kinds in debug-print.
7680         Fix console-output code under MSWin to actually work.
7681
7682         * process-nt.c (send_signal):
7683         * process-nt.c (nt_create_process):
7684         Use newer Unicode macros.
7685
7686         * process-unix.c (unix_create_process):
7687         * process-unix.c (unix_canonicalize_host_name):
7688         * process-unix.c (unix_open_network_stream):
7689         [7].
7690
7691         * scrollbar-x.c:
7692         Mule-verify.
7693
7694         * search.c (syms_of_search):
7695         [2].
7696
7697         * select-msw.c (mswindows_destroy_selection):
7698         Use LIST_LOOP_2.
7699
7700         * select-x.c (symbol_to_x_atom):
7701         [7].
7702
7703         * select.c (syms_of_select):
7704         [2].
7705
7706         * sound.c (Fplay_sound_file):
7707         [7].
7708
7709         * specifier.c:
7710         * specifier.c (decode_specifier_type):
7711         * specifier.c (Fvalid_specifier_locale_type_p):
7712         * specifier.c (check_valid_locale_or_locale_type):
7713         * specifier.c (decode_locale):
7714         * specifier.c (decode_locale_type):
7715         * specifier.c (decode_locale_list):
7716         * specifier.c (check_valid_domain):
7717         * specifier.c (decode_specifier_tag_set):
7718         * specifier.c (Fcanonicalize_tag_set):
7719         * specifier.c (Fdefine_specifier_tag):
7720         * specifier.c (Fspecifier_tag_predicate):
7721         * specifier.c (check_valid_inst_list):
7722         * specifier.c (check_valid_spec_list):
7723         * specifier.c (decode_how_to_add_specification):
7724         * specifier.c (check_modifiable_specifier):
7725         * specifier.c (specifier_add_spec):
7726         * specifier.c (boolean_validate):
7727         * specifier.c (display_table_validate):
7728         [9].
7729
7730         * specifier.c (syms_of_specifier):
7731         Move some symbols to general-slots.h.
7732         [2].
7733
7734         * symbols.c:
7735         * symbols.c (Fmapatoms):
7736         * symbols.c (Fapropos_internal):
7737         Add GCPROs.
7738
7739         * symbols.c (set_default_buffer_slot_variable):
7740         * symbols.c (set_default_console_slot_variable):
7741         [1].
7742
7743         * symbols.c (defsymbol_massage_name_1):
7744         * symbols.c (defkeyword_massage_name):
7745         * symbols.c (deferror_1):
7746         * symbols.c (deferror):
7747         * symbols.c (deferror_massage_name_and_message):
7748         * symeval.h:
7749         * symeval.h (DEFSYMBOL):
7750         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7751
7752         * symbols.c (syms_of_symbols):
7753         [2].
7754
7755         * symsinit.h:
7756         * symsinit.h (init_win32): New.
7757         Also new is syms_of_dialog_mswindows.
7758
7759         * syswindows.h:
7760         Add new Unicode macros, missing Cygwin wide-char functions,
7761         convenience conversion macros for Qmswindows_tstr, macros for
7762         encapsulating required MSWin <-> Cygwin filename conversions,
7763         prototype for dynamically-extracted (not in NT 3.51) functions.
7764
7765         * toolbar-x.c:
7766         Mule-verify.
7767
7768         * tooltalk.c (Fadd_tooltalk_message_arg):
7769         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7770         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7771         [7].
7772
7773         * tooltalk.c (syms_of_tooltalk):
7774         [2].
7775
7776         * unexnt.c:
7777         * unexnt.c (unexec):
7778         Fix up headers, declaration of unexec() to be more standard.
7779
7780 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7781
7782         * offix.h: Revert change to guard macros - they're used in offix.c!
7783
7784 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7785
7786         * lisp.h: Defsubred Fdelete.
7787
7788         * console-msw.h:  (msprinter_default_printer): Added.
7789
7790         * console-msw.c (msprinter_canonicalize_console_connection):
7791         (msprinter_canonicalize_device_connection): Added.
7792
7793         * device-msw.c (msprinter_default_printer):
7794         (Fmswingows_get_default_printer):
7795         (signal_enum_priner_error):
7796         (Fmswingows_printer_list): Added.
7797
7798 2000-07-19  Martin Buchholz <martin@xemacs.org>
7799
7800         * XEmacs 21.2.35 is released.
7801
7802 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7803
7804         * select-x.c (x_handle_selection_request):
7805         Text selected in xemacs and pasted into xterm failed to appear.
7806         Spelling fixes and cosmetic changes.
7807
7808 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7809
7810         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7811         XEmacs frame (fix for doubling chars in dialog boxes).
7812
7813 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7814
7815         * select.c (select_convert_in, select_convert_out):
7816         Don't call intern() every time.
7817
7818         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7819         * select.c (vars_of_select): Initialise them.
7820
7821 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7822
7823         * select.c (selection-coercible-types): New.
7824
7825         * select.c (own-selection-internal):
7826         * select.c (get-selection-internal):
7827         MULE bug fix - these should default to COMPOUND_TEXT and not
7828         STRING for MULE. I think.
7829
7830         * select.c (select_convert_out): Use selection-coercible-types
7831         to find types that we can attempt to perform coercions on.
7832
7833 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7834
7835         * mule-wnnfns.c:
7836         * mule-canna.c:
7837         Add coding: cookie to identify encoding.
7838
7839         * mule-canna.c (CANNA_mode_keys): make static.
7840         Use proper prototypes, even for functions of no arguments.
7841         Remove external prototype for Fding().
7842
7843         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7844
7845         * select.c (syms_of_select): Add missing DEFSUBR.
7846
7847 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7848
7849         * select.c (get_selection_internal, own_selection_internal):
7850         Make the type default to STRING, rather than placing a nil type
7851         into Vselection_alist.
7852
7853 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7854
7855         * gpmevent.c (tty_selection_exists_p):
7856         * gpmevent.c (tty_own_selection):
7857         Updated parameter lists.
7858
7859 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7860
7861         * select.h (selection-alist): Removed declaration.
7862
7863         * select.h (get_local_selection):
7864         * select.c (get_local_selection):
7865         Made static.
7866
7867         * select.h (convert_selection): Removed declaration.
7868         * select.c (convert_selection): Removed.
7869         This function belongs in Lisp.
7870
7871         * select.h (select_convert_in): Declare.
7872         * select.h (select_convert_out): Declare.
7873         * select.c (select_convert_in): New.
7874         * select.c (select_convert_out): New.
7875         New conversion functions for other files to call.
7876
7877         * select.h (select_notify_buffer_kill): Declare.
7878         * select.c (select_notify_buffer_kill): New.
7879         New functions that get called from kill-buffer.
7880
7881         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7882         X-specific lisp code.
7883
7884         * select.h: Declare some of the lisp-visible functions for
7885         external use.
7886
7887         * select.c (clean_local_selection_data): Removed. This was
7888         a disgusting function, and previously should have been in
7889         select-x.c in any case. The functionality is now provided
7890         in select-convert-from-integer (select.el).
7891
7892         * select.c (available-selection-types): Fixed stupidity where
7893         INTEGER and ATOM got added twice. Also add STRING when we see an
7894         extent.
7895
7896         * select.c (get-selection-internal): Removed symbol stripping. No
7897         longer causes conversion when data comes from the internal cache.
7898
7899         * select.c (syms_of_select): Added new functions.
7900
7901         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7902         error checking - previously this called abort!
7903
7904         * select-x.c (x_own_selection): Changed comment.
7905
7906         * select-x.c (x_handle_selection_request): Use select_convert_out.
7907         Don't mess with selection-alist; it's an internal variable of select.c.
7908
7909         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7910
7911         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7912         rather than messing with selection-alist.
7913
7914         * select-msw.c (mswindows_get_foreign_selection):
7915         Use TO_INTERNAL_FORMAT rather than hacking.
7916
7917 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7918
7919         * process-unix.c (unix_open_multicast_group):
7920         (unix_open_multicast_group): Remove useless casts.
7921
7922 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7923
7924         * sound.c (Fplay_sound): Fix `unused variable' warning.
7925
7926         * emacs.c (main): Use correct type for _environ on SCO5.
7927
7928 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7929
7930         * console.h (own_selection_method):
7931         * console.h (selection_exists_p_method):
7932         * console.h (available_selection_types_method): New.
7933         * console.h (register_selection_data_type_method): New.
7934         * console.h (selection_data_type_name): New.
7935
7936         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7937         function & alist to track GlobalAlloc()'d handles that need
7938         releasing when the clipboard data gets replaced or emptied.
7939
7940         * event-msw.c (mswindows_wnd_proc): Call it.
7941
7942         * lisp.h, general.c (Qappend): New symbol representing a
7943         `how-to-add' mode.
7944
7945         * select.c (own-selection-internal):
7946         * select.c (selection-exists-p):
7947         * select.c (available-selection-types): New.
7948         * select.c (register-selection-data-type): New.
7949         * select.c (selection-data-type-name): New.  New functions to deal
7950         with device-specific selection data formats.
7951         * select.c (selection-converter-out-alist): Renamed.
7952         * select.c (selection-converter-in-alist): New.
7953         * select.c (selection-appender-alist): New.  Added new alists.
7954         * select.c (syms_of_select, vars_of_select): Added new symbols &
7955         variables.
7956         * select.c (get_local_selection): Split.
7957         * select.c: Removed spurious type checking - selections may now be
7958         of any type, not just strings.
7959         * select.c (own-selection-internal):
7960
7961         * select.h, select.c (convert_selection): New. Created
7962         convert_selection() function based on get_local_selection().
7963         * select.h, select.c (QCF_*): New symbols representing mswindows
7964         clipboard formats.
7965         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7966         symbols representing `how-to-add' modes.
7967
7968         * select-msw.c (x_sym_p): New.
7969         * select-msw.c (symbol_to_ms_cf): New.
7970         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7971         symbols & clipboard formats. Can also handle string names.
7972         * select-msw.c (mswindows_own_selection):
7973         * select-msw.c (mswindows_selection_exists_p):
7974         Added `data-type' parameter. Use it.
7975         * select-msw.c (mswindows_available_selection_types): New.
7976         * select-msw.c (mswindows_register_selection_data_type): New.
7977         * select-msw.c (mswindows_selection_data_type_name): New.
7978         * select-msw.c (mswindows_own_selection):
7979         * select-msw.c (mswindows_get_foreign_selection):
7980         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7981         * select-msw.c (console_create_select_mswindows): Added new methods.
7982         * select-msw.c (mswindows_destroy_selection): New.
7983         * select-msw.c (Vhandle_alist): New list.
7984         * select-msw.c (mswindows_own_selection):
7985
7986         * select-x.c (x_own_selection):
7987         * select-x.c (x_selection_exists_p):
7988         * select-x.c: Added some comments about maybe using new
7989         functionality.
7990         * select-x.c (x_own_selection):
7991
7992         * specifier.c: Remove definition of Qappend (now in general.c)
7993         * specifier.c (syms_of_specifier): Remove Qappend.
7994
7995 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7996
7997         * config.h.in: Add socklen_t.
7998
7999         * s/decosf4-0.h: No special compiler flags needed or desired.
8000         In particular, undefine _BSD for DEC OSF 4.0.
8001
8002 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8003
8004         * redisplay-msw.c (msprinter_frame_output_end): Added.
8005         (console_type_create_redisplay_mswindows): Referred the above.
8006
8007         * frame.c (setup_frame_without_minibuffer): Do not create a
8008         default minibuffer frame on a printer device.
8009
8010         * frame-msw.c (apply_dc_geometry): Added.
8011         (msprinter_start_page):
8012         (msprinter_init_frame_3):
8013         (msprinter_eject_page): Use it.
8014
8015         * console-msw.h (struct msprinter_frame): Added pix_left and top,
8016         and removed residual duplex and orientation properties.
8017
8018 2000-07-11  Martin Buchholz  <martin@xemacs.org>
8019
8020         * eval.c (function_argcount): Work around a DEC CC compiler bug.
8021
8022         * unexalpha.c: Remove system prototypes from C sources!
8023
8024 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
8025
8026         * eval.c: Remove references to M-x edit-options in DEFUNs for
8027         `defvar' and `defconst'.
8028
8029 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8030
8031         * config.h.in: Remove SMART_INCLUDE hackery.
8032
8033         PostgreSQL hacking:
8034         * config.h.in: Don't use SMART_INCLUDE.
8035
8036         * postgresql.h: Include libpq-fe.h here.  Fix typo.
8037         * inline.c: Simply #include "postgresql.h"
8038         * postgresql.c:
8039         - Don't use SMART_INCLUDE
8040         - Use simply "const".
8041         - Use standard doc string conventions.
8042         - Use correct type for result of PQstatus.
8043
8044 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8045
8046         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
8047
8048         C++ compilation changes.
8049         * config.h.in (EXTERN_C): Define.
8050         * config.h.in (not): This is also a C++ keyword.
8051         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
8052         * cm.c: Use EXTERN_C.
8053         * redisplay-tty.c: Use EXTERN_C.
8054         * sysdep.c: Use EXTERN_C.  Remove Gould support.
8055
8056 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8057
8058         * general.c: Remove duplicate definition for Qfunction.
8059
8060 2000-07-08  Ben Wing  <ben@xemacs.org>
8061
8062         * device-msw.c (msprinter_init_device):
8063         * device-msw.c (sync_printer_with_devmode):
8064         * device-msw.c (handle_devmode_changes):
8065         * device-msw.c (print_dialog_worker):
8066         * device-msw.c (Fmsprinter_apply_settings):
8067         * device-msw.c (hash_devmode):
8068         * device-msw.c (Fmsprinter_settings_despecialize):
8069         use Qmswindows_tstr, not Qctext.
8070
8071         * vm-limit.c (check_memory_limits):
8072         avoid infinite loop printing warning messages.
8073
8074 2000-07-05  Craig Lanning  <lanning@scra.org>
8075
8076         * Makefile.in.in: Add support for including the Windows resources
8077         when building with the cygwin and mingw targets.
8078
8079         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
8080         not set or not correct.
8081         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
8082         (init_initial_directory): Don't try to use $PWD on the
8083         WIN32_NATIVE target.
8084
8085         * s\cygwin32.h:
8086         [[Add -mwindows to eliminate console window.]] not required --ben
8087         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8088         (MAIL_USE_POP): removed; now handled by configure.
8089
8090         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
8091         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
8092         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8093         (MAIL_USE_POP): removed; now handled by configure.
8094         (ENCAPSULATE_STAT): from Dan Holmsand, added.
8095         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
8096         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
8097         constant string.
8098         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
8099         up from <winsock.h> via systime.h.
8100         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
8101         (getpagesize): from Dan Holmsand, added.
8102         Added #endif which was left dangling by Ben's mega patch; added
8103         comment to help prevent this in the future.
8104
8105         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
8106
8107 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8108
8109         * console-msw.h (struct mswindows_device): Removed unnecessary
8110         cached device geometry values.
8111         Added update_tick and an accessor macro.
8112         (Lisp_Devmode): Added lrecord declaration.
8113         (struct msprinter_device): Contain devmode as a Lisp object.
8114         Added mswindows_get_selected_frame_hwnd();
8115
8116         * console.h (struct console_methods): Indentation nitpicking.
8117
8118         * device-msw.c (mswindows_init_device): Do not initialize geometry
8119         cache. Initialize update tick.
8120         (mswindows_device_system_metrics): Ask the device for its geometry.
8121         (global_free_2_maybe):
8122         (devmode_to_hglobal):
8123         (handle_printer_changes):
8124         (ensure_not_printing):
8125         (print_dialog_worker):
8126         (Fmsprinter_print_setup_dialog):
8127         (Fmsprinter_print_dialog):
8128         (plist_get_margin):
8129         (plist_set_margin):
8130         (Fmsprinter_page_setup_dialog): Added functions.
8131         (sync_printer_with_devmode):
8132         (handle_devmode_changes):
8133         (Fmsprinter_get_settings):
8134         (Fmsprinter_select_settings):
8135         (Fmsprinter_apply_settings):
8136         (allocate_devmode):
8137         (Fmsprinter_settings_copy):
8138         (Fmsprinter_settings_despecialize):
8139         (print_devmode):
8140         (finalize_devmode):
8141         (equal_devmode):
8142         (hash_devmode): Added functions
8143         (syms_of_device_mswindows): Init devmode lrecord class.
8144
8145         * device.h: Added an exfun for find-device.
8146
8147         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8148         geometry; although, recreate the device compatible DC.
8149
8150         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8151         (msprinter_init_frame_3):
8152         (msprinter_frame_property):
8153         (msprinter_internal_frame_property_p):
8154         (msprinter_frame_properties):
8155         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8156         print job properties (will move to device settings).
8157
8158         * lisp.h: Added symbols.
8159
8160         * general.c (syms_of_general): Declared them.
8161
8162         * hash.c (string_hash): Added.
8163
8164         * lrecord.h (lrecord_type): Added devmode lrecord type.
8165
8166 2000-07-02  Mike Sperber <mike@xemacs.org>
8167
8168         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8169         FreeBSD 4.0.
8170
8171 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8172
8173         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8174         integer.
8175
8176 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8177
8178         * data.c (Fstring_to_number): Don't recognize floating point if
8179         base is not 10.
8180
8181 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8182
8183         * glyphs-widget.c (tab_control_query_geometry):
8184         (widget_query_geometry):
8185         (button_query_geometry):
8186         * glyphs.c (text_query_geometry):
8187         Enforce type correctness.
8188
8189 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8190
8191         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8192         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8193
8194 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8195
8196         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8197         conflicts with gcc's fixincluded version of FOO.h.
8198
8199         * glyphs.h (image_instance_geometry): Remove trailing `,'
8200
8201 2000-06-08  Mike Alexander  <mta@arbortext.com>
8202
8203         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8204         (shove_thread): Don't write the same output twice
8205         (make_ntpipe_output_stream): Increase priority of shove thread
8206         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8207         chance to run
8208         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8209         it.
8210
8211 2000-06-12  Ben Wing  <ben@xemacs.org>
8212
8213         * s\mingw32.h (sigset):
8214         * s\windowsnt.h (sigset):
8215         rename msw_ to mswindows_ for consistency with general convention.
8216
8217 2000-06-12  Ben Wing  <ben@xemacs.org>
8218
8219         * console-msw.c:
8220         * console-msw.c (mswindows_get_console_hwnd):
8221         * console-msw.c (mswindows_ensure_console_allocated):
8222         * console-msw.c (mswindows_hide_console):
8223         * console-msw.c (mswindows_show_console):
8224         * console-msw.c (mswindows_ensure_console_buffered):
8225         * console-msw.c (mswindows_output_console_string):
8226         * console-msw.c (mswindows_windows9x_p):
8227         * console-msw.h:
8228         * device-msw.c (mswindows_get_workspace_coords):
8229         * device-msw.c (mswindows_device_system_metrics):
8230         * dialog-msw.c (mswindows_popup_dialog_box):
8231         * event-msw.c (mswindows_wnd_proc):
8232         * frame-msw.c (mswindows_size_frame_internal):
8233         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8234         * menubar-msw.c (displayable_menu_item):
8235         * menubar-msw.c (mswindows_char_is_accelerator):
8236         * nt.c:
8237         * nt.c (mswindows_sigset):
8238         * nt.c (mswindows_sigrelse):
8239         * nt.c (mswindows_sigpause):
8240         * nt.c (mswindows_raise):
8241         * nt.c (timer_proc):
8242         * ntproc.c:
8243         * ntproc.c (find_child_console):
8244         * ntproc.c (sys_kill):
8245         * print.c:
8246         * print.c (std_handle_out_external):
8247         * process-nt.c (find_child_console):
8248         * process-nt.c (send_signal_the_95_way):
8249         * process-nt.c (ensure_console_window_exists):
8250         * process-nt.c (nt_create_process):
8251         * syssignal.h:
8252         rename msw_ to mswindows_ for consistency with general convention.
8253
8254         * emacs.c:
8255         * dumper.c:
8256         include nt.h, not syswindows.h.
8257
8258         * nt.c (mswindows_fstat):
8259         * nt.c (mswindows_stat):
8260         prefix mswindows_ instead of attempting to directly override the
8261         library functions.  fix declarations.
8262
8263         * nt.h:
8264         include syswindows.h.  move some sysdep.h stuff here.
8265
8266         * ntheap.h:
8267         include syswindows.h, not <windows.h>.
8268
8269         * ntplay.c:
8270         clean up headers.
8271
8272         * sysdep.c:
8273         clean up headers.
8274
8275         * sysdep.c (sys_fstat):
8276         * sysdep.c (sys_stat):
8277         call mswindows versions when appropriate.
8278
8279         * sysdep.h:
8280         move mswin decls to nt.h.
8281
8282         * syswindows.h:
8283         add long comment describing appropriate use of the various windows
8284         headers.
8285
8286 2000-06-11  Ben Wing  <ben@xemacs.org>
8287
8288         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8289
8290 2000-06-10  Ben Wing  <ben@xemacs.org>
8291
8292         * Makefile.in.in (release):
8293         Correction to make sure xemacs.exe always dumped when correct.
8294
8295         * alloca.c:
8296         * balloon_help.c:
8297         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8298
8299         * buffer.c (set_buffer_internal):
8300         [[[[2]]]]: Remove HAVE_FEP code.
8301
8302         * buffer.c (init_initial_directory):
8303         [3].
8304
8305         * bytecode.c:
8306         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8307         individual files.
8308
8309         * callproc.c:
8310         * callproc.c (call_process_cleanup):
8311         * callproc.c (Fold_call_process_internal):
8312         * callproc.c (child_setup):
8313         * callproc.c (getenv_internal):
8314         * callproc.c (init_callproc):
8315         * callproc.c (vars_of_callproc):
8316         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8317         __CYGWIN32__ -> CYGWIN.
8318         DOS_NT -> WIN32_NATIVE.
8319         Remove MSDOS support/references, converting to WIN32_NATIVE
8320           where correct.
8321         __MINGW32__ -> MINGW.
8322         Fix windows.h includes.
8323         Remove bogus HAVE_NTGUI.
8324
8325         * config.h.in:
8326         [2].
8327
8328         * console-msw.c:
8329         mswindows_message_outputted added for use in allowing startup
8330         errors on the console to be seen.
8331
8332         * console-msw.c (msw_ensure_console_allocated):
8333         * console-msw.c (msw_output_console_string):
8334         * console-msw.c (DHEADER):
8335         * console-msw.c (DOPAQUE_DATA):
8336         * console-msw.c (DEVENT):
8337         * console-msw.c (DCONS):
8338         * console-msw.c (DCONSCDR):
8339         * console-msw.c (DSTRING):
8340         * console-msw.c (DVECTOR):
8341         * console-msw.c (DSYMBOL):
8342         * console-msw.c (DSYMNAME):
8343         Fix warnings.
8344
8345         * console-stream.c (stream_init_console):
8346         Fix text/binary problems.
8347
8348         * device-msw.c:
8349         * device-msw.c (mswindows_finish_init_device):
8350         * device-msw.c (mswindows_delete_device):
8351         [1].
8352
8353         * device.c (handle_asynch_device_change):
8354         [3].
8355
8356         * dgif_lib.c:
8357         * dgif_lib.c (DGifOpenFileName):
8358         * dgif_lib.c (DGifOpenFileHandle):
8359         * dgif_lib.c (DGifGetLine):
8360         * dgif_lib.c (DGifGetPixel):
8361         Added config.h/lisp.h, fix up includes.
8362         [1].
8363
8364         * dired-msw.c:
8365         [4].
8366
8367         * dired.c:
8368         * dired.c (file_name_completion):
8369         * dired.c (Ffile_attributes):
8370         * dired.c (syms_of_dired):
8371         [1].
8372
8373         * dumper.c:
8374         * dumper.c (pdump_file_unmap):
8375         * dumper.c (pdump_load):
8376         [1].
8377
8378         * editfns.c:
8379         * editfns.c (Ftemp_directory):
8380         * editfns.c (user_login_name):
8381         * editfns.c (Fuser_real_login_name):
8382         * editfns.c (get_home_directory):
8383         [1].
8384
8385         * elhash.c (finish_marking_weak_hash_tables):
8386         [[[[5]]]]: Fix GCC warnings.
8387
8388         * emacs.c:
8389         * emacs.c (mswindows_handle_hardware_exceptions):
8390         * emacs.c (make_arg_list_1):
8391         * emacs.c (main_1):
8392         * emacs.c (Fkill_emacs):
8393         * emacs.c (Fdump_emacs):
8394         [1].
8395         Fix problems with nested crashes, add long comment.
8396
8397         * event-Xt.c (init_event_Xt_late):
8398         [1].
8399
8400         * event-msw.c:
8401         * event-msw.c (mswindows_dde_callback):
8402         * event-msw.c (mswindows_handle_sticky_modifiers):
8403         * event-msw.c (mswindows_wnd_proc):
8404         [1].
8405         [5].
8406
8407         * events.c (character_to_event):
8408         [1].
8409
8410         * fileio.c:
8411         * fileio.c (Ffile_name_directory):
8412         * fileio.c (Ffile_name_nondirectory):
8413         * fileio.c (directory_file_name):
8414         * fileio.c (Fexpand_file_name):
8415         * fileio.c (Fsubstitute_in_file_name):
8416         * fileio.c (Ffile_name_absolute_p):
8417         * fileio.c (check_executable):
8418         * fileio.c (Ffile_readable_p):
8419         * fileio.c (Ffile_accessible_directory_p):
8420         * fileio.c (Ffile_modes):
8421         * fileio.c (Funix_sync):
8422         * fileio.c (vars_of_fileio):
8423         [1]. [4].
8424
8425         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8426
8427         Expand getdefdir defn.
8428         Fix bogus rename() comment.
8429
8430         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8431         to use standard XEmacs include files, e.g. sysfile.h, rather
8432         than system-specific includes.
8433
8434         * fns.c:
8435         * fns.c (Fsubseq):
8436         [5]. [6].
8437
8438         * frame.c (vars_of_frame):
8439         [1].
8440
8441         * getloadavg.c:
8442         * getloadavg.c (getloadavg):
8443         [1]. [6].
8444         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8445         (We don't use it elsewhere in the code; just add a comment.)
8446
8447         * gif_io.c:
8448         [6].
8449         Add config.h.
8450
8451         * glyphs-msw.c:
8452         * glyphs-msw.c (mswindows_resource_instantiate):
8453         [1].
8454
8455         * glyphs-x.c (x_native_layout_instantiate):
8456         [5].
8457
8458         * gui-msw.c (Fmswindows_shell_execute):
8459         [1].
8460
8461         * insdel.c:
8462         [4].
8463
8464         * lisp.h:
8465         [4]. [5].
8466
8467         * lread.c (locate_file_in_directory_mapper):
8468         [1].
8469
8470         * lstream.c:
8471         [4].
8472
8473         * mem-limits.h:
8474         * mem-limits.h (get_lim_data):
8475         [1].
8476
8477         * menubar-msw.c:
8478         [4].
8479
8480         * ndir.h:
8481         [1].
8482
8483         * nt.c:
8484         * nt.c (getwd):
8485         * nt.c (closedir):
8486         * nt.c (rva_to_section):
8487         * nt.c (mswindows_executable_type):
8488         [1]. [6].
8489         Fix closedir() defn.
8490
8491         * nt.h:
8492         [[[[8]]]]: *_OK defs moved to sysfile.h.
8493
8494         * ntproc.c:
8495         [6]. [7].
8496
8497         * objects-x.c:
8498         [4].
8499
8500         * print.c:
8501         * print.c (std_handle_out_external):
8502         [1]. [4].
8503
8504         * process-nt.c:
8505         * process-nt.c (nt_create_process):
8506         [6].
8507         try to fix process quoting somewhat.
8508
8509         * process-unix.c (unix_create_process):
8510         [1].
8511
8512         * process.c:
8513         * process.c (vars_of_process):
8514         Add Vnull_device.
8515
8516         * process.h:
8517         [1].
8518
8519         * realpath.c:
8520         * realpath.c (xrealpath):
8521         [1].
8522
8523         * redisplay-tty.c (init_tty_for_redisplay):
8524         [3].
8525
8526         * redisplay.c:
8527         [4]. [6].
8528
8529         * scrollbar-msw.c:
8530         [4].
8531
8532         * sheap.c:
8533         * sheap.c (more_static_core):
8534         * sheap.c (report_sheap_usage):
8535         [5]. [6].
8536
8537         * signal.c:
8538         * signal.c (alarm_signal):
8539         [1]. [6].
8540
8541         * sound.c:
8542         [6].
8543
8544         * strftime.c:
8545         * strftime.c (zone_name):
8546         [1]. [5].
8547
8548         * symsinit.h (init_sunpro):
8549         [1].
8550
8551         * syscommctrl.h:
8552         commctrl.h not in Cygwin b20.1.
8553
8554         * sysdep.c:
8555         * sysdep.c (endif):
8556         * sysdep.c (sys_subshell):
8557         * sysdep.c (init_baud_rate):
8558         * sysdep.c (emacs_get_tty):
8559         * sysdep.c (emacs_set_tty):
8560         * sysdep.c (tty_init_sys_modes_on_device):
8561         * sysdep.c (init_system_name):
8562         * sysdep.c (sys_open):
8563         * sysdep.c (interruptible_open):
8564         * sysdep.c (sys_fopen):
8565         * sysdep.c (sys_mkdir):
8566         * sysdep.c (sys_rename):
8567         * sysdep.c (get_process_times_1):
8568         [1]. [6].
8569
8570         * sysdep.h:
8571         [1].
8572
8573         * sysdir.h:
8574         * sysdir.h (DIRENTRY_NONEMPTY):
8575         [1]. [6].
8576
8577         * sysdll.c (dll_init):
8578         * sysdll.h:
8579         [1].
8580
8581         * sysfile.h:
8582         [1]. [6]. [8].
8583         added text/binary defs.
8584
8585         * sysfloat.h:
8586         [1].
8587
8588         * sysproc.h:
8589         * sysproc.h (EDESTADDRREQ):
8590         * sysproc.h (poll_fds_for_input):
8591         [1]. [6].
8592
8593         * syspwd.h:
8594         [6].
8595
8596         * syssignal.h:
8597         [1].
8598
8599         * systime.h:
8600         [1]. [6].
8601
8602         * systty.h:
8603         [1].
8604
8605         * syswindows.h:
8606         [1].
8607         Always define WIN32_LEAN_AND_MEAN.
8608
8609         * unexcw.c (unexec):
8610         [5].
8611
8612         * unexec.c:
8613         * unexec.c (copy_text_and_data):
8614         * unexec.c (adjust_lnnoptrs):
8615         [1].
8616
8617         * unexnt.c:
8618         * unexnt.c (_start):
8619         [1].
8620
8621 2000-06-07  Ben Wing  <ben@xemacs.org>
8622
8623         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8624         was used only as a model.  We've long since extracted any useful
8625         logic or code out of this. (I just did an exhaustive search.)
8626
8627         * s\msdos.h: Removed.
8628
8629         * s\windows95.h: Removed.
8630
8631 2000-06-10  Ben Wing  <ben@xemacs.org>
8632
8633         * s\cygwin32.h:
8634         [1]. [5].
8635         Don't use extern with fun defs.
8636
8637         * s\mingw32.h:
8638         [1]. [7].
8639         Remove nt\inc include.
8640         Remove getdisk, getdefdir. (The former is unused, the latter
8641         expanded in fileio.h.)
8642
8643         * s\windowsnt.h:
8644         * s\windowsnt.h (WIN32_NATIVE):
8645         * s\windowsnt.h (HAVE_STRCASECMP):
8646         [1]. [7].
8647         Add long comment about preprocessor changes.
8648         Remove getdisk, getdefdir. (The former is unused, the latter
8649         expanded in fileio.h.)
8650
8651 2000-06-10  Ben Wing  <ben@xemacs.org>
8652
8653         * m\arm.h:
8654         * m\delta.h:
8655         * m\intel386.h:
8656         * m\sequent.h:
8657         * m\template.h:
8658         * m\windowsnt.h:
8659         [1].
8660         Remove bogus/unused NO_SOCK_SIGIO.
8661
8662 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8663
8664         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8665         not an Emchar.
8666
8667 2000-06-04  Mike Sperber <mike@xemacs.org>
8668
8669         * casetab.c (set_case_table): For `set-standard-case-table',
8670         actually deposit the new case tables where the rest of XEmacs can
8671         see them.
8672
8673 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8674
8675         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8676
8677 2000-06-05  Ben Wing  <ben@xemacs.org>
8678
8679         * callproc.c (child_setup): Don't do close_load_descs() under
8680         MS Windows.  Put in a comment explaining why.
8681
8682 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8683
8684         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8685         Toolkit shell" which breaks `kill-compilation' on Windows NT
8686         native, retaining STDERR handling improvements.
8687
8688 2000-06-01  Andreas Jaeger  <aj@suse.de>
8689
8690         * s/s390.h: Support for S390, based on a patch by Martin
8691         Schwidefsky <schwidefsky@de.ibm.com>.
8692
8693 2000-05-30  Andy Piper  <andy@xemacs.org>
8694
8695         * window.c (allocate_window):
8696         (make_dummy_parent):
8697         (Fset_window_configuration): use new hashtable type.
8698
8699         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8700         (struct image_instantiator_methods):
8701         (struct Lisp_Image_Instance): make instance geometry signed.
8702
8703         * glyphs.c (instantiate_image_instantiator):
8704         (image_instance_query_geometry):
8705         (image_instance_layout):
8706         (image_instance_layout):
8707         (query_string_geometry):
8708         (text_query_geometry):
8709         (image_instantiate):
8710         (image_instantiate):
8711         (cache_subwindow_instance_in_frame_maybe):
8712         (subwindow_query_geometry): make instance geometry signed.
8713
8714         * glyphs-widget.c (widget_query_geometry):
8715         (widget_layout):
8716         (button_query_geometry):
8717         (tree_view_query_geometry):
8718         (tab_control_query_geometry):
8719         (layout_query_geometry):
8720         (layout_layout):
8721         (native_layout_layout): make instance geometry signed.
8722
8723 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8724
8725         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8726         constant.
8727
8728         * general.c (syms_of_general): Add Qfull_assoc symbol.
8729
8730         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8731         correctly.
8732         (decode_weak_list_type): Decode full-assoc type.
8733         (encode_weak_list_type): Encode full-assoc type.
8734         (Fmake_weak_list): Update doc string.
8735
8736 2000-05-30  Andy Piper  <andy@xemacs.org>
8737
8738         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8739
8740         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8741         (decode_hash_table_weakness): ditto.
8742         (Fhash_table_weakness): ditto.
8743         (Fhash_table_type): ditto.
8744         (finish_marking_weak_hash_tables): ditto.
8745         (hash_table_weakness_validate): ditto.
8746         (syms_of_elhash): ditto.
8747
8748 2000-05-28  Martin Buchholz <martin@xemacs.org>
8749
8750         * XEmacs 21.2.34 is released.
8751
8752 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8753
8754         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8755         start cache.
8756         (updating_line_start_cache): Gone.
8757         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8758         generic code to force a minimum of 1 line laid out in the
8759         CMOTION_DISP case.
8760
8761 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8762
8763         * glyphs.c (instantiate_image_instantiator): Check for initialized
8764         height & width no longer special cases IMAGE_NOTHING.
8765         (nothing_instantiate): Set height and width of instance.
8766
8767 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8768
8769         * unexelf.c (unexec): Search for ".data" section.
8770         Initialize new_data2_offset from old_data_index.
8771         Remove redundant check for ElfW.
8772
8773 2000-05-23  Andy Piper  <andy@xemacs.org>
8774
8775         * glyphs.c (get_image_instantiator_governing_domain): allow more
8776         specific domains as the governing domain rather than expecting an
8777         exact match. This fixes problems with layouts.
8778
8779 2000-05-22  Andy Piper  <andy@xemacs.org>
8780
8781         * redisplay-output.c (compare_runes): check for non-images
8782
8783         * glyphs.c (set_glyph_dirty_p): ditto.
8784         (update_glyph_cachel_data): ditto.
8785
8786         * glyphs-widget.c (layout_post_instantiate): ditto.
8787         (layout_post_instantiate): ditto.
8788
8789         * event-msw.c (mswindows_wnd_proc): warning removal.
8790
8791 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8792
8793         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8794
8795         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8796
8797         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8798
8799         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8800         (mswindows_executable_type): mingw32 now has enough headers for
8801         this to work.
8802
8803 2000-05-20  Andy Piper  <andy@xemacs.org>
8804
8805         * console-msw.c (mswindows_output_last_error): ; -> ,
8806
8807 2000-05-12  Andy Piper  <andy@xemacs.org>
8808
8809         * console-msw.c (FROB): compare ints with ints.
8810
8811 2000-05-11  Andy Piper  <andy@xemacs.org>
8812
8813         * glyphs-x.c (x_finalize_image_instance): make minimal build
8814         happy.
8815
8816 2000-05-20  Ben Wing  <ben@xemacs.org>
8817
8818         * event-Xt.c:
8819         * event-Xt.c (vars_of_event_Xt):
8820         move modifier-keys-are-sticky to event-stream.c.
8821
8822         * event-msw.c:
8823         * event-msw.c (mswindows_enqueue_mouse_button_event):
8824         * event-msw.c (key_needs_default_processing_p):
8825         * event-msw.c (XEMSW_LCONTROL):
8826         * event-msw.c (mswindows_handle_sticky_modifiers):
8827         * event-msw.c (FROB):
8828         * event-msw.c (clear_sticky_modifiers):
8829         * event-msw.c (output_modifier_keyboard_state):
8830         * event-msw.c (output_alt_keyboard_state):
8831         * event-msw.c (mswindows_wnd_proc):
8832         * event-msw.c (mswindows_modifier_state):
8833         * event-msw.c (emacs_mswindows_handle_magic_event):
8834         implement sticky modifiers.
8835
8836         * event-stream.c:
8837         * event-stream.c (vars_of_event_stream):
8838         move modifier-keys-are-sticky here.
8839
8840         * lisp.h:
8841         add CHECK_FUNCTION.
8842
8843         * rangetab.c:
8844         implement map-range-table.
8845
8846
8847 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8848
8849         * redisplay-tty.c (reset_tty_modes):
8850         (tty_redisplay_shutdown): Adjust argument type to
8851         tty_frame_output_end.
8852
8853 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8854
8855         * eval.c (Fbacktrace): Don't output a line with only right
8856         parenthesis.
8857
8858 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8859
8860         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8861         (Fpq_reset_poll): Ditto.
8862
8863 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8864
8865         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8866
8867 2000-05-16  Ben Wing  <ben@xemacs.org>
8868
8869         * buffer.c:
8870         * buffer.c (dfc_convert_to/from_internal_format):
8871         * buffer.c (reinit_vars_of_buffer):
8872         Fix conversion functions to allow reentrancy.
8873
8874         * console-msw.c:
8875         * console-msw.c (mswindows_output_last_error):
8876         New fun, generally useful -- output a human-readable
8877         version of GetLastError() on the console.
8878
8879         * console-msw.h:
8880         * console-msw.h (struct mswindows_frame):
8881         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8882
8883         * console-stream.c (stream_output_begin):
8884         * console-stream.c (stream_output_end):
8885         * console-stream.c (stream_output_vertical_divider):
8886         * console-stream.c (stream_clear_region):
8887         * console-stream.c (stream_flash):
8888         * console-stream.c (console_type_create_stream):
8889         Delete blank stream methods, not needed.
8890
8891         * console.h (struct console_methods):
8892         Split begin/end methods into window and frame.
8893
8894         * event-msw.c:
8895         * event-msw.c (mswindows_handle_paint):
8896         * event-msw.c (output_alt_keyboard_state):
8897         * event-msw.c (mswindows_wnd_proc):
8898         * event-msw.c (vars_of_event_mswindows):
8899         Comment about problems with ignored-expose.
8900         Define mswindows-debug-events; not really implemented.
8901
8902         * frame-msw.c (mswindows_init_frame_1):
8903         random cleanups.
8904
8905         * glyphs-msw.c:
8906         * glyphs-msw.c (begin_defer_window_pos):
8907         * glyphs-msw.c (mswindows_unmap_subwindow):
8908         * glyphs-msw.c (mswindows_map_subwindow):
8909         * glyphs-msw.c (mswindows_resize_subwindow):
8910         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8911
8912         * glyphs.c (make_image_instance_1):
8913         Fix crash.
8914
8915         * gutter.c (Fredisplay_gutter_area):
8916         Use new begin/end methods.
8917
8918         * lisp.h (Dynarr_new2):
8919         New creation fun.
8920
8921         * redisplay-msw.c:
8922         * redisplay-msw.c (mswindows_frame_output_begin):
8923         * redisplay-msw.c (mswindows_frame_output_end):
8924         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8925         New begin/end methods -- handle DeferWindowPos.
8926
8927         * redisplay-output.c (redisplay_move_cursor):
8928         * redisplay-output.c (redraw_cursor_in_window):
8929         * redisplay-output.c (redisplay_update_line):
8930         * redisplay-output.c (redisplay_output_window):
8931         New begin/end methods.
8932
8933         * redisplay-tty.c:
8934         * redisplay-tty.c (tty_frame_output_begin):
8935         * redisplay-tty.c (tty_frame_output_end):
8936         * redisplay-tty.c (console_type_create_redisplay_tty):
8937         New begin/end methods.
8938
8939         * redisplay-x.c:
8940         * redisplay-x.c (x_window_output_begin):
8941         * redisplay-x.c (x_window_output_end):
8942         * redisplay-x.c (console_type_create_redisplay_x):
8943         New begin/end methods.
8944
8945         * redisplay.c (redisplay_frame):
8946         * redisplay.c (Fredisplay_echo_area):
8947         New begin/end methods.
8948         use MAYBE_DEVMETH for clear_frame; it may not exist.
8949
8950         * window.h (WINDOW_XFRAME):
8951         WINDOW_XFOO macros -- get locale and decode struct pointer.
8952
8953
8954 2000-05-12  Ben Wing  <ben@xemacs.org>
8955
8956         * emacs.c:
8957         * emacs.c (ensure_no_quitting_from_now_on):
8958         * emacs.c (fatal_error_signal):
8959         * emacs.c (mswindows_handle_hardware_exceptions):
8960         * emacs.c (main):
8961         * emacs.c (Fkill_emacs):
8962         * emacs.c (shut_down_emacs):
8963         * emacs.c (assert_failed):
8964         various improvements in fatal error handling.
8965
8966         * eval.c:
8967         move preparing_for_armageddon to emacs.c.
8968
8969         * lisp.h:
8970         declare fatal_error_in_progress.
8971
8972         * print.c:
8973         * print.c (std_handle_out_external):
8974         * print.c (std_handle_out_va):
8975         * print.c (stderr_out):
8976         * print.c (stdout_out):
8977         use console under mswin when no standard output.
8978         don't do code conversion during fatal error.
8979
8980         * scrollbar.c (Fscrollbar_page_up):
8981         * scrollbar.c (Fscrollbar_page_down):
8982         fix missing else.  reindent.
8983
8984 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8985
8986         Emergency fix.
8987
8988         * glyphs.h (GLYPH_CACHEL_DESCENT):
8989         (GLYPH_CACHEL_DESCENT):
8990         (GLYPH_CACHEL_DESCENT):
8991         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8992         used in case these are inline functions.
8993         Use more absurd values to error check.
8994
8995         include window.h for error check functions.
8996
8997 2000-05-11  Ben Wing  <ben@xemacs.org>
8998
8999         * cmdloop.c (Freally_early_error_handler):
9000         Display message box under windows; otherwise, message will disappear
9001         before it can be viewed.
9002
9003         * console-msw.c:
9004         * console-msw.c (Fmswindows_message_box):
9005         * console-msw.c (FROB):
9006         * console-msw.c (syms_of_console_mswindows):
9007         Define new fun `mswindows-message-box'.
9008         #### I will merge this into `popup-dialog-box'; just give me
9009         a bit of time.
9010
9011         * general.c:
9012         * general.c (syms_of_general):
9013         Some new symbols used in `mswindows-message-box'.
9014
9015         * glyphs.c:
9016         * glyphs.c (Fset_image_instance_property):
9017         put warning in this fun.
9018
9019         * glyphs.h:
9020         * glyphs.h (GLYPH_CACHEL_WIDTH):
9021         * glyphs.h (GLYPH_CACHEL_ASCENT):
9022         * glyphs.h (GLYPH_CACHEL):
9023         * glyphs.h (GLYPH_CACHEL_GLYPH):
9024         define error-checking versions to try to catch a bug i've seen --
9025         redisplay gets in an infinite loop because the glyph width of the
9026         continuation glyph is 65535.
9027
9028         * lisp.h:
9029         Extern message-box stuff.
9030
9031         * window.c (allocate_window):
9032         * window.c (make_dummy_parent):
9033         * window.c (Fset_window_configuration):
9034         Use EQUAL not EQ for subwindow caches to make them work a bit
9035         better. (Something is still very broken.)
9036
9037
9038 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
9039
9040         * glyphs.c (image_instantiate): Suppress gcc warnings.
9041         (Fmake_image_instance): Fix doc string.
9042         * specifier.c (Fmake_specifier): Ditto.
9043
9044 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
9045
9046         * paths.h.in (PATH_LOCK): Removed.
9047         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
9048         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
9049
9050 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9051
9052         * fns.c (Ffeaturep): Update e-mail address in doc-string.
9053         Document (featurep '(and xemacs 21.02)).
9054
9055 2000-05-09  Ben Wing  <ben@xemacs.org>
9056
9057         * buffer.c (complex_vars_of_buffer):
9058         update modeline-format doc.
9059
9060         * device.h:
9061         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
9062
9063         * emacs.c:
9064         timeline of all released versions of Emacs, for use in creating
9065         authorship comments and in synching up.
9066
9067         * glyphs-widget.c (image_instantiator_buttons):
9068         * glyphs-widget.c (image_instantiator_edit_fields):
9069         * glyphs-widget.c (image_instantiator_combo_box):
9070         * glyphs-widget.c (image_instantiator_scrollbar):
9071         * glyphs-widget.c (image_instantiator_progress_guage):
9072         * glyphs-widget.c (image_instantiator_tree_view):
9073         * glyphs-widget.c (image_instantiator_tab_control):
9074         * glyphs-widget.c (image_instantiator_labels):
9075         * glyphs-widget.c (image_instantiator_layout):
9076         * glyphs-widget.c (image_instantiator_native_layout):
9077         rename decode_domain method to governing_domain.
9078
9079         * glyphs.c:
9080         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
9081         * glyphs.c (add_entry_to_device_ii_format_list):
9082         make sure we don't put an entry more than once into the list.
9083         * glyphs.c (check_instance_cache_mapper):
9084         *************************************************************
9085         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9086         HAVE BEEN GETTING.
9087         *************************************************************
9088         * glyphs.c (get_image_instantiator_governing_domain):
9089         clean up, expand on new concept of governing domain.
9090         * glyphs.c (instantiate_image_instantiator):
9091         * glyphs.c (allocate_image_instance):
9092         use governing_domain instead of cache_domain in naming.
9093         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
9094         * glyphs.c (make_image_instance_1):
9095         * glyphs.c (Fmake_image_instance):
9096         allow for any domain (not just device), and process the
9097         governing domain correctly.  very big doc fix.
9098         * glyphs.c (Fimage_instance_domain):
9099         new primitive, to retrieve the governing domain of an image instance.
9100         * glyphs.c (image_instantiate):
9101         use new governing_domain stuff.  this fixes a crash you could get
9102         by instantiating certain widget glyphs in frame locales. (should
9103         signal an error instead of crashing.)
9104         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
9105         * glyphs.c (Fglyphp): clean up doc.
9106         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
9107         * glyphs.c (syms_of_glyphs):
9108         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
9109         * glyphs.c (image_instantiator_format_create): add some comments about
9110         bogus code.
9111         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
9112         for current-display-table. (Apparently Hrjove implemented in 1998 a
9113         design I wrote up in 1996, but didn't update the doc string.)
9114
9115         * glyphs.h: clean up a doc string.
9116         * glyphs.h (governing_domain):
9117         * glyphs.h (struct image_instantiator_methods):
9118         changes for governing_domain stuff.
9119
9120         * gutter.c:
9121         * gutter.c (Fgutter_specifier_p):
9122         * gutter.c (Fgutter_size_specifier_p):
9123         * gutter.c (Fgutter_visible_specifier_p):
9124         * objects.c:
9125         * objects.c (Fcolor_specifier_p):
9126         * objects.c (Ffont_specifier_p):
9127         * objects.c (Fface_boolean_specifier_p):
9128         doc strings moved to make-*-specifier.
9129
9130         * redisplay.c (add_disp_table_entry_runes_1):
9131         * redisplay.c (generate_fstring_runes):
9132         * redisplay.c (screen):
9133         add random comments and doc strings.
9134
9135         * specifier.c:
9136         * specifier.c (Fmake_specifier):
9137         major overhaul of this doc string.
9138
9139         * specifier.c (Fvalid_specifier_domain_p):
9140         comment about the bogosity of image instances being domains.
9141         * specifier.c (decode_domain):
9142         now non-static, used in glyphs.c.
9143         * specifier.c (specifier_instance):
9144         comment about the bogosity of image instances being domains.
9145         * specifier.c (Fgeneric_specifier_p):
9146         move doc string to make-generic-specifier.
9147         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9148         rebackslashify.
9149
9150         * specifier.h:
9151         * specifier.h (DOMAIN_FRAME):
9152         * specifier.h (DOMAIN_LIVE_P):
9153         * specifier.h (DOMAIN_XDEVICE):
9154         rebackslashify.
9155         add comments about problems with these macros.
9156         prototype for decode_domain.
9157
9158         * toolbar.c:
9159         * toolbar.c (Ftoolbar_specifier_p):
9160         move doc string to `make-toolbar-specifier'.
9161
9162         * window.c (window_unmap_subwindows_cache_mapper):
9163         *************************************************************
9164         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9165         HAVE BEEN GETTING.
9166         *************************************************************
9167
9168 2000-05-09  Andy Piper  <andy@xemacs.org>
9169
9170         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9171
9172         * window.c (Fset_window_configuration): reset the frame subwindow
9173         cache and re-initialize the window subwindow caches.
9174
9175         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9176
9177 2000-05-09  Ben Wing  <ben@xemacs.org>
9178
9179         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9180         DWORD.
9181
9182 2000-04-26  Mike Woolley  <mike@bulsara.com>
9183
9184         * ntheap.c: Changed recreate_heap to limit the amount reserved
9185         for the heap to that which is actually available. Also now
9186         displays a message box (with some dignostics) in the event that
9187         it still can't start.
9188
9189 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9190
9191         * callproc.c (Fold_call_process_internal): GCPRO path
9192
9193 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9194
9195         Patch by Bill Perry.
9196
9197         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9198         back data instead of #ifdef.
9199         (Fscrollbar_page_down): ditto.
9200
9201 2000-05-07  Ben Wing  <ben@xemacs.org>
9202
9203         * buffer.h:
9204         Kludge for defining Qmswindows_tstr.
9205
9206         * nt.c:
9207         * nt.c (open_input_file):
9208         * nt.c (open_output_file):
9209         * nt.c (rva_to_section):
9210         * nt.c (mswindows_executable_type):
9211         Move all memory-mapped-file routines here (some were in unexnt.c,
9212         which is bad because they are used by process-nt.c, and unexnt
9213         won't be around when portable dumping).  Synched the above routines
9214         with FSF 20.6.
9215
9216         * nt.h:
9217         Removed ifdef'd out bogus code.
9218         Fixed some prototypes.
9219
9220         * nt.h (file_data):
9221         * nt.h (OFFSET_TO_RVA):
9222         * nt.h (RVA_TO_OFFSET):
9223         * nt.h (RVA_TO_PTR):
9224         Moved the memory-mapped-file structures, macros and prototypes
9225         here, to parallel nt.c.  ntheap.h should really be removed
9226         entirely, and it's a non-portable-dumper specific file.
9227
9228         * ntheap.h (round_to_next):
9229         Moved the memory-mapped-file structures, macros and prototypes
9230         to nt.h.
9231
9232         * ntproc.c (compare_env):
9233         Moved rva_to_section and mswindows_executable_type to nt.c.
9234         Moved compare_env to process-nt.c.
9235         ntproc.c will die, one day.
9236
9237         * ntproc.c (sys_spawnve):
9238         Account for win32_ -> mswindows_.
9239
9240         * process-nt.c:
9241         * process-nt.c (struct nt_process_data):
9242         * process-nt.c (ensure_console_window_exists):
9243         * process-nt.c (compare_env):
9244         * process-nt.c (nt_create_process):
9245         * process-nt.c (nt_kill_process_by_pid):
9246         * process-nt.c (syms_of_process_nt):
9247         * process-nt.c (vars_of_process_nt):
9248         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9249         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9250         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9251         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9252         Move compare_env here from ntproc.c.
9253
9254         * process.c (Fprocess_send_region):
9255         Takes an optional fourth argument, BUFFER, which should fix some
9256         problems with call-process.
9257
9258         * syscommctrl.h:
9259         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9260
9261         * syswindows.h:
9262         Move ICC_BAR_CLASSES to syscommctrl.h.
9263         Add preliminary macros for MSWindows/Mule.  More to come.
9264
9265         * unexnt.c:
9266         * unexnt.c (unexec):
9267         open_output_file moved to nt.c.
9268
9269
9270 2000-05-05  Andy Piper  <andy@xemacs.org>
9271
9272         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9273         instance from the frame cache also since GC may catch up too late
9274         to make frame deletion sane.
9275
9276 2000-05-04  Andy Piper  <andy@xemacs.org>
9277
9278         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9279         (x_finalize_image_instance): ungcpro on deletion.
9280
9281         * glyphs.c (image_instantiator_format_create): give pointers a
9282         query geometry method so that the geometry is at least set.
9283
9284         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9285         initialize layouts if using widgets.
9286
9287 2000-05-03  Andy Piper  <andy@xemacs.org>
9288
9289         * nt.c: remove bogus reference to sysmmsystem.h
9290
9291         * gui-x.c (popup_selection_callback): fix no selection abort.
9292
9293 2000-05-02  Andy Piper  <andy@xemacs.org>
9294
9295         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9296         (mswindows_widget_instantiate): ditto.
9297
9298         * glyphs-widget.c (initialize_widget_image_instance): initialize
9299         children correctly.
9300         (widget_instantiate): cope with children and items in the same
9301         instance.
9302
9303         * glyphs.c (mark_image_instance): cope with children as a first
9304         class member.
9305         (image_instance_equal): ditto.
9306         (image_instance_hash): ditto.
9307         (image_instance_changed): ditto.
9308
9309 2000-04-30  Andy Piper  <andy@xemacs.org>
9310
9311         * glyphs.c (subwindow_query_geometry): new function. Return some
9312         defaults.
9313         (subwindow_instantiate): don't assign dimensions if none have been
9314         given.
9315         (image_instantiator_format_create): add subwindow_query_geometry.
9316         (print_image_instance): cope with layouts as widgets.
9317
9318 2000-04-29  Andy Piper  <andy@xemacs.org>
9319
9320         * frame.c (delete_frame_internal): call
9321         free_frame_subwindow_instance_cache so that all subwindows are
9322         finalized before their parent.
9323         (mark_frame): remove subwindow_cachels.
9324         (Fmake_frame): remove subwindow_cachel manipulation.
9325         (allocate_frame_core): subwindow_instance_cache is a weak list.
9326         (delete_frame_internal): set subwindow_instance_cache to nil.
9327
9328         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9329         finalization safe.
9330         (mswindows_finalize_image_instance): use the device
9331         not the domain as the domain may have died already.
9332
9333         * glyphs-x.c (x_finalize_image_instance): ditto.
9334         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9335         HEIGHT.
9336
9337         * redisplay-output.c (redisplay_unmap_subwindows): update for
9338         subwindow instance cache as a weak list.
9339         (redisplay_unmap_subwindows_maybe): ditto.
9340         (redisplay_unmap_subwindows_except_us): ditto.
9341
9342         * glyphs.c (unmap_subwindow): error checking will check the domain
9343         so don't deal with it here. Don't use cachels anymore.
9344         (map_subwindow): ditto.
9345         (update_subwindow_cachel_data): remove old accessor names.
9346         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9347         (Fresize_subwindow): don't update cachel.
9348         (mark_subwindow_cachels):
9349         (update_subwindow_cachel_data):
9350         (add_subwindow_cachel):
9351         (get_subwindow_cachel_index):
9352         (update_subwindow_cachel):
9353         (reset_subwindow_cachels):
9354         (mark_subwindow_cachels_as_not_updated): deleted.
9355         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9356         subwindow instance to the frame cache.
9357         (find_matching_subwindow): update for subwindow instance cache as
9358         a weak list.
9359         (update_widget_instances): ditto.
9360         (image_instance_type_to_mask):inlined.
9361         (free_frame_subwindow_instance_cache): new function. finalize all
9362         subwindows that are instantiated.
9363
9364         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9365         of cachel information.
9366         (IMAGE_INSTANCE_DISPLAY_X):
9367         (IMAGE_INSTANCE_DISPLAY_Y):
9368         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9369         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9370         (XIMAGE_INSTANCE_DISPLAY_X):
9371         (XIMAGE_INSTANCE_DISPLAY_Y):
9372         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9373         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9374         remove subwindow_cachel structure and function references.
9375         (image_instance_type_to_mask): inline from glyphs.c
9376
9377         * redisplay.c (redisplay_frame): remove subwindow_cachel
9378         references.
9379
9380         * frame.h (struct frame): remove subwindow_cachels.
9381         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9382
9383         * frameslots.h: add subwindow_instance_cache.
9384
9385         * window.c (replace_window): check subwindow cache of replacement.
9386         (window_unmap_subwindows_cache_mapper):
9387         (window_unmap_subwindows): new functions. Unmap all subwindows
9388         cached on this window.
9389         (mark_window_as_deleted): unmap all subwindows.
9390
9391 2000-04-27  Andy Piper  <andy@xemacs.org>
9392
9393         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9394
9395         * glyphs-widget.c (widget_layout): return something.
9396         (layout_layout): return something. Fail if not initialized.
9397         (layout_query_geometry): ditto.
9398         (image_instantiator_native_layout): new function. Initialized the
9399         native layout type.
9400         (widget_instantiate): don't do layout stuff here.
9401
9402         * glyphs.c (instantiate_image_instantiator): reorded calling or
9403         instantiate and post_instantiate with layout in between.
9404         (image_instance_layout): be more selective about deciding whether
9405         the layout has been done or not.
9406
9407         * glyphs.h (struct image_instantiator_methods): return a value
9408         from layout_method.
9409
9410 2000-04-26  Andy Piper  <andy@xemacs.org>
9411
9412         * glyphs.c (allocate_image_instance): make initial width and
9413         height unspecified. Set initialized to 0.
9414
9415         * syscommctrl.h new file. Encapsulates commctrl.h.
9416
9417         * syswindows.h new file. Encapsulates windows.h.
9418
9419         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9420         * nt.c: ditto.
9421         * console-msw.h: ditto.
9422
9423         * redisplay-tty.c (tty_output_display_block): remove layout references.
9424
9425         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9426         window handle rather than just the frame.
9427
9428         * glyphs.c (mark_image_instance): remove layout references.
9429         (print_image_instance): ditto.
9430         (image_instance_equal): ditto.
9431         (image_instance_hash): ditto.
9432         (decode_image_instance_type): ditto.
9433         (encode_image_instance_type): ditto.
9434         (image_instantiate): ditto.
9435         (allocate_glyph): ditto.
9436         (Fimage_instance_height): ditto.
9437         (Fimage_instance_width): ditto.
9438         (update_subwindow): ditto.
9439
9440         * redisplay-x.c (x_output_display_block): recode for layouts as
9441         widgets.
9442
9443         * redisplay-output.c (redisplay_output_layout): recode for layouts
9444         as widgets.
9445         (compare_runes): remove layout references.
9446
9447         * redisplay-msw.c (mswindows_output_display_block): recode for
9448         layouts as widgets.
9449
9450         * glyphs-widget.c (image_instantiator_layout): remove
9451         layout_possible_dest_types.
9452         (layout_possible_dest_types): deleted.
9453
9454         * glyphs.h (image_instance_type): remove layout references.
9455         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9456         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9457         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9458
9459 2000-04-25  Andy Piper  <andy@xemacs.org>
9460
9461         * glyphs-widget.c (image_instantiator_buttons):
9462         (image_instantiator_edit_fields):
9463         (image_instantiator_combo_box):
9464         (image_instantiator_scrollbar):
9465         (image_instantiator_progress_guage):
9466         (image_instantiator_tree_view):
9467         (image_instantiator_tab_control):
9468         (image_instantiator_labels):
9469         (image_instantiator_layout): call default post_instantiate method.
9470         (widget_post_instantiate): new function. Simply lays out the
9471         widgets.
9472
9473         * glyphs.h (struct image_instantiator_methods): add
9474         post_instantiate method.
9475
9476         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9477         method calls.
9478
9479 2000-04-23  Andy Piper  <andy@xemacs.org>
9480
9481         * glyphs.h (struct image_instantiator_methods): add
9482         decode_domain_method.
9483         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9484         derived from the domain.
9485         (IMAGE_INSTANCE_FRAME): new accessor.
9486         (XIMAGE_INSTANCE_FRAME): ditto.
9487
9488         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9489         instead of _SUBWINDOW_FRAME.
9490         (finalize_image_instance): ditto.
9491         (Fimage_instance_foreground): ditto.
9492         (Fimage_instance_background): ditto.
9493         (image_instantiate): ditto.
9494         (update_subwindow_cachel): ditto.
9495         (update_subwindow): ditto.
9496         (unmap_subwindow): ditto.
9497         (map_subwindow): ditto
9498         (subwindow_instantiate): ditto.
9499         * glyphs-msw.c (mswindows_update_widget): ditto.
9500         (mswindows_progress_gauge_instantiate): ditto.
9501         (mswindows_tab_control_update): ditto.
9502         * glyphs-x.c (x_update_widget): ditto.
9503         (x_widget_instantiate): ditto.
9504         (x_tab_control_instantiate): ditto.
9505         (x_tab_control_update): ditto.
9506         * event-msw.c (mswindows_wnd_proc): ditto
9507
9508         * glyphs-widget.c (image_instantiator_layout): use
9509         subwindow_decode_domain.
9510         (image_instantiator_buttons): ditto.
9511         (image_instantiator_edit_fields): ditto.
9512         (image_instantiator_combo_box): ditto.
9513         (image_instantiator_scrollbar): ditto.
9514         (image_instantiator_progress_guage): ditto.
9515         (image_instantiator_tree_view): ditto.
9516         (image_instantiator_tab_control): ditto.
9517         (image_instantiator_labels): ditto.
9518         (image_instantiator_layout): ditto.
9519
9520         * glyphs.c: add instance error checking to many functions.
9521         (instantiate_image_instantiator): decode device from cache_domain.
9522         (image_instantiate): partially rewrite by using
9523         decode_image_instantiator_domain to determine what domain the
9524         instance needs to be cached in.
9525         (decode_image_instantiator_domain): new function. Determine what
9526         domain the image needs to be cached in.
9527         (check_window_subwindow_cache): new error checking function.
9528         (check_instance_cache_mapper): ditto.
9529         (check_image_instance_structure): ditto.
9530         (subwindow_decode_domain): new function. Encodes a window as a
9531         subwindow's cache domain.
9532         (image_instantiator_format_create): use it for text and
9533         subwindows.
9534
9535 2000-04-21  Andy Piper  <andy@xemacs.org>
9536
9537         * glyphs.c (image_instance_device): new function.
9538         (image_instance_frame): new function.
9539         (image_instance_window): new function.
9540         (image_instance_live_p): new function.
9541
9542         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9543         cache to nil.
9544
9545         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9546         (IMAGE_INSTANCE_DOMAIN): new accessor.
9547         (XIMAGE_INSTANCE_DOMAIN): ditto.
9548
9549         * glyphs-x.c (x_finalize_image_instance): device->domain.
9550
9551         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9552         (mswindows_finalize_image_instance): ditto.
9553
9554         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9555         (gif_instantiate): ditto.
9556         (png_instantiate): ditto.
9557         (tiff_instantiate): ditto.
9558
9559         * glyphs.c (instantiate_image_instantiator): use domain rather
9560         than device.
9561         (mark_image_instance): device -> domain.
9562         (print_image_instance): ditto.
9563         (finalize_image_instance): ditto.
9564         (image_instance_equal): ditto.
9565         (allocate_image_instance): ditto.
9566         (Fcolorize_image_instance): ditto.
9567         (query_string_geometry): ditto.
9568         (image_instantiate): ditto
9569         (query_string_font): ditto.
9570         (image_instantiate): ditto.
9571         (update_subwindow): ditto.
9572         (unmap_subwindow): ditto.
9573         (map_subwindow): ditto.
9574         (subwindow_instantiate): ditto.
9575
9576         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9577         (DOMAIN_FRAME): ditto.
9578         (DOMAIN_WINDOW): ditto.
9579         (DOMAIN_LIVE_P): ditto.
9580         (XDOMAIN_DEVICE): ditto.
9581         (XDOMAIN_FRAME): ditto.
9582         (XDOMAIN_WINDOW): ditto.
9583
9584         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9585         a valid specifier domain.
9586
9587 2000-04-19  Andy Piper  <andy@xemacs.org>
9588
9589         * glyphs-widget.c (syms_of_glyphs_widget): remove
9590         widget-callback-current-channel.
9591         (vars_of_glyphs_widget): ditto.
9592         * glyphs.h: ditto
9593
9594         * gui.c (get_gui_callback): revert to previous behaviour.
9595
9596 2000-04-18  Andy Piper  <andy@xemacs.org>
9597
9598         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9599         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9600         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9601
9602         * glyphs.c (image_instance_equal): add margin_width.
9603         (image_instance_hash): ditto.
9604
9605         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9606         (layout_query_geometry): ditto.
9607         (layout_layout): ditto.
9608         (syms_of_glyphs_widget): add margin-width.
9609         (image_instantiator_layout): allow margin-width.
9610
9611         * glyphs.c (update_widget_instances): make a normal function.
9612         (syms_of_glyphs): remove Qupdate_widget_instances.
9613         * glyphs.h: ditto.
9614
9615         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9616         so that we don't corrupt ideas about the last event or
9617         command. Remove widget-callback-current-channel fiddling.
9618         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9619
9620 2000-05-01  Martin Buchholz <martin@xemacs.org>
9621
9622         * XEmacs 21.2.33 is released.
9623
9624 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9625
9626         * make-src-depend: Allow dots in header file name.
9627
9628 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9629
9630         * mule-charset.h (struct charset_lookup): Add
9631         next_allocated_1_byte_leading_byte and
9632         next_allocated_2_byte_leading_byte.
9633         * mule-charset.c: Move above two variables so that those values
9634         will be dumped.
9635
9636 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9637
9638         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9639         when string length is zero.
9640         (find_charsets_in_emchar_string): Ditto.
9641
9642 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9643
9644         * lisp.h: extern Qdialog and Qmenubar.
9645
9646         * gui-x.c: added events.h.
9647                 also fixed typo which made the file uncompilable.
9648
9649         * general.c: Added Qmenubar and Qdialog
9650
9651 2000-04-28  Ben Wing  <ben@xemacs.org>
9652
9653         * frame-msw.c (mswindows_init_frame_1):
9654         * frame-msw.c (mswindows_mark_frame):
9655         * event-msw.c (mswindows_enqueue_dispatch_event):
9656         * console-msw.h:
9657         * console-msw.h (struct mswindows_frame):
9658         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9659         there are now three hash tables for callbacks.
9660         mswindows_enqueue_dispatch_event is no longer static.
9661
9662         * dialog-x.c (maybe_run_dbox_text_callback):
9663         * dialog-x.c (dbox_descriptor_to_widget_value):
9664         switch to new cons3 form for callbacks.
9665
9666         * glyphs-msw.c (mswindows_register_gui_item):
9667         * glyphs-msw.c (mswindows_widget_instantiate):
9668         * glyphs-msw.c (add_tree_item):
9669         * glyphs-msw.c (add_tab_item):
9670         new image instance parameter, so it can be passed to callback-ex.
9671         respect :callback-ex as well as :callback.
9672
9673         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9674         add :callback-ex.
9675
9676         * glyphs.c (print_image_instance):
9677         prettify, e.g. now prints widget type.
9678
9679         * gui-x.h:
9680         certain funs have new image instance parameter.
9681
9682         * gui.c:
9683         * gui.c (get_gui_callback):
9684         * gui.c (gui_item_add_keyval_pair):
9685         * gui.c (gui_item_init):
9686         * gui.c (gui_add_item_keywords_to_plist):
9687         * gui.c (mark_gui_item):
9688         * gui.c (gui_item_hash):
9689         * gui.c (gui_item_equal):
9690         * gui.c (copy_gui_item):
9691         * gui.c (syms_of_gui):
9692         recognize callback-ex in a number of places.
9693         also, fix the annoying "can't get out of yes-no dialog" bug.
9694
9695         * gui.h:
9696         * gui.h (struct Lisp_Gui_Item):
9697         recognize callback-ex in a number of places.
9698
9699         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9700         new parameter in button_item_to_widget_value.
9701
9702         * glyphs-x.c (x_update_widget):
9703         * glyphs-x.c (x_button_instantiate):
9704         * glyphs-x.c (x_button_update):
9705         * glyphs-x.c (x_progress_gauge_instantiate):
9706         * glyphs-x.c (x_edit_field_instantiate):
9707         * glyphs-x.c (x_combo_box_instantiate):
9708         * glyphs-x.c (x_tab_control_instantiate):
9709         * glyphs-x.c (x_label_instantiate):
9710         new image instance parameter in various places.
9711
9712         * event-Xt.c:
9713         * event-Xt.c (enqueue_Xt_dispatch_event):
9714         this fun gets exported.
9715
9716         * gui-msw.c:
9717         * gui-msw.c (mswindows_handle_gui_wm_command):
9718         handle both :callback and :callback-ex, and generate our own
9719         event because it's one of the callback-ex arguments.
9720
9721         * gui-x.c:
9722         * gui-x.c (popup_selection_callback):
9723         handle both :callback and :callback-ex, and generate our own
9724         event because it's one of the callback-ex arguments.
9725         * gui-x.c (button_item_to_widget_value):
9726         * gui-x.c (gui_items_to_widget_values_1):
9727         * gui-x.c (gui_item_children_to_widget_values):
9728         * gui-x.c (gui_items_to_widget_values):
9729         new image instance parameter in various places.
9730
9731         * fns.c (Freplace_list):
9732         fix small typo in doc string.
9733
9734         * lisp.h:
9735         declare enqueue_Xt_dispatch_event.
9736
9737 2000-04-28  Ben Wing  <ben@xemacs.org>
9738
9739         * buffer.c:
9740         * buffer.c (Frecord_buffer):
9741         * buffer.c (syms_of_buffer):
9742         delete record-buffer-hook.
9743
9744         * fns.c:
9745         * fns.c (Freplace_list):
9746         * fns.c (syms_of_fns):
9747         new primitive replace-list.
9748
9749         * frameslots.h:
9750         slot for old buffer-alist.
9751
9752         * lisp.h:
9753         exfun replace-list.
9754
9755         * redisplay.c:
9756         * redisplay.c (redisplay_frame):
9757         * redisplay.c (syms_of_redisplay):
9758         * redisplay.c (vars_of_redisplay):
9759         new hook buffer-list-changed-hook.
9760         call it.
9761
9762 2000-04-27  Ben Wing  <ben@xemacs.org>
9763
9764         * extents.h: extern in_modeline_generation.
9765
9766         * redisplay.c (generate_formatted_string_db): set
9767         in_modeline_generation.
9768
9769         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9770         flags if in modeline generation.  otherwise frame-modified-tick
9771         is ticked far too often.
9772         Declare in_modeline_generation.
9773
9774 2000-04-26  Ben Wing  <ben@xemacs.org>
9775
9776         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9777         option.
9778         (vars_of_emacs): add quick-build as an error-checking option.
9779         A bit kludgy, but there doesn't seem much point in creating
9780         a real var for this.
9781
9782         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9783
9784 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9785
9786         * redisplay.h (struct display_line): Add a new variable,
9787         line_continuation.
9788
9789         * redisplay.c (create_text_block): Set dl->line_continuation if
9790         the line continues.
9791         (create_string_text_block): Ditto.
9792         (regenerate_window_incrementally): Use line_continuation instead
9793         of searching continuation glyph.
9794         (add_margin_runes): Call add_glyph_rune.
9795         (add_glyph_rune): Handle margin glyph.
9796
9797 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9798
9799         * filelock.c (fill_in_lock_file_name):
9800         ANSIfy.
9801         Check for IS_ANY_SEP instead of '/'.
9802         (lock_file_1):
9803         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9804         Never check errno without first seeing that system call failed.
9805         (unlock_file): Add GCPRO.
9806         (Flock_buffer): Fix docstring.
9807         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9808
9809 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9810
9811         * sysdep.c (get_pty_max_bytes):
9812         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9813         strings longer than 252 bytes.
9814
9815         * md5.c: Unconditionally include ANSI header <limits.h>
9816
9817         * glyphs-x.c (convert_EImage_to_XImage):
9818         * lisp-union.h (union Lisp_Object):
9819         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9820
9821 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9822
9823         * filelock.c (current_lock_owner): Remove unused variable o, p.
9824
9825 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9826
9827         * callint.c: Remove multiply defined symbol Qlet
9828         (syms_of_callint): ditto.
9829
9830 2000-04-14  Andy Piper  <andy@xemacs.org>
9831
9832         * general.c (syms_of_general): add last-command, this-command, let
9833         and funcall.
9834
9835         * lisp.h: declare various symbols.
9836
9837         * glyphs.h: declare Qwidget_callback_current_channel;
9838
9839         * glyphs-widget.c (syms_of_glyphs_widget): add
9840         Qgui_callback_current_channel.
9841         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9842
9843         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9844         widget-callback-current-channel when invoking the interactive
9845         arg. Also bind last-command and next-command when invoking the
9846         widget updates.
9847         * gui-x.c (popup_selection_callback): ditto.
9848
9849         * gui.c (get_gui_callback): massage args so that we are always
9850         calling eval. This allows us to add our own variable bindings
9851         outside.
9852
9853         * glyphs-x.c (x_button_instantiate): use
9854         gui_items_to_widget_values since this is GC safe.
9855         (x_progress_gauge_instantiate): ditto.
9856         (x_edit_field_instantiate): ditto.
9857         (x_label_instantiate): ditto.
9858
9859         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9860         (emacs_Xt_event_widget_focus_out): new function
9861         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9862         focus.
9863         (emacs_Xt_event_add_widget_actions): new function. add focus
9864         functions as actions.
9865         (init_event_Xt_late): use it.
9866
9867 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9868
9869         * event-stream.c (Fdispatch_event): Doc fix.
9870
9871 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9872
9873         * postgresql.c: Remove all references to PQsetenv*.
9874
9875         * postgresql.h: Remove references to PGsetenvHandler object.
9876         * lrecord.h (lrecord_type): Ditto.
9877
9878 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9879
9880         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9881         real_heigh and real_width members, and accessor macros for these.
9882
9883         * glyphs-msw.c (init_image_instance_geometry): New function.
9884         (init_image_instance_from_dibitmap): Use it.
9885         (mswindows_resource_instantiate): Use it.
9886         (init_image_instance_from_xbm_inline): Use it.
9887         (mswindows_initialize_image_instance_mask): Use real bitmap
9888         geometry.
9889         (mswindows_create_resized_bitmap): Ditto.
9890         (mswindows_create_resized_mask): Ditto.
9891
9892         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9893         and bitmap to their surface size.
9894
9895 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9896
9897         * process-unix.c (unix_send_process): Guard against process MIA
9898         after Faccept_process_output.
9899
9900 2000-04-11  Ben Wing  <ben@xemacs.org>
9901
9902         * eval.c (unbind_to_hairy): fix brokenness introduced by
9903         nanosecond speed improvements.
9904
9905 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9906
9907         * sunplay.c (init_device): To play sounds correctly, the device
9908         apparently needs to be initialized at least once by XEmacs.  Make
9909         it so.
9910
9911 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9912
9913         * redisplay.c (add_margin_runes): Add text image glyph
9914           handling.
9915
9916 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9917
9918         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9919         gcc is newer than 2.5.
9920
9921 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9922
9923         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9924
9925         * fns.c (size_bit_vector):
9926         * alloc.c (size_vector):
9927         (make_vector_internal):
9928         (make_bit_vector_internal):
9929         (sweep_bit_vectors_1):
9930         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9931
9932 2000-04-06  Andy Piper  <andy@xemacs.org>
9933
9934         * gmalloc.c (malloc): undo previous change.
9935         (malloc): ditto.
9936         (free): ditto.
9937         (realloc): ditto.
9938
9939 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9940
9941         * line-number.c (buffer_line_number): Revert to former version.
9942
9943 2000-04-06  Andy Piper  <andy@xemacs.org>
9944
9945         * gmalloc.c (malloc): add error checking.
9946         (malloc): ditto.
9947         (free): ditto.
9948         (realloc): ditto.
9949
9950         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9951         button_item_to_widget_value arg.
9952
9953         * glyphs-x.c (x_button_instantiate): add extra
9954         button_item_to_widget_value arg.
9955         (x_progress_gauge_instantiate): ditto.
9956         (x_edit_field_instantiate): ditto.
9957         (x_label_instantiate): ditto.
9958
9959         * gui-x.c (gui_items_to_widget_values_1): add extra
9960         button_item_to_widget_value arg.
9961         (button_item_to_widget_value): add extra menu_item_p arg.
9962
9963         * gui-x.h: change signature of button_item_to_widget_value.
9964
9965         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9966         button_item_to_widget_value arg.
9967
9968 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9969
9970         * buffer.h (struct buffer): auto_save_modified should be long.
9971
9972 2000-04-05  Andy Piper  <andy@xemacs.org>
9973
9974         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9975         type.
9976         (button_query_geometry): give a little more room so that athena
9977         buttons fit.
9978
9979 2000-04-05  Andy Piper  <andy@xemacs.org>
9980
9981         * faces.c (complex_vars_of_faces): The widget face should inherit
9982         the font of the gui-element face.
9983
9984 2000-04-04  Andy Piper  <andy@xemacs.org>
9985
9986         * glyphs-x.c (x_button_update): new function. unconditionally
9987         update a button's state when the instance is dirty.
9988         (image_instantiator_format_create_glyphs_x): add x_button_update.
9989         (x_widget_instantiate): remove old resize cruft.
9990
9991 2000-04-02  Andy Piper  <andy@xemacs.org>
9992
9993         * frame.c (change_frame_size_1): The introduction of gutters means
9994         that we need to allow 0 as a potential frame dimension.
9995
9996 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9997
9998         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9999         image glyph if allow_cursor.
10000         (add_hscroll_rune): Don't allow cursor to border glyph.
10001         (create_text_block): Ditto.
10002
10003         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
10004         text not in buffer.
10005         (redisplay_output_layout): Call ensure_face_cachel_complete for
10006         text image glyph.
10007
10008
10009 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10010
10011         * redisplay.c (add_glyph_rune): Adding text image as text runes.
10012
10013         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
10014         not in buffer
10015
10016         * redisplay-tty.c (tty_output_display_block): Delete the routine
10017         for text image glyph
10018         * redisplay-x.c (x_output_display_block): ditto
10019         * redisplay-msw.c (mswindows_output_display_block): ditto
10020
10021 2000-02-02  Mike Alexander  <mta@arbortext.com>
10022
10023         Note: Some of these were committed by accident as part of other
10024         patches.
10025
10026         * regex.c (regex_compile): Avoid compiler warnings.
10027
10028         * ntproc.c (sys_spawnve): Avoid compiler warnings.
10029
10030         * nt.h: Declare term_ntproc correctly.
10031
10032         * nt.c: Remove incorrect declaration of get_home_directory which
10033         is declared correctly in lisp.h.
10034
10035         * keymap.c (get_keyelt): Avoid compiler warnings.
10036         (raw_lookup_key_mapper): Avoid compiler warnings.
10037
10038         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
10039
10040         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
10041
10042         * filemode.c (mode_string): Avoid compiler warnings.
10043
10044         * file-coding.c (Fcoding_system_aliasee): Add return statement to
10045         avoid warning.
10046
10047         * events-mod.h: Undef some things that winuser.h defines differently.
10048
10049         * data.c (Faset): Avoid compiler warnings.
10050
10051         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
10052
10053 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10054
10055         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
10056         Fall through to simple beep on error.
10057         Replace "extern" by real header file.
10058
10059         * linuxplay.c: Use nativesound.h
10060         (play_sound_data): Return error code. Be less verbose on error.
10061
10062         * sunplay.c: Use nativesound.h
10063         (play_sound_data): Return error code. Be less verbose on error.
10064
10065         * ntplay.c: Use nativesound.h
10066         (play_sound_data): Return fake error code
10067
10068         * sgiplay.c: Use nativesound.h
10069         (play_sound_data): Return error code
10070
10071         * hpplay.c: Use nativesound.h, partially implement
10072         new error code. Break compilation until finished.
10073         (play_sound_data): error code.
10074
10075         * nativesound.h (play_sound_file):
10076           (play_sound_data): Prototype in new header.
10077
10078 2000-03-31  Andy Piper  <andy@xemacs.org>
10079
10080         * glyphs-widget.c: (button_query_geometry): new function. Adjust
10081         for toggle and radio buttons.
10082         (image_instantiator_buttons): use it.
10083
10084 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10085
10086         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
10087         (x_update_horizontal_scrollbar_callback): Return if no mirror was
10088         found. Scrollbar event probably belonged to some old config.
10089
10090 2000-03-31  Andy Piper  <andy@xemacs.org>
10091
10092         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
10093         than 1.
10094         (initialize_widget_image_instance): default layout to
10095         LAYOUT_HORIZONTAL rather than 0.
10096         (widget_instantiate): reverse the item list at the end rather than
10097         every iteration.
10098         (layout_layout): re-code for the border text at the front of the
10099         item list rather than at the end.
10100         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
10101         provided by the user.
10102         (widget_query_geometry): comment.
10103
10104 2000-03-30  Andy Piper  <andy@xemacs.org>
10105
10106         * glyphs-widget.c (image_instantiator_layout): allow standard
10107         widget keywords in layouts.
10108
10109         * gutter.c (output_gutter): cope with nil gutter contents.
10110
10111         * frame.c (Fset_frame_properties): add gutter docs.
10112
10113 2000-03-29  Andy Piper  <andy@xemacs.org>
10114
10115         * toolbar-msw.c (TBSTYLE_FLAT): add.
10116         (mswindows_output_toolbar): minor fiddling.
10117
10118 2000-03-29  Andy Piper  <andy@xemacs.org>
10119
10120         * gutter.c (output_gutter): force gutter size recalculation if
10121         what we are trying to display won't fit.
10122         (update_gutter_geometry): new function. A per-gutter version of
10123         update_frame_gutter_geometry.
10124         (update_frame_gutter_geometry): use it.
10125         (redraw_exposed_gutter): add extra debugging output.
10126
10127 2000-03-28  Mike Alexander  <mta@arbortext.com>
10128
10129         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10130         (pdump_file_unmap): Implement it on Windows
10131         (pdump_file_get): Save alocated handles for pdump_file_unmap
10132
10133 2000-03-28  Andy Piper  <andy@xemacs.org>
10134
10135         * gui.c (get_gui_callback): treat Quit specially.
10136
10137 2000-03-27  Andy Piper  <andy@xemacs.org>
10138
10139         * glyphs.c (image_instantiate): be careful to check in the same
10140         way we assigned.
10141
10142 2000-03-27  Didier Verna  <didier@xemacs.org>
10143
10144         * config.h.in: define the proper SMART_INCLUDE macro.
10145         handle renaming of `foo_h_path' to `foo_h_file'.
10146
10147         * database.c: ditto.
10148
10149         * emacs.c: ditto.
10150
10151         * linuxplay.c: ditto.
10152
10153         * terminfo.c: ditto.
10154
10155         * tooltalk.h: ditto.
10156
10157 2000-03-27  Andy Piper  <andy@xemacs.org>
10158
10159         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10160         gets updated whenever the face might have changed.
10161
10162 2000-03-26  Mike Alexander  <mta@arbortext.com>
10163
10164         * dumper.c (pdump_resource_free): Fix the comment.
10165
10166 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10167
10168         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10169
10170 2000-03-22  Mike Alexander  <mta@arbortext.com>
10171
10172         * dumper.c: Include Windows headers on Windows
10173         (pdump_resource_free): Add a body to the function
10174         (pdump_load): exe_name -> exe_path and add some comments.
10175
10176 2000-03-25  Mike Alexander  <mta@arbortext.com>
10177
10178         * gui.c (copy_gui_item_tree): Return a value in all cases
10179
10180 2000-03-21  Didier Verna  <didier@xemacs.org>
10181
10182         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10183         lwlib/config.h.in.
10184         (SMART_INCLUDE): new macro.
10185         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10186         the proper location.
10187
10188         * postgresql.c: use it.
10189
10190         * inline.c: ditto.
10191
10192 2000-03-24  Andy Piper  <andy@xemacs.org>
10193
10194         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10195         do this.
10196
10197 2000-03-24  Andy Piper  <andy@xemacs.org>
10198
10199         * redisplay-output.c (compare_runes): use image_instance_changed
10200         to detect changes. Do not depend on glyphs_changed, only depend on
10201         dirtiness.
10202          (redisplay_output_layout): add debug messages.
10203         (compare_runes): ditto.
10204
10205         * glyphs.h: declare new functions.
10206         (struct Lisp_Image_Instance): remove percent and associated
10207         accessors.
10208
10209         * gui.h: declare new copying functions.
10210
10211         * gui.c (copy_gui_item_tree): new function.
10212         (copy_gui_item): new function.
10213         (gui_item_id_hash): revert to standard hash.
10214         (gui_item_hash): ditto.
10215         (gui_item_hash_internal): deleted.
10216         (mark_gui_item): mark value.
10217         (gui_item_add_keyval_pair): add value.
10218         (gui_item_init): ditto.
10219         (gui_add_item_keywords_to_plist): ditto.
10220         (gui_item_equal): ditto.
10221         (syms_of_gui): add Q_value.
10222
10223         * glyphs-x.c (x_progress_gauge_update): use pending items and
10224         value for setting the state.
10225         (x_update_widget): don't set items from pending here.
10226
10227         * glyphs-widget.c (update_widget): update items here.
10228         (progress_gauge_set_property): use items for storing value. Put
10229         new value in pending items.
10230
10231         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10232         items for new value. Convert percent -> value.
10233         (mswindows_tab_control_update): don't update items here.
10234
10235         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10236         (update_subwindow): ditto.
10237         (image_instance_changed): new function. Compare hash values and
10238         past and present widget items.
10239         (image_instantiate): We more careful about where we instantiate
10240         things.
10241         (image_instantiate): add error checking.
10242
10243         * gutter.c (syms_of_gutter): use -hook.
10244
10245 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10246
10247         * console-tty.c (Fset_console_tty_input_coding_system): Use
10248         Qkeyboard.
10249         (Fset_console_tty_output_coding_system): Use Qterminal.
10250         (tty_init_console): Use Qkeyboard and Qterminal.
10251
10252 2000-03-21  Ben Wing  <ben@xemacs.org>
10253
10254         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10255         From Mike Alexander <mta@arbortext.com>.
10256
10257 2000-03-21  Ben Wing  <ben@xemacs.org>
10258
10259         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10260         process brokenness.  Proper implementation to come.
10261         * callproc.c:
10262         Rename call-process-internal to old-call-process-internal.
10263         New impl. in process.el.
10264
10265 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10266
10267         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10268
10269 2000-03-20  Andy Piper  <andy@xemacs.org>
10270
10271         * glyphs.c (full_list_hash): make hashes of the same elements in
10272         different orders return different values.
10273
10274 2000-03-20  Martin Buchholz <martin@xemacs.org>
10275
10276         * XEmacs 21.2.32 is released.
10277
10278 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10279
10280         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10281         (DFC_MALLOC_USE_CONVERTED_DATA):
10282         Add aliasing-safe casts to allow use with char* or unsigned char*
10283         lvalues.
10284
10285         * eldap.c (Fldap_open):
10286         (Fldap_search_basic):
10287         (Fldap_add):
10288         (Fldap_modify):
10289         Make C++-compilable.
10290         Make sure GCPRO'ed variables are initialized.
10291         Use temp variables to avoid repeated calls to Flength.
10292
10293 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10294
10295         * sysfile.h:
10296         Make sure PATH_MAX is always defined.
10297         Include limits.h for PATH_MAX.
10298         Deprecate use of MAXPATHLEN.
10299
10300 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10301
10302         * emacs.c: Add reinit_vars_of_fileio.
10303         * symsinit.h: Add reinit_vars_of_fileio.
10304         * fileio.c (reinit_vars_of_fileio): New.
10305         * fileio.c (Fmake_temp_name):
10306         Initialize temp_name random number from microseconds to make
10307         collisions even less likely.  Initialize always at process startup
10308         time.  (make-temp-name) used to return the same file name twice in
10309         a row when PDUMP.
10310         Random stylistic fiddling.
10311         Comment fixes.
10312
10313 2000-03-20  Andy Piper  <andy@xemacs.org>
10314
10315         * glyphs.c (image_instantiate): allow text glyphs to be
10316         instantiated in the minibuffer window.
10317
10318 2000-03-19  Andy Piper  <andy@xemacs.org>
10319
10320         * glyphs.c (image_instance_hash): be careful about which items we
10321         hash on.
10322
10323         * glyphs-widget.c (tab_control_set_property): record into pending
10324         items rather than the actual items.
10325
10326         * glyphs-x.c (x_update_widget): use pending items to update with.
10327
10328         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10329         to update with.
10330
10331         * glyphs.c (mark_image_instance): mark pending items.
10332
10333         * window.c (Fset_window_configuration): record the buffer.
10334         (Fselect_window): totally revert previous change which breaks many
10335         things.
10336
10337 2000-03-18  Andy Piper  <andy@xemacs.org>
10338
10339         * glyphs-msw.c (mswindows_tab_control_update): force selected
10340         item.
10341
10342         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10343         window domain cache, otherwise we get inconsistencies at
10344         startup. There is something fishy at startup which can lead to the
10345         minibuffer being the selected window when the gutter content is
10346         instantiated.
10347
10348         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10349         gcpros.
10350         (parse_gui_item_tree_children): ditto.
10351         (parse_gui_item_tree_item): ditto.
10352
10353         * glyphs.c (Fupdate_widget_instances): return something.
10354
10355 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10356
10357         * window.c (Fselect_window): Undo 2000-03-17 change.
10358
10359 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10360
10361         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10362         against v7.0 libraries.  Insta-coredump city until the postgres
10363         folks fix it.
10364
10365 2000-03-17  Andy Piper  <andy@xemacs.org>
10366
10367         * faces.c (complex_vars_of_faces): don't give the widget face an
10368         inherited background pixmap.
10369
10370         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10371         selected item.
10372
10373         * event-stream.c (Fdispatch_non_command_events): return something.
10374
10375         * gutter.c (output_gutter): use widget face.
10376         (clear_gutter): ditto.
10377
10378         * NEWS: adjust again.
10379
10380         * window.c (Fselect_window): make sure this runs to completion to
10381         avoid oddities with Fset_window_configuration.
10382         (Fcurrent_window_configuration): in general do not save the
10383         minibuffer as the selected window.
10384
10385         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10386
10387 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10388
10389         * emacs.c (Frunning_temacs_p): Revert previous patch.
10390         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10391
10392 2000-03-16  Andy Piper  <andy@xemacs.org>
10393
10394         * glyphs-x.c (x_tab_control_update): if no widget values then
10395         return.
10396
10397         * NEWS: update for new features.
10398
10399         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10400         synthetic event to the native system.
10401         (reinit_vars_of_event_Xt): set force_event_pending to
10402         emacs_Xt_force_event_pending.
10403
10404         * events.h (struct event_stream): add force_event_pending.
10405
10406         * specifier.c (recompute_one_cached_specifier_in_window): add
10407         comment.
10408
10409         * redisplay.c (redisplay_frame): don't call
10410         update_frame_subwindows. Reset subwindow cachels when
10411         subwindows_changed, removing this was an optimization too far.
10412
10413         * redisplay-output.c (compare_runes): reorganize so that we catch
10414         glyph changes when we want them. Set optimize_output when this
10415         would help layouts.
10416         (redisplay_output_layout): remove frame_really_changed, use
10417         optimize_output instead.
10418
10419         * redisplay-msw.c (mswindows_output_display_block): reset
10420         optimize_output after outputting a glyph.
10421         * redisplay-x.c (x_output_display_block): ditto.
10422         * redisplay-tty.c (tty_output_display_block): ditto.
10423
10424         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10425         functions.
10426         (gutter_specs_changed): do specific gutter positions.
10427         (top_gutter_specs_changed): new function. Only update the
10428         specified gutter specs.
10429         (bottom_gutter_specs_changed): ditto.
10430         (left_gutter_specs_changed): ditto.
10431         (right_gutter_specs_changed): ditto.
10432
10433         * gui.c (gui_item_hash_internal): new function, does a real hash.
10434         (gui_item_id_hash): use it.
10435         (gui_item_hash): hash the eval'ed gui_item.
10436
10437         * gui-x.c (popup_selection_callback): send an eval event to call
10438         Fupdate_widget_instances.
10439
10440         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10441         to call Fupdate_widget_instances.
10442
10443         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10444         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10445
10446         * glyphs.c: (update_frame_subwindows): deleted.
10447         (Fupdate_widget_instances): new function for updating the dirty
10448         state of widgets that might have changed.
10449         (syms_of_glyphs): add Qupdate_widget_instances.
10450         (full_list_hash): hash a list completely.
10451         (image_instance_hash): use it for items and properties.
10452
10453         * frame-msw.c (mswindows_size_frame_internal): remove unused
10454         variable.
10455
10456         * faces.h (struct face_cachel): fix comment.
10457
10458         * event-stream.c (Fdispatch_non_command_events): new
10459         function. Process non-command events, forcing an event cycle
10460         beforehand.
10461         (syms_of_event_stream): declare.
10462         (event_stream_force_event_pending): new function. Force an event
10463         on the native event queue so that an event cycle will occur next
10464         time we check.
10465
10466         * event-msw.c:
10467         (struct ntpipe_shove_stream):
10468         (mswindows_enqueue_dispatch_event):
10469         (mswindows_dequeue_dispatch_event):
10470         (mswindows_cancel_dispatch_event):
10471         (mswindows_pump_outstanding_events):
10472         (mswindows_drain_windows_queue):
10473         (mswindows_handle_paint):
10474         (mswindows_wnd_proc):
10475         (mswindows_key_to_emacs_keysym):
10476         (get_process_input_waitable):
10477         (emacs_mswindows_delete_stream_pair): re-indent file.
10478         (mswindows_need_event): do not process further fds if the windows
10479         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10480         fixes the 100% cpu problem.
10481         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10482
10483 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10484
10485         * alloc.h: New.
10486         * dumper.h: New.
10487         * dumper.c: New.
10488
10489         * emacs.c: Moved dump file searching to dumper.c.
10490         (Frunning_temacs_p): Fixed.
10491
10492         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10493         last_lrecord_type_index_assigned.
10494
10495 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10496
10497         * symsinit.h: Added reinit parameter to init_console_stream
10498         declaration.
10499
10500         * lisp.h: Added file parameter to pdump_load declaration.
10501
10502         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10503         support.  Added dump file searching.
10504
10505         * config.h.in: Added EMACS_PROGNAME.
10506
10507         * console-stream.c (init_console_stream): Fix reinitialisation
10508         when running from temacs.
10509
10510         * alloc.c (pdump): Add id support.
10511         (pdump_load): Add file parameter and signature/id support.
10512
10513         * Makefile.in.in: Add full pdump support.
10514
10515 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10516
10517         * postgresql.c: Update documentation to reflect latest code
10518         status.
10519         (print_result): Show tuple counts in printed representation when
10520         appropriate.
10521         (Fpq_put_nbytes): MULE-ize.
10522         (Fpq_get_line_async): Ditto.
10523
10524 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10525
10526         * postgresql.c (Fpq_lo_import): Fix return value.
10527         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10528
10529 2000-03-13  Ben Wing  <ben@xemacs.org>
10530
10531         * alloc.c (pdump_load):
10532         Fix compile warning under mswin.
10533
10534 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10535
10536         * postgresql.c: Mule-ization, bug fixes.
10537         Use PG_CODING to encapsulate coding system name changes.
10538         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10539         (pg-coding-system): Create.
10540
10541         (Fpq_conn_defaults): Mule-ize.
10542         (Fpq_connectdb): Mule-ize & bug fix.
10543         (Fpq_connect_start): Mule-ize.
10544         (Fpq_set_client_encoding): Mule-ize.
10545         (Fpq_finish): Document `DEAD' connection status.
10546         (Fpq_clear): Ditto.
10547         (Fpq_pgconn): Mule-ize.
10548         (Fpq_exec): Mule-ize & bug fix.
10549         (Fpq_send_query): Ditto.
10550         (Fpq_get_result): Ditto.
10551         (Fpq_res_status): Mule-ize.
10552         (Fpq_result_error_message): Mule-ize.
10553         (Fpq_ntuples): fix comments.
10554         (Fpq_fname): Mule-ize.
10555         (Fpq_fnumber): Mule-ize.
10556         (Fpq_ftype): fix comments.
10557         (Fpq_get_value): Mule-ize.
10558         (Fpq_cmd_status): Ditto.
10559         (Fpq_cmd_tuples): Ditto.
10560         (Fpq_oid_value): Ditto.
10561         (Fpq_notifies): Ditto.
10562         (Fpq_lo_import): Ditto.
10563         (Fpq_lo_export): Ditto.
10564         (Fpq_get_line): Ditto.
10565         (Fpq_put_line): Mule-ize and bug fix.
10566         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10567
10568 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10569
10570         * postgresql.c (vars_of_postgresql): Mule-ize.
10571         (Fpq_conn_defaults): Ditto.
10572
10573 2000-03-12  Ben Wing  <ben@xemacs.org>
10574
10575         * alloc.c (Fmake_byte_code):
10576         * alloc.c (debug_string_purity_print):
10577         * alloc.c (pdump_backtrace):
10578         * alloc.c (pdump_get_indirect_count):
10579         * alloc.c (pdump_register_sub):
10580         * alloc.c (pdump_register_object):
10581         * alloc.c (pdump_register_struct):
10582         * alloc.c (pdump_dump_data):
10583         * alloc.c (pdump_reloc_one):
10584         Minor cleanups.
10585
10586         * console-msw.c:
10587         * console-msw.c (GetConsoleHwnd):
10588         * console-msw.c (msw_hide_console):
10589         * console-msw.c (msw_show_console):
10590         * console-msw.c (msw_ensure_console_buffered):
10591         * console-msw.c (msw_output_console_string):
10592         * console-msw.c (console_type_create_mswindows):
10593
10594         a) Added functions to manipulate the console window for use with
10595         shell support.
10596
10597         b) Added support for writing text to the console, which is now
10598         used under Windows when xemacs is not being run non-interactively,
10599         to write text that would otherwise be destined for stdout because
10600         under these circumstances, text written to stdout tends to
10601         disappear and not be seen.
10602
10603         * console-msw.h:
10604         * event-Xt.c:
10605         * event-Xt.c (x_event_to_emacs_event):
10606         * event-Xt.c (describe_event_window):
10607         * events-mod.h (XEMACS_MOD_CONTROL):
10608         * events.c:
10609         * events.c (Fmake_event):
10610         * events.c (character_to_event):
10611         * events.c (event_to_character):
10612         * events.c (format_event_object):
10613         * events.c (Fevent_modifiers):
10614         * events.h:
10615         * events.h (struct key_data):
10616         * events.h (struct button_data):
10617         * events.h (struct misc_user_data):
10618         * frame-x.c (Fcde_start_drag_internal):
10619         * frame-x.c (Foffix_start_drag_internal):
10620         * gpmevent.c (Freceive_gpm_event):
10621         * keymap.c:
10622         * keymap.c (bucky_sym_to_bucky_bit):
10623         * keymap.c (control_meta_superify):
10624         * keymap.c (make_key_description):
10625         * keymap.c (keymap_lookup_directly):
10626         * keymap.c (create_bucky_submap):
10627         * keymap.c (keymap_store):
10628         * keymap.c (define_key_check_and_coerce_keysym):
10629         * keymap.c (define_key_parser):
10630         * keymap.c (define_key_alternate_name):
10631         * keymap.c (Fdefine_key):
10632         * keymap.c (raw_lookup_key_mapper):
10633         * keymap.c (struct map_keymap_unsorted_closure):
10634         * keymap.c (map_keymap_unsorted_mapper):
10635         * keymap.c (map_keymap_sort_predicate):
10636         * keymap.c (map_keymap_sorted):
10637         * keymap.c (accessible_keymaps_mapper_1):
10638         * keymap.c (where_is_recursive_mapper):
10639         * keymap.c (describe_map_mapper):
10640         * keymap.c (describe_map_sort_predicate):
10641         * keymap.c (describe_map):
10642         * keymap.c (complex_vars_of_keymap):
10643         And a number of other files, the key modifier preprocessor
10644         constants that xemacs uses have names that conflict with constants
10645         defined under MS Windows for other purposes, so they were renamed
10646         to begin with the prefix XEMACS_. The variables that hold such
10647         modifiers were changed to consistently be of type int to fix
10648         various compile warnings.
10649
10650         * console.c (complex_vars_of_console):
10651         * device.c:
10652         * device-msw.c:
10653         * device-msw.c (mswindows_finish_init_device):
10654         * device-msw.c (msw_get_workspace_coords):
10655         * device-msw.c (mswindows_device_system_metrics):
10656         and various other files, added support for a new
10657         device property called offset-workspace which returns the position
10658         of the upper left corner of the workspace area and goes along with
10659         the existing size-workspace property.
10660
10661         * dialog-msw.c:
10662         * dialog-msw.c (push_bufbyte_string_as_unicode):
10663         * dialog-msw.c (mswindows_popup_dialog_box):
10664         Added support for XEmacs-style accelerator specifications in
10665         button text.  Note: I didn't add support for this under X Windows,
10666         and somebody needs to do this.
10667
10668         * dialog.c:
10669         * dialog.c (Fpopup_dialog_box):
10670         Documented the support for accelerators that was just mentioned.
10671
10672         editfns.c (get_home_directory): Changed behavior under Windows
10673         when HOME not defined; former behavior was irretrievably broken.
10674
10675         * emacs.c:
10676         * emacs.c (main_1):
10677         * emacs.c (main):
10678         * minibuf.c (clear_echo_area_internal):
10679         * minibuf.c (echo_area_append):
10680         * print.c:
10681         * print.c (std_handle_out_external):
10682         * print.c (std_handle_out_va):
10683         * print.c (fatal):
10684         * print.c (write_string_to_stdio_stream):
10685         * print.c (output_string):
10686         * print.c (debug_print):
10687         * print.c (debug_backtrace):
10688         * print.c (debug_short_backtrace):
10689         Cleaned up the code that prints text to stdout so that this can be
10690         changed to output into a console window instead under MS Windows,
10691         as described above.
10692
10693         * eval.c:
10694         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10695         * eval.c (internal_catch):
10696         * eval.c (unwind_to_catch):
10697         * eval.c (throw_or_bomb_out):
10698         * eval.c (condition_case_1):
10699         * eval.c (signal_1):
10700         * eval.c (check_error_state_sanity):
10701         * eval.c (call_with_suspended_errors_1):
10702         * eval.c (call_with_suspended_errors):
10703         * eval.c (reinit_vars_of_eval):
10704         Added code to catch throw loops and check for a pesky bug that may
10705         be gone now.
10706
10707         * event-msw.c:
10708         * event-msw.c (key_needs_default_processing_p):
10709         * event-msw.c (mswindows_wnd_proc):
10710         * event-msw.c (mswindows_modifier_state):
10711         * event-msw.c (emacs_mswindows_quit_p):
10712         * event-msw.c (vars_of_event_mswindows):
10713         a) Added support for using the alt key to select menu items as is
10714         standard under MS Windows.  This is controlled using the variable
10715         menu-accelerator-enabled, just like under X Windows.  There is an
10716         option on the options menu to turn this support on.  I really
10717         think that it should be on by default under Windows, but I'm not
10718         going to make this change yet.
10719
10720         b)  Added support for dynamic display size changes under Windows.
10721
10722         * event-stream.c:
10723         * event-stream.c (maybe_echo_keys):
10724         * event-stream.c (Fnext_event):
10725         * event-stream.c (command_builder_find_leaf):
10726         * event-stream.c (lookup_command_event):
10727         * event-stream.c (execute_command_event):
10728         * event-stream.c (pre_command_hook):
10729         * event-stream.c (post_command_hook):
10730         * event-stream.c (syms_of_event_stream):
10731         * event-stream.c (vars_of_event_stream):
10732         * event-stream.c (complex_vars_of_event_stream):
10733         * events.h (struct command_builder):
10734
10735         a) Tried to clean up a little bit the horribly written x-specific
10736         accelerator code that crept into this file.  I moved this code
10737         into menubar-x.c where it belongs. I also needed to move the
10738         command builder structure into the file events.h because it is
10739         accessed directly by this accelerator code.  What I didn't do, but
10740         which should be done at some point, is to properly abstract this
10741         code using device methods instead of the kludgy way that it
10742         currently hooks into the event code.
10743
10744         b) Added the lisp variables this-command-properties and
10745         last-command- properties, which should be used to synchronize two
10746         adjacent commands in preference to playing games with the variable
10747         this-command, which is typically what happens.
10748
10749         c) Added some slightly nasty code to hook into the lisp support
10750         for shifted- motion-key selection.  This is actually necessary for
10751         somewhat complicated reasons, which are described in
10752         simple.el. (NB: I think the proper thing would be to have the code
10753         that calls the pre and post command hooks also call out to generic
10754         lisp functions in simple.el, where all built-in stuff could be
10755         added.  I will think about this more.)
10756
10757         * event-unixoid.c (poll_fds_for_input):
10758         * lread.c (readchar):
10759         * redisplay-tty.c (tty_clear_frame):
10760         * redisplay-x.c (x_get_gc):
10761         * signal.c (interrupt_signal):
10762         And a whole bunch of other files: fixed up places that printed
10763         directly to stderr to instead call the function stderr_out so that
10764         the changes I made under Windows work correctly.
10765
10766         * filemode.c (mode_string):
10767         Warning fixes.
10768
10769         * frame-msw.c:
10770         * frame-msw.c (mswindows_size_frame_internal):
10771         Fixed the computation of frame size and position to keep the frame
10772         within the workspace area, rather than within the physical
10773         dimensions of the screen, so that the frame doesn't overlap window
10774         manager decorations, such as the start menu and toolbar, typically
10775         at the bottom of the screen.
10776
10777         * frame.c (vars_of_frame):
10778         Changed the default frame title format under MS Windows to consist
10779         of buffername-XEmacs, which is standard under MS Windows.  I think
10780         it might be a good idea to change this everywhere because I think
10781         it is superior to the current frame title format, but this is the
10782         kind of change that is likely to cause some people to get annoyed,
10783         so I'm not making it.
10784
10785         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10786
10787         * gui-msw.c (mswindows_handle_gui_wm_command):
10788         Fixed compile warnings.
10789
10790         * gui-x.c:
10791         * gui-x.c (strdup_and_add_accel):
10792         * gui-x.c (button_item_to_widget_value):
10793         * gui-x.h:
10794         Added code to automatically put an accelerator onto the beginning
10795         of menu items that don't have one as is now the standard, and is
10796         described more later.  Also fixed things so that the menu item
10797         name can be an evaluated expression, again a new standard.
10798
10799         * gui.c:
10800         * gui.c (gui_item_add_keyval_pair):
10801         * gui.c (make_gui_item_from_keywords_internal):
10802         * gui.c (gui_add_item_keywords_to_plist):
10803         * gui.c (gui_item_accelerator):
10804         * gui.c (gui_name_accelerator):
10805         * gui.c (gui_item_included_p):
10806         * gui.c (gui_item_display_flush_left):
10807         * gui.c (gui_item_display_flush_right):
10808         * gui.c (parse_gui_item_tree_item):
10809         * gui.c (parse_gui_item_tree_children):
10810         * gui.c (parse_gui_item_tree_list):
10811         Mule-ized.  Cleanup.  GCPRO addition.
10812
10813         * line-number.c (buffer_line_number):
10814         * lisp.h:
10815         * lisp.h (EMACS_INT_MAX):
10816         Added the manifest constant EMACS_INT_MIN corresponding to the
10817         existing constant EMACS_INT_MAX.  This is partially to fix compile
10818         warnings under Windows, and partly for cleanliness.
10819
10820         * menubar-msw.c:
10821         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10822         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10823         * menubar-msw.c (displayable_menu_item):
10824         * menubar-msw.c (populate_menu_add_item):
10825         * menubar-msw.c (populate_or_checksum_helper):
10826         * menubar-msw.c (populate_menu):
10827         * menubar-msw.c (update_frame_menubar_maybe):
10828         * menubar-msw.c (prune_menubar):
10829         * menubar-msw.c (msw_char_is_accelerator):
10830         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10831         * menubar-msw.c (mswindows_handle_wm_command):
10832         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10833         * menubar-msw.c (mswindows_handle_wm_initmenu):
10834         * menubar-msw.c (mswindows_update_frame_menubars):
10835         * menubar-msw.c (mswindows_free_frame_menubars):
10836         * menubar-msw.c (mswindows_popup_menu):
10837         Fixed a bug in handling accelerators where an extra character
10838         would be displayed in the menu item.  Also generalized the
10839         function displayable_menu_item because it is now used by the
10840         dialog box code as well.  And finally, added code in the functions
10841         that create the menubar to extract a list of accelerators for the
10842         top level menubar, which is used in the event code to determine
10843         whether a particular alt-key combination should be used to invoke
10844         a menu item, or should be passed through to access the standard
10845         XEmacs keymap binding for this key combination.
10846
10847         Much needed GCPROing.
10848
10849         * menubar-x.c:
10850         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10851         * menubar-x.c (menu_item_descriptor_to_widget_value):
10852         * menubar-x.c (restore_in_menu_callback):
10853         * menubar-x.c (x_popup_menu):
10854         * menubar-x.c (menu_move_up):
10855         * menubar-x.c (menu_move_down):
10856         * menubar-x.c (menu_move_left):
10857         * menubar-x.c (menu_move_right):
10858         * menubar-x.c (menu_select_item):
10859         * menubar-x.c (command_builder_operate_menu_accelerator):
10860         * menubar-x.c (menu_accelerator_junk_on_error):
10861         * menubar-x.c (command_builder_find_menu_accelerator):
10862         * menubar-x.c (Faccelerate_menu):
10863         * menubar.h:
10864         Moved a whole bunch of code here that was previously in
10865         event-stream.c as described above.  There is also code connected
10866         to the new standard of adding an accelerator to the beginning of
10867         menu items that don't have one as described above and below.
10868
10869         * menubar.c:
10870         * menubar.c (menu_parse_submenu_keywords):
10871         * menubar.c (Fmenu_find_real_submenu):
10872         * menubar.c (Fnormalize_menu_item_name):
10873         * menubar.c (syms_of_menubar):
10874         * menubar.c (vars_of_menubar):
10875         * menubar.c (complex_vars_of_menubar):
10876
10877         a) Cleaned up a bunch of documentation and improved it.
10878
10879         b) XEmacs now automatically adds an accelerator onto the beginning
10880         of any menu items that don't have one.  I did this because there
10881         will inevitably be some menu items on the main menubar that don't
10882         have accelerators on them because the package that adds that
10883         particular menu item hasn't yet been fixed up to have accelerators
10884         in them and it looked rather strange to have some items with and
10885         some items without accelerators, especially since even in items
10886         without accelerators, you can, at least under windows, still
10887         access the item through an accelerator corresponding to the first
10888         character in the item's name.  If people don't like this behavior,
10889         I can add a variable to turn it off optionally, but I'm not sure
10890         this is a good idea because we really do need to have accelerators
10891         on all of the menu items, and if a package doesn't like the
10892         accelerators being put on the first character, then it should put
10893         the accelerators where they belong.
10894
10895         c) I made a behavior change, which is that the descriptor that
10896         specifies the text of the menu item, which formerly was just a
10897         string, can now also be an evaluated expression.  This makes this
10898         descriptor parallel with all of the others, which could also be
10899         evaluated expressions.  This also obviates the need for the
10900         keyword :label, which was previously listed in the documentation
10901         as unimplemented, and which was for the same purpose.
10902
10903         d) GCPROing.
10904
10905         * ntproc.c:
10906         * ntproc.c (new_child):
10907         * ntproc.c (sys_spawnve):
10908         * ntproc.c (find_child_console):
10909         * ntproc.c (sys_kill):
10910         Fixed compile warnings.  By the way, this file should really go
10911         away entirely, and this will happen as soon as Kirill makes his
10912         final round of process cleanups, which affect the function
10913         call-process.
10914
10915         * process-nt.c:
10916         * process-nt.c (struct nt_process_data):
10917         * process-nt.c (find_process_from_pid):
10918         * process-nt.c (send_signal_the_nt_way):
10919         * process-nt.c (enable_child_signals):
10920         * process-nt.c (find_child_console):
10921         * process-nt.c (send_signal_the_95_way):
10922         * process-nt.c (nt_finalize_process_data):
10923         * process-nt.c (ensure_console_window_exists):
10924         * process-nt.c (nt_create_process):
10925         * process-nt.c (nt_kill_child_process):
10926         * process-nt.c (nt_kill_process_by_pid):
10927         * process-nt.c (nt_open_network_stream):
10928         * process-nt.c (vars_of_process_nt):
10929         Copied over code from Emacs 20.5 to correctly send signals to sub-
10930         processes under Windows 95.  Also added code to automatically
10931         create and hide console window when a sub-process is created under
10932         Windows 95, which obviates the need for the separate runemacs.exe
10933         executable, and finally implemented some variables that were
10934         implemented in Emacs 20.5, but previously not in XEmacs.  These
10935         include mswindows- start-process-share-console and
10936         mswindows-start-process-inherit-error-mode. (Both of these only
10937         apply to Windows 95.)
10938
10939         * regex.c (regex_compile): Fixed a compile warning.
10940
10941         * select-msw.c:
10942         * select-msw.c (mswindows_own_selection):
10943         * select-msw.c (mswindows_get_foreign_selection):
10944         * select-msw.c (mswindows_disown_selection):
10945         * select-msw.c (console_type_create_select_mswindows):
10946         * select-msw.c (syms_of_select_mswindows):
10947         Cleaned up the file and implemented the device method
10948         selection_exists_p, which had accidentally been left out.  Also
10949         removed four lisp functions that were remnants from before the
10950         time when the selection code was properly device abstracted.
10951         These functions are no longer needed because there are generic
10952         equivalents, and because they were added recently and don't exist
10953         in FSF Emacs, I don't think there's any problem with just deleting
10954         them.
10955
10956         * sysdep.c:
10957         * sysdep.c (sys_subshell):
10958         Fixed a compile warning, although in this case there's probably
10959         something wrong with this code, and it ought to be looked into
10960         more thoroughly by somebody who understands it.
10961
10962         * window.c:
10963         * window.c (Fwindow_text_area_height):
10964         * window.c (Fwindow_width):
10965         * window.c (Fwindow_full_width):
10966         * window.c (Fwindow_pixel_width):
10967         * window.c (debug_print_window):
10968         * window.c (syms_of_window):
10969         Added functions window-text-area-height and window-full-width,
10970         which are functions for returning various width and height
10971         characteristics of a window. (One of these functions is necessary
10972         for making the file dialog box work correctly, and the other one
10973         was added for completeness.)  Also added a table to the
10974         documentation for window-height which describes the entire scheme
10975         for accessing width and height characteristics of a window.
10976
10977 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10978
10979         * nt.c (fstat): Added a comment for another problem with
10980         non-encapsulated [f]stat(), reported by Adrian Aichner
10981         <aichner@ecf.teradyne.com>.
10982
10983 2000-03-11  Andy Piper  <andy@xemacs.org>
10984
10985         * window.c (make_dummy_parent): initialize subwindow instance
10986         cache.
10987         (Fset_window_configuration): zero extent_modiff.
10988
10989 2000-03-10  Andy Piper  <andy@xemacs.org>
10990
10991         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10992         more changes can be triggered.
10993         (Fredisplay_frame): ditto.
10994         (Fredraw_device): ditto.
10995         (Fredisplay_device): ditto.
10996         (redisplay_frame): make non-static.
10997         (redisplay_frame): call update_frame_gutter_geometry outside of
10998         display proper.
10999
11000         * gutter.h: declare update_frame_gutter_geometry.
11001
11002         * redisplay.h: declare redisplay_frame.
11003
11004         * gutter.c (update_frame_gutter_geometry): move geometry changes
11005         in update_frame_gutters here. Geometry changes can only occur
11006         outside of redisplay.
11007         (update_frame_gutters): remove geometry change code.
11008         (Fredisplay_gutter_area): make sure that we are in display when we
11009         update and that we have flushed any size changes.
11010
11011 2000-03-11  Andy Piper  <andy@xemacs.org>
11012
11013         * alloc.c (pdump_dump_data): remove i & count shadows.
11014
11015 2000-02-27  Mike Alexander  <mta@arbortext.com>
11016
11017         * sysdep.h: Declare pdump_read_file
11018
11019         * sysdep.c (pdump_read_file): New function
11020
11021         * alloc.c (pdump_load): Call pdump_read_file to get the portable
11022         dump data
11023
11024 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11025
11026         * lrecord.h: add `lrecord_type_pgsetenv'.
11027
11028 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
11029
11030         * symsinit.h: declare (vars|syms)_of* functions.
11031         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
11032
11033 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
11034
11035         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
11036
11037         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
11038         GCCs.
11039
11040         * emacs.c (main_1): Call postgres initialization code.
11041
11042         * postgresql.h: New file.  PostgreSQL RDBMS support.
11043         * postgresql.c: New file.
11044
11045 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11046
11047         * redisplay-output.c (redisplay_output_display_block): Disable
11048         redundant code.
11049
11050 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11051
11052         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
11053         (Fcanna_henkan_next): Ditto.
11054         (Fcanna_bunsetu_henkou): Ditto.
11055         (Fcanna_henkan_kakutei): Ditto.
11056         (Fcanna_henkan_end): Ditto.
11057         (Fcanna_henkan_quit): Ditto.
11058         (Fcanna_henkan_next): Set retun value correctly.
11059         (c2mu): Use unsigned char instead of signed char.
11060
11061 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11062
11063         * emacs.c (main_1): Always call syms_of_gui.
11064         * inline.c: include gui.h
11065
11066 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11067
11068         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
11069         converted to Lisp_Object.
11070         (Qtop_bottom): New variable.
11071         (syms_of_redisplay): Initialize it.
11072         * redisplay.h (Vvisible_bell): Ditto.
11073         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
11074         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
11075         only flash top and bottom.
11076
11077 2000-03-08  Andy Piper  <andy@xemacs.org>
11078
11079         * buffer.c (Frename_buffer): record new buffer name the right way.
11080
11081 2000-03-08  Andy Piper  <andy@xemacs.org>
11082
11083         * glyphs.c (update_subwindow): increase hash depth so that widget
11084         items get picked up properly.
11085
11086         * redisplay-output.c (compare_runes): increase hash depth so that
11087         widget items get picked up properly.
11088
11089 2000-03-08  Andy Piper  <andy@xemacs.org>
11090
11091         * gutter.c (output_gutter): add some debug.
11092
11093         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
11094         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
11095         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
11096
11097         * redisplay-output.c (compare_runes): use display_hash to
11098         determine if glyphs really are not the same.
11099
11100         * glyphs.c (update_subwindow): check display_hash to see if
11101         anything really needs to be updated. If not then do
11102         nothing. Record the display_hash after updating.
11103         (image_instance_equal): compare the image_instance face also.
11104
11105 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
11106
11107         * redisplay.h: Fix comment style.
11108
11109 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11110
11111         * consle-msw.h (struct mswindows_frame):
11112         Added new member paint_pending to indicate whether a WM_PAINT
11113         magic event has been queued for this frame.
11114
11115         * event-msw.c (mswindows_drain_windows_queue):
11116         Don't queue a WM_PAINT magic event if one is already queued.
11117         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
11118
11119         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
11120
11121 2000-03-07  Didier Verna  <didier@xemacs.org>
11122
11123         * dired.c: #include `regex.h' after `sysfile.h'.
11124
11125 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11126
11127         * sound.c (init_nas_sound): Fix compiler warning.
11128
11129         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11130         (FREE_STRUCT_P):
11131         (MARK_STRUCT_AS_FREE):
11132         (MARK_STRUCT_AS_NOT_FREE):
11133         Make `gcc -fstrict-aliasing' work properly.
11134
11135 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11136
11137         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11138         (mswindows_delete_device): Call CoUnnitialize().
11139
11140         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11141
11142 2000-02-25    <CraigL@DyCon.com>
11143
11144         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11145         <errno.h>.
11146
11147         * sysdep.c: This extern declaration for environ prevents MinGW
11148         from finding the variable in CRTDLL.DLL.
11149
11150         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11151         windows headers.
11152         (SHGFI_EXETYPE): ..
11153         (WM_MOUSEWHEEL): ..
11154         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11155         definitions.
11156         (MMRESULT): Removed, now defined in cygwin's windows headers.
11157         (TIMECAPS): ..
11158         (uid_t,gid_t,pid_t,ssize_t): ..
11159         (_timeb): Removed, MinGW defines both _timeb and timeb.
11160         (HAVE_H_ERRNO): Added.
11161         (HAVE_TZNAME): Added, configure is not detecting this.
11162
11163 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11164
11165         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11166         * syntax.c (syntax_match): Use it.
11167
11168         * cmds.c: Import auto-fill-chars from FSF Emacs.
11169         (Vauto_fill_chars): New variables.
11170         (internal_self_insert): Check Vauto_fill_chars.
11171         (vars_of_cmds):
11172         Declare auto-fill-chars as a Lisp variable and initialize it.
11173
11174 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11175
11176         * fileio.c (Fmake_symbolic_link):
11177         (Ffile_symlink_p):
11178         Run handlers even if local machine doesn't have symlinks.
11179
11180 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11181
11182         * event-msw.c (mswindows_drain_windows_queue):
11183         Don't generate paint magic events for non-XEmacs frames.
11184
11185 2000-03-05  Andy Piper  <andy@xemacs.org>
11186
11187         * redisplay.c (redisplay_frame): generate_displayable_area and
11188         friends assumes that we are not in GC, we therefore have to make
11189         sure that this doesn't happen.
11190
11191         * gutter.c (calculate_gutter_size): generate_displayable_area
11192         assumes that we are not in GC, we therefore have to make sure that
11193         this doesn't happen.
11194
11195 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11196
11197         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11198
11199 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11200
11201         * redisplay.c (regenerate_window): Make sure we set a sane value
11202         for end_pos even if we jump out of the loop.
11203         (regenerate_window): Answer Ben's question :-).
11204         (start_end_of_last_line): Add may_error argument.
11205         (start_of_last_line):
11206         (end_of_last_line): Pass may_error = 0.
11207         (end_of_last_line_may_error): New function.
11208         (pixel_to_glyph_translation): Use it, so we don't crash in
11209         event_to_glyph.
11210
11211 2000-03-04  Andy Piper  <andy@xemacs.org>
11212
11213         * window.h (struct window): add gutter_extent_modiff.
11214
11215         * window.c (allocate_window): zero out gutter_extent_modiff.
11216
11217         * redisplay.h: declare sync_display_line_structs.
11218
11219         * redisplay.c (add_glyph_rune): add a better comment.
11220
11221         * redisplay-output.c (sync_display_line_structs): made non-static.
11222         (compare_runes): remove unneccesary glyph cachel access.
11223
11224         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11225
11226         * gutter.c (output_gutter): don't output the gutter if extent
11227         changes only involve extents in buffers. use 4 sets of display
11228         lines.
11229         (gutter_extent_signal_changed_region_maybe): new function. Mark
11230         extents in gutters as changed.
11231         (update_frame_gutters): use 4 sets of display lines.
11232         (reset_gutter_display_lines): ditto.
11233         (free_frame_gutters): ditto.
11234         (redraw_exposed_gutter): force output of gutters.
11235
11236         * frame.h (struct frame): add 4 sets of gutter display lines.
11237
11238         * extents.c: (extent_changed_for_redisplay): signal changes to
11239         extents in strings in the gutter as well as extents in buffers.
11240
11241 2000-03-02  Andy Piper  <andy@xemacs.org>
11242
11243         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11244
11245         * frame.c (Fmake_frame): make sure the gutters get initialized
11246         after the frame is visible.
11247         (set_frame_selected_window): re-arrange compilation macros a
11248         little.
11249         (change_frame_size_1): mark gutters changed.
11250
11251         * device.c (Fset_device_class): mark gutters changed.
11252
11253 2000-03-01  Andy Piper  <andy@xemacs.org>
11254
11255         * window.c (window_top_frame_gutter_height): deleted.
11256         (window_bottom_frame_gutter_height): ditto.
11257         (window_left_frame_gutter_height): ditto.
11258         (window_right_frame_gutter_height): ditto.
11259         (window_top_gutter_height): don't use them.
11260         (window_bottom_gutter_height): ditto.
11261         (window_left_gutter_width): ditto.
11262         (window_right_gutter_width): ditto.
11263         (Fsplit_window): ditto.
11264         (Fwindow_pixel_edges): don't use border dimensions here.
11265
11266         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11267         (update_scrollbar_instance): ditto.
11268
11269         * redisplay.c (generate_modeline): don't take gutters into account.
11270         (generate_modeline): ditto.
11271         (redisplay_frame): small gutter display optimization.
11272
11273         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11274
11275         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11276         gutters into account.
11277
11278         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11279         for window position and type.
11280
11281         * gutter.c (get_gutter_coords): fix for frame gutters.
11282         (update_frame_gutters): update frame geometry if the gutters have
11283         changed.
11284         (init_frame_gutters): record current gutter geometries.
11285
11286         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11287         var.
11288         (mswindows_widget_instantiate): ditto.
11289
11290         * frame.h (struct frame): add current_gutter_bounds.
11291
11292         * frame.c (change_frame_size_1): position window and minibuffer
11293         appropriately taking into account the frame gutters.
11294
11295         * frame-x.c: (x_initialize_frame_size): take into account the
11296         frame gutters.
11297
11298 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11299
11300         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11301
11302 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11303
11304         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11305
11306 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11307
11308         * file-coding.c (reset_decoding_stream): Clear previous
11309         detection state when autodetect.
11310
11311 2000-02-29  Didier Verna  <didier@xemacs.org>
11312
11313         * extents.c (set_extent_glyph_1): don't require extents to be
11314         attached.
11315
11316 2000-02-27  Andy Piper  <andy@xemacs.org>
11317
11318         * gutter.c (Fset_default_gutter_position): don't default left and
11319         right gutter visibility to t.
11320         (Fset_default_gutter_position): run
11321         default-gutter-position-changed-hook.
11322         (syms_of_gutter): add default-gutter-position-changed-hook.
11323
11324 2000-02-26  Andy Piper  <andy@xemacs.org>
11325
11326         * specifier.c (Fmake_specifier): add gutter references.
11327
11328         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11329
11330         * lisp.h: declare Fvalid_plist_p.
11331
11332         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11333         as changed.
11334         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11335         well as its visibility so that it gets reconstructed.
11336         (construct_window_gutter_spec): new function. Construct a string
11337         to be displayed in the gutter from a plist of strings. Take care
11338         to only use elements that are declared as visible.
11339         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11340         WINDOW_GUTTER.
11341         (gutter_validate): allow plists of strings in the specifier.
11342         (gutter_specs_changed): construct the real_gutter from the gutter
11343         specs using construct_window_gutter_spec.
11344         (gutter_visible_validate): gutter-visible is a new specifier type.
11345         (Fgutter_visible_specifier_p): new function for the new specifier.
11346         (syms_of_gutter): declare gutter-visible and
11347         Fgutter_visible_specifier_p.
11348         (specifier_type_create_gutter): intitalize new gutter-visible
11349         specifier.
11350         (reinit_specifier_type_create_gutter): ditto.
11351         (specifier_vars_of_gutter): use new specifier type for gutter
11352         visibility.
11353         (init_frame_gutters): construct real_gutter correctly.
11354         (Fgutter_specifier_p): beef up documentation.
11355         (Fgutter_size_specifier_p): ditto.
11356
11357         * winslots.h: add real_gutter slots.
11358
11359 2000-02-25  Andy Piper  <andy@xemacs.org>
11360
11361         * device-msw.c: Be kind to older cygwin versions. From Raymond
11362         Toy <toy@rtp.ericsson.se>.
11363
11364         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11365         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11366
11367 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11368
11369         * elhash.c (MARK_OBJ): Practice macro hygiene.
11370
11371 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11372
11373         * miscplay.c: s/__inline__/inline/g;
11374         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11375         (get_device_compdc): INLINE ==> static inline
11376         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11377         find -name '*.h' | \
11378         xargs global-replace \
11379         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11380
11381 2000-02-25  Andy Piper  <andy@xemacs.org>
11382
11383         * window.c (window_top_frame_gutter_height): new function.
11384         (window_top_window_gutter_height): ditto.
11385         (window_top_gutter_height): use them.
11386         (window_bottom_frame_gutter_height): new function.
11387         (window_bottom_window_gutter_height): ditto.
11388         (window_bottom_gutter_height): use them.
11389         (window_left_window_gutter_width): new function.
11390         (window_left_frame_gutter_width): ditto.
11391         (window_left_gutter_width): use them.
11392         (window_right_window_gutter_width): new function.
11393         (window_right_frame_gutter_width): ditto.
11394         (window_right_gutter_width): use them.
11395         (window_pixel_height): new function. calulate window pixel height
11396         with frame gutter involvement.
11397         (Fsplit_window): calculate new sizes taking frame gutters into
11398         account.
11399         (window_char_height_to_pixel_height): don't include frame gutters.
11400         (window_char_height): use window_pixel_height.
11401         (window_pixheight): rename from window_pixel_height.
11402         (change_window_height): use it.
11403         (window_pixel_height_to_char_height): don't include frame gutters.
11404         (window_char_width_to_pixel_width): ditto.
11405
11406 2000-02-25  Andy Piper  <andy@xemacs.org>
11407
11408         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11409         if it is.
11410
11411 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11412
11413         * alloc.c (staticpro):
11414         (staticpro_nodump):
11415         (dumpstruct):
11416         (dumpopaque):
11417         (pdump_wire):
11418         (pdump_wire_list):
11419         (compact_string_chars):
11420         (pdump_dump_wired):
11421         Convert:  if (foo) abort();  ==>  assert (! foo);
11422
11423         * eldap.c (Fldap_search_basic):
11424         (Fldap_add):
11425         (Fldap_modify):
11426         (Fldap_delete):
11427         Fix compiler warnings, and possible crashes if (random) return
11428         value were to be used.
11429
11430 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11431
11432         * device-msw.c: Workaround ResetDC failure.
11433
11434         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11435         applying a devmode.
11436
11437         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11438         (mswindows_text_width): Do not start printer page.
11439
11440         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11441
11442         * glyphs-msw.c: Added image methods to msprinter console and
11443         msprinter-specific image instantiation.
11444
11445 2000-02-20  Mike Alexander  <mta@arbortext.com>
11446
11447         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11448         to avoid crashes when selection-sets-clipboard is on
11449         (mswindows_own_selection): ditto
11450
11451 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11452
11453         * glyphs-msw.c:
11454         * redisplay-msw.c (get_frame_dc):
11455         (get_frame_compdc):
11456         * console-msw.h:
11457         * device-msw.c (mswindows_init_device):
11458         (mswindows_delete_device):
11459         (msprinter_init_device):
11460         (msprinter_delete_device):
11461         * frame-msw.c (mswindows_init_frame_1):
11462         (mswindows_delete_frame):
11463         (msprinter_init_frame_3):
11464         (msprinter_delete_frame): Move compatible DC to device object from
11465         frame object, for both mswindows and msprinter. Only one at a time
11466         is needed, it is a real waste to have one per frame!
11467
11468 2000-02-23  Andy Piper  <andy@xemacs.org>
11469
11470         * glyphs.c: add dynamic width and height elements.
11471         (image_instance_equal): ditto.
11472
11473         * glyphs-widget.c (widget_query_geometry): calculate width and
11474         height dynamically if required.
11475         (initialize_widget_image_instance): initialize dynamic dimensions.
11476         (widget_instantiate): pick-up dynamic dimensions.
11477
11478         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11479         dynamic determination. Add appropriate macros.
11480
11481         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11482         dimensions safe.
11483         (WINDOW_GUTTER_SIZE): ditto.
11484         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11485
11486         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11487         inline.
11488         (get_frame_dc): ditto.
11489
11490         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11491         here.
11492
11493 2000-02-23  Martin Buchholz <martin@xemacs.org>
11494
11495         * XEmacs 21.2.31 is released.
11496
11497 2000-02-22  Ben Wing <ben@xemacs.org>
11498
11499         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11500
11501 2000-02-22  Andy Piper  <andy@xemacs.org>
11502
11503         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11504
11505 2000-02-21  Mike Sperber <mike@xemacs.org>
11506
11507         * .dbxrc:
11508         * .gdbinit:
11509         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11510         variables.
11511
11512 2000-02-21  Mike Sperber <mike@xemacs.org>
11513
11514         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11515
11516 2000-02-21  Martin Buchholz <martin@xemacs.org>
11517
11518         * XEmacs 21.2.30 is released.
11519
11520 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11521
11522         Performance hacking.
11523         * *.c (syms_of_*):
11524         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11525         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11526         * emacs.c (main_1):
11527         * lisp.h (DEFUN):
11528         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11529         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11530         * symeval.h (DEFVAR_SYMVAL_FWD):
11531         * symbols.c (guts_of_unbound_marker):
11532         Make all c_readonly objects also lisp_readonly and marked for life.
11533         * lrecord.h (struct lrecord_implementation):
11534         Document flags better.
11535         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11536         * lrecord.h (DECLARE_LRECORD):
11537         * lrecord.h (XSETRECORD):
11538         * lrecord.h (RECORDP):
11539         * lrecord.h (RECORD_TYPEP):
11540         * lrecord.h (RECORD_MARKER): New.
11541         * lrecord.h (error_check_*):
11542         * lrecord.h (CONCHECK_NONRECORD):
11543         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11544         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11545         * lrecord.h (set_lheader_implementation):
11546         * lrecord.h (enum lrecord_type): New.
11547         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11548         * alloc.c (disksave_object_finalization_1):
11549         * alloc.c (mark_object):
11550         * alloc.c (lrecord_type_index):
11551         * alloc.c (tick_lcrecord_stats):
11552         * alloc.c (Fgarbage_collect):
11553         * alloc.c (init_alloc_once_early):
11554         * alloc.c (pdump_load):
11555         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11556         * alloc.c (lrecord_type_index): Delete.
11557         Make lisp object type indexes be constant.
11558           Makes (byte-compile) 5% faster.
11559         Put all marker functions into their own array.
11560           Makes (garbage-collect) 5% faster.
11561         Optimize SYMBOL_VALUE_MAGIC_P.
11562           Makes (byte-compile) 2-3% faster.
11563         * config.h.in (gc_checking_assert): New.
11564         * alloc.c: Use gc_checking_assert().
11565         * .dbxrc: Make compatible with new object type implementation.
11566         * .gdbinit: Make compatible with new object type implementation.
11567         * alloc.c: Delete all symbols defined only for debugging, such as
11568         Lisp_Type_Vector and lrecord_charset.
11569
11570 2000-02-21  Andy Piper  <andy@xemacs.org>
11571
11572         * gui-msw.c (Fmswindows_shell_execute): fix file location
11573         problems.
11574
11575         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11576         unshowing so that set_window_buffer doesn't undo
11577         kill_buffer_hook's hard work.
11578
11579         * glyphs-widget.c (tab_control_query_geometry): don't count the
11580         first item when calculating geometry.
11581
11582         * glyphs.c (map_subwindow): remove redundant code.
11583         (update_frame_subwindows): be more circumspect about when to
11584         update subwindows.
11585
11586         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11587         when items haven't changed. Update faces if faces have changed as
11588         well as just the widget face.
11589         (x_tab_control_update): Update faces if faces have changed as well
11590         as just the widget face.
11591
11592 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11593
11594         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11595         registration.
11596         (build_syscolor_string): Use mswindows_color_to_string to try to
11597         get a named color.
11598         (mswindows_device_system_metrics): Reverse the foreground and
11599         background colors so that they match the documentation.
11600
11601         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11602         they match the default Windows palette.
11603         (mswindows_color_to_string): New function.
11604
11605 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11606
11607         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11608
11609 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11610
11611         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11612         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11613
11614         * symbols.c (init_symbols_once_early): Removed obsolete
11615         DATA_SEG_BITS related kludge.
11616         (defvar_magic): Ditto.
11617
11618         * malloc.c: Removed obsolete DATA_SEG_BITS
11619         * ralloc.c: Ditto.
11620         * mem-limits.h: Ditto.
11621
11622         * Makefile.in.in: Removed obsolete HAVE_SHM
11623         * emacs.c: Ditto.
11624
11625 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11626
11627         *  device-msw.c (mswindows_delete_device): Free DDE string
11628         handles.
11629
11630 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11631
11632         * keymap.c (get_keyelt):
11633         * unexnt.c (unexec):
11634         * vm-limit.c (memory_warnings):
11635         * ntheap.c (recreate_heap):
11636         * ntheap.h (UNINIT_PTR):
11637         * select-msw.c (Fmswindows_get_clipboard):
11638         (Fmswindows_set_clipboard):
11639         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11640         * objects-msw.c:
11641         * menubar-msw.c (displayable_menu_item):
11642         * glyphs-msw.c:
11643         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11644         * sysdep.c (sys_subshell):
11645         * process-nt.c (nt_create_process):
11646         * nt.c (normalize_filename):
11647         (dostounix_filename):
11648         (unixtodos_filename):
11649         * ntproc.c (win32_executable_type):
11650         * ntplay.c (play_sound_data_1):
11651         (play_sound_file):
11652         * editfns.c (get_home_directory):
11653         * event-msw.c (struct winsock_stream):
11654         (mswindows_dde_callback):
11655         * device-msw.c (msprinter_init_device):
11656         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11657
11658         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11659         mswindows_clear_toolbar were swapped!
11660
11661         * objects-msw.c:(colormap_t):
11662         (fontmap_t):
11663         * emacs.c (struct standard_args): Fixed const jumble.
11664
11665         * glyphs-widget.c (update_widget): Fixed comparison notation.
11666
11667         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11668
11669         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11670         __declspec(noreturn) syntax.
11671
11672 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11673
11674         * eldap.c (Fldap_open):
11675         (Fldap_search_basic):
11676         (Fldap_add):
11677         (Fldap_modify):
11678         Use new coding system conversion macros.
11679
11680 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11681
11682         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11683
11684 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11685
11686         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11687         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11688
11689         * eldap.c (Qadd, Qreplace): New constant symbols
11690         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11691         interruptions by XEmacs signals
11692         Remove unnecessary calls to slow_down_interrupts and
11693         speed_up_interrupts
11694         (Fldap_search_basic): Renamed from Fldap_search_internal
11695         Added new optional parameter VERBOSE that triggers the
11696         display of progress messages
11697         Remove unnecessary calls to slow_down_interrupts and
11698         speed_up_interrupts
11699         LDAP result code analysis rewritten
11700         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11701         (syms_of_eldap): Define the new symbols and functions
11702
11703
11704 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11705
11706         * realpath.c: Determine PATH_MAX maximally portably.
11707
11708         * insdel.c (bytecount_to_charcount): Optimize.
11709         The function used to be optimized for entirely ASCII sequences.
11710         Now it is optimized for successive characters from the same
11711         charset.  This also wins big for _mostly_ ASCII sequences.
11712
11713         * fileio.c (Ffile_truename): convert return from realpath() using
11714         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11715         - Rewrite GCPROing slightly.
11716
11717         * sysdep.c (sys_open): Do filename conversion, like all other
11718         sys_* functions.  Fixes bug:
11719         (let ((file-name-coding-system 'iso-8859-2))
11720            (write-region x y latin2-name))
11721         ==> writes filename using internal encoding.
11722
11723 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11724
11725         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11726         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11727         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11728         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11729         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11730         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11731         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11732         (CONST_IF_NOT_DEBUG): Delete.
11733         * alloc.c (this_one_is_unmarkable): Delete.
11734         (mark_object): Don't check for this_one_is_unmarkable. Use the
11735         c_readonly flag instead.
11736         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11737
11738 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11739
11740         * event-msw.c (mswindows_drain_windows_queue):
11741         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11742         away redundant repaint events.
11743
11744 2000-02-17  Andy Piper  <andy@xemacs.org>
11745
11746         * redisplay.h: declare mark_redisplay_structs.
11747
11748         * redisplay.c (redisplay_window):
11749         (redisplay_frame): don't check subwindows_state_changed.
11750         (mark_redisplay): mark gutters here.
11751
11752         * glyphs.c: (instantiate_image_instantiator): always layout if we
11753         haven't done so already.
11754         (allocate_image_instance): don't mark as dirty.
11755         (update_subwindow): bind inhibit_quit.
11756
11757         * gutter.c (mark_gutters): new function.
11758
11759         * glyphs-x.c (x_update_widget): Always resize to get round a
11760         widget bug.
11761
11762         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11763         breaking absolutely everything.
11764
11765         * gutter.h: declare mark_gutters.
11766
11767 2000-02-16  Martin Buchholz <martin@xemacs.org>
11768
11769         * XEmacs 21.2.29 is released.
11770
11771 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11772
11773         * fns.c (size_bit_vector): Fix computation of the size.
11774
11775 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11776
11777         * *.[ch]: Change CONST to const globally.
11778         find -name '*.[ch]' | \
11779         xargs global-replace \
11780         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11781         - Remove vestigial references to CONST_IS_LOSING
11782
11783 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11784
11785         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11786         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11787         events instead of dispatching them directly.
11788         (mswindows_handle_paint): New function to do repainting.
11789         (mswindows_wnd_proc):
11790         (emacs_mswindows_handle_magic_event): Call above function.
11791
11792 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11793
11794         * objects-msw.c (mswindows_create_font_variant): Return the new
11795         font handle.
11796         (initialize_font_instance): Get font metrics from the underlined
11797         variant of the font to cope with the case where the underlined
11798         font has a bigger descent.
11799
11800 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11801
11802         * gui.c (gui_item_accelerator): Return the first underlined
11803         character in item name.
11804
11805 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11806
11807         * lisp.h: Added Qprinter.
11808
11809         * general.c (syms_of_general): Initialized it.
11810
11811         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11812         (get_frame_dc):
11813         (get_frame_compdc): Made inline.
11814
11815         * console.h (struct console_methods): Added eject_page method.
11816
11817         * frame.h: Added FRAME_DISPLAY_P and friends.
11818         Aligned backslahes in many macros in more readable fashion.
11819         Added page_number to struct frame, and an accessor macro
11820         for it.
11821
11822         * defice.h: Added DEVICE_DISPLAY_P and friends.
11823
11824         * device.c (Fdevice_printer_p): Used these.
11825
11826         * frame.c (allocate_frame_core): Initialize page number.
11827         (Fprint_job_page_number):
11828         (Fprint_job_eject_page): Implemented.
11829
11830         * frame-msw.c (msprinter_eject_page): Added method.
11831         (msprinter_start_page): Added.
11832
11833         * window.c (Fwindow_truncated_p): Fixed docstring.
11834         (Fwindow_last_line_visible_height): Implemented.
11835
11836 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11837
11838         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11839
11840 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11841
11842         * syntax.c (scan_words): Always advance at least one character.
11843
11844 2000-02-13  Andy Piper  <andy@xemacs.org>
11845
11846         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11847         to make sure the glyph is in the cachels.
11848
11849         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11850         global image instance flag.
11851         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11852         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11853
11854         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11855         (Fset_image_instance_property): mark layout as changed.
11856         (invalidate_glyph_geometry_maybe): mark layout as changed.
11857         (glyph_width): use new NEEDS_LAYOUT macro.
11858         (glyph_ascent): ditto.
11859         (glyph_descent): ditto.
11860         (glyph_height): ditto.
11861         (image_instance_layout): mark layout as clean after laying out.
11862         (update_subwindow): don't mark layout as clean here.
11863
11864         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11865         should no longer be needed.
11866
11867         * glyphs-x.c (x_update_widget): sanitize asserts.
11868         (x_finalize_image_instance): sanitize assignment to widgets.
11869
11870         * glyphs-widget.c (widget_instantiate): don't need to clear the
11871         layout flag here.
11872
11873 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11874
11875         * sysdep.c (getcwd): Use standard prototype.
11876         * sysdep.h (getcwd): Use standard prototype.
11877
11878         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11879         (sequence, start, end).
11880         Remove redundant type checking.
11881         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11882         view of `caller-protects') to avoid a crash where the real fix was
11883         found elsewhere.
11884
11885 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11886
11887         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11888
11889         * s/sol2.h: Remove feature macro initialization.
11890
11891         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11892         (vector_hash): New.  Code from internal_hash.
11893         * lrecord.h:
11894         Fix up allocation subsystem comments.
11895
11896         * config.h.in: Add __EXTENSIONS__ for Solaris.
11897
11898         * systime.h (EMACS_GETTIMEOFDAY): New.
11899         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11900         Remove Solaris-specific code.
11901         Use void* for the (ignored) second arg for gettimeofday().
11902
11903         * elhash.c (hash_table_hash): Implement it, finally.
11904         * elhash.c:  Use hashcode_t.
11905
11906         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11907         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11908
11909         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11910         * fns.c (size_bit_vector):
11911         * alloc.c (size_vector):
11912         (make_vector_internal):
11913         (make_bit_vector_internal):
11914         (sweep_bit_vectors_1):
11915         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11916
11917 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11918
11919         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11920         Include strings.h to avoid warnings for bzero and strcasecmp.
11921
11922 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11923
11924         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11925         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11926
11927         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11928         sequence.
11929
11930 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11931
11932         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11933         use a value field instead.
11934         (symbol_value_forward_forward): Use value field.
11935         (DEFVAR_SYMVAL_FWD): Use value field.
11936         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11937         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11938         (DEFVAR_CONST_INT): Ditto.
11939         (DEFVAR_BOOL): Ditto.
11940         (DEFVAR_CONST_BOOL): Ditto.
11941         (DEFVAR_INT_MAGIC): Ditto.
11942         (DEFVAR_BOOL_MAGIC): Ditto.
11943
11944         * symbols.c (guts_of_unbound_marker): Use value field.
11945         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11946         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11947
11948         * lisp.h: Declare dumpopaque and noninteractive1.
11949
11950         * alloc.c (dumpopaque): Added.
11951         (pdump_dump_opaquevec): Added.
11952         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11953         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11954         noninteractive.
11955
11956 2000-02-10  Andy Piper  <andy@xemacs.org>
11957
11958         * glyphs.c (image_instance_layout): if the size changes, mark it
11959         as such.
11960
11961         * redisplay-output.c (redisplay_output_layout): Update the
11962         subwindow here.
11963         (redisplay_output_subwindow): ditto.
11964
11965         * glyphs.c (update_subwindow): make sure we reset flags for
11966         layouts as well as everything else.
11967
11968         * glyphs-widget.c (layout_layout): don't need to set the instances
11969         dimensions here.
11970
11971 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11972
11973         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11974         not HAVE_DLOPEN, which is a lower-level thing.
11975
11976         * .cvsignore: Ignore gmon.out
11977
11978 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11979
11980         * .cvsignore: Ignore portable dumper xemacs.dmp file
11981
11982 2000-02-09  Andy Piper  <andy@xemacs.org>
11983
11984         * redisplay-output.c (redisplay_output_layout): be more clever
11985         about when we output based on the changed flags.
11986
11987         * glyphs.h (struct image_instantiator_methods): add update_method.
11988         (struct Lisp_Image_Instance): add changed flags. Declare new
11989         macros for manipulating them.
11990
11991         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11992         (image_instance_parent_glyph): find an image_instance's parent
11993         glyph or image_instance.
11994         (image_instance_layout): mark the size as changed.
11995         (set_image_instance_dirty_p): new function. mark an image
11996         instance, plus all of its parents, as dirty.
11997         (Fset_image_instance_property): use it.
11998         (Fglyph_animated_timeout_handler): use it.
11999         (update_subwindow): call update_widget and device methods for
12000         update_subwindow. Mark all changed flags as clean.
12001         (Fresize_subwindow): mark size as changed.
12002
12003         * glyphs-x.c (x_finalize_image_instance): try and detect gc
12004         failures.
12005         (x_update_subwindow): only resize subwindows here.
12006         (x_update_widget): new function. Update all changed properties of
12007         a widget.
12008         (x_resize_subwindow): deleted.
12009         (x_widget_set_property): deleted.
12010         (x_progress_gauge_set_property): deleted.
12011         (x_progress_gauge_update): new function. Implement recorded
12012         changes.
12013         (x_tab_control_update): ditto.
12014         (x_tab_control_set_property): deleted.
12015         (console_type_create_glyphs_x): declare new functions.
12016         (image_instantiator_format_create_glyphs_x): ditto.
12017
12018         * glyphs-widget.c (widget_set_property): mark text changed.
12019         (update_widget): new function. Update properties of a widget.
12020         (widget_instantiate): for layouts make sure we set their
12021         children's parent correctly.
12022         (tab_control_set_property): new function. Record changes that will
12023         take place under redisplay's control.
12024         (progress_gauge_set_property): ditto.
12025         (image_instantiator_progress_guage): declare new functions.
12026         (image_instantiator_tab_control): ditto.
12027
12028         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
12029         now.
12030         (mswindows_update_widget): new function. Update all properties on
12031         a widget that have changed.
12032         (mswindows_button_update): new function. Update a button's set
12033         state.
12034         (mswindows_tab_control_update): new function. Update the items in
12035         a tab.
12036         (mswindows_tab_control_set_property): deleted.
12037         (mswindows_progress_gauge_update): new function. Update the
12038         progress gauge's progress.
12039         (mswindows_widget_set_property): deleted. This is all done
12040         asynchronously now.
12041         (mswindows_progress_gauge_set_property): ditto.
12042         (console_type_create_glyphs_mswindows): declare new methods.
12043         (image_instantiator_format_create_glyphs_mswindows): ditto.
12044
12045         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
12046         (msprinter_set_frame_properties): ditto.
12047
12048         * console.h (struct console_methods): Add update_widget_method.
12049
12050 2000-02-09  Andy Piper  <andy@xemacs.org>
12051
12052         * gui-msw.c (Fmswindows_shell_execute): Make
12053         mswindows-shell-execute industrial strength.
12054
12055 2000-02-08  Martin Buchholz  <martin@xemacs.org>
12056
12057         * lrecord.h: Make macro argument `props' match member function `plist'.
12058         * fns.c (Fget):
12059         * fns.c (Fput):
12060         * fns.c (Fremprop):
12061         * fns.c (Fobject_plist):
12062         * alloc.c:
12063         * symbols.c:
12064         Object property list frobbing cleanup.
12065         - Allow any lisp object (compared with `eq'), not just symbols, as
12066           keys in object plists.
12067         - Move symbol plist frobbing into symbols.c, where it belongs.
12068         - Move string plist frobbing into alloc.c, where it belongs.
12069         - Everything's an lrecord now, so no need to test for symbolp, etc.
12070         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
12071
12072         * extents.c: Reorder code to remove declarations.
12073
12074         * frame.h (store_in_alist): Remove useless declaration.
12075
12076 2000-02-07  Martin Buchholz  <martin@xemacs.org>
12077
12078         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
12079         * config.h.in: Add HAVE_XCONVERTCASE.
12080
12081 2000-02-07  Andy Piper  <andy@xemacs.org>
12082
12083         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
12084         it breaks many things.
12085
12086 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12087
12088         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
12089         actually can start a common comment type.
12090         * src/syntax.h (SYNTAX_END_P): ditto for end.
12091
12092 2000-02-07  Martin Buchholz <martin@xemacs.org>
12093
12094         * XEmacs 21.2.28 is released.
12095
12096 2000-02-06  Martin Buchholz  <martin@xemacs.org>
12097
12098         * event-Xt.c (x_keysym_to_character): New.
12099         (maybe_define_x_key_as_self_inserting_character): New.
12100         (x_has_keysym): New.
12101         Auto-define all keys on the keyboard as self-insert-key.
12102
12103 2000-02-02  Martin Buchholz  <martin@xemacs.org>
12104
12105         * menubar.c (vars_of_menubar): A small code simplification.
12106
12107         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
12108
12109         * ExternalShell.c:
12110         * ExternalClient.c:
12111         * EmacsShell-sub.c:
12112         * EmacsManager.c:
12113         * EmacsFrame.c:
12114         Use consistent style for specifying X resources.
12115
12116         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
12117         This makes (dontusethis-set-symbol-value-handler) actually usable.
12118
12119         * lrecord.h (lrecord_decription_type):
12120         * alloc.c (pdump_register_sub):
12121         (pdump_dump_data):
12122         (pdump_reloc_one):
12123         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12124         Comply with XEmacs coding style.
12125         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12126         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12127
12128         * keymap.c (Faccessible_keymaps):
12129         Make (accessible-keymaps map "\C-h") do the Right Thing.
12130         Make (accessible-keymaps map []) do the Right Thing.
12131         Make (accessible-keymaps map "") do the Right Thing.
12132         (check_keymap_definition_loop): New function.
12133         (keymap_store_internal): Keep luser from shooting self in foot,
12134           via (define-key ctl-x-4-map "p" global-map).
12135         Remove fullness slot from struct Lisp_Keymap, since hash tables
12136         are now reliable.
12137         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12138
12139 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12140
12141         * redisplay.c (init_redisplay): Fix small memory leak.
12142         * elhash.h:
12143         * elhash.c (pdump_reorganize_hash_table):
12144         Rename from reorganize_hash_table. Change prototype.
12145         Reuse the original memory for hentries.  Save 100k.
12146         * alloc.c (PDUMP_READ): new macro.
12147         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12148         * alloc.c: No need to #ifndef before #undef.
12149
12150         * print.c: Allow debug_print() to print readably by modifying
12151         debug_print_readably.  Use consistent variable names.
12152
12153         * .dbxrc: Try to get things to work even if stopped in a function
12154         without source available by explicitly specifying source files.
12155 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12156
12157         * unexnt.c (_start): Removed bogus code which caused loading heap
12158         from differrent executable file.
12159         Removed bogus assignment to _fmode, which caused inconsistencies.
12160
12161 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12162
12163         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12164         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12165         Do not preliminary `#define signal sigset'.
12166
12167         * systime.h: Do not prototype environ on windows nt and cygwin,
12168         this conflicts with system header.
12169
12170         * syssignal.h: Use correct define for WINDOWSNT
12171
12172         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12173         with system header.
12174
12175         * sysdep.c (near start of file): Fixed commentary and rearranged
12176         ifdefs in readable order.
12177         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12178         (start_of_text):
12179         (end_of_text):
12180         (end_of_data): Do not compile in if using PDUMP.
12181
12182         * symsinit.h: Prototyped vars_of_nt().
12183
12184         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12185         (find_child_console): Use it.
12186         (sys_kill): Use it.
12187
12188         * ntheap.h: Do not extern os_subtype.
12189
12190         * ntheap.c (cache_system_info): Do not cache unneeded:
12191         nt_major_version, nt_minor_version and os_subtype.
12192         (recreate_heap): Do not compile in when PDUMPing.
12193
12194         * nt.c (geteuid and friends): Use the new varibale
12195         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12196         (init_user_info): Removed the above mentioned hackery.
12197         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12198         stat has been fixed in the C runtime.
12199         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12200
12201         * file-coding.c (struct file_coding_dump): Do not define
12202         ucs_to_mule_table in the struct if not MULE.
12203         (struct struct lrecord_description fcd_description_1): Do not dump
12204         the above.
12205
12206         * emacs.c (main_1): Call vars_of_nt().
12207         (right before Fdump_emacs_data): Don't need lastfile if using both
12208         portabe dumper and system malloc.
12209
12210         * alloc.c (Fmemory_limit): Conditionalized out.
12211         (pdump): Use OPEN_BINARY for the portable dump file.
12212         (pdump_load): Ditto.
12213
12214 2000-02-02  Mike Alexander  <mta@arbortext.com>
12215
12216         * nt.c (convert_time): Set tm_isdst before calling mktime and
12217         avoid calling it at all if the compiler supports 64 bit integers.
12218         Also initialize utc_base_ft before using it.
12219
12220 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12221
12222         * frame.c (change_frame_size_1): Take f->internal_border_width
12223         into consideration when calculating the width of the frame.
12224
12225 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12226
12227         * window.c (frame_min_height):
12228         (frame_size_valid_p):
12229         (frame_pixsize_valid_p): Added.
12230         (check_frame_size): Generalized.
12231
12232         * window.h: Prototyped the above.
12233
12234         * lisp.h:
12235         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12236         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12237         Deleted Vwin32_* and Vbinary_process_* unused variables.
12238
12239         * device-msw.c (msprinter_init_device): Do not get printer font
12240         list; Added DEVMODE functions.
12241
12242         * frame-msw.c: Added lots of printer code.
12243
12244         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12245         general.c.
12246
12247         * console-msw.h: Added more msprinter device private slots.
12248
12249 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12250
12251         * event-msw.c (key_needs_default_processing_p): Added.
12252         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12253
12254 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12255
12256         * glyphs.c (image_instance_layout): Mark image instance as clean
12257         after layout.
12258         (glyph_dirty_p): Removed redundant function.
12259         (invalidate_glyph_geometry_maybe): Added.
12260         (update_glyph_cachel_data): Call it.
12261
12262         * glyphs.h: Prototyped it.
12263
12264         * redisplay.c (add_glyph_rune): Call it.
12265         (redisplay_window): Reset glyphs cachels when frame faces have
12266         changed, thus forcing recomputation of built-in border glyphs.
12267
12268 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12269
12270         * Makefile.in.in: Make portable dumper and purify play well together.
12271         Add imperfect, but better than nothing, support for pdump.
12272         Remove xemacs.dmp when temacs is re-generated.
12273         Don't ignore errors when dumping xemacs.
12274
12275         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12276
12277 2000-01-28  Andy Piper  <andy@xemacs.org>
12278
12279         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12280         (setup_normal_frame): ditto.
12281         (setup_frame_without_minibuffer): ditto.
12282         (setup_minibuffer_frame): ditto.
12283         (delete_frame_internal): ditto.
12284         (Fmake_frame_invisible): ditto.
12285         (Ficonify_frame): ditto.
12286
12287         * window.h: change Fset_window_buffer signature.
12288
12289         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12290         (Fset_window_buffer): allow recording of buffer if the window is
12291         the selected window.
12292         (window_loop): Use new Fset_window signature.
12293
12294 2000-01-23  Daniel Pittman  <daniel@danann.net>
12295
12296         * config.h.in: Added template for `HAVE_ATHENA_3D'
12297
12298 2000-01-29  Andy Piper  <andy@xemacs.org>
12299
12300         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12301
12302         * gutter.c (output_gutter): Don't output if the window isn't live.
12303
12304 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12305
12306         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12307         of 01/12/00: Moved SetFocus back here where it belongs.
12308
12309 2000-01-23  Andy Piper  <andy@xemacs.org>
12310
12311         * s/cygwin32.h: declare printer things.
12312
12313 2000-01-26  Andy Piper  <andy@xemacs.org>
12314
12315         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12316         Alexander.
12317
12318 2000-01-24  Andy Piper  <andy@xemacs.org>
12319
12320         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12321         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12322
12323         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12324
12325         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12326
12327         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12328
12329         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12330         (mswindows_output_display_block): Avoid local shadows.
12331
12332         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12333         (mswindows_enqueue_mouse_button_event): ditto.
12334         (mswindows_handle_gui_wm_command): remove declaration.
12335
12336         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12337         warnings.
12338
12339         * console-msw.h: Avoid shadows.
12340         (mswindows_get_toolbar_button_text):
12341         (emacs_mswindows_create_stream_pair):
12342         (emacs_mswindows_delete_stream_pair):
12343         (mswindows_handle_toolbar_wm_command): declare.
12344
12345         * device-msw.c (build_syscolor_string): Avoid shadows.
12346
12347 2000-01-23  Andy Piper  <andy@xemacs.org>
12348
12349         * glyphs-widget.c (widget_instantiate): reverse the items for
12350         layouts so that children are in the expected order.
12351
12352 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12353
12354         * ralloc.c: safe_bcopy ==> memmove
12355         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12356         * s/msdos.h: Remove BCOPY macros.
12357         * insdel.c (gap_right): Remove BCOPY conditional code.
12358         * insdel.c (gap_left): Remove BCOPY conditional code.
12359         XEmacs demands a working ANSI C compiler - hence memmove.
12360
12361         * regex.c (regex_compile): Remove accidental use of trigraphs.
12362
12363 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12364
12365         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12366         event timestamp.
12367
12368 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12369
12370         * event-msw.c (mswindows_drain_windows_queue): Added the
12371         parameter.
12372         (mswindows_need_event): Commented the call to
12373         mswindows_drain_windows_queue().
12374         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12375         only.
12376
12377         * console-msw.h: Moved a few function prototypes here from
12378         event-msw.c.
12379
12380         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12381         parameter from unsigned short to unsigned long.
12382         (Fmswindows_shell_execute): Added return value.
12383
12384 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12385
12386         * sysdep.c (init_system_name):
12387           process-unix.c (unix_canonicalized_host_name):
12388         Don't call freeaddrinfo() if getaddrinfo() fails.
12389
12390         * process-unix.c (unix_open_unix_network_stream):
12391         Moved the code to get a port # into address loop.
12392
12393 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12394
12395         * buffer.c (reinit_vars_of_buffer):
12396         The right place to initialize conversion_in_dynarr and
12397         conversion_out_dynarr.
12398
12399         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12400
12401         * process-unix.c (unix_canonicalize_host_name): Muleize.
12402         (unix_open_network_stream): Muleize.
12403
12404         * buffer.h: Fix up prototypes for ralloc.c functions.
12405
12406 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12407         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12408         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12409                 instead of gethostbyname()
12410         * process-unix.c: In unix_canonicalize_host_name() and
12411                 unix_open_network_stream(), add code to use getaddrinfo()
12412                 instead of gethostbyname().
12413
12414 2000-01-27  Daniel Pittman <daniel@danann.net>
12415
12416         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12417         libs when built with flat Athena.
12418
12419 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12420
12421         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12422         Use coding standards for function prototypes.
12423
12424 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12425
12426         * dialog-msw.c (push_lisp_string_as_unicode):
12427         * doc.c (unparesseuxify_doc_string):
12428         * dired.c (Fuser_name_completion_1):
12429         * dired.c (Fuser_name_all_completions):
12430         * dired.c (free_user_cache):
12431         * dired.c (user_name_completion):
12432         * console-x.c (get_display_arg_connection):
12433         * minibuf.c (clear_echo_area_internal):
12434         * minibuf.c (echo_area_append):
12435         * eldap.c (Fldap_open):
12436         * eldap.c (Fldap_search_internal):
12437         * frame-x.c (x_set_frame_text_value):
12438         * frame-x.c (x_set_frame_properties):
12439         * frame-x.c (x_create_widgets):
12440         * redisplay-tty.c (term_get_fkeys_1):
12441         * objects-x.c (x_parse_nearest_color):
12442         * objects-x.c (x_valid_color_name_p):
12443         * objects-x.c (x_initialize_font_instance):
12444         * objects-x.c (x_list_fonts):
12445         * objects-x.c (x_find_charset_font):
12446         * tooltalk.c (Fadd_tooltalk_message_arg):
12447         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12448         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12449         * process-unix.c (unix_create_process):
12450         * ntproc.c (sys_spawnve):
12451         * sound.c (Fplay_sound_file):
12452         * sound.c (Fplay_sound):
12453         * buffer.c (init_initial_directory):
12454         * buffer.c (init_buffer):
12455         * editfns.c (init_editfns):
12456         * editfns.c (Ftemp_directory):
12457         * editfns.c (Fuser_full_name):
12458         * editfns.c (uncache_home_directory):
12459         * editfns.c (get_home_directory):
12460         * editfns.c (Fuser_home_directory):
12461         * editfns.c (Fformat_time_string):
12462         * editfns.c (Fcurrent_time_string):
12463         * gui-x.c (button_item_to_widget_value):
12464         * database.c (Fopen_database):
12465         * event-Xt.c (x_to_emacs_keysym):
12466         * event-Xt.c (x_event_to_emacs_event):
12467         * event-Xt.c (describe_event_window):
12468         * event-msw.c (mswindows_wnd_proc):
12469         * glyphs-eimage.c (jpeg_instantiate):
12470         * glyphs-eimage.c (gif_instantiate):
12471         * glyphs-eimage.c (png_instantiate):
12472         * glyphs-eimage.c (tiff_instantiate):
12473         * glyphs-x.c (xbm_instantiate_1):
12474         * glyphs-x.c (x_xbm_instantiate):
12475         * glyphs-x.c (x_xface_instantiate):
12476         * glyphs-x.c (autodetect_instantiate):
12477         * glyphs-x.c (cursor_font_instantiate):
12478         * glyphs-x.c (x_widget_instantiate):
12479         * glyphs-x.c (x_widget_set_property):
12480         * glyphs-x.c (x_widget_property):
12481         * glyphs-x.c (BUILD_GLYPH_INST):
12482         * print.c (write_string_to_stdio_stream):
12483         * print.c (output_string):
12484         * print.c (Falternate_debugging_output):
12485         * print.c (Fexternal_debugging_output):
12486         * glyphs-msw.c (extract_xpm_color_names):
12487         * glyphs-msw.c (mswindows_xpm_instantiate):
12488         * glyphs-msw.c (bmp_instantiate):
12489         * glyphs-msw.c (resource_name_to_resource):
12490         * glyphs-msw.c (mswindows_resource_instantiate):
12491         * glyphs-msw.c (xbm_instantiate_1):
12492         * glyphs-msw.c (mswindows_xbm_instantiate):
12493         * glyphs-msw.c (mswindows_xface_instantiate):
12494         * glyphs-msw.c (mswindows_widget_instantiate):
12495         * glyphs-msw.c (add_tree_item):
12496         * glyphs-msw.c (add_tab_item):
12497         * glyphs-msw.c (mswindows_combo_box_instantiate):
12498         * glyphs-msw.c (mswindows_widget_property):
12499         * glyphs-msw.c (mswindows_combo_box_property):
12500         * glyphs-msw.c (mswindows_widget_set_property):
12501         * console.c (stuff_buffered_input):
12502         * objects-msw.c (mswindows_initialize_color_instance):
12503         * objects-msw.c (mswindows_valid_color_name_p):
12504         * objects-msw.c (mswindows_list_fonts):
12505         * objects-msw.c (mswindows_font_instance_truename):
12506         * bytecode.c (optimize_compiled_function):
12507         * select-x.c (symbol_to_x_atom):
12508         * select-x.c (x_atom_to_symbol):
12509         * select-x.c (hack_motif_clipboard_selection):
12510         * select-x.c (selection_data_to_lisp_data):
12511         * select-x.c (lisp_data_to_selection_data):
12512         * select-x.c (Fx_get_cutbuffer_internal):
12513         * select-x.c (Fx_store_cutbuffer_internal):
12514         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12515         * buffer.h (TO_INTERNAL_FORMAT): New function.
12516         * emacs.c (make_arg_list_1):
12517         * emacs.c (make_argc_argv):
12518         * emacs.c (main_1):
12519         * emacs.c (Fdump_emacs):
12520         * emacs.c (split_string_by_emchar_1):
12521         * file-coding.h:
12522         * lisp.h:
12523         * lstream.h:
12524         * symsinit.h:
12525         * device-x.c (x_init_device):
12526         * device-x.c (Fx_valid_keysym_name_p):
12527         * device-x.c (Fx_get_font_path):
12528         * device-x.c (Fx_set_font_path):
12529         * glyphs.c (bitmap_to_lisp_data):
12530         * glyphs.c (pixmap_to_lisp_data):
12531         * alloc.c (make_ext_string): Use coding system arguments.  Update
12532         all callers.
12533         * alloc.c (build_string):
12534         * callproc.c (child_setup):
12535         * callproc.c (init_callproc):
12536         * fileio.c (lisp_strerror):
12537         * fileio.c (directory_file_name):
12538         * fileio.c (Fexpand_file_name):
12539         * fileio.c (Ffile_truename):
12540         * fileio.c (Fsysnetunam):
12541         * fileio.c (Fdo_auto_save):
12542         * sysdep.c (sys_readdir):
12543         * tests.c: New file.  Allow adding C tests.
12544         Replace GET_* macros with a more comprehensible and flexible
12545         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12546         Modify all calls.
12547         Any coding system can be used to do format conversion.
12548         Eliminate enum external_data_format.
12549         Eliminate convert_to_external_format.
12550         Eliminate convert_to_internal_format.
12551         Make sure file-name, keyboard, terminal, and ctext are always
12552         defined as coding systems or aliases.  Make
12553         file-name-coding-system, terminal-coding-system, and
12554         keyboard-coding-system magical variables that are equivalent to
12555         defining the corresponding coding system aliases.
12556
12557         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12558         * file-coding.c (Fcoding_system_alias_p): New function.
12559         * file-coding.c (Fcoding_system_aliasee): New function.
12560         * file-coding.c (append_suffix_to_symbol): New function.
12561         * file-coding.c (dangling_coding_system_alias_p): New function.
12562         * file-coding.c (Ffind_coding_system):
12563         * file-coding.c (Fcopy_coding_system):
12564         * file-coding.c (encode_coding_no_conversion):
12565         * file-coding.c (syms_of_file_coding):
12566         * file-coding.c (vars_of_file_coding):
12567         Rewrite coding system alias code.
12568         Allow nested aliases, like symbolic links.
12569         Allow redefinition of coding system aliases.
12570         Prevent existence of dangling coding system aliases.
12571
12572         * dired.c (Fuser_name_completion_1):
12573         * dired.c (Fuser_name_all_completions):
12574         A crash would happen if user did QUIT in the middle of building
12575         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12576
12577         * lisp.h:
12578         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12579
12580         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12581         an unsigned char *.  Update all callers.
12582
12583 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12584
12585         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12586
12587 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12588
12589         * elhash.c (hentry_description): Use more portable definition.
12590         (resize_hash_table): Initialize new hentries using
12591         xnew_array_and_zero, thereby simplifying the code.
12592
12593         * mule-charset.c (make_charset): Make sure entire object is
12594         initialized, to avoid Purify warnings.
12595
12596         * alloc.c (resize_string): Fix unlikely crash with big strings.
12597
12598 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12599
12600         * realpath.c (xrealpath):
12601         Don't call getwd().
12602
12603 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12604
12605         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12606
12607 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12608
12609         * unexelfsgi.c (unexec): Change the way we decide which segment
12610         should be extended.
12611
12612         Assumption that .bss section should be outside the PT_LOADable
12613         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12614         it's present) is inside the 'data' segment. This would fail the
12615         test which was used to find a segment to grow and cover new
12616         heap. Instead of this assumption, I created another one - on IRIX
12617         the segment to grow should start below .bss and it's address
12618         should extent above the end of .bss. Once this segment is
12619         identified, it's grown to accommodate the new heap and new
12620         zero-length .bss section is added at the end of .data2.
12621
12622 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12623
12624         * eval.c (Feval): Wrong number of arguments should use original
12625         function, not the indirect_function version of it.
12626
12627 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12628
12629         * glyphs-x.c (x_button_instantiate): Don't add image if
12630         it is not a pixmap.
12631         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12632         is relative.
12633
12634 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12635
12636         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12637         declaration.
12638         (DEFVAR_INT_MAGIC): Ditto.
12639         (DEFVAR_BOOL_MAGIC): Ditto.
12640         * glyphs.h: Reindent backslash.
12641
12642 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12643
12644         * glyphs-widget.c (layout_query_geometry):
12645         (layout_layout): Use correct types for gheight, gwidth.
12646
12647 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12648
12649         * EmacsManager.c (QueryGeometry): Purified.
12650
12651 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12652
12653         * alloc.c (make_float): Make sure entire object is initialized, to
12654         avoid Purify warnings.
12655         (pdump_register_sub): Remove useless assignment.
12656         (pdump): Use xmalloc, not malloc.
12657         (pdump_load): Use xmalloc, not malloc.
12658
12659 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12660
12661         * callproc.c:
12662         * dired-msw.c:
12663         * fileio.c:
12664         * process-nt.c:
12665         * redisplay-msw.c:
12666         * sysdep.c: Removed redundant #include <windows.h>
12667
12668 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12669
12670         * frame.c (delete_frame_internal): Do not delete device when its
12671         implementation so declares.
12672         (delete_frame_internal): Set device selected frame to nil when
12673         last frame goes away.
12674
12675         * device-msw.c (msprinter_device_system_metrics): Implemented.
12676         (mswindows_device_system_metrics): Added 'device-dpi property.
12677
12678         * device.c: (Fdevice_printer_p): Added.
12679         Added 'offset-workspace device metric.
12680
12681         * console.h (device_metrics): Declared DM_offset_workspace.
12682
12683 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12684
12685         * fileio.c (Ffile_truename): Remove pointless and confusing
12686         initialization of elen.
12687
12688         * glyphs-widget.c: Compiler warning fixes.
12689
12690 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12691
12692         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12693         instead of a Lisp_Object as argument to make it consistent with
12694         the other LIVE_P macros.
12695         (CHECK_LIVE_PROCESS): New macro.
12696
12697         * process.c: Declare Qprocess_live_p.
12698         (Fprocess_live_p): New function.
12699         (create_process): Use PROCESS_LIVE_P.
12700         (read_process_output): Ditto.
12701         (set_process_filter): Ditto.
12702         (Fdelete_process): Ditto.
12703         (kill_buffer_processes): Ditto
12704         (process_send_signal): Use CHECK_LIVE_PROCESS.
12705         (Fprocess_input_coding_system): Check whether process is still
12706         alive (fix PR#1061).
12707         (Fprocess_output_coding_system): Ditto.
12708         (Fprocess_coding_system): Ditto.
12709         (Fset_process_input_coding_system): Ditto.
12710         (Fset_process_output_coding_system): Ditto.
12711
12712 2000-01-23  Andy Piper  <andy@xemacs.org>
12713
12714         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12715         layout and widget.
12716
12717         * glyphs.c (mark_image_instance): take into account changed
12718         image_instance format.
12719         (image_instance_equal): ditto.
12720         (image_instance_hash): ditto.
12721
12722         * glyphs-widget.c (widget_instantiate): Incorporate layout
12723         instantiation here. Delay layout of the layout until later.
12724         (layout_instantiate): deleted.
12725         (layout_query_geometry): new function. get the geometry of a
12726         layout.
12727         (layout_layout): layout a layout dynamically.
12728         (image_instantiator_widget): New function - splitting up
12729         image_instantiator_format_create_glyphs_widget for netwinder
12730         compilation.
12731         (image_instantiator_buttons):
12732         (image_instantiator_edit_fields):
12733         (image_instantiator_combo_box):
12734         (image_instantiator_scrollbar):
12735         (image_instantiator_progress_guage):
12736         (image_instantiator_tree_view):
12737         (image_instantiator_tab_control):
12738         (image_instantiator_labels):
12739         (image_instantiator_layout): ditto.
12740         (image_instantiator_format_create_glyphs_widget): Call preceding
12741         functions.
12742
12743 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12744
12745         * process.c (Fset_process_coding_system):
12746         * device-x.c (Fx_keysym_hash_table):
12747         Docstring fixes.
12748
12749         * lstream.c (Lstream_write): Return documented value, not 0.
12750
12751         * fileio.c (directory_file_name):
12752         (Fsubstitute_in_file_name):
12753         (Fsubstitute_insert_file_contents_internal):
12754         (Fwrite_region_internal):
12755         * emacs.c:
12756         * sysdep.c:
12757         * getloadavg.c:
12758         * systty.h:
12759         Remove vestigial APOLLO-conditional code.
12760
12761 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12762
12763         * getpagesize.h: Add guard macros.
12764         * libsst.h: Add guard macros.
12765         * libst.h: Add guard macros.
12766         * line-number.h: Add guard macros.
12767         * ndir.h: Add guard macros.
12768         * sysfloat.h: Add guard macros.
12769         * sysfile.h: Add guard macros.
12770         * sysproc.h: Add guard macros.
12771         * syswait.h: Add guard macros.
12772         * xintrinsic.h: Add guard macros.
12773         * xintrinsicp.h: Add guard macros.
12774         * xmmanager.h: Add guard macros.
12775         * xmmanagerp.h: Add guard macros.
12776         * xmprimitive.h: Add guard macros.
12777         * xmu.h: Add guard macros.
12778         * gpmevent.h: Add copyright statement. Add guard macros.
12779         * miscplay.h: Add guard macros.
12780         * *.h: Use consistent C-standards-approved guard macro names.
12781
12782         * opaque.c (make_opaque): Switch parameter order.
12783         * opaque.h (make_opaque): Switch parameter order.
12784         Update all callers.
12785         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12786
12787         * config.h.in (type_checking_assert): Added.
12788         (bufpos_checking_assert): Added.
12789
12790 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12791
12792         * alloc.c: Harmless pdump changes.
12793         - Use countof().
12794         - spell alignment correctly.
12795         * sysdep.c: Use countof()
12796
12797 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12798
12799         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12800         initially_selected_for_input() console method, default to 0.
12801         (semi_canonicalize_console_connection): Try to delegate to
12802         canonicalize_console_connection if no such console method.
12803         (canonicalize_console_connection): Vice versa.
12804         (print_console): Do not print nil connection.
12805
12806         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12807         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12808         (XDEVIMPF_FRAMELESS_OK): Added.
12809         (CONSOLE_INHERITS_METHOD): Added.
12810
12811         * console-msw.c (mswindows_canonicalize_console_connection):
12812         Added.
12813         (mswindows_canonicalize_device_connection): Added.
12814
12815         * console-msw.h (struct msprinter_device): Added this struct and
12816         accessor macros.
12817         (mswindows_device): Made fontlist a lisp object.
12818
12819         * device.c (semi_canonicalize_device_connection):  Try to delegate
12820         to canonicalize_device_connection if no such console method.
12821         (canonicalize_device_connection): Vice versa.
12822         (print_device): Do not print nil connection.
12823
12824         * device-msw.c (mswindows_init_device): Call InitCommonControls
12825         when have widgets.
12826         (mswindows_delete_device): Removed fontlist deallocation.
12827         (mswindows_mark_device): Added.
12828
12829         * events.c (event_equal): Added abort() at unreached code.
12830         (event_hash): Ditto.
12831
12832         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12833         fallback tags of Windows devices.
12834
12835         * general.c (syms_of_general): Initialized Qmsprinter.
12836
12837         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12838         of fallback tags of Windows devices.
12839
12840         * lisp.h: Declared Qmsprinter.
12841
12842         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12843         of strings.
12844         (mswindows_list_fonts): Ditto.
12845         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12846         that it can be used by both mswindows and msprinter devices.
12847         (initialize_font_instance): Added.
12848         (mswindows_initialize_font_instance): Use it.
12849         (msprinter_initialize_font_instance): Added.
12850
12851         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12852         and implementation flags check.
12853         (redisplay_without_hooks): Changed the call to the above.
12854         (Fredraw_device): Ditto.
12855         (Fredisplay_device): Ditto.
12856
12857         * redisplay-msw.c (get_frame_dc): Implemented.
12858         (get_frame_compdc): Implemented.
12859         (many functions): Use the two functions above to get device
12860         contexts, ether for a window or a printer.
12861
12862 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12863
12864         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12865         initialization here.
12866         (init_symbols_once_early): Call it.
12867         * emacs.c (main_1): Call it.
12868         * symsinit.h: Declare it.
12869
12870 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12871
12872         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12873         Lisp_Object.
12874         (pdump_backtrace): Ditto.
12875         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12876         (pdump_get_entry): Abort if trying to register a null pointer.
12877         (pdump_dump_data): Cleanup types when relocating.
12878         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12879         (pdump_dump_rtables): Remove bad casts.
12880         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12881         Lisp_Object instead of a EMACS_INT for the hashtable
12882         reorganization.
12883
12884 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12885
12886         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12887
12888         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12889
12890         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12891
12892         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12893
12894 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12895
12896         * faces.h (FACE_STRIKETHRU_P): Added.
12897
12898         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12899         of font variants.
12900
12901         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12902         (mswindows_set_dc_font): New function, aware of font variants,
12903         separated from mswindows_update_dc.
12904
12905         * objects-msw.h (struct mswindows_font_instance_data): Added
12906         definition.
12907
12908         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12909         cached fonts and the data structure.
12910         (mswindows_initialize_font_instance): Added creation of font data
12911         structure.
12912         (mswindows_print_font_instance): Print at least something.
12913         (mswindows_create_font_variant): Implemented.
12914         (mswindows_get_hfont): Implemented.
12915
12916 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12917
12918         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12919         prototyping problem with msvc.
12920
12921         * emacs.c (main_1): added syms_of_gui_mswindows() call
12922
12923         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12924         syms_of_gui_mswindows() function
12925
12926         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12927
12928 2000-01-18  Martin Buchholz <martin@xemacs.org>
12929
12930         * XEmacs 21.2.27 is released.
12931
12932 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12933
12934         * glyphs-eimage.c (struct tiff_error_struct):
12935         (tiff_error_func):
12936         (tiff_warning_func):
12937         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12938
12939         * unexmips.c:
12940         * unexhp9k3.c:
12941         * unexfreebsd.c:
12942         * unexec.c: Remove vestigial Lucid C code.
12943         * unexalpha.c:
12944         * unexaix.c:
12945         * termcap.c:
12946         * libsst.c: Ansify.
12947         Remove declarations of errno and strerror().
12948
12949         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12950
12951         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12952
12953 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12954
12955         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12956         Optimize.
12957
12958 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12959
12960         * md5.c:
12961         * file-coding.c:
12962         * file-coding.h:
12963         Change enum eol_type to eol_type_t.
12964
12965 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12966
12967         * gui.c (get_gui_callback): Check cons before accessing car.
12968
12969 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12970
12971         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12972         (XSETSPECIFIER_TYPE): Ditto.
12973
12974 2000-01-17  Didier Verna  <didier@xemacs.org>
12975
12976         * redisplay.c (generate_fstring_runes): compute string size in
12977         characters, not bytes.
12978
12979 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12980
12981         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12982
12983 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12984
12985         * print.c (print_error_message): Call print_prepare().
12986
12987 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12988
12989         * .dbxrc: Renamed from dbxrc.
12990
12991         * events.c (event_to_character):
12992         Use `assert (foo)' instead of `if (!foo) abort()'
12993
12994         * .gdbinit (xtype): Add documentation.
12995         * .gdbinit (check-temacs): New function.
12996         * .gdbinit (check-xemacs): New function.
12997         * dbxrc (check-xemacs): New function.
12998         * dbxrc (check-xemacs): New function.
12999
13000 2000-01-14  Andy Piper  <andy@xemacs.org>
13001
13002         * glyphs-widget.c (widget_query_geometry): Make sure that we
13003         calculate default dimensions correctly.
13004
13005 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13006
13007         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
13008
13009         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
13010         pdump_wire'd variable.
13011
13012         * emacs.c: (main_1): Conditionalized calls to
13013         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
13014
13015 2000-01-13  Martin Buchholz  <martin@xemacs.org>
13016
13017         * window.c (Fset_window_configuration):
13018         * sysdep.c (_start):
13019         * input-method-motif.c (res):
13020         * event-Xt.c (Xt_process_to_emacs_event):
13021         Simple compiler warning fixes.
13022
13023         * bytecode.c (funcall_compiled_function): Use the original
13024         function symbol on the backtrace list in preference to the
13025         compiled_function object in error messages.
13026
13027 2000-01-13  Andy Piper  <andy@xemacs.org>
13028
13029         * glyphs-x.c (update_widget_face): Make sure we update the widget
13030         background as well as foreground.
13031
13032 2000-01-13  Andy Piper  <andy@xemacs.org>
13033
13034         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
13035         fields to subwindow.
13036         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
13037         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
13038         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13039         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13040
13041         * glyphs-widget.c (check_valid_tab_orientation): new function.
13042         (initialize_widget_image_instance): zero orientation and
13043         justification.
13044         (widget_instantiate): pick up orientation.
13045         (tab_control_query_geometry): return appropriate values for
13046         vertical tabs.
13047
13048         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
13049         appropriate creation flags for left, right and bottom tabs.
13050
13051         * s/cygwin32.h: add tab definitions.
13052
13053 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13054
13055         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
13056         frame upon hiding a subwindow.
13057         (mswindows_button_instantiate): Changed the push button style to
13058         BS_PUSHBUTTON.
13059         (mswindows_button_instantiate): Removed button BS_NOTIFY
13060         style.
13061         (mswindows_button_instantiate): Removed redundant check for
13062         a disabled gui item.
13063         (mswindows_button_instantiate): Made use of WS_TABSTOP
13064         consistent: "operable" controls (edit, button, tree, scroll) have
13065         this style, "display-only" ones (static, progress gauge) do
13066         not. This style is currently ignored by XEmacs though. Also,
13067         removed the WS_EX_CONTROLPARENT style - it is not for children,
13068         it is for their parents!
13069         (mswindows_edit_field_instantiate): Ditto.
13070         (mswindows_progress_gauge_instantiate): Ditto.
13071         (mswindows_tree_view_instantiate): Ditto.
13072         (mswindows_tab_control_instantiate): Ditto.
13073         (mswindows_scrollbar_instantiate): Ditto.
13074         (mswindows_combo_box_instantiate): Ditto.
13075         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
13076         style to the "clip" window.
13077         (mswindows_button_instantiate): Removed compilation warning by
13078         equally typing terms of the ?: operator.
13079
13080 2000-01-12  Didier Verna  <didier@xemacs.org>
13081
13082         * redisplay.c (generate_fstring_runes): new parameter holding the
13083         last modeline-format extent.
13084         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
13085         extent, fill the glyph block with it.
13086         (generate_fstring_runes): handle these parameters.
13087         (generate_formatted_string_db): ditto.
13088
13089         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
13090         glyphs'extents in the modeline.
13091
13092 1999-01-11  Mike Woolley  <mike@bulsara.com>
13093
13094         * ntheap.c: Reduced the reserved heap space from 1Gb down to
13095         256Mb, as a workaround for the non-starting problem many people
13096         have experienced.
13097
13098 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13099
13100         * console-tty.c (Fset_console_tty_output_coding_system):
13101         Force redrawing tty frame.
13102
13103 2000-01-10  Didier Verna  <didier@xemacs.org>
13104
13105         * redisplay.c (generate_fstring_runes): fix size computation bug.
13106
13107 2000-01-09  William M. Perry <wmperry@aventail.com>
13108
13109         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
13110
13111 2000-01-09  Andy Piper  <andy@xemacs.org>
13112
13113         * glyphs-msw.c: index -> i to avoid shadows.
13114         (xbm_create_bitmap_from_data): make static.
13115         (check_valid_string_or_int): deleted.
13116         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
13117
13118         * glyphs-x.c (x_update_subwindow): remove unused args.
13119
13120         * glyphs.c (glyph_image_instance): return the thing. Don't set the
13121         back pointer - this is done in allocate_image_instance.
13122         (query_string_font): return Qnil to make the compiler happy.
13123         (unmap_subwindow): set to ~0 to make the compiler happy.
13124         (glyph_query_geometry): comment out until used.
13125         (glyph_layout): ditto.
13126
13127 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13128
13129         * insdel.c (signal_after_change): Remove extraneous unbind_to().