Sync with r21-2-44-utf-2000-0_18-m15.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * chartab.c (Vcharacter_variant_table): Deleted.
4         (Fchar_variants): Use character-attribute `->ucs-variants' instead
5         of `Vcharacter_variant_table'.
6         (Fput_char_attribute): Likewise.
7         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
8         (complex_vars_of_chartab): Likewise.
9
10 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
11
12         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
13
14         * fns.c (Qideographic_structure): New variable.
15         (Qkeyword_char): New variable.
16         (ids_format_unit): New function.
17         (Fideographic_structure_to_ids): New function.
18         (syms_of_fns): Add new symbols `ideographic-structure' and
19         `:char'; add new builtin function `ideographic-structure-to-ids'.
20
21         * data.c (Fchar_ref_p): New function.
22         (syms_of_data): Add new builtin function `char-ref-p'.
23
24         * chartab.h: Add an EXFUN for `Ffind_char'.
25
26 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
27
28         * text-coding.c (Vcharacter_composition_table): Deleted.
29         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
30         in every UTF-2000.
31
32         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
33         UTF-2000.
34         (Vcharacter_composition_table): Deleted.
35         (Fget_composite_char): Use the implementation for external-DB
36         support in every UTF-2000.
37         (Fput_char_attribute): Likewise.
38         (char_attribute_system_db_file): Don't define if external-DB
39         feature is not available.
40         (Fsave_char_attribute_table): Likewise.
41         (Fmount_char_attribute_table): Likewise.
42         (Fclose_char_attribute_table): Likewise.
43         (Freset_char_attribute_table): Likewise.
44         (Fload_char_attribute_table): Likewise.
45         (syms_of_chartab): Don't define `save-char-attribute-table',
46         `mount-char-attribute-table', `reset-char-attribute-table',
47         `close-char-attribute-table' and `load-char-attribute-table' if
48         external-DB feature is not available.
49         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
50
51 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
52
53         * text-coding.c (Qcomposition): Add extern if external-DB feature
54         is supported.
55         (Vcharacter_composition_table): Don't add extern if external-DB
56         feature is supported.
57         (COMPOSE_ADD_CHAR): Modify for new data-representation of
58         character composition rule if external-DB feature is supported.
59
60         * chartab.c (Vcharacter_composition_table): Don't define if
61         external-DB feature is supported.
62         (Qcomposition): New variable.
63         (Fget_composite_char): New implementation for external-DB support.
64         (Fput_char_attribute): Use `composition' property of each
65         character instead of `Vcharacter_composition_table' to store
66         character-composition rules if external-DB feature is supported.
67         (syms_of_chartab): Add new symbol `composition'.
68         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
69         external-DB feature is supported.
70
71 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
72
73         * chartab.c (Vchar_db_stingy_mode): New variable.
74         (load_char_attribute_maybe): Close database if
75         Vchar_db_stingy_mode is not NIL.
76         (Fload_char_attribute_table_map_function): Use
77         `get_char_id_table_0' instead of `get_char_id_table'.
78         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
79
80         * chartab.h (get_char_id_table_0): New inline function.
81         (get_char_id_table): Use `get_char_id_table_0'.
82
83 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
84
85         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
86         and `COMPOSE_ADD_CHAR'.
87         (decode_coding_iso2022): Use `decode_flush_er_chars'.
88
89 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
90
91         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
92         instead of `DECODE_ADD_UCS_CHAR'.
93         (COMPOSE_ADD_CHAR): Likewise.
94
95 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
96
97         * text-coding.c (decode_flush_er_chars): New inline function.
98         (decode_add_er_char): New function.
99         (decode_coding_utf8): Use `decode_flush_er_chars' and
100         `decode_add_er_char'.
101
102 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
103
104         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
105         done before `decode_output_utf8_partial_char'.
106
107         * mule-charset.c (complex_vars_of_mule_charset): Specify
108         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
109         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
110
111 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
112
113         * mule-charset.c (decode_defined_char): New function; search
114         mother.
115         (decode_builtin_char): Don't search mother if
116         XCHARSET_MAX_CODE(charset) == 0.
117         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
118         == 0 even if code >= XCHARSET_MAX_CODE(charset).
119         (Fdecode_char): Use `decode_defined_char' instead of
120         `DECODE_DEFINED_CHAR'.
121         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
122         mother of `Vcharset_ucs_jis'.
123
124         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
125         instead of `DECODE_DEFINED_CHAR'.
126
127         * char-ucs.h (decode_defined_char): Renamed from
128         `DECODE_DEFINED_CHAR'; changed to normal function.
129         (DECODE_CHAR): Use `decode_defined_char' instead of
130         `DECODE_DEFINED_CHAR'.
131
132         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
133
134 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
137
138         * text-coding.c (Vcoded_charset_entity_reference_alist): New
139         variable.
140         (Quse_entity_reference): New variable.
141         (Qd): New variable.
142         (Qx): New variable.
143         (QX): New variable.
144         (coding_system_description): Add description for
145         `ccs_priority_list'.
146         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
147         (allocate_coding_system): Initialize `ccs_priority_list' in
148         UTF-2000.
149         (Fmake_coding_system): Add description about
150         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
151         (codesys).
152         (Fcoding_system_property): Accept `disable-composition' and
153         `use-entity-reference' in UTF-2000.
154         (struct decoding_stream): Add new member `er_counter' and `er_buf'
155         in UTF-2000.
156         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
157         (decode_coding_utf8): Decode entity-reference if
158         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
159         (char_encode_utf8): Encode non-Unicode characters as
160         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
161         (str->codesys).
162         (syms_of_file_coding): Add new symbols `use-entity-reference',
163         `d', `x', `X'.
164         (vars_of_file_coding): Add new variable
165         `coded-charset-entity-reference-alist'.
166         (complex_vars_of_file_coding): Declare `disable-composition' and
167         `use-entity-reference' to be coding-system-properties in UTF-2000.
168
169         * file-coding.h (struct Lisp_Coding_System): Add new member
170         `use_entity_reference' and `ccs_priority_list'.
171         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
172         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
173         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
174
175 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
176
177         * chartab.c (save_uint8_byte_table): Don't clear the table.
178         (save_uint16_byte_table): Likewise.
179         (save_byte_table): Likewise.
180         (Fmount_char_attribute_table): New function.
181         (syms_of_chartab): Add new builtin function
182         `mount-char-attribute-table'.
183
184 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
185
186         * mule-charset.c (Fsave_charset_mapping_table): Open database as
187         "w+" mode.
188         (load_char_decoding_entry_maybe): Open database as read-only mode.
189
190         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
191         open database as "w+" mode.
192         (load_char_attribute_maybe): Open database as read-only mode.
193         (Fload_char_attribute_table): Likewise.
194
195 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
198         (char_table_description): Delete member `db_file'.
199         (Fmake_char_table): Don't refer `ct->db_file'.
200         (Fcopy_char_table): Likewise.
201         (Fsave_char_attribute_table): Likewise.
202         (Fclose_char_attribute_table): Likewise.
203         (Freset_char_attribute_table): Likewise.
204         (load_char_attribute_maybe): Likewise.
205         (Fload_char_attribute_table): Likewise.
206
207         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
208
209 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
210
211         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
212         (Fsave_char_attribute_table): Don't check `ct->db_file' if
213         `ct->db' is living.
214         (load_char_attribute_maybe): Likewise.
215         (Fload_char_attribute_table): Likewise.
216
217 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
218
219         * chartab.c (Fclose_char_attribute_table): Set Qnil on
220         `ct->db_file' unconditionally.
221
222 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
223
224         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
225         UTF-2000.
226         (char_table_description): Add description for `db_file' and `db'
227         in UTF-2000.
228         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
229         UTF-2000.
230         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
231         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
232         (Fclose_char_attribute_table): New function.
233         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
234         (load_char_attribute_maybe): Change interface; use `cit->db_file'
235         and `cit->db'.
236         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
237         (syms_of_chartab): Add new builtin function
238         `Fclose_char_attribute_table'.
239
240 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
241
242         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
243         `db' in UTF-2000.
244         (load_char_attribute_maybe): Change interface.
245         (get_char_id_table): Modify for `load_char_attribute_maybe'.
246
247 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
248
249         * database.h: Add an EXFUN for `Fdatabase_live_p'.
250
251 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
254         instead of `DECODE_CHAR' for mother; don't use special code for
255         chinese-big5 to use code space of chinese-big5-1 and
256         chinese-big5-2.
257         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
258         `MAX_CHAR_BIG5_CDP' for chinese-big5.
259
260         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
261         (MAX_CHAR_BIG5_CDP): Revival.
262
263 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
264
265         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
266         the XLFD registry-encoding name of `chinese-big5'.
267
268 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
269
270         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
271         (Qchinese_big5_cdp): Deleted.
272         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
273         (complex_vars_of_mule_charset): Delete coded-charset
274         `chinese-big5-cdp'.
275
276         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
277         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
278         `CHARSET_ID_OFFSET - n' for private CCS.
279         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
280         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
281         of `MIN_LEADING_BYTE'.
282         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
283         `(CHARSET_ID_OFFSET - 97)'.
284         (MIN_CHAR_BIG5_CDP): Deleted.
285         (MAX_CHAR_BIG5_CDP): Deleted.
286
287 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
290
291 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
294         (vars_of_mule): Add new variable `utf-2000-version' [moved from
295         chartab.c].
296
297         * chartab.c (Vutf_2000_version): Moved to mule.c.
298         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
299
300 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
301
302         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
303         when HAVE_CHISE_CLIENT is not defined.
304
305         * mule.c (vars_of_mule): Provide feature `chise' when
306         HAVE_CHISE_CLIENT is defined.
307
308 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
309
310         * config.h.in (UTF2000): Add comment.
311         (HAVE_CHISE_CLIENT): New macro.
312
313 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
314
315         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
316         CONSP.
317         (Fput_char_attribute): Likewise.
318         (char_attribute_system_db_file): Encode file-name of attribute.
319         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
320         the initial value.
321
322 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
323
324         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
325         (Fsave_charset_mapping_table): Use
326         `char_attribute_system_db_file'.
327         (load_char_decoding_entry_maybe): Likewise.
328
329         * chartab.h (Qsystem_char_id): New external variable.
330         (char_attribute_system_db_file): New prototype.
331
332         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
333         (char_attribute_system_db_file): New function.
334         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
335         (Freset_char_attribute_table): Likewise.
336         (load_char_attribute_maybe): Likewise.
337         (Fload_char_attribute_table): Likewise.
338         (syms_of_chartab): Add new symbol `system-char-id'.
339
340 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
341
342         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
343         `XCHARSET_GRAPHIC(ccs)'.
344
345 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
346
347         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
348
349 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
350
351         * chartab.c (Q_ucs_variants): New variable.
352         (syms_of_chartab): Add new symbol `->ucs-variants'.
353         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
354         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
355         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
356
357         * mule-charset.c (load_char_decoding_entry_maybe): New function.
358
359         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
360         `HAVE_DATABASE' is defined.
361         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
362         `HAVE_DATABASE' is defined.
363
364 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
365
366         * chartab.c (Fsave_char_attribute_table): Don't clear internal
367         attribute-table.
368         (Freset_char_attribute_table): New function.
369         (syms_of_chartab): Add new builtin function
370         `reset-char-attribute-table'.
371
372 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
373
374         * chartab.c (load_char_attribute_maybe): Don't make directories.
375
376 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
377
378         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
379
380         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
381         for decoding-table.
382
383 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
384
385         * mule-charset.c (Fsave_charset_mapping_table): Use
386         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
387
388         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
389         instead of `XCHARSET_CHARS'.
390
391 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
392
393         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
394         (XCHARSET_BYTE_SIZE): Likewise.
395
396         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
397         mule-charset.c].
398         (XCHARSET_BYTE_SIZE): Likewise.
399
400 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
401
402         * chartab.c (Fput_char_attribute): Use exec-directory instead of
403         data-directory to store database.
404         (Fsave_char_attribute_table): Likewise.
405         (load_char_attribute_maybe): Likewise.
406         (Fload_char_attribute_table): Likewise.
407
408 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
409
410         * mule-charset.c (Fsave_charset_mapping_table): New function.
411         (syms_of_mule_charset): Add new builtin function
412         `save-charset-mapping-table'.
413
414 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
415
416         * char-ucs.h (decoding_table_check_elements): Delete prototype.
417         (get_ccs_octet_table): New inline function.
418         (put_ccs_octet_table): Likewise.
419         (decoding_table_put_char): Use `get_ccs_octet_table' and
420         `put_ccs_octet_table'.
421         (decoding_table_remove_char): Use `decoding_table_put_char'.
422         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
423
424         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
425         into encoding_table.
426         (make_charset): Use Qunbound instead Qnil as initial value of
427         decoding_table.
428
429 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
430
431         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
432         element is Qunloaded.
433         (map_over_uint16_byte_table): Likewise.
434         (map_over_byte_table): Likewise.
435         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
436         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
437         database support, load encoding-table of the specified
438         coded-charset if it is not loaded yet.
439         (save_uint8_byte_table): New function of UTF-2000 with external
440         database support.
441         (save_uint16_byte_table): Likewise.
442         (save_byte_table): Likewise.
443         (Fput_char_attribute): Don't store value into external database
444         even if the external database feature is supported in UTF-2000;
445         set `attribute' as name of char-table if the external database
446         feature is supported.
447         (Fsave_char_attribute_table): New function in UTF-2000.
448         (syms_of_chartab): Add new builtin function
449         `save-char-attribute-table' in UTF-2000.
450
451 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
452
453         * chartab.c (char_attribute_table_to_put): New variable in
454         UTF-2000.
455         (Qput_char_table_map_function): Likewise.
456         (value_to_put): Likewise.
457         (Fput_char_table_map_function): New function in UTF-2000.
458         (put_char_table): Use `Fmap_char_attribute' for
459         CHARTAB_RANGE_CHARSET in UTF-2000.
460         (Fput_char_attribute): Store symbol instead of string in
461         `XCHAR_TABLE_NAME (table)'.
462         (load_char_attribute_maybe): Likewise.
463         (syms_of_chartab): Add new symbol/function
464         `put-char-table-map-function'.
465
466 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
467
468         * database.h: Add new EXFUN for `Fmap_database'.
469
470         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
471         (syms_of_database): Likewise.
472
473         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
474         UTF-2000.
475         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
476         (XCHAR_TABLE_UNLOADED): Likewise.
477
478         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
479         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
480         HAVE_DATABASE is defined.
481         (char_attribute_table_to_load): New variable of UTF-2000 with
482         external database support.
483         (Qload_char_attribute_table_map_function): Likewise.
484         (Fload_char_attribute_table_map_function): New function of
485         UTF-2000 with external database support.
486         (Fload_char_attribute_table): New function of UTF-2000.
487         (Fmap_char_attribute): Call Fload_char_attribute_table if
488         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
489         (syms_of_chartab): Add new symbol and function
490         `load-char-attribute-table-map-function' in UTF-2000 with external
491         database support; add new function `load-char-attribute-table' in
492         UTF-2000.
493
494 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
495
496         * chartab.h (load_char_attribute_maybe): New prototype for
497         UTF-2000 with DATABASE support.
498         (get_char_id_table): Use `load_char_attribute_maybe' if
499         HAVE_DATABASE is defined.
500
501         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
502         with DATABASE support.
503
504 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
505
506         * chartab.c (Fput_char_attribute): Use S-expression as key of
507         external database.
508
509         * chartab.h (get_char_id_table): Use S-expression as key of
510         external database.
511
512 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
513
514         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
515         if an element is not loaded, load the corresponding attributes
516         from an external database.
517         (map_over_uint16_byte_table): Likewise.
518         (map_over_byte_table): Likewise.
519         (map_char_table): Modify for `map_over_uint8_byte_table',
520         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
521         element is not loaded, load the corresponding attributes from an
522         external database.
523         (Fput_char_attribute): Change initial values to Qunloaded.
524
525         * chartab.h (get_char_id_table): If a character attribute is not
526         loaded and the attribute value is not found in an external
527         database, store Qunbound as the attribute value.
528
529 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
530
531         * chartab.c (BT_UINT8_unloaded): New macro.
532         (UINT8_VALUE_P): Accept Qunloaded.
533         (UINT8_ENCODE): Likewise.
534         (UINT8_DECODE): Likewise.
535         (BT_UINT16_unloaded): New macro.
536         (UINT16_VALUE_P): Accept Qunloaded.
537         (UINT16_ENCODE): Likewise.
538         (UINT16_DECODE): Likewise.
539         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
540         BT_UINT16_unloaded.
541         (mark_char_table): Mark `ct->name' in UTF-2000.
542         (char_table_description): Add `name' in UTF-2000.
543         (Fmake_char_table): Initialize `ct->name'.
544         (Fcopy_char_table): Copy `ct->name'.
545         (Fput_char_attribute): Store value into an external database if
546         HAVE_DATABASE is defined.
547
548         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
549         UTF-2000.
550         (CHAR_TABLE_NAME): New macro in UTF-2000.
551         (XCHAR_TABLE_NAME): New macro in UTF-2000.
552         (get_char_id_table): Try to read an external database if Qunloaded
553         is stored in a table.
554
555         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
556         Qunloaded.
557
558 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
559
560         * database.h: Add EXFUN definitions for Fopen_database,
561         Fput_database, Fget_database and Fclose_database.
562
563         * data.c (Qunloaded): New variable in UTF-2000.
564
565         * lisp.h (Qunloaded): New variable in UTF-2000.
566
567 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
568
569         * mule-charset.c (put_char_ccs_code_point): Modify for
570         `decoding_table_remove_char' and `decoding_table_put_char'.
571         (remove_char_ccs): Modify for `decoding_table_remove_char'.
572
573         * char-ucs.h (decoding_table_remove_char): Change arguments to
574         hide decoding_table vector.
575         (decoding_table_put_char): Likewise.
576
577 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
578
579         * mule-charset.c (decoding_table_remove_char): Moved to
580         char-ucs.h.
581         (decoding_table_put_char): Likewise.
582
583         * char-ucs.h (decoding_table_check_elements): New prototype [moved
584         from mule-charset.c].
585         (decoding_table_remove_char): New inline function [moved from
586         mule-charset.c].
587         (decoding_table_put_char): Likewise.
588
589 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
590
591         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
592         extension.
593
594 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
595
596         * mule-charset.c (decode_builtin_char): Support mother charsets.
597
598 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
599
600         * mule-charset.c (Q94x94x60): New variable.
601         (charset_code_point): Support conversion `94x94x60'.
602         (Fmake_charset): Likewise.
603         (syms_of_mule_charset): Add new symbol `94x94x60'.
604
605         * char-ucs.h (CONVERSION_94x94x60): New macro.
606
607 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
608
609         * mule-charset.c (charset_code_point): Unify code about
610         `code-offset'.
611
612 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
613
614         * mule-charset.c (charset_code_point): Merge code about builtin
615         characters into code about mother charsets; don't use
616         `range_charset_code_point'.
617         (range_charset_code_point): Deleted.
618
619 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
620
621         * mule-charset.c (Qcode_offset): New variable.
622         (Fmake_charset): Use `XUINT' to get value of `min-code' and
623         `max-code'; accept new property `code-offset'.
624         (syms_of_mule_charset): Add new symbol `code-offset'.
625
626 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
627
628         * mule-charset.c (range_charset_code_point): Fixed.
629
630 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
631
632         * mule-charset.c (decode_builtin_char): Change semantics of
633         code-offset of coded-charset.
634         (charset_code_point): Likewise.
635         (range_charset_code_point): Likewise.
636         (complex_vars_of_mule_charset): Modify for the change.
637
638 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * mule-charset.c (Fencode_char): Reverse arguments.
641
642         * mule-charset.c (charset_code_point): Fixed.
643
644 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
645
646         * mule-charset.c (Vcharset_mojikyo): Deleted.
647         (Vcharset_mojikyo_2022_1): Deleted.
648         (Vcharset_mojikyo_pj_{1..21}): Deleted.
649         (Qmin_code): New variable in UTF-2000.
650         (Qmax_code): Likewise.
651         (Qmother): Likewise.
652         (Qconversion): Likewise.
653         (Q94x60): Likewise.
654         (Qmojikyo): Deleted.
655         (Qmojikyo_2022_1): Deleted.
656         (Qmojikyo_pj_{1..22}): Deleted.
657         (mark_charset): Mark `cs->mother'.
658         (charset_description): Add description for `mother'.
659         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
660         new arguments `mother' and `conversion'; use
661         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
662         (charset_code_point): Moved from char-ucs.h; support `mother'
663         charset feature.
664         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
665         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
666         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
667         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
668         allow 2 as the value of `graphic' in UTF-2000; add new properties
669         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
670         require `final' in UTF-2000; modify for `make_charset'.
671         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
672         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
673         (Fcharset_property): Support `mother', `min-code' and `max-code'.
674         (Fencode_char): New function.
675         (syms_of_mule_charset): Add new builtin function `encode-char' in
676         UTF-2000; add new symbols `min-code', `max-code', `mother',
677         `conversion' and `94x60'; delete symbols `mojikyo',
678         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
679         (complex_vars_of_mule_charset): Modify for `make_charset' change;
680         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
681         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
682
683         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
684         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
685
686         * char-ucs.h (Vcharset_mojikyo): Deleted.
687         (Vcharset_mojikyo_2022_1): Deleted.
688         (LEADING_BYTE_MOJIKYO): Deleted.
689         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
690         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
691         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
692         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
693         add new member `mother'; add new member `conversion'.
694         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
695         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
696         (CHARSET_MOTHER): New macro.
697         (CHARSET_CONVERSION): New macro.
698         (CONVERSION_IDENTICAL): New macro.
699         (CONVERSION_94x60): New macro.
700         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
701         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
702         (XCHARSET_MOTHER): New macro.
703         (XCHARSET_CONVERSION): New macro.
704         (MIN_CHAR_MOJIKYO): Deleted.
705         (MAX_CHAR_MOJIKYO): Deleted.
706         (DECODE_MOJIKYO_2022): Deleted.
707         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
708         (charset_code_point): Changed to non-inline function.
709         (encode_char_1): Use `charset_code_point'.
710         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
711
712 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * lread.c (read_compiled_function): Fix prototype.
715         (read_vector): Likewise.
716
717 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
718
719         * lrecord.h (struct lrecord_header): Delete `older'.
720         (set_lheader_implementation): Delete code for `older'.
721         (set_lheader_older_implementation): Deleted.
722         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
723         (OLDER_RECORD_P): Deleted.
724         (OLDER_RECORD_HEADER_P): Deleted.
725         (alloc_older_lcrecord): Deleted.
726         (alloc_older_lcrecord_type): Deleted.
727
728         * alloc.c (all_older_lcrecords): Deleted.
729         (alloc_older_lcrecord): Deleted.
730         (disksave_object_finalization_1): Delete code for older objects.
731         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
732         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
733
734 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
735
736         * mule-charset.c (decoding_table_put_char): Use `make_vector'
737         instead of `make_older_vector'.
738         (put_char_ccs_code_point): Likewise.
739         (mark_charset): Mark `cs->decoding_table'.
740         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
741
742         * lisp.h (make_older_vector): Deleted.
743         (make_vector_newer): Deleted.
744
745         * config.h.in (HAVE_GGC): Deleted.
746
747         * alloc.c (make_older_vector): Deleted.
748         (make_vector_newer_1): Deleted.
749         (make_vector_newer): Deleted.
750
751 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
754         (Qideograph_daikanwa_2): New variable.
755         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
756         (complex_vars_of_mule_charset): Add new coded-charset
757         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
758         `LEADING_BYTE_DAIKANWA'.
759
760         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
761         (LEADING_BYTE_DAIKANWA_1): New macro.
762         (LEADING_BYTE_DAIKANWA_2): New macro.
763         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
764
765 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * mule-charset.c (complex_vars_of_mule_charset): Change
768         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
769         the second revised version.
770
771 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * mule-charset.c (Vcharset_ucs_smp): New variable.
774         (Vcharset_ucs_sip): New variable.
775         (Qucs_smp): New variable.
776         (Qucs_sip): New variable.
777         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
778         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
779         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
780         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
781         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
782         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
783
784         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
785         (LEADING_BYTE_UCS_SIP): New macro.
786         (MIN_CHAR_SMP): New macro.
787         (MAX_CHAR_SMP): New macro.
788         (MIN_CHAR_SIP): New macro.
789         (MAX_CHAR_SIP): New macro.
790
791 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
792
793         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
794         utf-2000.
795
796 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
797
798         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
799         value; don't store value into `encoding_table' of `Lisp_Charset'.
800         (mark_charset): `encoding_table' was deleted.
801         (charset_description): Likewise.
802         (make_charset): Likewise.
803         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
804         `put_char_ccs_code_point'.
805
806         * chartab.h (Fput_char_attribute): New EXFUN.
807
808         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
809         is unified with normal symbol space.
810         (Fget_char_attribute): Likewise.
811         (Fput_char_attribute): Likewise; behavior of
812         `put_char_ccs_code_point' is changed.
813
814         * char-ucs.h: Include "elhash.h".
815         (Vchar_attribute_hash_table): New external variable.
816         (struct Lisp_Charset): Delete `encoding_table'.
817         (CHARSET_ENCODING_TABLE): New implementation; refer
818         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
819         `Lisp_Charset'.
820
821 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
822
823         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
824         (cs) == 0.
825
826 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
827
828         * text-coding.c (char_encode_big5): Prefer charset-g1 than
829         `chinese-big5'.
830
831 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
832
833         * chartab.c (uint8_byte_table_description): New constant.
834         (uint8-byte-table): Use `uint8_byte_table_description'.
835         (uint16_byte_table_description): New constant.
836         (uint16-byte-table): Use `uint16_byte_table_description'.
837
838 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
841         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
842
843 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * mule-charset.c (Vcharset_ucs_ks): New variable.
846         (Qucs_ks): New variable.
847         (syms_of_mule_charset): Add new symbol `ucs-ks'.
848         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
849
850         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
851
852 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
853
854         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
855         (Fdecode_char): Likewise.
856
857         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
858         chartab.h.
859         (Fdefine_char): Modify for Fdecode_char.
860         (Ffind_char): Likewise.
861
862         * mule-charset.c (Fdecode_char): Add new optional argument
863         `defined-only'.
864         (Fdecode_builtin_char): Modify for `Fdecode_char'.
865
866 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
867
868         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
869         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
870         (allocate_coding_system): Initialize initial-charsets of
871         CODESYS_BIG5 in XEmacs UTF-2000.
872         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
873         CODESYS_BIG5 in XEmacs UTF-2000.
874         (decode_coding_big5): Use initial-charset-g0 and -g1 of
875         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
876
877         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
878         variables.
879         (Qideograph_hanziku_{1 .. 12}): Likewise.
880         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
881         .. 12}'.
882         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
883         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
884         `ideograph-hanziku-{1 .. 12}'.
885
886         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
887         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
888         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
889         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
890         (DECODE_DEFINED_CHAR): New inline function.
891         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
892
893 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * mule-charset.c (Vcharset_china3_jef): Renamed from
896         `Vcharset_japanese_jef_china3'.
897         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
898         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
899         `{MIN|MAX}_CHAR_JEF_CHINA3'..
900         (syms_of_mule_charset): Rename `china3-jef' from
901         `japanese-jef-china3'.
902         (complex_vars_of_mule_charset): Likewise; rename
903         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
904
905         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
906         `LEADING_BYTE_JEF_CHINA3'.
907         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
908         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
909
910 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
911
912         * mule-charset.c (encode_builtin_char_1): Comment out special code
913         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
914
915         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
916         (MAX_CHAR_MOJIKYO_0): Comment out.
917         (MIN_CHAR_CBETA): Changed to 0x00E20000.
918         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
919         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
920         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
921
922 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
923
924         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
925         (Qideograph_cbeta): New variable.
926         (encode_builtin_char_1): Comment out special code for
927         coded-charset `mojikyo' and `japanese-jef-china3'.
928         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
929         (complex_vars_of_mule_charset): Add new coded-charset
930         `ideograph-cbeta'.
931
932         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
933         (MIN_CHAR_CBETA): New macro.
934         (MAX_CHAR_CBETA): New macro.
935
936 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
937
938         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
939         (LEADING_BYTE_JEF_CHINA3): New macro.
940         (MIN_CHAR_JEF_CHINA3): New macro.
941         (MAX_CHAR_JEF_CHINA3): Likewise.
942         (DECODE_CHAR): Fixed.
943
944 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
947         (Qjapanese_jef_china3): New variable.
948         (encode_builtin_char_1): Support `japanese-jef-china3'.
949         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
950         (complex_vars_of_mule_charset): Add new coded-charset
951         `japanese-jef-china3'.
952
953 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
954
955         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
956         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
957         94^4, 96^3, 96^4, 128^n and 256^n set.
958         (put_char_table): Use `XCHARSET_CELL_RANGE'.
959         (map_char_table): Likewise.
960
961 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
962
963         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
964         UTF-2000.
965
966 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
967
968         * chartab.h (get_char_id_table): New inline function.
969
970         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
971         function.
972
973 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * chartab.h (decode_char_table_range): New prototype in XEmacs
976         UTF-2000.
977         (put_char_id_table): New inline function in XEmacs UTF-2000.
978
979         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
980         function.
981         (decode_char_table_range): Delete static declaration in XEmacs
982         UTF-2000.
983
984 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
985
986         * chartab.c (put_char_id_table): Use `put_char_table'.
987
988 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
989
990         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
991         (map_over_uint16_byte_table): Likewise.
992         (map_over_byte_table): Likewise.
993         (map_char_table): Modify for `map_over_uint8_byte_table',
994         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
995         UTF-2000.
996
997 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
998
999         * chartab.c (struct map_char_table_for_charset_arg): New
1000         structure.
1001         (map_char_table_for_charset_fun): New function.
1002         (map_char_table): Use `map_char_table' for encoding_table of
1003         `range->charset'.
1004
1005 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1006
1007         * chartab.c (map_char_table): Check a character is found in
1008         range->charset instead of non default value is defined in
1009         char-table when range is CHARTAB_RANGE_ROW.
1010
1011 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * chartab.c (map_char_id_table): Deleted.
1014         (Fmap_char_attribute): Use `map_char_table' instead of
1015         `map_char_id_table'.
1016
1017 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1020         UTF-2000.
1021         (update_syntax_table): Deleted in XEmacs UTF-2000.
1022
1023         * syntax.c (find_defun_start): Use `syntax_table' instead of
1024         `mirror_syntax_table' in XEmacs UTF-2000.
1025         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1026         UTF-2000.
1027         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1028         XEmacs UTF-2000.
1029         (Fmatching_paren): Likewise.
1030         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1031         in XEmacs UTF-2000.
1032         (find_start_of_comment): Likewise.
1033         (find_end_of_comment): Likewise.
1034         (Fforward_comment): Likewise.
1035         (scan_lists): Likewise.
1036         (char_quoted): Likewise.
1037         (Fbackward_prefix_chars): Likewise.
1038         (scan_sexps_forward): Likewise.
1039         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1040         (update_syntax_table): Likewise.
1041
1042         * search.c (skip_chars): Use `syntax_table' instead of
1043         `mirror_syntax_table' in XEmacs UTF-2000.
1044         (wordify): Likewise.
1045         (Freplace_match): Likewise.
1046
1047         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1048         `mirror_syntax_table' in XEmacs UTF-2000.
1049         (WORDCHAR_P_UNSAFE): Likewise.
1050         (re_match_2_internal): Likewise.
1051
1052         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1053         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1054
1055         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1056         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1057
1058         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1059         XEmacs UTF-2000.
1060
1061         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1062         UTF-2000.
1063         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1064         (char_table_description): Delete `mirror_table' in XEmacs
1065         UTF-2000.
1066         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1067         UTF-2000.
1068         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1069         (Fcopy_char_table): Likewise.
1070         (put_char_table): Don't call `update_syntax_table' in XEmacs
1071         UTF-2000.
1072
1073         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1074         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1075         (casify_region_internal): Likewise.
1076
1077         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1078
1079         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1080         `mirror_syntax_table' in XEmacs UTF-2000.
1081
1082         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1083         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1084         (Fexpand_abbrev): Likewise.
1085
1086 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1087
1088         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1089
1090 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1091
1092         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1093         (map_over_uint16_byte_table): Likewise.
1094         (map_over_byte_table): Likewise.
1095         (get_char_id_table): Refer `cit->default_value'.
1096         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1097         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1098         of character-id ranges.
1099         (mark_char_table): Mark `ct->default_value'.
1100         (char_table_description): Add `default_value'.
1101         (fill_char_table): Use `default_value'.
1102         (decode_char_table_range): Decode `nil' as
1103         `CHARTAB_RANGE_DEFAULT'.
1104         (get_char_id_table): Refer `cit->default_value'.
1105         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1106         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1107         temporary hack; check value of char-table is bound or not.
1108         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1109
1110         * chartab.h (struct Lisp_Char_Table): Add new member
1111         `default_value' in XEmacs UTF-2000.
1112         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1113         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1114         UTF-2000.
1115
1116 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1117
1118         * chartab.h (Lisp_Char_ID_Table): Deleted.
1119
1120         * chartab.c (char_table_description): Fix typo.
1121         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1122         `Lisp_Char_ID_Table'.
1123
1124 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1125
1126         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1127         `CHAR_ID_TABLE_P'.
1128
1129         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1130         `CHAR_ID_TABLE_P'.
1131
1132         * chartab.h (XCHAR_ID_TABLE): Deleted.
1133         (XSETCHAR_ID_TABLE): Deleted.
1134         (CHAR_ID_TABLE_P): Deleted.
1135
1136         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1137         `CHAR_ID_TABLE_P'.
1138         (Fget_composite_char): Likewise.
1139         (put_char_table): Likewise.
1140         (add_char_attribute_alist_mapper): Fixed.
1141         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1142         `CHAR_ID_TABLE_P'.
1143         (Fget_char_attribute): Likewise.
1144         (Fget_char_attribute): Likewise.
1145         (Fmap_char_attribute): Likewise.
1146
1147         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1148         `CHAR_ID_TABLE_P'.
1149         (encode_char_1): Likewise.
1150
1151 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1152
1153         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1154         `XCHAR_ID_TABLE'.
1155
1156         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1157         instead of `XCHAR_ID_TABLE'.
1158         (remove_char_ccs): Likewise.
1159
1160         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1161         `XCHAR_ID_TABLE'.
1162         (Fget_composite_char): Likewise.
1163         (Fchar_variants): Likewise.
1164         (put_char_table): Likewise.
1165         (add_char_attribute_alist_mapper): Likewise.
1166         (Fchar_attribute_alist): Likewise.
1167         (Fget_char_attribute): Likewise.
1168         (Fput_char_attribute): Likewise.
1169         (Fmap_char_attribute): Likewise.
1170         (Fmap_char_attribute): Likewise.
1171
1172         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1173         `XCHAR_ID_TABLE'.
1174         (encode_char_1): Likewise.
1175
1176 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1177
1178         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1179         `Lisp_Char_ID_Table'.
1180         (mark_char_id_table): Deleted.
1181         (print_char_id_table): Likewise.
1182         (char_id_table_equal): Likewise.
1183         (char_id_table_hash): Likewise.
1184         (char_id_table_description): Likewise.
1185         (char_id_table): Likewise.
1186         (make_char_id_table): Use `Fmake_char_table' and
1187         `fill_char_table'.
1188         (get_char_id_table): Use `Lisp_Char_Table' instead of
1189         `Lisp_Char_ID_Table'.
1190         (put_char_id_table): Likewise.
1191         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1192         `XCHAR_ID_TABLE'.
1193         (Fremove_char_attribute): Likewise.
1194         (syms_of_chartab): Don't define type `char-id-table'.
1195
1196         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1197         (char_id_table): Likewise.
1198         (GC_CHAR_ID_TABLE_P): Likewise.
1199         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1200         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1201         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1202         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1203         (get_char_id_table): Use `Lisp_Char_Table' instead of
1204         `Lisp_Char_ID_Table'.
1205         (put_char_id_table_0): Likewise.
1206         (put_char_id_table): Likewise.
1207
1208 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1209
1210         * chartab.h: Lisp_Byte_Table related codes are moved from
1211         chartab.h.
1212
1213         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1214
1215 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1216
1217         * chartab.h: Don't include "chartab.h".
1218         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1219         (Lisp_Char_ID_Table): Likewise.
1220         (char_id_table): Likewise.
1221         (XCHAR_ID_TABLE): Likewise.
1222         (XSETCHAR_ID_TABLE): Likewise.
1223         (CHAR_ID_TABLE_P): Likewise.
1224         (GC_CHAR_ID_TABLE_P): Likewise.
1225         (get_char_id_table): Likewise.
1226
1227         * char-ucs.h: Include "chartab.h".
1228         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1229         (Lisp_Char_ID_Table): Likewise.
1230         (char_id_table): Likewise.
1231         (XCHAR_ID_TABLE): Likewise.
1232         (XSETCHAR_ID_TABLE): Likewise.
1233         (CHAR_ID_TABLE_P): Likewise.
1234         (GC_CHAR_ID_TABLE_P): Likewise.
1235         (get_char_id_table): Likewise.
1236
1237 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1238
1239         * chartab.c (copy_uint8_byte_table): New function.
1240         (copy_uint16_byte_table): New function.
1241         (copy_byte_table): New function.
1242         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1243         characters to call.
1244         (map_over_uint16_byte_table): Likewise.
1245         (map_over_byte_table): Likewise.
1246         (get_byte_table): Move prototype to chartab.h.
1247         (put_byte_table): Likewise.
1248         (put_char_id_table_0): Moved to chartab.h.
1249         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1250         (char_table_entry_equal): Likewise.
1251         (char_table_entry_hash): Likewise.
1252         (char_table_entry_description): Likewise.
1253         (char_table_entry): Likewise.
1254         (make_char_table_entry): Likewise.
1255         (copy_char_table_entry): Likewise.
1256         (get_non_ascii_char_table_value): Likewise.
1257         (map_over_charset_ascii): Likewise.
1258         (map_over_charset_control_1): Likewise.
1259         (map_over_charset_row): Likewise.
1260         (map_over_other_charset): Likewise.
1261         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1262         (print_char_table): Likewise.
1263         (char_table_equal): Likewise.
1264         (char_table_hash): Likewise.
1265         (char_table_description): Likewise.
1266         (fill_char_table): Likewise.
1267         (Fcopy_char_table): Likewise.
1268         (get_char_table): Likewise.
1269         (Fget_range_char_table): Likewise.
1270         (put_char_table): Likewise.
1271         (map_char_table): Likewise.
1272         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1273         UTF-2000.
1274
1275 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1276
1277         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1278         `Vauto_fill_chars' in XEmacs UTF-2000.
1279
1280         * chartab.h (get_byte_table): New prototype [moved from
1281         chartab.c].
1282         (put_byte_table): Likewise [moved from chartab.c].
1283         (put_char_id_table_0): New inline function [moved from chartab.c].
1284         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1285         (Lisp_Char_Table_Entry): Likewise.
1286         (char_table_entry): Likewise.
1287         (XCHAR_TABLE_ENTRY): Likewise.
1288         (XSETCHAR_TABLE_ENTRY): Likewise.
1289         (CHAR_TABLE_ENTRYP): Likewise.
1290         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1291         (NUM_ASCII_CHARS): Likewise.
1292         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1293         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1294
1295 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1296
1297         * chartab.c (get_char_id_table): Change interface.
1298         (put_char_id_table_0): New function.
1299         (put_char_id_table): Change interface; new implementation.
1300         (Fget_composite_char): Modify for interface change of
1301         `get_char_id_table'.
1302         (Fchar_variants): Likewise.
1303         (add_char_attribute_alist_mapper): Likewise.
1304         (Fchar_attribute_alist): Likewise.
1305         (Fget_char_attribute): Likewise.
1306         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1307         as same as character as the first argument like `put-char-table';
1308         modify for interface change of `put_char_id_table'.
1309         (Fremove_char_attribute): Modify for interface change of
1310         `put_char_id_table'.
1311
1312 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1313
1314         * text-coding.c: Sync up with XEmacs 21.2.41.
1315         (COMPOSE_ADD_CHAR): Modify for interface change of
1316         `get_char_id_table'.
1317
1318         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1319         change of `put_char_id_table'.
1320         (remove_char_ccs): Likewise.
1321
1322         * chartab.h (put_char_id_table): Change interface.
1323
1324         * char-ucs.h (get_char_id_table): Change interface.
1325         (charset_code_point): Modify for interface change of
1326         `get_char_id_table'.
1327         (encode_char_1): Likewise.
1328
1329 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1330
1331         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1332         argument `ccs'.
1333         (map_over_uint16_byte_table): Likewise.
1334         (map_over_byte_table): Likewise.
1335         (map_char_id_table): Add new argument `range' like
1336         `map_char_table'.
1337         (Fmap_char_attribute): Add new argument `range' like
1338         `Fmap_char_table'.
1339
1340 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1341
1342         * chartab.c (map_over_uint8_byte_table): Change interface of
1343         mapping function to use struct chartab_range instead of Emchar.
1344         (map_over_uint16_byte_table): Likewise.
1345         (map_over_byte_table): Likewise.
1346         (map_char_id_table): Likewise.
1347         (struct slow_map_char_id_table_arg): Deleted.
1348         (slow_map_char_id_table_fun): Deleted.
1349         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1350         function `slow_map_char_table_fun' instead of struct
1351         `slow_map_char_id_table_arg' and function
1352         `slow_map_char_id_table_fun'.
1353
1354 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1355
1356         * mule-charset.c: Move char-it-table related codes to chartab.c.
1357         (Vutf_2000_version): Moved to chartab.c.
1358         (Fdefine_char): Likewise.
1359         (Ffind_char): Likewise.
1360         (syms_of_mule_charset): Move types `uint8-byte-table',
1361         `uint16-byte-table', `byte-table' and `char-id-table' to
1362         chartab.c; move functions `char_attribute_list,
1363         `find_char_attribute_table, `char_attribute_alist,
1364         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1365         `map_char_attribute, `define_char, `find_char, `char_variants and
1366         `get_composite_char to chartab.c; move symbols `=>ucs',
1367         `->decomposition', `compat', `isolated', `initial', `medial',
1368         `final', `vertical', `noBreak', `fraction', `super', `sub',
1369         `circle', `square', `wide', `narrow', `small' and `font' to
1370         chartab.c.
1371         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1372         setting codes for `Vcharacter_composition_table' and
1373         `Vcharacter_variant_table' to chartab.c.
1374         (complex_vars_of_mule_charset): Move setting code for
1375         `Vchar_attribute_hash_table' to chartab.c.
1376
1377         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1378         (make_char_id_table): New prototype.
1379         (put_char_id_table): Likewise.
1380         (Fget_char_attribute): Likewise.
1381
1382         * chartab.c: Move char-id-table related code from mule-charset.c.
1383         (Vutf_2000_version): Moved from mule-charset.c.
1384
1385         * char-ucs.h (Qucs): New external variable.
1386         (put_char_ccs_code_point): New prototype.
1387         (remove_char_ccs): Likewise.
1388
1389 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1390
1391         * mule-charset.c (Vcharset_ucs_jis): New variable.
1392         (Qucs_jis): Likewise.
1393         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1394         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1395
1396         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1397
1398 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1399
1400         * mule-charset.c (map_over_uint8_byte_table): New function.
1401         (map_over_uint16_byte_table): Likewise.
1402         (map_over_byte_table): Likewise.
1403         (map_char_id_table): Likewise.
1404         (slow_map_char_id_table_fun): Likewise.
1405         (Fmap_char_attribute): Likewise.
1406         (syms_of_mule_charset): Add new function `map-char-attribute'.
1407
1408 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1409
1410         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1411         (syms_of_mule_charset): Add new function `find-char'.
1412
1413 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1414
1415         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1416         XEmacs UTF-2000.
1417         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1418         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1419         XEmacs UTF-2000.
1420         (complex_vars_of_mule_charset): Add new coded-charset
1421         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1422         `ideograph-gt-pj-*'.
1423
1424         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1425
1426 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1427
1428         * mule-charset.c (encode_builtin_char_1): Purge codes about
1429         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1430         {MIN|MAX}_CHAR_HEBREW.
1431         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1432         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1433
1434         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1435         (MAX_CHAR_GREEK): Purged.
1436         (MIN_CHAR_CYRILLIC): Purged.
1437         (MAX_CHAR_CYRILLIC): Purged.
1438         (MIN_CHAR_HEBREW): Commented out.
1439         (MAX_CHAR_HEBREW): Likewise.
1440
1441 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1442
1443         * mule-charset.c (Qto_ucs): New variable.
1444         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1445         (Fdefine_char): Likewise.
1446         (syms_of_mule_charset): Add new symbol `=>ucs'.
1447
1448 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1449
1450         * mule-charset.c (Fdecode_char): Fixed.
1451
1452 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1453
1454         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1455         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1456         "tcvn5712-1".
1457
1458 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1459
1460         * mule-charset.c (Vcharset_ucs_big5): New variable.
1461         (Qucs_big5): Likewise.
1462         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1463         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1464
1465         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1466
1467 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1468
1469         * mule-charset.c (decode_builtin_char): Check Big5 code range
1470         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1471
1472 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1473
1474         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1475         (Qchinese_gb12345): Likewise.
1476         (Fdecode_builtin_char): Fixed.
1477         (syms_of_mule_charset): Add `chinese-gb12345'.
1478         (complex_vars_of_mule_charset): Add coded-charset
1479         `chinese-gb12345'.
1480
1481         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1482         (LEADING_BYTE_CHINESE_GB12345): New macro.
1483
1484 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1485
1486         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1487         and `latin-viscii-upper' for `latin-viscii'.
1488
1489 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1490
1491         * mule-charset.c (Fdecode_builtin_char): Comment out
1492         regularization code for ISO-IR GR representation.
1493
1494 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1495
1496         * mule-charset.c (decode_builtin_char): New function; renamed from
1497         `make_builtin_char'; return -1 instead of signal.
1498         (Fdecode_builtin_char): Use `decode_builtin_char'.
1499
1500         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1501         `make_builtin_char'.
1502         (DECODE_CHAR): Use `decode_builtin_char' instead of
1503         `make_builtin_char'; use mapping table of `chinese-big5' for
1504         `chinese-big5-{1,2}'.
1505
1506 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1507
1508         * text-coding.c (char_encode_big5): New function.
1509         (char_finish_big5): Likewise.
1510         (reset_encoding_stream): Use `char_encode_big5' and
1511         `char_finish_big5' for CODESYS_BIG5.
1512         (mule_encode): Don't use `encode_coding_big5'.
1513         (encode_coding_big5): Deleted.
1514
1515 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1516
1517         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1518         0x81- in XEmacs UTF-2000.
1519         (detect_coding_big5): Likewise.
1520
1521 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1522
1523         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1524         generate character-id if the CCS property does not have
1525         corresponding predefined character.
1526         (make_builtin_char): Return -1 if corresponding predefined
1527         character is not found.
1528         (Fdecode_char): Return nil if corresponding character is not
1529         found.
1530         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1531         don't map to builtin ucs space.
1532
1533 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1534
1535         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1536         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1537
1538 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1539
1540         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1541         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1542         (Qideograph_gt): Likewise.
1543         (Qideograph_gt_pj_{1..11}): Likewise.
1544         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1545         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1546         `ideograph-gt-pj-11'.
1547         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1548         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1549         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1550
1551         * char-ucs.h (LEADING_BYTE_GT): New macro.
1552         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1553         (MIN_CHAR_GT): Likewise.
1554         (MAX_CHAR_GT): Likewise.
1555
1556 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1557
1558         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1559         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1560
1561         * doprnt.c (unsigned_int_converters): Add `c'.
1562         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1563
1564         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1565         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1566         `MIN_CHAR_MOJIKYO'.
1567         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1568         (MAX_CHAR_MOJIKYO_0): New macro.
1569         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1570
1571 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1572
1573         * mule-charset.c (Fdefine_char): Delete cemented out code.
1574         (encode_builtin_char_1): Modify for new allocation of builtin
1575         Mojikyo characters.
1576
1577         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1578
1579 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1580
1581         * mule-charset.c (Vcharset_ucs_cns): New variable.
1582         (Qucs_cns): New variable.
1583         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1584         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1585
1586 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1589
1590 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1591
1592         * search.c (search_buffer): Make `charset_base_code' as
1593         character-id >> 6 to eliminate the corresponding last byte in
1594         UTF-8 representation [I'm not sure it is right thing].
1595         (boyer_moore): Likewise.
1596
1597 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1598
1599         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1600         representation in MULE.
1601
1602 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1603
1604         * text-coding.c (Fmake_coding_system): Use
1605         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1606         `EXTERNAL_PROPERTY_LIST_LOOP'.
1607
1608 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1609
1610         * text-coding.c (decode_output_utf8_partial_char): New function.
1611         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1612
1613 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1614
1615         * text-coding.c (decode_coding_utf8): Output original byte
1616         sequence if it is broken; change order of conditions.
1617
1618         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1619         of conditions.
1620
1621         * mb-multibyte.h (BYTE_ASCII_P):
1622         Use bit ops for char-signedness safety.
1623         (BYTE_C0_P): Use bit ops for char-signedness safety.
1624         (BYTE_C1_P): Use bit ops for char-signedness safety.
1625
1626         * character.h: (XCHAR_OR_CHAR_INT):
1627         Always use inline function.
1628         Remove redundant type checking assert() - XINT will abort quite
1629         nicely.
1630
1631 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1632
1633         * text-coding.c: (Fencode_shift_jis_char):
1634         (Fencode_big5_char):
1635         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1636         Replace 0 with '\0' when working with bytes.
1637         Replace initial "(" with "\(" in docstrings.
1638
1639         (Fmake_coding_system):
1640         When type is ccl and value is vector, register it with a proper
1641         symbol.  And checks whether the given ccl program is valid.
1642         (mule_decode): When calling ccl_driver, if src indicates
1643         NULL pointer, set an empty string instead.
1644         (mule_encode): Likewise.
1645
1646         (detect_eol_type):
1647         (detect_coding_sjis):
1648         (decode_coding_sjis):
1649         (detect_coding_big5):
1650         (decode_coding_big5):
1651         (detect_coding_ucs4):
1652         (decode_coding_ucs4):
1653         (detect_coding_utf8):
1654         (decode_coding_utf8):
1655         (detect_coding_iso2022):
1656         (decode_coding_iso2022):
1657         (decode_coding_no_conversion):
1658         (mule_decode):
1659         Make all detecting and decoding functions take an Extbyte * arg.
1660         (text_encode_generic):
1661         (encode_coding_big5):
1662         (encode_coding_no_conversion):
1663         (mule_encode):
1664         Make all encoding functions take a Bufbyte * arg.
1665         Use size_t instead of unsigned int for memory sizes.
1666         Only cast to unsigned char whenever dereferencing Extbyte *.
1667
1668         (struct lrecord_description fcd_description_1): Use countof.
1669         (complex_vars_of_file_coding):
1670         Use countof instead of sizeof.
1671         Use CHECK_NATNUM instead of CHECK_INT.
1672
1673 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1674
1675         * mule-charset.c (Fget_char_attribute): Add new optional argument
1676         `default-value'.
1677         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1678         (remove_char_ccs): Likewise.
1679
1680 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1681
1682         * text-coding.c (char_encode_shift_jis): New implementation in
1683         UTF-2000.
1684         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1685         ...)'.
1686
1687         * mule-charset.c (Vcharset_chinese_big5): New variable in
1688         UTF-2000.
1689         (Qchinese_big5): New variable in UTF-2000.
1690         (BIG5_SAME_ROW): New macro in UTF-2000.
1691         (make_builtin_char): Use builtin characters of
1692         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1693         characters of `Vcharset_chinese_big5'.
1694         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1695         (complex_vars_of_mule_charset): Add new coded-charset
1696         `chinese-big5' in UTF-2000.
1697
1698         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1699         (Vcharset_chinese_big5): New external variable declaration.
1700         (Vcharset_japanese_jisx0208_1990): Likewise.
1701
1702 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1703
1704         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1705         function.
1706         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1707
1708 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1709
1710         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1711         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1712         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1713         `mojikyo-pj-*'.
1714
1715 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1716
1717         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1718
1719 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1720
1721         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1722         to 0.17.
1723
1724 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1725
1726         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1727         for `CHARSET_BY_ATTRIBUTES'.
1728         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1729         `CHARSET_BY_ATTRIBUTES'.
1730
1731         * text-coding.c (struct decoding_stream): Rename member `CH' to
1732         `CPOS'.
1733         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1734         (decode_coding_sjis): Likewise.
1735         (decode_coding_big5): Likewise.
1736         (decode_coding_ucs4): Likewise.
1737         (decode_coding_utf8): Likewise.
1738         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1739         `CHARSET_BY_ATTRIBUTES'.
1740         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1741         `str->counter'; decode 3, 4 bytes sets.
1742         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1743         sets.
1744         (decode_coding_no_conversion): Use `str->cpos' instead of
1745         `str->ch'.
1746
1747         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1748         (Qmojikyo_2022_1): New variable.
1749         (make_charset): Don't use `CHARSET_TYPE_*'.
1750         (range_charset_code_point): Support coded-charset
1751         `mojikyo-2022-1'.
1752         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1753         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1754         `CHARSET_BY_ATTRIBUTES'.
1755         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1756         `CHARSET_BY_ATTRIBUTES'.
1757         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1758         (complex_vars_of_mule_charset): Add new coded-charset
1759         `mojikyo-2022-1'.
1760
1761         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1762         interface; changed to inline function.
1763
1764         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1765         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1766         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1767         (CHARSET_TYPE_94): Deleted.
1768         (CHARSET_TYPE_94X94): Deleted.
1769         (CHARSET_TYPE_96): Deleted.
1770         (CHARSET_TYPE_96X96): Deleted.
1771         (CHARSET_TYPE_128): Deleted.
1772         (CHARSET_TYPE_128X128): Deleted.
1773         (CHARSET_TYPE_256): Deleted.
1774         (CHARSET_TYPE_256X256): Deleted.
1775         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1776         to inline function.
1777         (DECODE_MOJIKYO_2022): New inline function.
1778         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1779         `Vcharset_mojikyo_2022_1'.
1780
1781 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1782
1783         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1784         instead of `EQ'.
1785         (put_byte_table): Likewise.
1786         (char_id_table_equal): Use `get_byte_table' [new implementation].
1787
1788 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1789
1790         * mule-charset.c: Include <limits.h> in UTF-2000.
1791         (BT_UINT8_MIN): New macro in UTF-2000.
1792         (BT_UINT8_MAX): New macro in UTF-2000.
1793         (BT_UINT8_t): New macro in UTF-2000.
1794         (BT_UINT8_nil): New macro in UTF-2000.
1795         (BT_UINT8_unbound): New macro in UTF-2000.
1796         (INT_UINT8_P): New inline function in UTF-2000.
1797         (UINT8_VALUE_P): New inline function in UTF-2000.
1798         (UINT8_ENCODE): New inline function in UTF-2000.
1799         (UINT8_DECODE): New inline function in UTF-2000.
1800         (mark_uint8_byte_table): New function in UTF-2000.
1801         (print_uint8_byte_table): New function in UTF-2000.
1802         (uint8_byte_table_equal): New function in UTF-2000.
1803         (uint8_byte_table_hash): New function in UTF-2000.
1804         (make_uint8_byte_table): New function in UTF-2000.
1805         (uint8_byte_table_same_value_p): New function in UTF-2000.
1806         (BT_UINT16_MIN): New macro in UTF-2000.
1807         (BT_UINT16_MAX): New macro in UTF-2000.
1808         (BT_UINT16_t): New macro in UTF-2000.
1809         (BT_UINT16_nil): New macro in UTF-2000.
1810         (BT_UINT16_unbound): New macro in UTF-2000.
1811         (INT_UINT16_P): New inline function in UTF-2000.
1812         (UINT16_VALUE_P): New inline function in UTF-2000.
1813         (UINT16_ENCODE): New inline function in UTF-2000.
1814         (UINT16_DECODE): New inline function in UTF-2000.
1815         (UINT8_TO_UINT16): New inline function in UTF-2000.
1816         (mark_uint16_byte_table): New function in UTF-2000.
1817         (print_uint16_byte_table): New function in UTF-2000.
1818         (uint16_byte_table_equal): New function in UTF-2000.
1819         (uint16_byte_table_hash): New function in UTF-2000.
1820         (make_uint16_byte_table): New function in UTF-2000.
1821         (uint16_byte_table_same_value_p): New function in UTF-2000.
1822         (print_byte_table): New function in UTF-2000.
1823         (byte-table): Use `print_byte_table' as printer.
1824         (make_byte_table): Delete second argument `older'.
1825         (byte_table_same_value_p): New function in UTF-2000.
1826         (copy_byte_table): Deleted.
1827         (get_byte_table): New function in UTF-2000.
1828         (put_byte_table): New function in UTF-2000.
1829         (print_char_id_table): New function in UTF-2000.
1830         (char-id-table): Use `print_char_id_table' as printer.
1831         (make_char_id_table): Delete second argument `older'.
1832         (get_char_id_table): Use `get_byte_table [new implementation].
1833         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1834         implementation].
1835         (Ffind_char_attribute_table): New function in UTF-2000.
1836         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1837         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1838         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1839         (syms_of_mule_charset): Add new function
1840         `find-char-attribute-table' in UTF-2000.
1841
1842         * lrecord.h (enum lrecord_type): Add
1843         `lrecord_type_uint16_byte_table' and
1844         `lrecord_type_uint8_byte_table'.
1845
1846         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1847         (Lisp_Uint8_Byte_Table): New type.
1848         (XUINT8_BYTE_TABLE): New macro.
1849         (XSETUINT8_BYTE_TABLE): New macro.
1850         (UINT8_BYTE_TABLE_P): New macro.
1851         (GC_UINT8_BYTE_TABLE_P): New macro.
1852         (struct Lisp_Uint16_Byte_Table): New structure.
1853         (Lisp_Uint16_Byte_Table): New type.
1854         (XUINT16_BYTE_TABLE): New macro.
1855         (XSETUINT16_BYTE_TABLE): New macro.
1856         (UINT16_BYTE_TABLE_P): New macro.
1857         (GC_UINT16_BYTE_TABLE_P): New macro.
1858
1859 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1860
1861         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1862         (Vcharacter_ideographic_strokes_table): Deleted.
1863         (Vcharacter_total_strokes_table): Deleted.
1864         (Vcharacter_morohashi_daikanwa_table): Deleted.
1865         (Vcharacter_decomposition_table): Deleted.
1866         (Qname): Deleted because it is duplicated.
1867         (Qideographic_radical): Deleted.
1868         (Qideographic_strokes): Deleted.
1869         (Qtotal_strokes): Deleted.
1870         (Qmorohashi_daikanwa): Deleted.
1871         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1872         `ideographic-radical', `ideographic-strokes', `total-strokes',
1873         `morohashi-daikanwa' and `->decomposition'.
1874         (Fget_char_attribute): Likewise.
1875         (Fput_char_attribute): Likewise; use `make-vector' instead of
1876         `make_older_vector' for `->decomposition' value.
1877         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1878         `ideograph-daikanwa'.
1879         (syms_of_mule_charset): Delete builtin symbols `name',
1880         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1881         `morohashi-daikanwa'.
1882         (vars_of_mule_charset): Don't setup
1883         `Vcharacter_ideographic_radical_table',
1884         `Vcharacter_ideographic_strokes_table',
1885         `Vcharacter_total_strokes_table',
1886         `Vcharacter_morohashi_daikanwa_table' and
1887         `Vcharacter_decomposition_table'.
1888
1889 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1890
1891         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1892         `make_older_vector', `make_vector_newer_1' and
1893         `make_vector_newer'.
1894
1895         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1896         `make_older_vector' and `make_vector_newer'.
1897
1898         * config.h.in (HAVE_GGC): New macro.
1899
1900 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1901
1902         * mule-charset.c (struct char_attribute_list_closure): New
1903         structure in UTF-2000.
1904         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1905         (Fchar_attribute_list): Likewise.
1906         (Fset_charset_mapping_table): Use `make_vector_newer'.
1907         (Fdecode_builtin_char): New function in UTF-2000.
1908         (syms_of_mule_charset): Add new function `char-attribute-list' and
1909         `decode-builtin-char' in UTF-2000.
1910
1911         * lisp.h (make_vector_newer): New prototype.
1912
1913         * alloc.c (make_vector_newer_1): New function.
1914         (make_vector_newer): New function.
1915
1916 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1917
1918         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1919         50100)'.
1920
1921 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1922
1923         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1924         (Vcharacter_attribute_table): Deleted.
1925         (Vcharacter_name_table): Deleted.
1926         (put_char_attribute): Deleted.
1927         (remove_char_attribute): Deleted.
1928         (struct char_attribute_alist_closure): New structure.
1929         (add_char_attribute_alist_mapper): New function.
1930         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1931         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1932         (Fget_char_attribute): Likewise.
1933         (Fput_char_attribute): Likewise.
1934         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1935         of `remove_char_attribute'.
1936         (Fdefine_char): Return character.
1937         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1938         and `Vcharacter_name_table'.
1939         (complex_vars_of_mule_charset): Likewise
1940         `Vchar_attribute_hash_table'.
1941
1942 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1943
1944         * character.h (CHARC_CHARSET): New macro.
1945         (CHARC_CHARSET_ID): New macro.
1946         (CHARC_CODE_POINT): New macro.
1947         (CHARC_COLUMNS): New macro.
1948         (CHARC_TO_CHAR): New inline function.
1949         (CHARC_EQ): New inline function.
1950         (CHARC_ASCII_EQ): New inline function.
1951         (CHARC_IS_SPACE): New inline function.
1952         (ASCII_TO_CHARC): New inline function.
1953
1954         * char-ucs.h (encode_char_2): Deleted.
1955         (ENCODE_CHAR): Use `encode_char_1' again.
1956         (breakup_char_1): Likewise.
1957         (CHAR_TO_CHARC): New inline function.
1958
1959         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1960
1961 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1962
1963         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1964         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1965         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1966         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1967         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1968         `CHARC_IS_SPACE'.
1969         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1970
1971         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1972         `CHARC_CODE_POINT'.
1973         (x_output_display_block): Use `CHARC_CHARSET' and
1974         `CHARC_ASCII_EQ'.
1975
1976         * redisplay-tty.c (tty_output_display_block): Use
1977         `CHARC_ASCII_EQ'.
1978         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1979
1980         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1981
1982         * insdel.c (find_charsets_in_charc_string): Use
1983         `CHARC_CHARSET_ID'.
1984         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1985         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1986         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1987         (convert_charc_string_into_malloced_string): Likewise.
1988
1989 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1990
1991         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1992         instead of <Emchar_dynarr *> for buf; use
1993         `convert_bufbyte_string_into_charc_dynarr' instead of
1994         `convert_bufbyte_string_into_emchar_dynarr'; use
1995         `find_charsets_in_charc_string' instead of
1996         `find_charsets_in_emchar_string'.
1997
1998         * redisplay.h:
1999         - Include "character.h".
2000         (struct rune): New member `cglyph'; delete member `chr'.
2001
2002         * redisplay.c (redisplay_text_width_charc_string): New function;
2003         delete `redisplay_text_width_emchar_string'.
2004         (rtw_charc_dynarr): New variable; renamed from
2005         `rtw_emchar_dynarr'.
2006         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2007         `rtw_emchar_dynarr'; use
2008         `convert_bufbyte_string_into_charc_dynarr' instead of
2009         `convert_bufbyte_string_into_emchar_dynarr'; use
2010         `redisplay_text_width_charc_string' instead of
2011         `redisplay_text_width_emchar_string'.
2012         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2013         instead of `rtw_emchar_dynarr'; use
2014         `convert_bufbyte_string_into_charc_dynarr' instead of
2015         `convert_bufbyte_string_into_emchar_dynarr'.
2016         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2017         `redisplay_text_width_charc_string' instead of
2018         `redisplay_text_width_emchar_string'.
2019         (create_text_block): Modify for <struct rune> change.
2020         (generate_formatted_string_db): Likewise.
2021         (create_string_text_block): Likewise.
2022         (pixel_to_glyph_translation): Likewise.
2023
2024         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2025         instead of <const Emchar *>.
2026         (x_text_width): Likewise.
2027         (x_output_display_block): Use <Charc_dynarr *> instead
2028         <Emchar_dynarr *>; modify for <structure rune> change.
2029         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2030         *>.
2031
2032         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2033         <const Emchar *>; use `charc_string_displayed_columns' instead of
2034         `emchar_string_displayed_columns'.
2035         (tty_output_display_block): Use <Charc_dynarr *> instead of
2036         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2037         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2038         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2039         `tty_output_emchar_dynarr_dynarr'.
2040         (tty_output_charc_dynarr): New function; delete
2041         `tty_output_charc_dynarr'.
2042
2043         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2044         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2045         <Emchar_dynarr *> for buf; use
2046         `convert_bufbyte_string_into_charc_dynarr' instead of
2047         `convert_bufbyte_string_into_emchar_dynarr'.
2048
2049         * frame.c (title_string_charc_dynarr): New variable; renamed from
2050         `title_string_emchar_dynarr'.
2051         (generate_title_string): Use `title_string_charc_dynarr' instead
2052         of `title_string_emchar_dynarr'; use
2053         `convert_charc_string_into_malloced_string' instead of
2054         `convert_emchar_string_into_malloced_string'.
2055         (init_frame): Use `title_string_charc_dynarr' instead of
2056         `title_string_emchar_dynarr'.
2057
2058         * console.h:
2059         - Include "character.h".
2060         (struct console_methods): Use <const Charc *> instead of <const
2061         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2062         <Emchar_dynarr *> in output_string_method.
2063
2064         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2065         <Emchar_dynarr *>.
2066
2067         * console-stream.c (stream_text_width): Use <const Charc *>
2068         instead of <const Emchar *>.
2069
2070         * character.h (Charc_dynarr): New type.
2071
2072         * char-ucs.h (structure Charc): New structure; define new type
2073         `Charc'.
2074
2075         * char-lb.h (DECODE_CHAR): New inline function.
2076         (encode_char_1): New inline function.
2077         (ENCODE_CHAR): New macro.
2078         (structure Charc): New structure; define new type `Charc'.
2079
2080         * char-1byte.h (Vcharset_control_1): New macro.
2081         (Vcharset_latin_iso8859_1): New macro.
2082         (DECODE_CHAR): New inline function.
2083         (encode_char_1): New inline function.
2084         (ENCODE_CHAR): New macro.
2085         (structure Charc): New structure; define new type `Charc'.
2086
2087         * insdel.c (find_charsets_in_charc_string): New function; delete
2088         `find_charsets_in_emchar_string'.
2089         (charc_string_displayed_columns): New function; delete
2090         `emchar_string_displayed_columns'.
2091         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2092         `convert_bufbyte_string_into_emchar_dynarr'.
2093         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2094         `convert_charc_string_into_bufbyte_dynarr'.
2095         (convert_charc_string_into_malloced_string): New function; delete
2096         `convert_charc_string_into_malloced_string'.
2097
2098         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2099         `find_charsets_in_emchar_string'.
2100         (charc_string_displayed_columns): New prototype; delete
2101         `emchar_string_displayed_columns'.
2102         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2103         `convert_charc_string_into_bufbyte_dynarr'.
2104         (convert_charc_string_into_malloced_string): New prototype; delete
2105         `convert_charc_string_into_malloced_string'.
2106
2107 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2108
2109         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2110
2111 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2112
2113         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2114
2115         * char-ucs.h: Use <short> for <Charset_ID>.
2116
2117         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2118         <Charset_ID>.
2119
2120 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2121
2122         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2123         to 0.16.
2124
2125 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2126
2127         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2128         variable.
2129         (Qmorohashi_daikanwa): New variable.
2130         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2131         for `morohashi-daikanwa' attribute.
2132         (Fget_char_attribute): Likewise.
2133         (Fput_char_attribute): Likewise.
2134         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2135         has the same value of `ideograph-daikanwa'.
2136         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2137         (vars_of_mule_charset): Setup
2138         `Vcharacter_morohashi_daikanwa_table'.
2139
2140 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2141
2142         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2143         attributes.
2144         (add_charset_to_list_mapper): Add `key' instead of
2145         `XCHARSET_NAME (value)' to return aliases.
2146
2147 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2148
2149         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2150         variable.
2151         (Vcharacter_ideographic_strokes_table): New variable.
2152         (Qideographic_radical): New variable.
2153         (Qideographic_strokes): New variable.
2154         (Fchar_attribute_alist): Use
2155         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2156         attribute; use `Vcharacter_ideographic_strokes_table' for
2157         `ideographic-strokes' attribute.
2158         (Fget_char_attribute): Likewise.
2159         (Fput_char_attribute): Likewise.
2160         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2161         `ideographic-strokes'.
2162         (vars_of_mule_charset): Setup
2163         `Vcharacter_ideographic_radical_table' and
2164         `Vcharacter_ideographic_strokes_table'.
2165
2166 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2167
2168         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2169         (Qtotal_strokes): New variable.
2170         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2171         `total-strokes' attribute.
2172         (Fget_char_attribute): Likewise.
2173         (Fput_char_attribute): Likewise.
2174         (syms_of_mule_charset): Add new symbol `total-strokes'.
2175         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2176
2177 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2178
2179         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2180         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2181         are found.
2182         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2183         `->decomposition' attribute.
2184         (Fput_char_attribute): Likewise.
2185         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2186
2187 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2188
2189         * mule-charset.c (decoding_table_check_elements): New function.
2190         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2191
2192 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2193
2194         * mule-charset.c (Fset_charset_mapping_table): Use
2195         `put_char_ccs_code_point'.
2196
2197 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2198
2199         * mule-charset.c (decoding_table_put_char): New inline function.
2200         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2201
2202 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2203
2204         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2205         (XCHARSET_BYTE_SIZE): New macro.
2206         (decoding_table_remove_char): New inline function.
2207         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2208         `decoding_table_remove_char'.
2209         (remove_char_ccs): Use `decoding_table_remove_char'.
2210         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2211
2212 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2213
2214         * mule-charset.c (Vcharacter_name_table): New variable.
2215         (Qname): New variable.
2216         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2217         attribute.
2218         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2219         `Vcharacter_name_table' for `name' attribute.
2220         (Fremove_char_attribute): Use function `remove_char_ccs'.
2221         (put_char_ccs_code_point): New function.
2222         (remove_char_ccs): New function.
2223         (syms_of_mule_charset): Add new symbol `name'.
2224         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2225
2226 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2227
2228         * mule-charset.c (make_byte_table): Add new argument `older'.
2229         (make_char_id_table): Likewise.
2230         (copy_char_id_table): Comment out because it is not used.
2231         (put_char_id_table): Modify for `make_byte_table'.
2232         (Fput_char_attribute): Make encoding_table as older object;
2233         inherit older bit of `Vcharacter_composition_table'.
2234         (mark_charset): Don't mark `cs->encoding_table'.
2235         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2236         normal object; make `Vcharacter_composition_table' as an older
2237         object; delete staticpro for `Vcharacter_composition_table'; make
2238         `Vcharacter_variant_table' as a normal object.
2239
2240         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2241         (mark_object): Don't check older object in UTF-2000.
2242
2243         * lrecord.h (struct lrecord_header): Add new member `older' in
2244         UTF-2000.
2245         (set_lheader_implementation): Setup `SLI_header->older' in
2246         UTF-2000.
2247         (set_lheader_older_implementation): New macro in UTF-2000.
2248         (OLDER_RECORD_P): New macro in UTF-2000.
2249         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2250         (alloc_older_lcrecord): New prototype in UTF-2000.
2251         (alloc_older_lcrecord_type): New macro in UTF-2000.
2252
2253 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2254
2255         * mule-charset.c (byte_table_description): Use
2256         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2257         (char_id_table_description): Delete bogus `, 1'.
2258         (Fget_char_attribute): Refer encoding_table of each coded-charset
2259         to get value of coded-charset attribute of a character.
2260         (Fput_char_attribute): Use `make_older_vector' instead of
2261         `make_vector'; use encoding_table of each coded-charset to store
2262         value of coded-charset attribute of a character.
2263         (Fremove_char_attribute): Use encoding_table of each coded-charset
2264         to store value of coded-charset attribute of a character.
2265         (mark_charset): Mark `cs->encoding_table'; don't mark
2266         `cs->decoding_table'.
2267         (charset_description): Add description of new member
2268         `encoding_table'.
2269         (make_charset): Initialize `encoding_table'.
2270
2271         * char-ucs.h (struct Lisp_Charset): Add new member
2272         `encoding_table'.
2273         (CHARSET_ENCODING_TABLE): New macro.
2274         (XCHARSET_ENCODING_TABLE): New macro.
2275         (charset_code_point): New implementation.
2276         (encode_char_1): Likewise.
2277
2278         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2279         (disksave_object_finalization_1): Call finalizers of
2280         `all_older_lcrecords' in UTF-2000.
2281         (make_older_vector): New function in UTF-2000.
2282         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2283         UTF-2000.
2284
2285         * lisp.h (make_older_vector): New prototype in UTF-2000.
2286
2287 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2288
2289         * lrecord.h (enum lrecord_type): Rename
2290         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2291
2292         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2293         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2294         `get_char_code_table'.
2295
2296         * mule-charset.c (mark_char_id_table): Renamed from
2297         `mark_char_code_table'.
2298         (char_id_table_equal): Renamed from `char_code_table_equal'.
2299         (char_id_table_hash): Renamed from `char_code_table_hash'.
2300         (make_char_id_table): Renamed from `make_char_code_table'.
2301         (copy_char_id_table): Renamed from `copy_char_code_table'.
2302         (get_char_id_table): Renamed from `get_char_code_table'.
2303         (put_char_id_table): Renamed from `put_char_code_table'.
2304         (to_char_id): Renamed from `to_char_code'.
2305
2306         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2307         `Lisp_Char_Code_Table'.
2308         (char_id_table): Renamed from `char_code_table'.
2309         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2310         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2311         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2312         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2313         (get_char_id_table): Renamed from `get_char_code_table'.
2314
2315 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2316
2317         * lrecord.h (enum lrecord_type): Rename
2318         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2319
2320         * mule-charset.c (mark_byte_table): Renamed from
2321         `mark_char_byte_table'.
2322         (byte_table_equal): Renamed from `char_byte_table_equal'.
2323         (byte_table_hash): Renamed from `byte_table_hash'.
2324         (make_byte_table): Renamed from `make_byte_table'.
2325         (copy_byte_table): Renamed from `copy_char_byte_table'.
2326
2327         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2328         `Lisp_Char_Byte_Table'.
2329         (byte_table): Renamed from `char_byte_table'.
2330         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2331         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2332         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2333         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2334
2335 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2336
2337         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2338         (dfc_convert_to_internal_format): Likewise.
2339         
2340         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2341         * text-coding.c (Fcoding_system_alias_p): New function.
2342         * text-coding.c (Fcoding_system_aliasee): New function.
2343         * text-coding.c (append_suffix_to_symbol): New function.
2344         * text-coding.c (dangling_coding_system_alias_p): New function.
2345         * text-coding.c (Ffind_coding_system):
2346         * text-coding.c (Fcopy_coding_system):
2347         * text-coding.c (encode_coding_no_conversion):
2348         * text-coding.c (syms_of_file_coding):
2349         * text-coding.c (vars_of_file_coding):
2350         Rewrite coding system alias code.
2351         Allow nested aliases, like symbolic links.
2352         Allow redefinition of coding system aliases.
2353         Prevent existence of dangling coding system aliases.
2354         Eliminate convert_to_external_format.
2355         Eliminate convert_to_internal_format.
2356         
2357         * text-coding.c: Change enum eol_type to eol_type_t.
2358
2359 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2360
2361         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2362         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2363
2364         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2365         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2366
2367 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2368
2369         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2370         `ideograph-daikanwa'.
2371
2372         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2373         (Vcharset_ucs_bmp): Likewise.
2374         (Vcharset_mojikyo): Add new extern variable definition.
2375         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2376         (Vcharset_latin_iso8859_3): Likewise.
2377         (Vcharset_latin_iso8859_4): Likewise.
2378         (Vcharset_latin_iso8859_9): Likewise.
2379         (Vcharset_latin_viscii_lower): Likewise.
2380         (Vcharset_latin_viscii_upper): Likewise.
2381         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2382         `mojikyo' code-point is used to decode.
2383         (encode_char_2): New function [to convert `mojikyo' code-point to
2384         Mojikyo font encoding].
2385         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2386         (breakup_char_1): Likewise.
2387         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2388
2389 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2390
2391         * text-coding.c (Fmake_coding_system): Add document about
2392         `disable-composition' property.
2393
2394 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2395
2396         * text-coding.c (Qdisable_composition): New variable; delete
2397         `Qcomposite'.
2398         (Fmake_coding_system): Add new property `disable-composite';
2399         delete property `composite'.
2400         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2401         instead of `!CODING_SYSTEM_COMPOSITE'.
2402         (syms_of_file_coding): Add new symbol `disable-composition';
2403         delete symbol `composite'.
2404
2405         * file-coding.h (struct Lisp_Coding_System): Add
2406         `disable_composition'; delete `enable_composition'.
2407         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2408         `CODING_SYSTEM_COMPOSITE'.
2409         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2410         `XCODING_SYSTEM_COMPOSITE'.
2411
2412 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2413
2414         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2415         to 0.15.
2416
2417 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2418
2419         * text-coding.c (Qcomposite): New variable.
2420         (Fmake_coding_system): Add new property `composite'.
2421         (struct decoding_stream): Add `combined_char_count',
2422         `combined_chars' and `combining_table' in UTF-2000.
2423         (COMPOSE_FLUSH_CHARS): New macro.
2424         (COMPOSE_ADD_CHAR): New macro.
2425         (reset_decoding_stream): Reset `str->combined_char_count' and
2426         `str->combining_table' in UTF-2000.
2427         (decode_coding_iso2022): Modify for character-decomposition.
2428         (syms_of_file_coding): Add new symbol `composite'.
2429
2430 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2431
2432         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2433         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2434         of `Vcharacter_composition_table' if `->decomposition' property
2435         has only 1 element.
2436         (Qlatin_tcvn5712): New variable.
2437         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2438         (complex_vars_of_mule_charset): Add new coded-charset
2439         `latin-tcvn5712'.
2440
2441         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2442
2443 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2444
2445         * file-coding.h (struct Lisp_Coding_System): Add
2446         `enable_composition'.
2447         (CODING_SYSTEM_COMPOSITE): New macro.
2448         (XCODING_SYSTEM_COMPOSITE): New macro.
2449
2450 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2451
2452         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2453
2454 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2455
2456         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2457         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2458
2459 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2460
2461         * mule-charset.c (Vcharset_mojikyo): New variable.
2462         (Fdefine_char): Don't use coded-charset which does not have
2463         non-builtin character range to allocate character-id.
2464         (Qmojikyo): New variable.
2465         (syms_of_mule_charset): Add new symbol `mojikyo'.
2466         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2467
2468         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2469         (LEADING_BYTE_MOJIKYO): New macro.
2470         (MIN_CHAR_MOJIKYO): New macro.
2471         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2472         (MAX_CHAR_MOJIKYO): New macro.
2473
2474 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2475
2476         * mule-charset.c (remove_char_attribute): Fixed.
2477
2478 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2479
2480         * mule-charset.c (remove_char_attribute): New function.
2481         (Fremove_char_attribute): New function.
2482         (encode_builtin_char_1): Comment out builtin-support for
2483         greek-iso8859-7 and cyrillic-iso8859-5.
2484         (Fdecode_char): Check `code' is an integer.
2485         (syms_of_mule_charset): Add `remove-char-attribute'.
2486         (MIN_CHAR_GREEK): Deleted.
2487         (MAX_CHAR_GREEK): Likewise.
2488         (MIN_CHAR_CYRILLIC): Likewise.
2489         (MAX_CHAR_CYRILLIC): Likewise.
2490         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2491         MAX_CHAR_GREEK for `greek-iso8859-7'.
2492
2493         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2494         (MAX_CHAR_GREEK): Likewise.
2495         (MIN_CHAR_CYRILLIC): Likewise.
2496         (MAX_CHAR_CYRILLIC): Likewise.
2497
2498 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2499
2500         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2501         format is used without `ucs' property.
2502         (Fdecode_char): Fix problem with GR representation.
2503         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2504         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2505
2506 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2507
2508         * mule-charset.c (make_builtin_char): New function.
2509         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2510         (Fset_charset_mapping_table): Modify for new representation of
2511         code-point.
2512         (Fdecode_char): New function.
2513         (syms_of_mule_charset): Add new builtin function `decode-char' in
2514         UTF-2000.
2515
2516         * char-ucs.h (make_builtin_char): New prototype.
2517         (DECODE_CHAR): New inline function.
2518         (MAKE_CHAR): Use `DECODE_CHAR'.
2519
2520 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2521
2522         * text-coding.c (parse_charset_conversion_specs): Use
2523         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2524         `XCHARSET_TYPE'.
2525         (iso2022_designate): Likewise.
2526
2527         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2528         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2529
2530         * mule-charset.c (Vcharset_ucs): New variable.
2531         (print_charset): Change design; use `CHARSET_CHARS' and
2532         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2533         (make_charset): Change signature to specify `chars' and
2534         `dimension' instead of `type'.
2535         (range_charset_code_point): Modify for 256^n-set.
2536         (encode_builtin_char_1): Encode as `ucs' in default.
2537         (Fmake_charset): Modify for `make_charset'.
2538         (Fmake_reverse_direction_charset): Likewise.
2539         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2540         UTF-2000.
2541         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2542         for `make_charset'.
2543
2544         * char-ucs.h (Vcharset_ucs): New variable.
2545         (LEADING_BYTE_UCS): New macro.
2546         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2547         and `chars' to `unsigned short' from `unsigned int'.
2548         (CHARSET_TYPE): Deleted.
2549         (XCHARSET_TYPE): Deleted.
2550
2551 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2552
2553         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2554
2555         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2556         (ENCODE_CHAR): New macro.
2557
2558 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2559
2560         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2561         to 0.14 (Kawachi-Katakami).
2562
2563 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2564
2565         * text-coding.c (char_encode_shift_jis): Modify for
2566         `charset_code_point'.
2567         (char_encode_iso2022): Likewise.
2568
2569         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2570         (integer) instead of list of <Lisp_Object>s (integers) as the
2571         format of code-point of a coded-charset.
2572         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2573         (encode_builtin_char_1): New function; delete
2574         `split_builtin_char'.
2575         (charset_code_point): Return <int> instead of <Lisp_Object>.
2576         (Fsplit_char): Don't use `SPLIT_CHAR'.
2577
2578         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2579         prototype for `split_builtin_char'.
2580         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2581         (charset_code_point): Likewise.
2582         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2583         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2584
2585 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2586
2587         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2588         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2589
2590 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2591
2592         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2593
2594         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2595         (MAX_CHAR_OBS_94x94): Deleted.
2596
2597 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2598
2599         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2600
2601         * char-ucs.h (MAX_CHAR_BMP): New macro.
2602
2603 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2604
2605         * text-coding.c: Sync with r21-2-24.
2606
2607 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2608
2609         * file-coding.c: Modify for UTF-2000.
2610
2611 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2612
2613         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2614         to 0.13 (Takaida).
2615
2616 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2617
2618         * mule-charset.c (split_builtin_char): Delete builtin support for
2619         `katakana-jisx0201'.
2620         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2621         BMP area in builtin representation.
2622
2623         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2624         `Vcharset_katakana_jisx0201'.
2625
2626 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2627
2628         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2629         (Qisolated): New variable.
2630         (Qinitial): New variable.
2631         (Qmedial): New variable.
2632         (Qfinal): New variable.
2633         (Qvertical): New variable.
2634         (Qsmall): New variable.
2635         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2636         `Qvertical' and `Qsmall'.
2637         (Qmojikyo_pj_[1 .. 21]): New variable.
2638         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2639         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2640         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2641         .. 21]'.
2642
2643 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2644
2645         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2646         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2647         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2648
2649 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2650
2651         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2652         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2653         BMP.
2654         (Qjapanese_jisx0208_1990): New variable.
2655         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2656         (complex_vars_of_mule_charset): Add new coded-charset
2657         `japanese-jisx0208-1990'.
2658
2659         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2660         (MIN_CHAR_JIS_X0208_1990): New macro.
2661         (MAX_CHAR_JIS_X0208_1990): New macro.
2662
2663 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2664
2665         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2666         coded-charset is not found.
2667
2668 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2669
2670         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2671         (Fdefine_char): Use `Fmake_char'.
2672
2673 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2674
2675         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2676         (Vcharset_hiragana_jisx0208): Deleted.
2677         (Vcharset_katakana_jisx0208): Deleted.
2678         (Qideograph_daikanwa): New variable.
2679         (Qhiragana_jisx0208): Deleted.
2680         (Qkatakana_jisx0208): Deleted.
2681         (split_builtin_char): Split `ideograph-daikanwa'.
2682         (Fsplit_char): New implementation for UTF-2000.
2683         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2684         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2685         (complex_vars_of_mule_charset): Add new coded-charset
2686         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2687         `katakana-jisx0208'.
2688
2689         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2690         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2691         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2692         (MIN_CHAR_DAIKANWA): New macro.
2693         (MAX_CHAR_DAIKANWA): New macro.
2694
2695 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2696
2697         * data.c (Fstring_to_number): Don't recognize floating point if
2698         base is not 10.
2699
2700 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2701
2702         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2703
2704 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2705
2706         * mule-charset.c (Qsquare): New variable.
2707         (to_char_code): Add `Qsquare'.
2708         (syms_of_mule_charset): Add new symbol `square'.
2709
2710 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2711
2712         * mule-charset.c (Qcircle): New variable.
2713         (to_char_code): Add `Qcircle'.
2714         (syms_of_mule_charset): Add new symbol `circle'.
2715
2716 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2717
2718         * mule-charset.c (Qfont): New variable.
2719         (to_char_code): Add `Qfont'.
2720         (syms_of_mule_charset): Add new symbol `font'.
2721
2722 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2723
2724         * mule-charset.c (Qsub): New variable.
2725         (to_char_code): Add `Qsub'.
2726         (syms_of_mule_charset): Add new symbol `sub'.
2727
2728 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2729
2730         * mule-charset.c (Fput_char_attribute): Convert each element of
2731         VALUE to GL position if ATTRIBUTE is a GR-set,
2732
2733 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2734
2735         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2736         coded-charset is a GR-set.
2737
2738 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2739
2740         * mule-charset.c (Fput_char_attribute): Check each element of
2741         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2742
2743 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2744
2745         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2746         UTF-2000.
2747         (Qethiopic_ucs): New variable in UTF-2000.
2748         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2749         (complex_vars_of_mule_charset): Add new coded-charset
2750         `ethiopic-ucs' in UTF-2000.
2751
2752         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2753         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2754         9)'.
2755         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2756         10)'.
2757         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2758
2759 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2760
2761         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2762         `ascii'.
2763
2764 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2765
2766         * mule-charset.c (Vcharacter_variant_table): New variable.
2767         (Q_ucs): New variable.
2768         (Fchar_variants): New function.
2769         (Fput_char_attribute): Register `->ucs' value to
2770         `Vcharacter_variant_table'.
2771         (syms_of_mule_charset): Add new function `char-variants' and new
2772         symbol `->ucs'.
2773         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2774
2775 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2776
2777         * mule-charset.c (get_char_code_table): Allow negative character
2778         code.
2779         (put_char_code_table): Likewise.
2780         (Vcharacter_composition_table): New variable.
2781         (Q_decomposition): New variable.
2782         (Qwide): New variable.
2783         (Qnarrow): New variable.
2784         (Qcompat): New variable.
2785         (QnoBreak): New variable.
2786         (Qsuper): New variable.
2787         (Qfraction): New variable.
2788         (to_char_code): New function.
2789         (Fget_composite_char): New function.
2790         (Fput_char_attribute): Register `->decomposition' value to
2791         `Vcharacter_composition_table'.
2792         (syms_of_mule_charset): Add new function `get-composite-char', new
2793         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2794         `super' and `fraction'.
2795         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2796
2797 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2798
2799         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2800         character; copy the return value.
2801
2802 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2803
2804         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2805
2806         * mule-charset.c (range_charset_code_point): Must use make_int.
2807         (split_builtin_char): New function.
2808
2809 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2810
2811         * mule-charset.c (char_byte_table): Change name from
2812         "char-code-table" to "char-byte-table".
2813         (mark_char_code_table): New function.
2814         (char_code_table_equal): New function.
2815         (char_code_table_hash): New function.
2816         (char_code_table_description): New constant.
2817         (char_code_table): New type.
2818         (make_char_code_table): New function.
2819         (copy_char_code_table): New function.
2820         (get_char_code_table): Modify for `char_code_table' type.
2821         (put_char_code_table): Likewise.
2822         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2823         (Kashiwara).
2824
2825         * char-ucs.h (char_code_table): New type.
2826         (XCHAR_CODE_TABLE): New macro.
2827         (XSETCHAR_CODE_TABLE): New macro.
2828         (CHAR_CODE_TABLE_P): New macro.
2829         (GC_CHAR_CODE_TABLE_P): New macro.
2830         (struct Lisp_Char_Code_Table): New structure.
2831
2832 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2833
2834         * mule-charset.c (Fmake_charset): Setup byte_offset for
2835         {94|96}^n-set.
2836
2837 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2838
2839         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2840         character.
2841
2842 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2843
2844         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2845         is found.
2846
2847 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2848
2849         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2850         charset, it is regarded as a charset.
2851         (put_char_attribute): New function in UTF-2000.
2852         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2853         charset, mapping-table of the charset is modified.
2854         (Fdefine_char): New function in UTF-2000.
2855         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2856         `Fput_char_attribute'.
2857         (syms_of_mule_charset): Add new function `define-char' and new
2858         symbol `ucs' in UTF-2000.
2859         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2860
2861 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2862
2863         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2864         non-UTF-2000 configuration.
2865
2866 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2867
2868         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2869         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2870
2871         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2872         deleted.
2873         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2874         (Fset_charset_mapping_table): Likewise.
2875
2876         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2877         (CHARSET_ENCODING_TABLE): Delete.
2878         (XCHARSET_ENCODING_TABLE): Delete.
2879         (charset_code_point): New interface.
2880
2881 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2882
2883         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2884         instead of `charset_get_byte1' and `charset_get_byte2'.
2885
2886         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2887         (charset_get_byte2): Deleted.
2888
2889 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2890
2891         * char-ucs.h (SPLIT_CHAR): New inline function.
2892         (breakup_char_1): Use `SPLIT_CHAR'.
2893
2894         * mule-charset.c (range_charset_code_point): New function.
2895         (charset_code_point): New function.
2896
2897         * char-ucs.h (range_charset_code_point): New interface.
2898         (breakup_char_1): Use `range_charset_code_point'.
2899
2900 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2901
2902         * mule-charset.c (Fmake_charset): Delete unused local variable
2903         `code_offset'.
2904
2905         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2906         (breakup_char_1): Find a charset and code-point in
2907         `Vcharacter_attribute_table'.
2908
2909 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2910
2911         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2912         to 0.10 (Yao).
2913
2914 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2915
2916         * mule-charset.c (Vcharacter_attribute_table): New variable.
2917         (Fchar_attribute_alist): New function.
2918         (Fget_char_attribute): New function.
2919         (Fput_char_attribute): New function.
2920         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2921         too.
2922         (syms_of_mule_charset): Add new function `char-attribute-alist',
2923         `get-char-attribute' and `put-char-attribute'.
2924         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2925
2926 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2927
2928         * mule-charset.c (Fmake_charset): Just use
2929         `get_unallocated_leading_byte'.
2930
2931         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2932         sets; don't use final-byte based number for private sets.
2933
2934 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2935
2936         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2937         integer.
2938
2939 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2940
2941         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2942         to 0.9.
2943
2944 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2945
2946         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2947         of `CHAR_LEADING_BYTE' in UTF-2000.
2948
2949         * insdel.c (find_charsets_in_bufbyte_string): Use
2950         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2951         (find_charsets_in_emchar_string): Likewise.
2952
2953         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2954         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2955
2956         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2957         (CHAR_CHARSET_ID): New macro.
2958
2959 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2960
2961         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2962         charset-id - MIN_LEADING_BYTE.
2963         (put_char_table): Likewise.
2964
2965 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2966
2967         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2968         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2969         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2970         (CHARSET_ID_OFFSET): New macro.
2971         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2972         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2973         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2974         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2975         4).
2976         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2977         5).
2978         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2979         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2980         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2981         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2982         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2983
2984 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2985
2986         * mule-charset.c (next_allocated_leading_byte): New variable in
2987         UTF-2000.
2988         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2989         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2990         (get_unallocated_leading_byte): Simply use
2991         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2992         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2993         UTF-2000.
2994
2995         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2996         (MAX_LEADING_BYTE_PRIVATE): New macro.
2997         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2998         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2999
3000 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3001
3002         * mule-charset.c (Fmake_charset): Allocate final-byte based
3003         charset-id for 94-set, 96-set and 94x94-set.
3004
3005 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3006
3007         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3008         ambiguous `else'.
3009         (Fmake_charset): Likewise.
3010         (complex_vars_of_mule_charset): Modify the font registry of
3011         `ucs-bmp' not to match `Ethiopic-Unicode'.
3012
3013 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3014
3015         * mule-charset.c (complex_vars_of_mule_charset): Add font
3016         registory of `ucs-bmp'.
3017
3018 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3019
3020         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3021         coded-charsets in `default-coded-charset-priority-list' when
3022         breaking up a character.
3023
3024         * mule-charset.c (Vcharset_latin_viscii): New variable.
3025         (Qlatin_viscii): New variable.
3026         (make_charset): Don't use `decoding_table'.
3027         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3028         byte_offset.
3029         (Fset_charset_mapping_table): New implementation.
3030         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3031         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3032         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3033         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3034         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3035         charset `latin_viscii'.
3036
3037         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3038         (CHARSET_TYPE_94X94): Change to 1 from 2.
3039         (CHARSET_TYPE_96): Change to 2 from 1.
3040         (CHARSET_TYPE_128): New macro.
3041         (CHARSET_TYPE_128X128): Change to 5 from 4.
3042         (CHARSET_TYPE_256): New macro.
3043         (CHARSET_TYPE_256X256): Change to 7 from 5.
3044         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3045
3046 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3047
3048         * text-coding.c (char_encode_shift_jis): Refer
3049         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3050         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3051
3052         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3053         (char_byte_table_equal): New function in UTF-2000.
3054         (char_byte_table_hash): New function in UTF-2000.
3055         (char_byte_table_description): New constant in UTF-2000.
3056         (char_byte_table): New type in UTF-2000.
3057         (make_char_byte_table): New function in UTF-2000.
3058         (copy_char_byte_table): New function in UTF-2000.
3059         (make_char_code_table): New macro in UTF-2000.
3060         (get_char_code_table): New function in UTF-2000.
3061         (put_char_code_table): New function in UTF-2000.
3062         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3063         (charset_description): Add setting in UTF-2000.
3064         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3065         `CHARSET_TO_BYTE1_TABLE(cs)'.
3066         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3067         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3068         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3069         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3070         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3071         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3072         `CHARSET_TO_BYTE2_TABLE(cs)'.
3073
3074         * char-ucs.h (char_byte_table): New type.
3075         (XCHAR_BYTE_TABLE): New macro.
3076         (XSETCHAR_BYTE_TABLE): New macro.
3077         (CHAR_BYTE_TABLE_P): New macro.
3078         (GC_CHAR_BYTE_TABLE_P): New macro.
3079         (struct Lisp_Char_Byte_Table): New structure.
3080         (get_char_code_table): New interface.
3081         (Emchar_to_byte_table): Deleted.
3082         (get_byte_from_character_table): Deleted.
3083         (struct Lisp_Charset): Add `encoding_table'; delete
3084         `to_byte1_table' and `to_byte2_table'.
3085         (CHARSET_ENCODING_TABLE): New macro.
3086         (CHARSET_TO_BYTE1_TABLE): Deleted.
3087         (CHARSET_TO_BYTE2_TABLE): Deleted.
3088         (XCHARSET_ENCODING_TABLE): New macro.
3089         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3090         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3091
3092 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3093
3094         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3095         `vietnamese-viscii-*'.
3096
3097 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3098
3099         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3100         (Qvietnamese_viscii_upper): New variable.
3101         (Fdefine_charset_alias): New function.
3102         (syms_of_mule_charset): Add new function `define-charset-alias'.
3103         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3104         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3105         `latin-viscii-*'.
3106
3107 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3108
3109         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3110         (MAX_CHAR_OBS_94x94): New macro.
3111         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3112         for 94x94 sets.
3113
3114         * mule-charset.c (put_byte_from_character_table): Change unit size
3115         from 128 to 256.
3116         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3117         not defined.
3118         (Fmake_reverse_direction_charset): Modify dummy argument of
3119         `make_charset' for non-UTF-2000 environment.
3120
3121 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3122
3123         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3124
3125         * mule-charset.c (destroy_byte_from_character_table): New macro.
3126         (latin_jisx0201_to_ucs): Deleted.
3127         (latin_iso8859_2_to_ucs): Deleted.
3128         (latin_iso8859_3_to_ucs): Deleted.
3129         (latin_iso8859_4_to_ucs): Deleted.
3130         (latin_iso8859_9_to_ucs): Deleted.
3131         (latin_viscii_lower_to_ucs): Deleted.
3132         (latin_viscii_upper_to_ucs): Deleted.
3133         (mark_charset): Mark `cs->decoding_table'.
3134         (Fcharset_mapping_table): Fix DOC-string.
3135         (Fset_charset_mapping_table): New function.
3136         (syms_of_mule_charset): Add nwe function
3137         `set-charset-mapping-table'.
3138         (complex_vars_of_mule_charset): Don't setup and use
3139         `latin_*_to_ucs'.
3140
3141 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3142
3143         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3144         charset.
3145
3146 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3147
3148         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3149         (Vcharset_katakana_jisx0208): New variable.
3150         (Qhiragana_jisx0208): New variable.
3151         (Qkatakana_jisx0208): New variable.
3152         (make_charset): Add new argument `byte_offset'.
3153         (charset_get_byte1): Modify for new coded-charset definition; use
3154         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3155         `XCHARSET_BYTE_OFFSET'.
3156         (Fmake_charset): Modify for `make_charset'.
3157         (Fmake_reverse_direction_charset): Likewise.
3158         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3159         `katakana-jisx0208'.
3160         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3161         `.'  in font registry of charset `katakana-jisx0201',
3162         `latin-jisx0201', `vietnamese-viscii-lower' and
3163         `vietnamese-viscii-upper'; modify DOC-string of charset
3164         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3165         registry of charset `japanese-jisx0208' not to use font for JIS
3166         X0208:1990; add new charset `hiragana-jisx0208' and
3167         `katakana-jisx0208'.
3168
3169         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3170         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3171         (struct Lisp_Charset): Add `byte_offset'.
3172         (CHARSET_BYTE_OFFSET): New macro.
3173         (XCHARSET_UCS_MIN): New macro.
3174         (XCHARSET_UCS_MAX): New macro.
3175         (XCHARSET_CODE_OFFSET): New macro.
3176         (XCHARSET_BYTE_OFFSET): New macro.
3177         (MIN_CHAR_HIRAGANA): New macro.
3178         (MAX_CHAR_HIRAGANA): New macro.
3179         (MIN_CHAR_KATAKANA): New macro.
3180         (MAX_CHAR_KATAKANA): New macro.
3181         (MAKE_CHAR): Modify for new coded-charset definition; use
3182         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3183         `XCHARSET_BYTE_OFFSET'.
3184
3185 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3186
3187         * mule-charset.c (CHAR96): Deleted.
3188         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3189         <Lisp_Object>.
3190         (latin_iso8859_2_to_ucs): Likewise.
3191         (latin_iso8859_3_to_ucs): Likewise.
3192         (latin_iso8859_4_to_ucs): Likewise.
3193         (latin_iso8859_9_to_ucs): Likewise.
3194         (latin_viscii_lower_to_ucs): Likewise.
3195         (latin_viscii_upper_to_ucs): Likewise.
3196         (latin_tcvn5712_to_ucs): Commented out.
3197         (make_charset): Change type of argument `decoding_table' from
3198         <Emchar*> to <Lisp_Object> [vector of characters].
3199         (Fmake_charset): Modify for `make_charset'.
3200         (Fmake_reverse_direction_charset): Likewise.
3201         (Fcharset_mapping_table): New function in UTF-2000.
3202         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3203         UTF-2000.
3204         (complex_vars_of_mule_charset): Modify for type change of
3205         `*_to_ucs'; modify for `make_charset'.
3206
3207         * char-ucs.h (struct Lisp_Charset): Change type of
3208         `decoding_table' from <Emchar*> to <Lisp_Object>.
3209         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3210
3211 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3212
3213         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3214         error with non-UTF-2000-Mule.
3215
3216 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3217
3218         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3219         in lisp again].
3220         (Vcharset_chinese_cns11643_4): Likewise.
3221         (Vcharset_chinese_cns11643_5): Likewise.
3222         (Vcharset_chinese_cns11643_6): Likewise.
3223         (Vcharset_chinese_cns11643_7): Likewise.
3224         (Qchinese_cns11643_3): Likewise.
3225         (Qchinese_cns11643_4): Likewise.
3226         (Qchinese_cns11643_5): Likewise.
3227         (Qchinese_cns11643_6): Likewise.
3228         (Qchinese_cns11643_7): Likewise.
3229         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3230         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3231         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3232         (complex_vars_of_mule_charset): Likewise.
3233
3234 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3235
3236         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3237         96-set.
3238         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3239         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3240
3241 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3242
3243         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3244         0xFF60.
3245         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3246         (breakup_char_1): Likewise.
3247
3248         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3249         one of them includes the specified character.
3250
3251 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3252
3253         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3254
3255 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3256
3257         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3258
3259 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3260
3261         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3262         definition for non-UTF-2000 Mule.
3263         (latin_iso8859_3_to_ucs): Likewise.
3264         (latin_iso8859_4_to_ucs): Likewise.
3265         (latin_iso8859_9_to_ucs): Likewise.
3266         (latin_jisx0201_to_ucs): Likewise.
3267         (MIN_CHAR_THAI): Likewise.
3268         (MAX_CHAR_THAI): Likewise.
3269         (MIN_CHAR_GREEK): Likewise.
3270         (MAX_CHAR_GREEK): Likewise.
3271         (MIN_CHAR_HEBREW): Likewise.
3272         (MAX_CHAR_HEBREW): Likewise.
3273         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3274         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3275         (MIN_CHAR_CYRILLIC): Likewise.
3276         (MAX_CHAR_CYRILLIC): Likewise.
3277
3278 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3279
3280         * char-ucs.h (breakup_char_1): Use
3281         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3282         thai-tis620 and katakana-jisx0201 area.
3283
3284 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3285
3286         * char-ucs.h (breakup_char_1): Use
3287         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3288         area.
3289
3290         * text-coding.c (reset_encoding_stream): Fixed.
3291         (char_encode_ucs4): Delete `& 255'.
3292
3293         * char-ucs.h (breakup_char_1): Use
3294         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3295
3296 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3297
3298         * file-coding.c (Fmake_coding_system): Don't set up
3299         `codesys->fixed.size'.
3300         (encode_coding_no_conversion): Don't refer
3301         `str->codesys->fixed.size'.
3302
3303 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3304
3305         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3306         (latin_a_char_to_byte1): Deleted.
3307         (latin_a_char_to_byte2): Deleted.
3308
3309 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3310
3311         * mule-charset.c (make_charset): Add new argument `ucs_min',
3312         `ucs_max' and `code_offset'.
3313         (charset_get_byte1): New implementation [delete specific charset
3314         depended implementations].
3315         (Fmake_charset): Modify for `make_charset'.
3316         (Fmake_reverse_direction_charset): Likewise.
3317         (complex_vars_of_mule_charset): Likewise.
3318
3319         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3320         `code_offset'.
3321         (CHARSET_UCS_MIN): New macro.
3322         (CHARSET_UCS_MAX): New macro.
3323         (CHARSET_CODE_OFFSET): New macro.
3324         (MAKE_CHAR): Delete charset depended definitions [except
3325         katakana-jisx0201].
3326
3327 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3328
3329         * char-ucs.h (breakup_char_1): Use
3330         `Vdefault_coded_charset_priority_list' for C0-Controls,
3331         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3332
3333 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3334
3335         * char-ucs.h (charset_get_byte1): New function.
3336         (XCHARSET_GET_BYTE1): Deleted.
3337         (charset_get_byte2): New function.
3338         (XCHARSET_GET_BYTE2): Deleted.
3339         (Vdefault_coded_charset_priority_list): New external variable.
3340         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3341         `Vdefault_preferred_coded_charset_list'.
3342
3343         * mule-charset.c (charset_get_byte1): New function.
3344         (charset_get_byte2): New function.
3345         (Vdefault_coded_charset_priority_list): New variable.
3346         (vars_of_mule_charset): Add new variable
3347         `default-coded-charset-priority-list'.
3348
3349 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3350
3351         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3352         (XCHARSET_GET_BYTE2): New inline function.
3353         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3354         `XCHARSET_GET_BYTE2'.
3355
3356 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3357
3358         * mule-charset.c (make_charset): Initialize
3359         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3360         NULL if table is not defined.
3361
3362 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3363
3364         * text-coding.c (char_encode_shift_jis): Use
3365         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3366         `ucs_to_latin_jisx0201'.
3367
3368         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3369         (ucs_to_latin_iso8859_2): Deleted.
3370         (ucs_to_latin_iso8859_3): Deleted.
3371         (ucs_to_latin_iso8859_4): Deleted.
3372         (ucs_to_latin_iso8859_9): Deleted.
3373         (ucs_to_latin_viscii_lower): Deleted.
3374         (ucs_to_latin_viscii_upper): Deleted.
3375         (ucs_to_latin_tcvn5712): Deleted.
3376         (make_charset): Add new argument `decoding_table'; set up
3377         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3378         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3379         `decoding_table' is defined in UTF-2000.
3380         (Fmake_charset): Modify for `make_charset'.
3381         (Fmake_reverse_direction_charset): Likewise.
3382         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3383         and `GENERATE_96_SET'.
3384
3385         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3386         (ucs_to_latin_jisx0201): Deleted.
3387         (latin_iso8859_2_to_ucs): Deleted.
3388         (ucs_to_latin_iso8859_2): Deleted.
3389         (latin_iso8859_3_to_ucs): Deleted.
3390         (ucs_to_latin_iso8859_3): Deleted.
3391         (latin_iso8859_4_to_ucs): Deleted.
3392         (ucs_to_latin_iso8859_4): Deleted.
3393         (latin_iso8859_9_to_ucs): Deleted.
3394         (ucs_to_latin_iso8859_9): Deleted.
3395         (latin_viscii_lower_to_ucs): Deleted.
3396         (ucs_to_latin_viscii_lower): Deleted.
3397         (latin_viscii_upper_to_ucs): Deleted.
3398         (ucs_to_latin_viscii_upper): Deleted.
3399         (struct Lisp_Charset): Renamed `encoding_table' to
3400         `to_byte1_table'; add `to_byte2_table'.
3401         (CHARSET_DECODING_TABLE): New macro.
3402         (CHARSET_TO_BYTE1_TABLE): New macro.
3403         (CHARSET_TO_BYTE2_TABLE): New macro.
3404         (XCHARSET_DECODING_TABLE): New macro.
3405         (XCHARSET_TO_BYTE1_TABLE): New macro.
3406         (XCHARSET_TO_BYTE2_TABLE): New macro.
3407         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3408         tables.
3409         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3410         don't use `ucs_to_*' tables.
3411
3412 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3413
3414         * text-coding.c (Fmake_coding_system): Don't set up
3415         `codesys->fixed.size'.
3416         (encode_coding_no_conversion): Use `if' instead of `switch'.
3417
3418         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3419
3420 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3421
3422         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3423         (Fmake_charset): Modify for `make_charset'.
3424         (Fmake_reverse_direction_charset): Likewise.
3425         (complex_vars_of_mule_charset): Likewise.
3426
3427 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3428
3429         * text-coding.c (char_encode_shift_jis): Use table
3430         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3431
3432 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3433
3434         * text-coding.c (text_encode_generic): Use `if' instead of
3435         `switch'.
3436         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3437         decode JIS-Latin.
3438
3439 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3440
3441         * text-coding.c (encode_coding_sjis): Deleted.
3442         (char_encode_shift_jis): New function.
3443         (char_finish_shift_jis): New function.
3444         (reset_encoding_stream): Set up `encode_char' and `finish' for
3445         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3446         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3447         (char_encode_utf8): Treat `eol_type'.
3448
3449 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3450
3451         * file-coding.c (decode_coding_iso2022): Use
3452         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3453
3454 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3455
3456         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3457         to 0.7 (Hirano).
3458
3459 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3460
3461         * char-lb.h (CHAR_COLUMNS): New macro.
3462
3463 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3464
3465         * text-coding.c (char_encode_ucs4): New function.
3466         (char_finish_ucs4): New function.
3467         (encode_coding_ucs4): Deleted.
3468         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3469         (text_encode_generic): Delete local variable `charset' and `half'.
3470         (ucs_to_mule_table): Deleted.
3471         (mule_to_ucs_table): Deleted.
3472         (Fset_ucs_char): Deleted.
3473         (ucs_to_char): Deleted.
3474         (Fucs_char): Deleted.
3475         (Fset_char_ucs): Deleted.
3476         (Fchar_ucs): Deleted.
3477         (decode_ucs4): Deleted.
3478         (mule_char_to_ucs4): Deleted.
3479         (encode_ucs4): Deleted.
3480         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3481         (decode_coding_utf8): Likewise.
3482         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3483         (char_encode_iso2022): Fixed.
3484         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3485         `Fset_char_ucs' and `Fchar_ucs'.
3486         (complex_vars_of_file_coding): Don't initialize
3487         `ucs_to_mule_table'.
3488
3489         * objects-tty.c (tty_initialize_font_instance): Don't use
3490         `XCHARSET_COLUMNS'.
3491
3492         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3493         UTF-2000.
3494
3495         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3496         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3497
3498         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3499         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3500         (emchar_string_displayed_columns): Likewise.
3501
3502         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3503         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3504         (string_column_at_point): Likewise.
3505         (Fmove_to_column): Likewise.
3506
3507         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3508         `encoding_table' and `decoding_table'.
3509         (CHARSET_REP_BYTES): Deleted.
3510         (XCHARSET_REP_BYTES): Deleted.
3511         (XCHARSET_COLUMNS): Deleted.
3512         (CHAR_COLUMNS): New macro.
3513         (lookup_composite_char): Deleted unconditionally.
3514         (composite_char_string): Likewise.
3515
3516 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3517
3518         * char-ucs.h (Emchar_to_byte_table): New type.
3519         (get_byte_from_character_table): New function interface.
3520         (Vcharset_latin_jisx0201): New variable.
3521         (latin_jisx0201_to_ucs): New variable.
3522         (ucs_to_latin_jisx0201): New variable.
3523         (Vcharset_latin_iso8859_2): New variable.
3524         (latin_iso8859_2_to_ucs): New variable.
3525         (ucs_to_latin_iso8859_2): New variable.
3526         (Vcharset_latin_iso8859_3): New variable.
3527         (latin_iso8859_3_to_ucs): New variable.
3528         (ucs_to_latin_iso8859_3): New variable.
3529         (Vcharset_latin_iso8859_4): New variable.
3530         (latin_iso8859_4_to_ucs): New variable.
3531         (ucs_to_latin_iso8859_4): New variable.
3532         (Vcharset_latin_iso8859_9): New variable.
3533         (latin_iso8859_9_to_ucs): New variable.
3534         (ucs_to_latin_iso8859_9): New variable.
3535         (Vcharset_latin_viscii_lower): New variable.
3536         (latin_viscii_lower_to_ucs): New variable.
3537         (ucs_to_latin_viscii_lower): New variable.
3538         (Vcharset_latin_viscii_upper): New variable.
3539         (latin_viscii_upper_to_ucs): New variable.
3540         (ucs_to_latin_viscii_upper): New variable.
3541         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3542         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3543         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3544         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3545         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3546         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3547         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3548         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3549         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3550         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3551
3552         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3553         (Vcharset_latin_viscii_upper): New variable.
3554         (make_byte_from_character_table): New function.
3555         (put_byte_from_character_table): New function.
3556         (get_byte_from_character_table): New function.
3557         (CHAR96): New macro.
3558         (ucs_to_latin_jisx0201): New variable.
3559         (latin_jisx0201_to_ucs): New variable.
3560         (ucs_to_latin_iso8859_2): New variable.
3561         (latin_iso8859_2_to_ucs): New variable.
3562         (ucs_to_latin_iso8859_3): New variable.
3563         (latin_iso8859_3_to_ucs): New variable.
3564         (ucs_to_latin_iso8859_4): New variable.
3565         (latin_iso8859_4_to_ucs): New variable.
3566         (ucs_to_latin_iso8859_9): New variable.
3567         (latin_iso8859_9_to_ucs): New variable.
3568         (ucs_to_latin_viscii_lower): New variable.
3569         (latin_viscii_lower_to_ucs): New variable.
3570         (ucs_to_latin_viscii_upper): New variable.
3571         (latin_viscii_upper_to_ucs): New variable.
3572         (ucs_to_latin_tcvn5712): New variable.
3573         (latin_tcvn5712_to_ucs): New variable.
3574         (Qlatin_viscii_lower): New variable.
3575         (Qlatin_viscii_upper): New variable.
3576         (syms_of_mule_charset): Set up new symbol
3577         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3578         (complex_vars_of_mule_charset): Set up new charset
3579         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3580         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3581         `ucs_to_<CHARSET>' tables.
3582
3583 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3584
3585         * text-coding.c: New file.
3586
3587 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3588
3589         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3590
3591         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3592         (MAKE_CHAR): Modify for `ucs-bmp'.
3593         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3594         non-MULE characters of BMP.
3595
3596 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3597
3598         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3599         to 0.6.
3600
3601 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3602
3603         * lstream.h:
3604         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3605         - Include character.h for `CHAR_ASCII_P'.
3606
3607         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3608
3609         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3610         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3611
3612         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3613         (BYTE_C0_P): Likewise.
3614         (BYTE_C1_P): Likewise.
3615         (Lstream_get_emchar_1): Likewise.
3616         (Lstream_fput_emchar): Likewise.
3617         (Lstream_funget_emchar): Likewise.
3618         (copy_internal_to_external): Likewise.
3619         (copy_external_to_internal): Likewise.
3620
3621         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3622         (BYTE_C0_P): Likewise.
3623         (BYTE_C1_P): Likewise.
3624         (Lstream_get_emchar_1): Likewise.
3625         (Lstream_fput_emchar): Likewise.
3626         (Lstream_funget_emchar): Likewise.
3627         (copy_internal_to_external): Likewise.
3628         (copy_external_to_internal): Likewise.
3629
3630         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3631         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3632
3633         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3634         (BYTE_ASCII_P): Moved to mb-1byte.h.
3635
3636 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3637
3638         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3639
3640         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3641         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3642         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3643         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3644         (VALIDATE_CHARPTR_FORWARD): Likewise.
3645         (simple_charptr_emchar): Moved to mb-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): Moved to mb-*byte.h.
3652         (set_charptr_emchar): Likewise.
3653         (charptr_copy_char): Likewise.
3654
3655         * mb-1byte.h, mb-multibyte.h: New files.
3656
3657 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3658
3659         * mb-utf-8.h (MULTIBYTE): New macro.
3660         (MAX_EMCHAR_LEN): Moved from buffer.h.
3661         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3662
3663         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3664
3665         * mb-lb.h, multibyte.h: New files.
3666
3667         * char-1byte.h (Charset_ID): Moved from buffer.h.
3668         (MIN_LEADING_BYTE): Likewise.
3669         (LEADING_BYTE_ASCII): Likewise.
3670         (NUM_LEADING_BYTES): Likewise.
3671         (CHARSETP): Likewise.
3672         (CHARSET_BY_LEADING_BYTE): Likewise.
3673         (XCHARSET_LEADING_BYTE): Likewise.
3674         (XCHARSET_GRAPHIC): Likewise.
3675         (XCHARSET_COLUMNS): Likewise.
3676         (XCHARSET_DIMENSION): Likewise.
3677         (CHAR_CHARSET): Likewise.
3678         (CHAR_LEADING_BYTE): Likewise.
3679         (BREAKUP_CHAR): Likewise.
3680         (Vcharset_ascii): Likewise.
3681
3682         * buffer.h: Include multibyte.h unconditionally.
3683         (VALID_CHARPTR_P): Moved to multibyte.h.
3684         (ASSERT_VALID_CHARPTR): Likewise.
3685         (REAL_INC_CHARPTR): Likewise.
3686         (REAL_INC_CHARBYTIND): Likewise.
3687         (REAL_DEC_CHARPTR): Likewise.
3688         (INC_CHARPTR): Likewise.
3689         (INC_CHARBYTIND): Likewise.
3690         (DEC_CHARPTR): Likewise.
3691         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3692         (VALIDATE_CHARPTR_FORWARD): Likewise.
3693         (charptr_n_addr): Likewise.
3694         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3695         (simple_charptr_emchar): Moved to multibyte.h.
3696         (simple_set_charptr_emchar): Likewise.
3697         (simple_charptr_copy_char): Likewise.
3698         (non_ascii_charptr_emchar): Likewise.
3699         (non_ascii_set_charptr_emchar): Likewise.
3700         (non_ascii_charptr_copy_char): Likewise.
3701         (charptr_emchar): Likewise.
3702         (set_charptr_emchar): Likewise.
3703         (charptr_copy_char): Likewise.
3704         (charptr_emchar_n): Likewise.
3705         (Charset_ID): Moved to char-1byte.h.
3706         (Vcharset_ascii): Likewise.
3707         (CHAR_CHARSET): Likewise.
3708         (CHAR_LEADING_BYTE): Likewise.
3709         (LEADING_BYTE_ASCII): Likewise.
3710         (NUM_LEADING_BYTES): Likewise.
3711         (MIN_LEADING_BYTE): Likewise.
3712         (CHARSETP): Likewise.
3713         (CHARSET_BY_LEADING_BYTE): Likewise.
3714         (XCHARSET_LEADING_BYTE): Likewise.
3715         (XCHARSET_GRAPHIC): Likewise.
3716         (XCHARSET_COLUMNS): Likewise.
3717         (XCHARSET_DIMENSION): Likewise.
3718         (BREAKUP_CHAR): Likewise.
3719
3720 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3721
3722         * character.h: Add document about interface for characters.
3723
3724         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3725         (MAKE_CHAR): Delete comment about
3726         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3727         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3728         (BREAKUP_CHAR): Modify name of arguments.
3729         (CHAR_CHARSET): Modify name of argument.
3730
3731         * buffer.h: Delete document about Emchar accessors.
3732
3733 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3734
3735         * character.h (CHAR_INTP): Moved from buffer.h
3736         (CHAR_OR_CHAR_INTP): Likewise.
3737         (XCHAR_OR_CHAR_INT): Likewise.
3738         (CHECK_CHAR_COERCE_INT): Likewise.
3739
3740         * buffer.h (CHAR_INTP): Moved to character.h
3741         (CHAR_OR_CHAR_INTP): Likewise.
3742         (XCHAR_OR_CHAR_INT): Likewise.
3743         (CHECK_CHAR_COERCE_INT): Likewise.
3744
3745 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3746
3747         * character.h:
3748         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3749         - Include char-1byte.h, char-lb.h or char-ucs.h.
3750
3751         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3752
3753         * buffer.h: Include character unconditionally.
3754         (valid_char_p): Moved to char-*.h.
3755         (non_ascii_valid_char_p): Moved to char-lb.h.
3756
3757         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3758
3759 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3760
3761         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3762         in UTF-2000 because it is not ported yet and not to use
3763         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3764         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3765         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3766
3767         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3768         (CHAR_ASCII_P): Moved from character.h.
3769
3770         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3771         (CHAR_ASCII_P): Likewise.
3772         (CHAR_FIELD1_MASK): Deleted.
3773         (CHAR_FIELD2_MASK): Deleted.
3774         (CHAR_FIELD3_MASK): Deleted.
3775         (MAX_CHAR_BASIC_LATIN): New macro.
3776         (CHAR_FIELD1): Deleted.
3777         (CHAR_FIELD2_INTERNAL): Deleted.
3778         (CHAR_FIELD3_INTERNAL): Deleted.
3779         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3780         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3781         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3782         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3783         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3784         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3785         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3786         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3787         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3788         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3789         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3790         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3791         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3792         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3793         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3794         (MIN_CHAR_COMPOSITION): Deleted.
3795         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3796         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3797
3798 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3799
3800         * buffer.h: Include mb-utf-8.h in UTF-2000.
3801
3802         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3803
3804         * mb-utf-8.h: New file.
3805
3806 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3807
3808         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3809         instead of `int'.
3810
3811         * mule-charset.h, buffer.h (Charset_ID): New type.
3812
3813 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3814
3815         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3816         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3817         instead of `MULE_CHAR_PRIVATE_OFFSET',
3818         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3819         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3820         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3821
3822         * character.h (Vcharset_japanese_jisx0212): New variable
3823         definition.
3824
3825 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3826
3827         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3828         (charset_by_attributes): Delete array about direction.
3829         (latin_a_char_to_charset): New variable in UTF-2000.
3830         (latin_a_char_to_byte1): New variable in UTF-2000.
3831         (latin_a_char_to_byte2): New variable in UTF-2000.
3832         (Qucs_bmp): New variable.
3833         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3834         `Bufbyte'.
3835         (next_allocated_2_byte_leading_byte): Likewise.
3836         (non_ascii_set_charptr_emchar): Likewise.
3837         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3838         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3839         `charset_by_attributes'.
3840         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3841         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3842         and `CHARSET_BY_LEADING_BYTE'.
3843         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3844         `utf-2000-version' to `vars_of_mule_charset'.
3845         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3846         define `leading-code-private-11' in UTF-2000; move setting of
3847         `utf-2000-version' from `syms_of_mule_charset'.
3848         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3849         UTF-2000.
3850
3851         * character.h (Charset_ID): New type.
3852         (LEADING_BYTE_UCS_BMP): New macro.
3853         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3854         (CHARSET_ID_OFFSET_94): New macro.
3855         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3856         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3857         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3858         final-byte.
3859         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3860         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3861         (CHARSET_ID_OFFSET_96): New macro.
3862         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3863         CHARSET_ID_OFFSET_96 and final-byte.
3864         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3865         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3866         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3867         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3868         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3869         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3870         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3871         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3872         (LEADING_BYTE_THAI_TIS620): Likewise.
3873         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3874         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3875         (CHARSET_ID_OFFSET_94x94): New macro.
3876         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3877         CHARSET_ID_OFFSET_94x94 and final-byte.
3878         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3879         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3880         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3881         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3882         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3883         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3884         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3885         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3886         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3887         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3888         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3889         (CHARSET_TYPE_128X128): New macro.
3890         (CHARSET_TYPE_256X256): New macro.
3891         (XCHARSET_PRIVATE_P): Delete unconditionally.
3892         (charset_by_attributes): Delete array about direction.
3893         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3894         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3895         (MIN_CHAR_94): New macro.
3896         (MAX_CHAR_94): New macro.
3897         (MIN_CHAR_96): New macro.
3898         (MAX_CHAR_96): New macro.
3899         (MIN_CHAR_94x94): New macro.
3900         (MAX_CHAR_94x94): New macro.
3901         (MIN_CHAR_96x96): New macro.
3902         (MAX_CHAR_96x96): New macro.
3903         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3904         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3905         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3906         - 32)'.
3907         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3908         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3909         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3910         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3911         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3912         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3913         `XCHARSET_LEADING_BYTE' to make code-point.
3914         (latin_a_char_to_charset): New variable.
3915         (latin_a_char_to_byte1): New variable.
3916         (latin_a_char_to_byte2): New variable.
3917         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3918         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3919         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3920
3921         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3922         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3923         (find_charsets_in_emchar_string): Likewise.
3924         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3925
3926         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3927         `int'.
3928         (decode_coding_iso2022): Likewise.
3929
3930         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3931         of `unsigned char'.
3932
3933         * redisplay.c (redisplay_text_width_emchar_string): Use
3934         `Charset_ID' instead of `unsigned char'.
3935         (redisplay_frame_text_width_string): Likewise.
3936
3937         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3938         `unsigned char'.
3939
3940         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3941         instead of `unsigned char'.
3942         (face_cachel_charset_font_metric_info): Likewise.
3943
3944         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3945         (get_non_ascii_char_table_value): Likewise.
3946         (get_char_table): Likewise.
3947         (put_char_table): Likewise.
3948         (map_over_other_charset): Likewise.
3949         (map_char_table): Likewise.
3950
3951         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3952         instead of `unsigned char'.
3953
3954 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3955
3956         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3957         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3958
3959         * mule-charset.c (leading_code_private_11): Don't define in
3960         UTF-2000.
3961
3962         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3963         in UTF-2000 because it is not ported yet and not to use
3964         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3965
3966 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3967
3968         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3969
3970 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3971
3972         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3973         in UTF-2000.
3974
3975         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3976         of unsigned char to store leading-byte.
3977
3978         * chartab.c (get_non_ascii_char_table_value): Don't use
3979         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3980
3981         * file-coding.c (encode_coding_big5): Delete bogus implementation
3982         in UTF2000.
3983
3984         * character.h (LEADING_BYTE_*): Delete definition for
3985         non-UTF-2000.
3986         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3987         (LEADING_BYTE_PREFIX_P): Deleted.
3988         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3989         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3990         (BUFBYTE_LEADING_BYTE_P): Deleted.
3991         (CHARSET_PRIVATE_P): Deleted unconditionally.
3992         (rep_bytes_by_first_byte): Deleted unconditionally.
3993         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3994         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3995         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3996         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3997         (CHAR_FIELD2): Deleted.
3998         (CHAR_FIELD3): Deleted.
3999         (MAKE_CHAR): Delete definition for non-UTF-2000.
4000         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4001         (breakup_char_1): New implementation.
4002         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4003         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4004
4005 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4006
4007         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4008         condition.
4009
4010 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4011
4012         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4013         (CHARSET_PRIVATE_P): Likewise.
4014         (XCHARSET_PRIVATE_P): Likewise.
4015         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4016
4017         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4018         UTF2000.
4019         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4020
4021 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4022
4023         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4024         (NUM_LEADING_BYTES): Changed from 128 to 256.
4025         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4026         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4027         UTF2000.
4028         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4029
4030         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4031         UTF2000.
4032         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4033         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4034         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4035         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4036         (Qchinese_cns11643_3): New variable in UTF2000.
4037         (Qchinese_cns11643_4): New variable in UTF2000.
4038         (Qchinese_cns11643_5): New variable in UTF2000.
4039         (Qchinese_cns11643_6): New variable in UTF2000.
4040         (Qchinese_cns11643_7): New variable in UTF2000.
4041         (syms_of_mule_charset): Define `chinese-cns11643-3',
4042         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4043         and `chinese-cns11643-7' in UTF2000.
4044         (vars_of_mule_charset): Initialize
4045         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4046         + 1 in UTF2000.
4047         (complex_vars_of_mule_charset): Setup charset
4048         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4049         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4050
4051 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4052
4053         * mule-charset.c: Move setting for `leading-code-private-11' from
4054         `syms_of_mule_charset' to `vars_of_mule_charset'.
4055
4056 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4057
4058         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4059         and `NUM_LEADING_BYTES' in assert.
4060
4061 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4062
4063         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4064         instead of 128.
4065         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4066         `NUM_LEADING_BYTES' instead of 128.
4067
4068 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4069
4070         * mule-charset.h (charset_by_leading_byte): Use
4071         `NUM_LEADING_BYTES' instead of 128.
4072         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4073
4074         * mule-charset.c (charset_by_leading_byte): Use
4075         `NUM_LEADING_BYTES' instead of 128.
4076         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4077
4078         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4079         128.
4080
4081 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4082
4083         * mule-charset.c (syms_of_mule_charset): Update to
4084         0.4 (Shin-Imamiya).
4085
4086 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4087
4088         * file-coding.c (encode_coding_sjis): New implementation for
4089         UTF2000.  (decode_coding_sjis): Ditto.
4090
4091 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4092
4093         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4094         Don't define in UTF2000.
4095
4096         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4097         defined.
4098
4099         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4100         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4101         MULE.
4102
4103 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4104
4105         * config.h.in (CHAR_IS_UCS4): New macro.
4106
4107         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4108         conventional MULE representation.
4109         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4110
4111         * mule-charset.h: Reverted to original.
4112
4113         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4114         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4115         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4116
4117         * character.h: New file.
4118
4119         * file-coding.c (Fmake_coding_system): Set 1 to
4120         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4121         defined.
4122         (encode_coding_no_conversion): New implementation for UTF2000.
4123
4124         * file-coding.h (struct Lisp_Coding_System): Add new member
4125         `fixed.size'.
4126
4127 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4128
4129         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4130         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4131         (encode_coding_iso2022): New implementation for UTF2000.
4132
4133 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4134
4135         * mule-canna.c (c2mu): New implementation for UTF2000.
4136         (m2c): Likewise.
4137
4138 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4139
4140         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4141
4142 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4143
4144         * file-coding.c (reset_encoding_stream): Set 0 to
4145         `str->iso2022.current_char_boundary' in UTF2000.
4146         (encode_utf8): Don't define in UTF2000.
4147         (encode_coding_utf8): New implementation for UTF-8 representation
4148         of UTF2000.
4149         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4150
4151 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4152
4153         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4154
4155         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4156         UTF2000.
4157         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4158
4159         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4160
4161         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4162         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4163         as UTF-8 in UTF2000.
4164         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4165         (non_ascii_valid_char_p): Don't define in UTF2000.
4166         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4167         (Lstream_get_emchar_1): Likewise.
4168         (utf-2000-version): New variable in UTF2000.
4169
4170         * lread.c (read_escape): Add new reader `u'.
4171
4172         * insdel.c (three_to_one_table): Don't define in UTF2000.
4173         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4174         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4175         UTF2000.
4176         (bytind_to_bufpos_func): Likewise.
4177         (buffer_mule_signal_inserted_region): Likewise.
4178         (vars_of_insdel): Don't initialize `three_to_one_table'.
4179         (init_buffer_text): Use `buf->text->mule_size' instead of
4180         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4181         UTF2000.
4182
4183         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4184         UTF-8 representation in UTF2000.
4185         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4186         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4187         (decode_coding_iso2022): Don't define local variable `lb' in
4188         UTF2000; don't use LEADING_BYTE in UTF2000; use
4189         `DECODE_ADD_UCS_CHAR' in UTF2000.
4190         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4191
4192         * config.h.in (UTF2000): New macro.
4193
4194         * buffer.h (struct buffer_text): Add new member `mule_size' and
4195         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4196         (valid_char_p): Return always 1 in UTF2000.
4197         (MAX_EMCHAR_LEN): 6 in UTF2000.
4198         (three_to_one_table): Don't define in UTF2000.
4199         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4200         UTF2000.
4201         (real_bytind_to_bufpos): Likewise.
4202
4203         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4204
4205 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4206
4207         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4208         representation change.
4209         (Vutf_2000_version): New variable.
4210         (leading_code_private_11): New variable.
4211         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4212         `leading-code-private-11'.
4213
4214         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4215         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4216         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4217         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4218         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4219         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4220         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4221         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4222         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4223         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4224         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4225         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4226         (MIN_CHAR_GREEK): New macro.
4227         (MAX_CHAR_GREEK): New macro.
4228         (MIN_CHAR_CYRILLIC): New macro.
4229         (MAX_CHAR_CYRILLIC): New macro.
4230         (MIN_CHAR_HEBREW): New macro.
4231         (MAX_CHAR_HEBREW): New macro.
4232         (MIN_CHAR_THAI): New macro.
4233         (MAX_CHAR_THAI): New macro.
4234         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4235         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4236         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4237         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4238         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4239         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4240         (CHAR_FIELD2): New inline function.
4241         (CHAR_FIELD3): New inline function.
4242         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4243         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4244         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4245         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4246         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4247         (MIN_CHAR_COMPOSITION): Likewise.
4248         (CHAR_LEADING_BYTE): Modified for character representation change.
4249         (MAKE_CHAR): Likewise.
4250
4251         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4252         (Vcharset_greek_iso8859_7): Likewise.
4253         (Vcharset_cyrillic_iso8859_5): Likewise.
4254         (Vcharset_hebrew_iso8859_8): Likewise.
4255         (Vcharset_thai_tis620): Likewise.
4256         (Vcharset_katakana_jisx0201): Likewise.
4257
4258 2001-02-08  Martin Buchholz <martin@xemacs.org>
4259
4260         * XEmacs 21.2.44 "Thalia" is released.
4261
4262 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4263
4264         Fixes crashes in kill-emacs on some systems.
4265         * process-unix.c (unix_kill_child_process):
4266         It's OK for kill() to fail with ESRCH.
4267
4268 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4269
4270         Contortions to make .gdbinit tricks work on most systems.
4271         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4272         * alloc.c (dbg_valmask): Make non-const.
4273         * alloc.c (dbg_typemask): Make non-const.
4274         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4275         * alloc.c (dbg_valbits): Make non-const.
4276         * alloc.c (dbg_gctypebits): Make non-const.
4277         * .gdbinit (decode_object): Make it work with AIX cc.
4278
4279 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4280
4281         * elhash.c (make_general_lisp_hash_table):
4282         Use simpler and more efficient calloc to clear entries.
4283
4284 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4285
4286         * window.c (window_scroll): Work around an AIX C compiler bug.
4287         Fixes 'scroll-up' does nothing problem with xlC.
4288
4289 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4290
4291         * .gdbinit: Remove obsolete comment.
4292
4293 2001-01-31  Mike Alexander  <mta@arbortext.com>
4294
4295         * select.c (Fown_selection_internal): Set owned_p for device
4296         method correctly.
4297
4298 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4299
4300         Port to g++ 2.97.
4301         "not" cannot be used as a macro name as it is an operator in C++
4302         * config.h.in: Stop #defining `not'.
4303         * chartab.c (check_category_char): not ==> not_p
4304         * chartab.h: Likewise.
4305         * regex.c (re_match_2_internal): Likewise.
4306
4307 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4308
4309         * lisp-disunion.h: Fix up comments.
4310
4311 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4312
4313         * keymap.c (define_key_check_and_coerce_keysym):
4314         (syms_of_keymap):
4315         Support mouse-6 and mouse-7 bindings in the obvious way.
4316
4317 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4318
4319         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4320
4321 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4322
4323         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4324         Previous patch missed DEFVAR_INT_MAGIC.
4325         Make sure future DEFVAR_foo use correct types.
4326         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4327         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4328         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4329         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4330         * (DEFVAR_INT): Likewise.
4331         * redisplay.c (vertical_clip): Should be of type Fixnum.
4332         * redisplay.c (horizontal_clip): Likewise.
4333         * lisp.h (dump_add_opaque_int): New.
4334         (dump_add_opaque_fixnum): New.
4335
4336 2001-01-29  Andy Piper  <andy@xemacs.org>
4337
4338         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4339         since they can be eval'ed
4340
4341 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4342
4343         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4344         Oops, XEmacs redefines `class'.  Use `typename' instead.
4345
4346 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4347
4348         * dumper.c: Fix C++ compile errors.
4349
4350 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4351
4352         * tparam.c: Use correct prototypes.
4353
4354 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4355
4356         * sysproc.h: #include util.h for NetBSD's openpty.
4357
4358 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4359
4360         More 64-bit correctness.
4361         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4362         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4363         Fix up comments.
4364         This finally finishes the 64-bit SGI port.
4365         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4366         * symbols.c: Fix up comments and type casts.
4367         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4368         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4369         * symeval.h (Fixnum): New type.
4370         * symeval.h (symbol_value_type): Fix up comment.
4371
4372         * commands.h:
4373         * nt.c:
4374         * emacs.c:
4375         * data.c:
4376         * redisplay.c:
4377         * abbrev.c:
4378         * dired-msw.c:
4379         * event-Xt.c:
4380         * eldap.c:
4381         * window.c:
4382         * sound.c:
4383         * event-stream.c:
4384         * eval.c:
4385         * buffer.c:
4386         * mule-canna.c: A million DEFVAR_INTs here...
4387         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4388         * extents.c:
4389         * cmdloop.c:
4390         * lisp.h:
4391         * select-x.c:
4392         * console-x.h:
4393         * event-msw.c:
4394         * mule-wnnfns.c:
4395         * hpplay.c:
4396         * ralloc.c:
4397         * alloc.c:
4398         * keymap.c:
4399         * profile.c:
4400         s/int/Fixnum/g in DEFVAR_INT declarations.
4401
4402 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4403
4404         Port pdump to SGI alignment-sensitive environment.
4405         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4406         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4407         properly aligned.
4408         Define and use aligned reading and writing macros.
4409         Use buffered stdio instead of posix i/o for faster dumping.
4410         Eliminate kludgy 256 byte space for header.
4411         Read and write from dump file using structs for alignment safety.
4412         * dumper.c (pdump_align_stream): New.
4413         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4414         * dumper.c (PDUMP_READ_ALIGNED): New.
4415         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4416         * dumper.c (pdump_static_Lisp_Object): New struct.
4417         * dumper.c (pdump_static_pointer): New struct.
4418         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4419         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4420         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4421         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4422
4423         * dumper.c (pdump_backtrace):
4424         * dumper.c (pdump_get_indirect_count):
4425         * dumper.c (pdump_register_object):
4426         * dumper.c (pdump_register_struct):
4427         * dumper.c (pdump_reloc_one):
4428         * dumper.c (pdump_scan_by_alignment):
4429         * dumper.c (pdump_dump_from_root_struct_ptrs):
4430         * dumper.c (pdump_dump_opaques):
4431         * dumper.c (pdump_dump_rtables):
4432         * dumper.c (pdump_dump_from_root_objects):
4433         * dumper.c (pdump):
4434         * dumper.c (pdump_load_finish):
4435         Use aligned reading and writing.
4436
4437         * dumper.c (pdump_free): Make static.
4438         * dumper.c (pdump_hFile): Likewise.
4439         * dumper.c (pdump_hMap): Likewise.
4440
4441 2001-01-26  Martin Buchholz <martin@xemacs.org>
4442
4443         * XEmacs 21.2.43 "Terspichore" is released.
4444
4445 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4446
4447         Type fiddling for window_config.saved_windows_count
4448         * window.c (struct window_config): 
4449         Make saved_windows_count member unsigned.
4450         * window.c (sizeof_window_config_for_n_windows): 
4451         Make parameter unsigned.
4452         * window.c (mark_window_config):
4453         * window.c (window_config_equal):
4454         * window.c (free_window_configuration):
4455         * window.c (Fset_window_configuration):
4456         * window.c (count_windows):
4457         * window.c (Fcurrent_window_configuration):
4458         * window.c (reinit_vars_of_window):
4459         Update all callers and users.
4460
4461 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4462
4463         Alignment correctness for flexible arrays.
4464         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4465         Make alignment-correct. Add interesting comments.
4466         * alloc.c (size_vector):
4467         * alloc.c (make_vector_internal):
4468         * alloc.c (make_bit_vector_internal):
4469         * alloc.c (sweep_bit_vectors_1):
4470         * fns.c (size_bit_vector):
4471         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4472         * window.c (sizeof_window_config_for_n_windows): 
4473         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4474
4475 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4476
4477         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4478
4479 2001-01-23  Andy Piper  <andy@xemacs.org>
4480
4481         * select.c (Fown_selection_internal): pass owned_p
4482
4483         * select-msw.c (mswindows_own_selection): New Signature.
4484
4485         * console.h (struct console_methods): add owned_p to
4486         _own_selection.
4487
4488         * select-x.c (x_own_selection): pass owned_p
4489         (hack_motif_clipboard_selection): use owned_p
4490         (vars_of_select_x): new variable -
4491         x_selection_strict_motif_ownership.
4492
4493 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4494
4495         * specifier.h (specifier_data_offset): Remove pointless parens.
4496         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4497
4498 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4499
4500         Make Lisp_Object sizeof methods be alignment-correct.
4501         pdump must restore objects to the same alignment as the C compiler
4502         assumes.  It really matters on SGIs.
4503         * lstream.c (aligned_sizeof_lstream): New.
4504         (sizeof_lstream): Use aligned_sizeof_lstream.
4505         (Lstream_new): Likewise.
4506         * opaque.c (aligned_sizeof_opaque): New.
4507         (sizeof_opaque): Use aligned_sizeof_opaque.
4508         (make_opaque): Likewise.
4509         * specifier.c (aligned_sizeof_specifier): New.
4510         (sizeof_specifier): Use aligned_sizeof_specifier.
4511         (make_specifier_internal): Likewise.
4512
4513 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4514
4515         * lstream.h (struct lstream): Use max_align_t for trailing data.
4516         * specifier.h (struct Lisp_Specifier): Likewise.
4517
4518 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4519
4520         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4521         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4522         (CCL_SUSPEND): Likewise.
4523         (CCL_INVALID_CMD): Likewise.
4524         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4525         (ccl_driver): Likewise.
4526         (CCL_WRITE_CHAR): Macro hygiene.
4527         (CCL_WRITE_STRING): Macro hygiene.
4528
4529 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4530
4531         Port "portable" dumper to SunOS 4 and HP-UX.
4532         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4533         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4534         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4535
4536 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4537
4538         * lisp.h (ALIGNOF): A better definition for C++.
4539
4540 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4541
4542         Macro hygiene.
4543         Fix printf warnings: int format, long int arg.
4544         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4545         (PUSH_FAILURE_POINT): Use correct printf formats.
4546         (POP_FAILURE_POINT): Use correct printf formats.  
4547         Use do {...} while (0)
4548
4549 2001-01-20  Martin Buchholz <martin@xemacs.org>
4550
4551         * XEmacs 21.2.42 "Poseidon" is released.
4552
4553 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4554
4555         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4556
4557 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4558
4559         De-kludgify FIXED_TYPE free list frobbing.
4560         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4561         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4562         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4563         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4564         * alloc.c (LRECORD_FREE_P): New.
4565         * alloc.c (MARK_LRECORD_AS_FREE): New.
4566         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4567         * alloc.c (STRUCT_FREE_P): Deleted.
4568         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4569         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4570         * alloc.c (STRING_CHARS_FREE_P): New.
4571         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4572         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4573         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4574         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4575         * alloc.c (resize_string): Use new definitions.
4576         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4577         * alloc.c (verify_string_chars_integrity): Use new definitions.
4578         * alloc.c (compact_string_chars): Use new definitions.
4579         * alloc.c: Update monster comments.
4580         * lrecord.h (lrecord_type): Add some new lrecord types for
4581         alloc.c's use.
4582
4583 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4584
4585         Improve alignment hackery.
4586         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4587         (max_align_t): Moved from opaque.h - general purpose.
4588         (ALIGN_PTR): Use size_t, not long.
4589         * opaque.h (max_align_t): Move to lisp.h.
4590
4591 2001-01-18  Norbert Koch  <nk@LF.net>
4592
4593         * gui.h: Fix and add prototypes to fix build problems.
4594
4595 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4596
4597         temacs is going away, so `dump-temacs' is now a bad name.
4598         * .dbxrc (dump-temacs): Rename to `dmp'.
4599         * .gdbinit (dump-temacs): Rename to `dmp'.
4600
4601 2001-01-17  Andy Piper  <andy@xemacs.org>
4602
4603         * glyphs.c (print_image_instance): comment to make martin happy.
4604
4605         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4606         change.
4607
4608         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4609         activation.
4610         (mswindows_tab_control_redisplay): warning suppression.
4611
4612         * glyphs-widget.c (widget_update): re-write to cope with updated
4613         items.
4614         (widget_instantiate): use new gui_item functions.
4615         (tab_control_update): deleted.
4616         (progress_gauge_update): deleted.
4617         (image_instantiator_progress_guage): take out update reference.
4618         (image_instantiator_tree_view): ditto.
4619         (image_instantiator_tab_control): ditto.
4620
4621         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4622         Right the new way.
4623         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4624         return whether anything was changed.
4625         (update_gui_item_keywords): as it sounds.
4626
4627         * gui.h: declare widget_gui_parse_item_keywords.
4628
4629         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4630         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4631
4632 2001-01-17  Martin Buchholz <martin@xemacs.org>
4633
4634         * XEmacs 21.2.41 "Polyhymnia" is released.
4635
4636 2001-01-16  Didier Verna  <didier@xemacs.org>
4637
4638         * glyphs.c (image_instantiate): don't use fallbacks when
4639         instantiating a face's background pixmap by inheritance.
4640
4641 2001-01-14  Mike Sperber <mike@xemacs.org>
4642
4643         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4644         Conditionalize accordingly.
4645
4646 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4647
4648         * dumper.c (pdump_file_get): Fix a compiler warning.
4649
4650 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4651
4652         Make Purify happy when pdumping.
4653         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4654         iniitalizing all bits of new lisp object memory.
4655         * symbols.c (Fmake_local_variable): Likewise.
4656         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4657         * symbols.c (Fdefvaralias): Likewise.
4658         * mule-charset.c (vars_of_mule_charset): Likewise.
4659
4660 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4661         Add the `-nd' flag when running pre-dump operations under the debugger.
4662         * .dbxrc (run-temacs): Add `-nd'.
4663         * .dbxrc (update-elc): Likewise.
4664         * .dbxrc (dump-temacs): Likewise.
4665         * .gdbinit (run-temacs): Likewise.
4666         * .gdbinit (check-temacs): Likewise.
4667         * .gdbinit (update-elc): Likewise.
4668         * .gdbinit (dump-temacs): Likewise.
4669
4670 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4671
4672         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4673         export OBJECT_MODE=64
4674         configure --pdump --use-union-type=no
4675         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4676         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4677
4678         * miscplay.c (sndcnv8U_2mono):
4679         Avoid two uses of `++' in the same expression.
4680         Suppresses a GCC warning.
4681
4682 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4683
4684         Make sure future compilers don't miscompile alloc.c.
4685         * alloc.c:
4686         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4687         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4688
4689 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4690
4691         * dumper.c: A little post-pdump-rename comment fixup.
4692
4693 2001-01-09  Jerry James  <james@eecs.ku.edu>
4694
4695         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4696
4697 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4698
4699         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4700         script:
4701         #!/bin/sh
4702         replace_symbol () {
4703           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4704         }
4705
4706         replace_symbol pdump_wire_lists pdump_weak_object_chains
4707         replace_symbol pdump_wire_list dump_add_weak_object_chain
4708
4709         replace_symbol pdump_wires pdump_root_objects
4710         replace_symbol pdump_wire dump_add_root_object
4711
4712         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4713         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4714
4715         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4716         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4717         replace_symbol dumpstructinfo pdump_root_struct_ptr
4718         replace_symbol dumpstruct dump_add_root_struct_ptr
4719
4720         replace_symbol dumpopaque dump_add_opaque
4721         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4722         replace_symbol dumpopaqueinfos pdump_opaques
4723         replace_symbol dumpopaqueinfo pdump_opaque
4724
4725         replace_symbol nb_structdump nb_root_struct_ptrs
4726         replace_symbol nb_opaquedump nb_opaques
4727
4728         replace_symbol align_table pdump_align_table
4729         replace_symbol dump_header pdump_header
4730
4731         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4732         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4733
4734
4735 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4736
4737         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4738         optimizing bytecount_to_charcount().
4739
4740 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4741
4742         * config.h.in:
4743         (HAVE_DLFCN_H): Removed.
4744         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4745
4746 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4747
4748         Portable dumper maintainability improvements.
4749         * alloc.c (staticpro):
4750         * alloc.c (staticpro_nodump):
4751         * alloc.c (garbage_collect_1):
4752         * alloc.c (reinit_alloc_once_early):
4753         * alloc.c (init_alloc_once_early):
4754         * alloc.c: Move dumper functions to alloc.c.
4755         * dumper.c (pdump_backtrace):
4756         * dumper.c (pdump_dump_structs):
4757         * dumper.c (pdump_dump_opaques):
4758         * dumper.c (pdump_dump_rtables):
4759         * dumper.c (pdump_dump_wired):
4760         * dumper.c (pdump):
4761         * dumper.c (pdump_load_check):
4762         * dumper.c (pdump_load_finish):
4763         * dumper.c (pdump_file_unmap):
4764         * dumper.c (pdump_file_get):
4765         * dumper.c (pdump_resource_free):
4766         * dumper.c (pdump_resource_get):
4767         * dumper.c (pdump_file_free):
4768         * dumper.c (pdump_file_try):
4769         * dumper.c (pdump_load):
4770         Remove fixed size limits on staticpro(), staticpro_nodump(),
4771         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4772         Remove custom code for dumping lrecord_implementations_table - use
4773         dumpopaque instead.
4774         Remove (most of the) custom code for dumping staticpros - dump it
4775         like any other dynarr.
4776
4777         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4778         * dumper.c: Moved functions from alloc.c.
4779         * alloc.c (dumpstruct): Moved to dumper.c.
4780         * alloc.c (dumpopaque): Likewise.
4781         * alloc.c (pdump_wire): Likewise.
4782         * alloc.c (pdump_wire_list): Likewise.
4783
4784         * lisp.h (Dynarr_sizeof): New.
4785         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4786         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4787         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4788
4789         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4790         * lisp.h (dumpopaque): ditto.
4791         * lisp.h (pdump_wire): ditto.
4792         * lisp.h (pdump_wire_list): ditto.
4793
4794 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4795
4796         * make-src-depend (PrintPatternDeps):
4797         Use `sort' to make output independent of perl version.
4798
4799 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4800
4801         Port to Netbsd 1.5.
4802         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4803         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4804
4805 2001-01-03  Didier Verna  <didier@xemacs.org>
4806
4807         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4808         that `focus_frame' is alive before thinking of calling
4809         `redisplay_redraw_cursor' on it.
4810
4811 2001-01-08  Martin Buchholz <martin@xemacs.org>
4812
4813         * XEmacs 21.2.40 is released.
4814
4815 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4816
4817         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4818
4819 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4820
4821         * alloc.c (dbg_valmask): Make const.
4822         * alloc.c (dbg_typemask): Make const.
4823         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4824         * alloc.c (dbg_valbits): Make const.
4825         * alloc.c (dbg_gctypebits): Make const.
4826
4827 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4828
4829         * redisplay-x.c (x_bevel_area):
4830         redisplay.h (struct rune):
4831         Typo fixes in comments.
4832
4833 2001-01-05  Andy Piper  <andy@xemacs.org>
4834
4835         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4836         adjustment.
4837
4838         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4839
4840 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4841
4842         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4843
4844         * mule-ccl.c (stack_idx_of_map_multiple):
4845         Non const global data must not be initialized!
4846         Found by MIYASHITA Hisashi.
4847
4848 2001-01-02  Andy Piper  <andy@xemacs.org>
4849
4850         * frame.c (change_frame_size): make sure frame size is always
4851         marked as changed.
4852
4853         * glyphs.c (image_instance_layout): minor code reuse.
4854
4855         * window.c (Fcurrent_window_configuration): revert previous
4856         change.
4857
4858 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4859
4860         * glyphs.h:
4861         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4862
4863 2000-12-31  Andy Piper  <andy@xemacs.org>
4864
4865         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4866         when widget gets unmapped.
4867
4868         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4869         function. Make sure widgets losing focus don't just drop it.
4870         (handle_focus_event_1): record the widget with focus.
4871
4872 2000-12-31  Andy Piper  <andy@xemacs.org>
4873
4874         * window.c (allocate_window): use
4875         make_image_instance_cache_hash_table.
4876         (make_dummy_parent): ditto.
4877         (Fset_window_configuration): ditto.
4878
4879         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4880
4881         * glyphs.c (process_image_string_instantiator): use
4882         INSTANTIATOR_TYPE.
4883         (get_image_instantiator_governing_domain): ditto.
4884         (normalize_image_instantiator): ditto.
4885         (instantiate_image_instantiator): ditto.
4886         (make_image_instance_1): ditto.
4887         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4888         (instantiator_eq_equal): new function for use with instance hash
4889         tables.
4890         (instantiator_eq_hash): ditto.
4891         (make_image_instance_cache_hash_table): create a suitable hash
4892         table for storing image instances.
4893
4894         * elhash.h (hash_table_weakness): new internal weakness type
4895         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4896         declare new functions.
4897
4898         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4899         another weakness type for glyphs.
4900         (make_standard_lisp_hash_table): new function split out from
4901         make_general_lisp_hash_table.
4902         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4903         (hash_table_instantiate): ditto.
4904         (Fmake_hash_table): ditto.
4905
4906 2000-12-31  Martin Buchholz <martin@xemacs.org>
4907
4908         * XEmacs 21.2.39 is released.
4909
4910 2000-12-29  Andy Piper  <andy@xemacs.org>
4911
4912         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4913
4914         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4915         the frame has changed so that we pick up geometry changes such as
4916         menubar visibility.
4917
4918 2000-12-28  Andy Piper  <andy@xemacs.org>
4919
4920         * lastfile.c (my_ebss): make a char array so we can pad the
4921         bss. Fixes cygwin unexec.
4922
4923         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4924
4925 2000-12-26  Andy Piper  <andy@xemacs.org>
4926
4927         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4928         comments and try and be more precise about a non-/SIGIO world.
4929         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4930         SIGIO.
4931
4932         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4933         we don't normalize to zero width or height.
4934
4935 2000-12-24  Andy Piper  <andy@xemacs.org>
4936
4937         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4938
4939 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4940
4941         * s/sco5.h: SCO 5 has pty support.
4942
4943 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4944
4945         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4946         input-method-xlib.c contains whole contents of input-method-xfs.c,
4947         so we can use input-method-xlib.c's code for USE_XFONTSET
4948         using #ifdefs.
4949         * input-method-xfs.c: removed.
4950
4951 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4952
4953         * file-coding.h (enum coding_category_type): reorder enumerators to
4954         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4955         (now one greater than largest real coding_category_type enumerator).
4956         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4957         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4958         Fcoding_category_list, Fset_coding_priority_list,
4959         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4960         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4961
4962 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4963
4964         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4965         * redisplay-output.c (redisplay_output_window): Clear top of window
4966         when face is changed.
4967         * redisplay-x.c (x_redraw_exposed_window): Call
4968         redisplay_clear_top_of_window.
4969         * redisplay.h: Publish redisplay_clear_top_of_window.
4970
4971 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4972
4973         * buffer.c (Fkill_buffer): Map over all devices.
4974         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4975         (list_windows): New function.
4976         (list_all_windows): Ditto.
4977         (Freplace_buffer_in_windows): Use them.
4978
4979 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4980
4981         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4982         (Fopen_database): Use `db_create' instead of `db_open'.
4983         (syms_of_database): Initialize Qqueue.
4984
4985 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4986
4987         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4988         buffer_local_face_property.
4989         * buffer.h (struct buffer): New member buffer_local_face_property.
4990         * window.c (Fset_window_buffer):  Mark window's face as changed
4991         when buffer has buffer local face.
4992         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4993         * objects.c (color_after_change): Set buffer_local_face_property
4994         when locale of face specifier is buffer.
4995         * objects.c (font_after_change): Ditto.
4996         * objects.c (face_boolean_after_change): Ditto.
4997         * glyphs.c (image_after_change): Ditto.
4998
4999 2000-12-09  Dan Holmsand  <dan@eyebee.com>
5000
5001         * nt.c (mswindows_fstat): Report file permissions, volume serial
5002         number, etc. Code adapted from FSF Emacs 20.7.
5003
5004 2000-12-09  Dan Holmsand  <dan@eyebee.com>
5005
5006         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
5007         of stat when we don't have symbolic links, to make sure
5008         mswindows_stat is called on mswindows.
5009
5010 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5011
5012         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
5013
5014 2000-12-12  Martin Buchholz  <martin@xemacs.org>
5015
5016         * doprnt.c (emacs_doprnt_1): More printing fixes.
5017         Make printing of numbers compatible with libc and FSF Emacs.
5018         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
5019         Use the system printf to do most of the hard work of formatting,
5020         instead of doprnt_1().
5021         Calculate memory to allocate for format string.
5022         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
5023         (doprnt_1): Cleaner code and documentation.
5024
5025 2000-12-01  Jerry James  <james@eecs.ukans.edu>
5026
5027         * Makefile.in.in: Use the loop variable to install headers.
5028
5029 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5030
5031         * window.c (Fsplit_window): Don't invalidate face cache.
5032
5033 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5034
5035         * minibuf.c (Fall_completions): Undo the previous change
5036         which removed checking elements start with space.
5037
5038 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
5039
5040         * mule-canna.c: Didier suppression.
5041
5042 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
5043
5044         * mule-canna.c: rename static unsigned char buf[] to key_buffer
5045         (warning suppression).  Add English comment translations.
5046
5047 2000-12-05  Martin Buchholz  <martin@xemacs.org>
5048
5049         * unexelfsgi.c (unexec): Better test for mmap failure.
5050
5051 2000-12-05  Martin Buchholz <martin@xemacs.org>
5052
5053         * XEmacs 21.2.38 is released.
5054
5055 2000-12-05  Martin Buchholz  <martin@xemacs.org>
5056
5057         * redisplay.c (bar-cursor): Make a user variable.
5058
5059         * symsinit.h: Add init_postgresql_from_environment.
5060
5061 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5062
5063         * regex.c: Convert to clean C.
5064
5065 2000-12-05  Dan Holmsand  <dan@eyebee.com>
5066
5067         * realpath.c:
5068         Don't #include sysfile.h. Revert to duplicating PATH_MAX
5069         initialization.
5070         (sys_readlink): renamed to system_readlink to avoid conflict with
5071         the other sys_readlink.
5072
5073 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
5074
5075         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
5076
5077 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
5078
5079         * postgresql.c (init_postgresql_from_environment): new function.
5080         (vars_of_postgresql): Move code initializing Lisp variables out and
5081         into init_postgresql_from_environment.
5082         emacs.c (main_1): Call init_postgresql_from_environment if and only
5083         if running a dumped XEmacs.
5084
5085 2000-08-31  Dan Holmsand  <dan@eyebee.com>
5086
5087         * buffer.c: Make find-file-compare-truenames default to true on
5088         windows.
5089
5090         * realpath.c (win32_abs_start):
5091         (cygwin_readlink):
5092         (win32_readlink): New functions.
5093         (xrealpath): Return really real filenames on windows.
5094
5095         * fileio.c (Ffile_truename): Make file-truename work on windows.
5096
5097 2000-11-29  Didier Verna  <didier@xemacs.org>
5098
5099         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
5100         * faces.c (update_face_cachel_data): use it.
5101         * faces.c (add_face_cachel): use it. Complete background pixmap
5102         frobbing in face cache if `update_face_cachel_data' has not done so.
5103
5104 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
5105
5106         * search.c (string_match_1): Don't set last_thing_searched
5107         when search failed.
5108
5109 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
5110
5111         * buffer.c: Include casetab.h
5112         (common_init_complex_vars_of_buffer): Use new case-table object.
5113         * buffer.h: Include casetab.h
5114         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
5115         (DOWNCASE_TABLE_OF): Ditto.
5116         * bufslots.h: Remove char-tables and add case-table.
5117         * casetab.c: Include casetab.h
5118         (CASE_TABLE_P): Removed.
5119         (mark_case_table): New function.
5120         (allocate_case_table): New function.
5121         (Fcase_table_p): Use new case-table.
5122         (case_table_char): New function.
5123         (Fget_case_table): Ditto.
5124         (Fput_case_table): Ditto.
5125         (Fput_case_table_pair): Ditto.
5126         (Fcopy_case_table): Ditto.
5127         (Fcurrent_case_table): Return case-table.
5128         (Fstandard_case_table): Return case-table.
5129         (Fset_case_table): Fix doc-string.
5130         (set_case_table): Use case-table
5131         (syms_of_casetab): DEFSUBR new functions.
5132         (complex_vars_of_casetab): Set up standard case-table.
5133         * casetab.h: New file.
5134         * editfns.c: Include casetab.h
5135         (Fcompare_buffer_substrings): Use case-table.
5136         * inline.c: Include casetab.h
5137         * lisp.h: Remove bogus extern.
5138         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
5139         * search.c: Include casetab.h
5140         (TRANSLATE_ASCII): Removed.
5141         (TRANSLATE): Unconditionally translate character.
5142         (looking_at_1): Use case-table.
5143         (string_match_1): Ditto.
5144         (fast_string_match): Ditto.
5145         (search_command): Ditto.
5146         (search_buffer): Separate boyer_moore.  Check whether
5147         boyer_moore is possible.
5148         (simple_search): New function.
5149         (boyer_moore): Separated from search_buffer. Translate char.
5150
5151 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5152
5153         * regex.c (RE_TR_ASCII): Removed.
5154         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
5155         (PATFETCH): Call PATFETCH_RAW.
5156         (PATFETCH_RAW): Fetch Emchar.
5157         (PATUNFETCH): Decrement charptr.
5158         (GET_BUFFER_SPACE): Rename b to buf_end.
5159         (BUF_PUSH): Ditto.
5160         (BUF_PUSH_2): Ditto.
5161         (BUF_PUSH_3): Ditto.
5162         (EXTEND_BUFFER): Ditto.
5163         (SET_LIST_BIT): Ditto.
5164         (regex_compile): Ditto.  Translate non ASCII char.
5165         (compile_range): Ditto.
5166         (re_search_2): Ditto.
5167         (re_match_2_internal): Compare Emchar.
5168         (bcmp_translate): Ditto.
5169
5170 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
5171
5172         * lisp.h (basic char/int typedefs):  comment improvement.
5173
5174 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5175
5176         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5177         unstomp inhibit_site_lisp.  Improve comments.
5178
5179 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5180
5181         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5182
5183 2000-11-28  Andy Piper  <andy@xemacs.org>
5184
5185         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5186         clipped display for windows in the gutter also.
5187         (redisplay_display_boxes_in_window_p): change semantics of return
5188         codes to be more intuitive.
5189
5190         * gutter.h: declare display_boxes_in_gutter_p.
5191
5192         * gutter.c (display_boxes_in_gutter_p): new function for
5193         redisplay.
5194
5195 2000-11-22  Andy Piper  <andy@xemacs.org>
5196
5197         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5198         autodetect domain.
5199
5200 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5201
5202         * callproc.c (Fold_call_process_internal):
5203         * gpm.c (Freceive_gpm_event):
5204         (tty_get_foreign_selection): Might be just warning supression.
5205         * fileio.c (Fwrite_region_internal):
5206         (Fset_visited_file_modtime):
5207         * keymap.c (event_matches_key_specifier_p):
5208         Initialize GCPROed variable.
5209
5210         * menubar-x.c (command_builder_find_menu_accelerator):
5211         Initialize before use.
5212
5213 2000-11-23  Andy Piper  <andy@xemacs.org>
5214
5215         * unexcw.c (unexec): make the resulting executable executable.
5216
5217 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5218
5219         * doc.c (get_doc_string):
5220         Use size_t, not int, for result of XSTRING_LENGTH.
5221
5222         * cmds.c (Fdelete_char):
5223         * cmds.c (Fpoint_at_eol):
5224         * cmds.c (Fself_insert_command):
5225         Use EMACS_INT, not int, for result of XINT.
5226         Someday, someone will want to insert more than 2**31 identical characters.
5227
5228         * cmds.c (Fdelete_char):
5229         * cmds.c (Fdelete_backward_char):
5230         * syntax.c (Fforward_word):
5231         * syntax.c (Fforward_comment):
5232         Make COUNT argument optional, for consistency with forward-char et al.
5233
5234 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5235
5236         * lisp.h:
5237         * print.c (long_to_string):
5238         Return a useful value: the pointer at end of data written.
5239
5240         * doprnt.c:
5241         Use `static const char * const' for constant strings.
5242         (union printf_arg): Delete `i', `ui' members.
5243         (get_doprnt_args):
5244         (emacs_doprnt_1):
5245         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5246         Do all printf-ing via the `l' specifier.
5247         Use EMACS_INT instead of int.
5248         Optimize.
5249
5250 2000-11-20  Didier Verna  <didier@xemacs.org>
5251
5252         * faces.c (update_face_cachel_data): don't frob the background
5253         pixmap when the window is being created. The face is needed but
5254         does not exist yet.
5255
5256 2000-11-20  Andy Piper  <andy@xemacs.org>
5257
5258         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5259         messing with a debug environment.
5260
5261 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5262
5263         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5264
5265 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5266
5267         * casetab.c (Fcase_table_p): Fix compile error and crash.
5268
5269 2000-11-18  Philip Aston  <philipa@mail.com>
5270
5271         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5272
5273 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5274
5275         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5276         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5277
5278 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5279
5280         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5281         * unexelf.c: Use HAVE_ELF_H.
5282         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5283         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5284         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5285         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5286         for testing.
5287         So this is an unexelfsgi.c from a different line of development.
5288
5289 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5290
5291         * regex.c (RE_TR_ASCII): New function.
5292         (RE_TRANSLATE): Call it.
5293
5294 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5295
5296         * buffer.h (TRT_TABLE_OF): Remove assert.
5297         (IN_TRT_TABLE_DOMAIN): Removed.
5298
5299 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5300
5301         * free-hook.c (log_gcpro):
5302         (show_gcprohist): Add support for GCPRO5.
5303
5304 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5305
5306         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5307
5308 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5309
5310         * symeval.h: Declare flush_all_buffer_local_cache.
5311
5312         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5313         (flush_buffer_local_cache): Added.
5314         (flush_all_buffer_local_cache): Added.
5315
5316         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5317
5318         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5319         (pdump_dump_data): Ditto.
5320         (pdump_reloc_one): Ditto.
5321         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5322         before dumping.
5323
5324
5325 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5326
5327         * buffer.c: Remove if 0'ed entry.
5328         * buffer.h: Rewrite TRT to use char-table.
5329         * bufslots.h: Remove mirror tables.
5330         * casetab.c: Remove mirror tables.
5331         (CASE_TABLE_P): New macro.
5332         (Fcase_table_p): Element of a case table is string or char-table.
5333         (make_mirror_trt_table): Removed.
5334         (set_case_table): Setup char-table from strings for backward
5335         compatibility.
5336         * dired.c (Fdirectory_files):
5337         * dired-msw.c: (mswindows_get_files):
5338         * lisp.h: Change prototype of re_pattern_buffer.
5339         * regex.c: (RE_TRANSLATE): New macro.
5340         (TRANSLATE_P): Ditto.
5341         Change translate to type RE_TRANSLATE_TYPE.
5342         * regex.h: Define RE_TRANSLATE_TYPE
5343         * search.c (TRANSLATE): New macro.
5344         (TRANSLATE_ASCII): New macro.
5345         Translate table is changed to Lisp_Object.
5346         (signal_failure): Inhibit return.
5347
5348 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5349
5350         * device-msw.c:
5351         * eldap.c:
5352         * event-Xt.c:
5353         * event-stream.c:
5354         * print.c:
5355         Do UNGCPRO before return.
5356
5357 2000-11-14  Martin Buchholz <martin@xemacs.org>
5358
5359         * XEmacs 21.2.37 is released.
5360
5361 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5362
5363         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5364         Add comments about discarded return value.
5365
5366 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5367
5368         * callint.c:
5369         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5370
5371 2000-10-27  Andy Piper  <andy@xemacs.org>
5372
5373         * gutter.c (Fset_default_gutter_position): default left and right
5374         gutters to visible.
5375         (calculate_gutter_size): calculate resonable heuristic for left
5376         and right gutter sizes.
5377         (specifier_vars_of_gutter): change left and right gutter sizes to
5378         autodetect.
5379         (calculate_gutter_size_from_display_lines): new function.
5380         (output_gutter): check for resizing on left and right gutters.
5381         (clear_gutter): don't special case top and left gutters.
5382         (specifier_vars_of_gutter): use new signature for
5383         set_specifier_caching.
5384
5385         * glyphs-x.c (x_redisplay_widget): spelling fix.
5386         * glyphs.c (specifier_vars_of_glyphs):
5387         * menubar.c (specifier_vars_of_menubar):
5388         * redisplay.c (specifier_vars_of_redisplay):
5389         * toolbar.c (specifier_vars_of_toolbar):
5390         * window.c (specifier_vars_of_window):
5391         * scrollbar.c (specifier_vars_of_scrollbar):
5392         (complex_vars_of_scrollbar): use new signature for
5393         set_specifier_caching.
5394
5395         * specifier.c (set_specifier_caching): include recompute flag.
5396         (recompute_one_cached_specifier_in_window): always recompute if
5397         flag set.
5398         (recompute_one_cached_specifier_in_frame): ditto.
5399
5400         * specifier.h (struct specifier_caching): add recompute flag.
5401
5402 2000-10-24  Andy Piper  <andy@xemacs.org>
5403
5404         * unexcw.c (copy_executable_and_dump_data_section): add new
5405         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5406         5.0 happy.
5407
5408 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5409
5410         * console-x.h (x_device): New member modifier_release_time.
5411         * event-Xt.c (x_handle_sticky_modifiers):
5412         Bound interval modifier keys are sticky.
5413         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5414         * events.h: extern it.
5415
5416 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5417
5418         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5419
5420 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5421
5422         * event-stream.c (execute_command_event): Preserve current_events
5423         and the like when event is misc-user-event.
5424         Inhibit quit during the call to maybe_echo_keys.
5425
5426 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5427
5428         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5429         symlink when buffer is killed.
5430         (inhibit_clash_detection): New variable.
5431
5432 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5433
5434         * console.c (Fset_input_method): Trigger redisplay on tty.
5435
5436 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5437
5438         * process.c (Fprocess_status): Revert to previous behavior:
5439         (process-status "nosuchprocess") ==> nil
5440
5441 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5442
5443         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5444         Work around another GCC 2.95.2 optimizer bug.
5445
5446 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5447
5448         * process.c (Fget_process): Use LIST_LOOP_2.
5449         (kill_buffer_processes): Use LIST_LOOP_2.
5450
5451         * minibuf.c (Fall_completions):
5452         Delete old non-functional code for FSF fourth argument.
5453
5454         * frame.c (frame_matches_frame_spec):
5455         Renamed from `frame_matches_frametype'.  Update all callers.
5456         (device_matches_device_spec):
5457         Renamed from 'device_matches_console_spec'.  Update all callers.
5458
5459         * doc.c (Fsubstitute_command_keys):
5460         Remove buffer overflow crash.  Small code cleanups.
5461
5462         * casetab.c (check_case_table): Simpler code.
5463
5464         * window.c (Freplace_buffer_in_windows):
5465         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5466         (and similar implementation) as Fdelete_windows_on.
5467         Update all callers.
5468
5469         * alloc.c (Fmake_list):
5470         * alloc.c (make_vector):
5471         * alloc.c (Fmake_vector):
5472         * alloc.c (make_bit_vector):
5473         * alloc.c (Fmake_bit_vector):
5474         * alloc.c (Fbit_vector):
5475         * alloc.c (Fmake_string):
5476         * alloc.c (Fpurecopy):
5477         * alloc.c (Fmemory_limit):
5478         * buffer.c:
5479         * buffer.c (Fget_buffer):
5480         * buffer.c (Fkill_buffer):
5481         * buffer.c (complex_vars_of_buffer):
5482         * bytecode.c (Fcompiled_function_stack_depth):
5483         * callint.c (Fprefix_numeric_value):
5484         * event-stream.c:
5485         * event-stream.c (Fread_key_sequence):
5486         * casetab.c:
5487         * casetab.c (Fcase_table_p):
5488         * casetab.c (check_case_table):
5489         * casetab.c (Fset_case_table):
5490         * casetab.c (Fset_standard_case_table):
5491         * chartab.c:
5492         * chartab.c (Fchar_table_type):
5493         * chartab.c (Freset_char_table):
5494         * chartab.c (Fget_char_table):
5495         * chartab.c (Fget_range_char_table):
5496         * chartab.c (Fput_char_table):
5497         * chartab.c (Fmap_char_table):
5498         * chartab.c (Fcategory_table_p):
5499         * chartab.c (Fcheck_category_at):
5500         * chartab.c (Fchar_in_category_p):
5501         * chartab.c (Fcategory_table):
5502         * chartab.c (Fcopy_category_table):
5503         * chartab.c (Fset_category_table):
5504         * chartab.c (Fcategory_designator_p):
5505         * chartab.c (Fcategory_table_value_p):
5506         * cmds.c (Fdelete_char):
5507         * cmds.c (Fdelete_backward_char):
5508         * cmds.c (Fself_insert_command):
5509         * cmds.c (Fself_insert_internal):
5510         * console.c (Fvalid_console_type_p):
5511         * console.c (Fcdfw_console):
5512         * console.c (Fconsole_type):
5513         * console.c (Fconsole_name):
5514         * console.c (Fconsole_device_list):
5515         * console.c (Fconsole_on_window_system_p):
5516         * data.c:
5517         * data.c (Feq):
5518         * data.c (Fold_eq):
5519         * data.c (Fsubr_interactive):
5520         * data.c (Fchar_to_int):
5521         * data.c (Fint_to_char):
5522         * data.c (Fsetcar):
5523         * data.c (Fsetcdr):
5524         * data.c (Fnumber_to_string):
5525         * data.c (Fstring_to_number):
5526         * data.c (Frem):
5527         * database.c (mark_database):
5528         * database.c (finalize_database):
5529         * database.c (Fdatabase_live_p):
5530         * database.c (Fdatabasep):
5531         * device-x.c (Fx_get_resource):
5532         * device.c (Fdfw_device):
5533         * dired.c:
5534         * dired.c (Ffile_name_completion):
5535         * dired.c (Ffile_name_all_completions):
5536         * dired.c (Fuser_name_completion):
5537         * dired.c (Fuser_name_completion_1):
5538         * dired.c (Fuser_name_all_completions):
5539         * doc.c (Fdocumentation):
5540         * doc.c (Fdocumentation_property):
5541         * doc.c (Fsubstitute_command_keys):
5542         * editfns.c:
5543         * editfns.c (Fchar_to_string):
5544         * editfns.c (Fstring_to_char):
5545         * editfns.c (Ftemp_directory):
5546         * editfns.c (Finsert_char):
5547         * editfns.c (Fbuffer_substring_no_properties):
5548         * editfns.c (Fnarrow_to_region):
5549         * editfns.c (Fchar_equal):
5550         * editfns.c (Fchar_Equal):
5551         * editfns.c (Ftranspose_regions):
5552         * emacs.c (Fdump_emacs):
5553         * eval.c (Fthrow):
5554         * eval.c (Fcommand_execute):
5555         * eval.c (Fautoload):
5556         * eval.c (Fbacktrace):
5557         * eval.c (Fbacktrace_frame):
5558         * events.c:
5559         * events.c (Fcopy_event):
5560         * events.c (Fcharacter_to_event):
5561         * events.c (Fevent_button):
5562         * events.c (Fevent_process):
5563         * extents.c:
5564         * extents.c (Fnext_extent_change):
5565         * extents.c (Fextent_property):
5566         * faces.c (Ffacep):
5567         * faces.c (Fmake_face):
5568         * file-coding.c:
5569         * file-coding.c (Fencode_shift_jis_char):
5570         * file-coding.c (Fencode_big5_char):
5571         * fileio.c (Ffile_name_directory):
5572         * fileio.c (Ffile_name_nondirectory):
5573         * fileio.c (Ffile_name_as_directory):
5574         * fileio.c (Fdirectory_file_name):
5575         * fileio.c (Ffile_truename):
5576         * fileio.c (Fsubstitute_in_file_name):
5577         * fileio.c (Ffile_modes):
5578         * fileio.c (Fset_file_modes):
5579         * fileio.c (Fset_default_file_modes):
5580         * fileio.c (Fverify_visited_file_modtime):
5581         * floatfns.c (Facos):
5582         * floatfns.c (Fasin):
5583         * floatfns.c (Fatan):
5584         * floatfns.c (Fcos):
5585         * floatfns.c (Fsin):
5586         * floatfns.c (Ftan):
5587         * floatfns.c (Fbessel_j0):
5588         * floatfns.c (Fbessel_j1):
5589         * floatfns.c (Fbessel_jn):
5590         * floatfns.c (Fbessel_y0):
5591         * floatfns.c (Fbessel_y1):
5592         * floatfns.c (Fbessel_yn):
5593         * floatfns.c (Ferf):
5594         * floatfns.c (Ferfc):
5595         * floatfns.c (Flog_gamma):
5596         * floatfns.c (Fexp):
5597         * floatfns.c (Fexpt):
5598         * floatfns.c (Flog):
5599         * floatfns.c (Flog10):
5600         * floatfns.c (Fsqrt):
5601         * floatfns.c (Fcube_root):
5602         * floatfns.c (Facosh):
5603         * floatfns.c (Fasinh):
5604         * floatfns.c (Fatanh):
5605         * floatfns.c (Fcosh):
5606         * floatfns.c (Fsinh):
5607         * floatfns.c (Ftanh):
5608         * floatfns.c (Fabs):
5609         * floatfns.c (Ffloat):
5610         * floatfns.c (Flogb):
5611         * floatfns.c (Fceiling):
5612         * floatfns.c (Ffloor):
5613         * floatfns.c (Fround):
5614         * floatfns.c (Ftruncate):
5615         * floatfns.c (Ffceiling):
5616         * floatfns.c (Fffloor):
5617         * floatfns.c (Ffround):
5618         * floatfns.c (Fftruncate):
5619         * fns.c (Fstring_equal):
5620         * fns.c (Fstring_lessp):
5621         * fns.c (concat2):
5622         * fns.c (concat3):
5623         * fns.c (vconcat2):
5624         * fns.c (vconcat3):
5625         * fns.c (Fsubstring):
5626         * fns.c (Fassoc):
5627         * fns.c (Fold_assoc):
5628         * fns.c (assoc_no_quit):
5629         * fns.c (Fassq):
5630         * fns.c (Fold_assq):
5631         * fns.c (assq_no_quit):
5632         * fns.c (Frassoc):
5633         * fns.c (Fold_rassoc):
5634         * fns.c (Frassq):
5635         * fns.c (Fold_rassq):
5636         * fns.c (rassq_no_quit):
5637         * fns.c (Fremassoc):
5638         * fns.c (remassoc_no_quit):
5639         * fns.c (Fremassq):
5640         * fns.c (remassq_no_quit):
5641         * fns.c (Fremrassoc):
5642         * fns.c (Fremrassq):
5643         * fns.c (remrassq_no_quit):
5644         * fns.c (Fsort):
5645         * fns.c (Fplist_get):
5646         * fns.c (Fplist_put):
5647         * fns.c (Fplist_remprop):
5648         * fns.c (Fplist_member):
5649         * fns.c (Flax_plist_get):
5650         * fns.c (Flax_plist_put):
5651         * fns.c (Flax_plist_remprop):
5652         * fns.c (Flax_plist_member):
5653         * fns.c (Fequal):
5654         * fns.c (Fold_equal):
5655         * fns.c (Frequire):
5656         * fns.c (Fbase64_encode_region):
5657         * fns.c (Fbase64_encode_string):
5658         * fns.c (Fbase64_decode_region):
5659         * frame.c:
5660         * frame.c (frame_matches_frame_spec):
5661         * frame.c (device_matches_device_spec):
5662         * frame.c (next_frame):
5663         * frame.c (previous_frame):
5664         * frame.c (Fnext_frame):
5665         * frame.c (Fprevious_frame):
5666         * frame.c (Fframe_property):
5667         * frame.c (Fset_frame_height):
5668         * frame.c (Fset_frame_size):
5669         * frame.h:
5670         * glyphs.c:
5671         * glyphs.c (if):
5672         * glyphs.c (decode_error_behavior_flag):
5673         * glyphs.c (Fmake_image_instance):
5674         * indent.c (Findent_to):
5675         * intl.c (Fignore_defer_gettext):
5676         * keymap.c (Fkeymapp):
5677         * keymap.c (Flookup_key):
5678         * lread.c:
5679         * lread.c (Fload_internal):
5680         * lread.c (Feval_buffer):
5681         * lread.c (Feval_region):
5682         * macros.c (Fexecute_kbd_macro):
5683         * marker.c (set_marker_internal):
5684         * marker.c (Fset_marker):
5685         * marker.c (set_marker_restricted):
5686         * marker.c (Fcopy_marker):
5687         * marker.c (noseeum_copy_marker):
5688         * menubar.c:
5689         * menubar.c (Fpopup_menu):
5690         * minibuf.c:
5691         * mule-charset.c (Fcharset_name):
5692         * mule-charset.c (Fchar_charset):
5693         * mule-charset.c (Fchar_octet):
5694         * mule-charset.c (Fsplit_char):
5695         * mule-wnnfns.c (Fwnn_open):
5696         * mule-wnnfns.c (Fwnn_dict_comment):
5697         * mule-wnnfns.c (Fwnn_quit_henkan):
5698         * mule-wnnfns.c (Fwnn_word_toroku):
5699         * mule-wnnfns.c (Fwnn_word_sakujo):
5700         * mule-wnnfns.c (Fwnn_word_use):
5701         * mule-wnnfns.c (Fwnn_hindo_set):
5702         * objects.c:
5703         * objects.c (Fmake_color_instance):
5704         * objects.c (Fmake_font_instance):
5705         * print.c (Fwrite_char):
5706         * process.c:
5707         * process.c (mark_process):
5708         * process.c (print_process):
5709         * process.c (get_process_from_usid):
5710         * process.c (Fprocessp):
5711         * process.c (Fprocess_live_p):
5712         * process.c (Fget_process):
5713         * process.c (Fget_buffer_process):
5714         * process.c (get_process):
5715         * process.c (Fprocess_id):
5716         * process.c (Fprocess_name):
5717         * process.c (Fprocess_command):
5718         * process.c (init_process_io_handles):
5719         * process.c (start_process_unwind):
5720         * process.c (Fstart_process_internal):
5721         * process.c (Fopen_multicast_group_internal):
5722         * process.c (Fset_process_window_size):
5723         * process.c (read_process_output):
5724         * process.c (send_process):
5725         * process.c (Fprocess_tty_name):
5726         * process.c (Fset_process_buffer):
5727         * process.c (Fprocess_buffer):
5728         * process.c (Fprocess_mark):
5729         * process.c (set_process_filter):
5730         * process.c (Fset_process_filter):
5731         * process.c (Fprocess_filter):
5732         * process.c (Fprocess_send_region):
5733         * process.c (Fprocess_send_string):
5734         * process.c (exec_sentinel):
5735         * process.c (Fset_process_sentinel):
5736         * process.c (Fprocess_sentinel):
5737         * process.c (status_notify):
5738         * process.c (Fprocess_status):
5739         * process.c (Fprocess_exit_status):
5740         * process.c (process_send_signal):
5741         * process.c (Fprocess_send_eof):
5742         * process.c (deactivate_process):
5743         * process.c (remove_process):
5744         * process.c (Fdelete_process):
5745         * process.c (kill_buffer_processes):
5746         * process.c (Fprocess_kill_without_query):
5747         * process.c (Fprocess_kill_without_query_p):
5748         * rangetab.c:
5749         * rangetab.c (Fget_range_table):
5750         * rangetab.c (Fput_range_table):
5751         * rangetab.c (Fremove_range_table):
5752         * rangetab.c (Fclear_range_table):
5753         * search.c:
5754         * search.c (Fskip_chars_forward):
5755         * search.c (Fskip_chars_backward):
5756         * search.c (Fskip_syntax_forward):
5757         * search.c (Fskip_syntax_backward):
5758         * search.c (search_command):
5759         * search.c (Freplace_match):
5760         * search.c (Fregexp_quote):
5761         * select.c (Fown_selection_internal):
5762         * select.c (Fselection_owner_p):
5763         * select.c (Fselection_exists_p):
5764         * select.c (Fget_selection_internal):
5765         * specifier.c:
5766         * symbols.c:
5767         * symbols.c (Fintern):
5768         * symbols.c (Fintern_soft):
5769         * symbols.c (Funintern):
5770         * symbols.c (Fapropos_internal):
5771         * symbols.c (Fset_default):
5772         * syntax.c:
5773         * syntax.c (Fsyntax_table_p):
5774         * syntax.c (Fcopy_syntax_table):
5775         * syntax.c (Fset_syntax_table):
5776         * syntax.c (Fchar_syntax):
5777         * syntax.c (syntax_match):
5778         * syntax.c (Fmatching_paren):
5779         * syntax.c (Fforward_word):
5780         * syntax.c (scan_lists):
5781         * syntax.c (Fscan_lists):
5782         * syntax.c (Fscan_sexps):
5783         * syntax.c (Fparse_partial_sexp):
5784         * toolbar.c (Fcheck_toolbar_button_syntax):
5785         * tooltalk.doc:
5786         * window.c:
5787         * window.c (Fwindowp):
5788         * window.c (Fwindow_live_p):
5789         * window.c (Fwindow_point):
5790         * window.c (Fdelete_window):
5791         * window.c (Fnext_window):
5792         * window.c (Fprevious_window):
5793         * window.c (Fother_window):
5794         * window.c (window_loop):
5795         * window.c (Fget_lru_window):
5796         * window.c (Fsplit_window):
5797         * window.c (Fenlarge_window):
5798         * window.c (Fenlarge_window_pixels):
5799         * window.c (Fshrink_window):
5800         * window.c (Fshrink_window_pixels):
5801         * window.c (change_window_height):
5802         * window.c (Fwindow_configuration_p):
5803         * window.c (Fcurrent_window_configuration):
5804         * window.h:
5805         * casefiddle.c (casify_object):
5806         * casefiddle.c (Fupcase):
5807         * casefiddle.c (Fdowncase):
5808         * casefiddle.c (Fcapitalize):
5809         * casefiddle.c (Fupcase_initials):
5810         * casefiddle.c (casify_region_internal):
5811         * casefiddle.c (casify_region):
5812         * casefiddle.c (Fupcase_region):
5813         * casefiddle.c (Fdowncase_region):
5814         * casefiddle.c (Fcapitalize_region):
5815         * casefiddle.c (Fupcase_initials_region):
5816         * casefiddle.c (Fupcase_word):
5817         * casefiddle.c (Fdowncase_word):
5818         * casefiddle.c (Fcapitalize_word):
5819         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5820         Replace 0 with '\0' when working with bytes.
5821         Replace initial "(" with "\(" in docstrings.
5822
5823 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5824
5825         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5826
5827         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5828
5829 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5830
5831         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5832
5833 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5834
5835         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5836         correctly.
5837
5838 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5839
5840         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5841         (inhibit_auto_save_session): New variable.
5842         (vars_of_fileio): Declare and initialize them.
5843         * fileio.c (Fdo_auto_save): Don't create session file if
5844         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5845
5846 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5847
5848         * sgiplay.c (play_internal): C++ compilability.
5849         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5850         * callproc.c (Fold_call_process_internal):
5851         Remove unused vars `env', `first'.
5852         * scrollbar.c (update_scrollbar_instance):
5853         #### unused var `current_window'.
5854         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5855         etc. within #ifdef NOT_YET.
5856         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5857         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5858         * specifier.c (specifier_instance):
5859         #### unused var `tag'.
5860         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5861
5862 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5863
5864         * fns.c (Fbutlast):
5865         * fns.c (list_sort):
5866         * fns.c (Ffillarray):
5867         * fns.c (bytecode_nconc2):
5868         * fns.c (Fnconc):
5869         * fns.c (mapcar1):
5870         * fns.c (Fmapconcat):
5871         Be pedantically 64-bit correct.  For the time when someone will
5872         want to have a list with length > 2**32.
5873
5874         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5875         Work around MIPSpro compiler bug.
5876
5877         * process-unix.c (unix_kill_child_process): Add snarky comment.
5878         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5879
5880         * config.h.in: Oops, _getpt ==> _getpty
5881
5882 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5883
5884         * config.h.in:
5885         * regex.c:
5886         Use void*, not char*, as return type of alloca().
5887
5888         * alloc.c (free_marker): Side effect inside assert expression!
5889
5890 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5891
5892         * mule-charset.c (Fset_charset_ccl_program): To check
5893         if the given ccl program is valid, use setup_ccl_program()
5894         instead of CHECK_VECTOR().
5895         (Fmake_charset): Likewise.
5896
5897 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5898
5899         * faces.c (get_extent_fragment_face_cache_index):
5900         Fix cachel.merged_faces memory leak.
5901
5902 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5903
5904         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5905         Reset MSB of octets obtained by DECODE_SJIS
5906         because of the incompatibility with Emacs.
5907         (ccl_driver)<CCL_ENCODE_SJIS>:
5908         Set MSB of octets before passing them to
5909         ENCODE_SJIS because of the incompatibility
5910         with Emacs.
5911
5912 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5913
5914         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5915         (DECLARE_LRECORD): Undo the last change.
5916         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5917
5918 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5919
5920         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5921         the implementation to lrecord_implementations_table.
5922
5923 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5924
5925         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5926         initial value of `lrecord_type_##c_name' and
5927         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5928         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5929         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5930         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5931         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5932
5933 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5934
5935         * miscplay.c (sndcnv8S_2mono):
5936         (sndcnv2monounsigned):
5937         (sndcnvULaw_2linear):
5938         (sndcnv16swap):
5939         Remove implementation-defined behavior.
5940
5941 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5942
5943         * input-method-xlib.c: Warning suppression.
5944
5945 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5946
5947         * mule-ccl.c: Sync up with Emacs 21.0.90.
5948         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5949         Do nothing.
5950         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5951         Likewise.
5952         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5953         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5954         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5955         leading char belongs to official 2-dimensional charset.
5956         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5957         write the given character as is.  Otherwise,
5958         if it is a multibyte char, convert it by
5959         non_ascii_set_charptr_emchar, then write it.
5960         (CCL_WRITE_STRING): Likewise.
5961         (ccl_get_compiled_code): New function.
5962         (setup_ccl_program): When ccl_prog is invalid,
5963         return -1.
5964         (Fregister_code_conversion_map): New function.
5965         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5966
5967         * mule-ccl.h: Sync up with Emacs 21.0.90.
5968         (Fregister_ccl_program): export it.
5969
5970         * redisplay-msw.c (separate_textual_runs):
5971         If ccl program is not valid, don't do ccl conversion.
5972
5973         * redisplay-x.c (separate_textual_runs): Ditto.
5974
5975         * file-coding.c (Fmake_coding_system):
5976         When type is ccl and value is vector, register it
5977         with a proper symbol.  And checks whether the
5978         given ccl program is valid.
5979         (mule_decode): When calling ccl_driver, if src indicates
5980         NULL pointer, set an empty string instead.
5981         (mule_encode): Likewise.
5982
5983 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5984
5985         The following large batch of changes gets us back to a state of
5986         C++ compilability.  Extbyte is now a char, which means that
5987         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5988
5989         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5990
5991         * sound.c (Fplay_sound): Type correctness.
5992
5993         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5994         (x_get_window_property): Type correctness.
5995         (receive_incremental_selection): unsigned char ==> Extbyte
5996         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5997         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5998         (Fx_store_cutbuffer_internal): Type correctness.
5999
6000         * process-unix.c (try_to_initialize_subtty): Type correctness.
6001
6002         * objects-x.c (x_print_color_instance): Type correctness.
6003         (x_print_font_instance): Type correctness.
6004         (x_list_fonts): SExtbyte ==> Extbyte.
6005         (valid_x_font_name_p): SExtbyte ==> Extbyte.
6006         (x_find_charset_font): SExtbyte ==> Extbyte.
6007         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
6008         (truename_via_XListFonts): SExtbyte ==> Extbyte.
6009         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
6010         Use bufbyte_strcmp.
6011
6012         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
6013         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
6014         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
6015         (BYTE_C0_P): Use bit ops for char-signedness safety.
6016         (BYTE_C1_P): Use bit ops for char-signedness safety.
6017         (CHARSET_BY_LEADING_BYTE):
6018         (CHARSET_BY_ATTRIBUTES):
6019         Always use inline function.
6020         Use type_checking_assert.
6021         Hide chlook.
6022
6023         * mule-charset.c (non_ascii_charptr_copy_char):
6024         Modify to work with both ASCII and non-ASCII characters.
6025         Improve docs and variable names.
6026         Replace over-clever fall-through switch with a simple loop.
6027         (Lstream_get_emchar_1):
6028         Replace over-clever fall-through switch with a simple loop.
6029
6030         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6031         Warning suppression.
6032
6033         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
6034         the return value of Lstream_getc, which could be EOF as well.
6035
6036         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
6037
6038         * lisp.h: Make Extbyte a char, not unsigned char, so that external
6039         APIs can be used on Extbytes without casts.  Risky!
6040         (SExtbyte): Remove.
6041         (UExtbyte): Remove.
6042
6043         * input-method-xlib.c (XIM_init_device):
6044         Use Xlib.h instead of IntrinsicP.h.
6045         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
6046         which will break in X11R7.
6047         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
6048         to call XRegisterIMInstantiateCallback with correct types.
6049
6050         * gui-x.c (button_item_to_widget_value): Type correctness.
6051
6052         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
6053
6054         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
6055         (xbm_instantiate_1): Type correctness.
6056         (BUILD_GLYPH_INST):  Type correctness.
6057
6058         * fileio.c (Fsubstitute_in_file_name): Type correctness.
6059
6060         * file-coding.c:
6061         (decode_coding_sjis):
6062         (decode_coding_big5):
6063         (decode_coding_ucs4):
6064         (decode_coding_utf8):
6065         (decode_coding_iso2022):
6066         (decode_coding_no_conversion):
6067         Make all decoding functions take an Extbyte * arg.
6068         (encode_coding_sjis):
6069         (encode_coding_big5):
6070         (encode_coding_ucs4):
6071         (encode_coding_utf8):
6072         (encode_coding_iso2022):
6073         (encode_coding_no_conversion):
6074         Make all encoding functions take a Bufbyte * arg.
6075         Use size_t instead of unsigned int for memory sizes.
6076         Only cast to unsigned char whenever dereferencing Extbyte *.
6077
6078         * doc.c (unparesseuxify_doc_string): Type correctness.
6079
6080         * console-x.c (split_up_display_spec):
6081         Rewrite without using details of internal string representation.
6082         (x_semi_canonicalize_device_connection): Type correctness.
6083
6084         * config.h.in:
6085         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
6086         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
6087         (HAVE_XFREE386): Removed.
6088
6089         * buffer.h (DEC_CHARPTR): `const' correctness.
6090         (bufbyte_strcmp): New.
6091         (bufbyte_memcmp): New.
6092
6093         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
6094
6095         * buffer.h (XCHAR_OR_CHAR_INT):
6096         Always use inline function.
6097         Remove redundant type checking assert() - XINT will abort quite nicely.
6098
6099 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6100
6101         * search.c (Freplace_match): Set newtext to an empty string.
6102
6103 2000-10-10  Martin Buchholz  <martin@xemacs.org>
6104
6105         * s/decosf1-3.h: Remove #include of stropts.h
6106         * s/ptx.h: Remove #include of stropts.h
6107         * s/usg5-4.h: Remove #include of stropts.h
6108         * sysproc.h:
6109         * config.h.in:
6110         Use stropts.h, not sys/stropts.h.
6111         Use strtio.h, not sys/strtio.h.
6112
6113 2000-10-04  Martin Buchholz <martin@xemacs.org>
6114
6115         * XEmacs 21.2.36 is released.
6116
6117 2000-09-21  Andy Piper  <andy@xemacs.org>
6118
6119         * glyphs-x.c (x_redisplay_widget): make sure non-structural
6120         changes still involve copying the widget tree.
6121         (update_widget_face): make sure a change is register in the widget
6122         tree. Call update_tab_widget_face appropriately.
6123         (update_tab_widget_face): ditto.
6124         (x_tab_control_redisplay): make sure non-structural changes still
6125         involve copying the widget tree.
6126
6127 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
6128
6129         * lread.c (locate_file): Check the path element is non-nil.
6130
6131 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6132
6133         * lisp.h: Warning suppression for SCO compilers.
6134
6135         * redisplay-tty.c (reset_tty_modes): Fix crash.
6136         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
6137
6138 2000-09-27  Martin Buchholz  <martin@xemacs.org>
6139
6140         Big signal/process handling overhaul.  Bugs fixed:
6141         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
6142         M-x comint-kill-subjob should work for both values nil and t of
6143         process-connection-type. It was broken on most platforms.
6144         Testing on Irix and Cygwin still needed.  Other plaforms tested.
6145         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
6146         * process-unix.c: Signal/Process handling overhaul.
6147         (pty_name): make 64 bytes, as `expect' does, for paranoia.
6148         (allocate_pty): Use all available modern methods of allocating
6149         ptys, falling back to old style BSD allocation as a last resort.
6150         Use allegedly more secure Unix98 pty allocation by default.
6151         (allocate_pty_the_old_fashioned_way): New. the last resort.
6152         (unix_create_process): Push ptem, ldterm, ttcompat where
6153         available.  Autoconfiscate.
6154         (try_to_initialize_subtty): New.
6155         (unix_kill_child_process): Proper signal handling for ptys on most
6156         platforms, using special knowledge of AIX, BSD, etc...
6157         (unix_create_process): Always disconnect_controlling_terminal() for
6158         subprocesses, whether using ptys or not.
6159         * process.h: Remove old getpt-dependent PTY code.
6160         * process.c (Fprocess_send_signal): New, obvious generic function.
6161         (decode_signal): New.
6162         (Finterrupt_process):
6163         (Fkill_process):
6164         (Fquit_process):
6165         (Fstop_process):
6166         (Fcontinue_process):
6167         (Fsignal_process): Use decode_signal.
6168         (process_send_signal):
6169         Many docstring corrections.
6170         Allow any signal to be sent to a process object.
6171         * config.h.in: Add symbols for big signal/process overhaul.
6172         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
6173         * sysproc.h: Include process-related headers, where available:
6174         sys/stropts.h sys/strtio.h pty.h libutil.h
6175         * s/irix4-0.h:
6176         * s/irix5-0.h:
6177         * s/cygwin32.h:
6178         * s/gnu.h:
6179         * s/linux.h:
6180         * s/hpux.h:
6181         * s/aix3-1.h:
6182         Remove old S&M pty stuff.
6183         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6184         * systty.h: Simplify cpp hackery, improve comments.
6185         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6186
6187         * editfns.c (Fformat_time_string):
6188         Be a little more paranoid with the return value of ctime.
6189
6190         * fileio.c (check_executable):
6191         (check_writable):
6192         Use symbolic constants X_OK, W_OK.
6193
6194         * console-x.c (split_up_display_spec): Fix a warning.
6195
6196 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6197
6198         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6199         * ntproc.c (sys_spawnve): make_string ==> build_string
6200         Small clarity improvements.
6201
6202 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6203
6204         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6205
6206         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6207
6208         * config.h.in (HAVE_STRCASECMP): Remove.
6209
6210 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6211
6212         * redisplay-output.c (redisplay_output_pixmap):
6213         Cleaner and possibly more 64-bit correct code.
6214
6215 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6216
6217         * dumper.c (pdump_load_finish): move restoration of
6218         `noninteractive1' to emacs.c (main_1).
6219         * emacs.c (main_1): protect LISP-visible command-line flags
6220         from pdump_load().
6221
6222 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6223
6224         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6225         DUMP_TARGET instead of literal program names.
6226
6227 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6228
6229         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6230
6231 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6232
6233         * *: Spelling mega-patch
6234
6235 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6236
6237         * fns.c (bad_bad_turtle):
6238         Delete "Eek!" comment, since we fixed the bug to which it refers.
6239
6240 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6241
6242         * alloca.c: Replace REGISTER with register.
6243
6244 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6245
6246         * file-coding.c (ucs_to_char): Use countof.
6247
6248 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6249
6250         * file-coding.c: (ucs_to_char):
6251         (complex_vars_of_file_coding):
6252         Use countof instead of sizeof.
6253         Use CHECK_NATNUM instead of CHECK_INT.
6254
6255         * sysdep.c (strcasecmp): Remove.
6256         * device-x.c (ascii_strcasecmp): New.
6257         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6258         Avoid using non-standard non-portable strcasecmp.
6259
6260 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6261
6262         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6263         * font-lock.c: remove reference to emacsfns.h.
6264         * search.c: small doc improvement.
6265         * event-Xt.c: correct file names in comments.
6266         * console-x.h Correct file names in comments.
6267         * frame.c: Correct file names in comments.
6268         * event-stream.c: remove Energize from comments.
6269
6270 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6271
6272         * symeval.h (DEFERROR_STANDARD):
6273         (DEFERROR):
6274         (DEFSYMBOL):
6275         (DEFSYMBOL_NO_DUMP):
6276         (DEFSYMBOL_MULTIWORD_PREDICATE):
6277         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6278         (DEFKEYWORD):
6279         The construct &##name is not sensible C.
6280         Fixes compilation errors with Unixware native compiler.
6281
6282 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6283
6284         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6285         (next_frame_internal): Removed.  We now just have next_frame.
6286         (next_frame):
6287         Write a simpler and cleaner one-pass algorithm.
6288         Remove called_from_delete_device arg and #ifdefed-out code.
6289         (previous_frame):
6290         Renamed from prev_frame.  Update callers.
6291         Cleaned up to have an analogous implementation to next_frame.
6292         (other_visible_frames_internal): Remove the
6293         called_from_delete_device bogus arg, and hence, remove this
6294         function.  Just use other_visible_frames().
6295
6296         * window.c (Fnext_window):
6297         Prettify docstring.
6298         Since next_frame() is guaranteed to return a frame, remove check
6299         for nil inserted in previous patch.
6300         (Fprevious_window):
6301         Prettify docstring.
6302         Make code look more like Fnext_window.
6303         (window_loop):
6304         Respect the `console' arg when iterating through windows.
6305         Fixes bug: (get-buffer-window buffer t device) not respecting
6306         the `device' arg.
6307         This function needs more work, as others have pointed out.
6308
6309         * frame.h: Rename prev_frame to previous_frame.
6310         device_matches_console_spec no longer takes a `frame' arg.
6311
6312         * s/gnu.h:
6313         * s/linux.h:
6314         * s/hpux.h:
6315         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6316         From "Golubev I. N." <gin@mo.msk.ru>.
6317
6318         * make-src-depend: Fix typo.
6319
6320 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6321
6322         * window.c (Fnext_window):
6323         next_frame() might return nil, not a frame.
6324         Fixes this crash:
6325         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6326
6327         * frame.c (next_frame_internal):
6328         We've passed a frame if we've passed its device.
6329         Fixes this crash:
6330         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6331 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6332
6333 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6334
6335         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6336         Allow option to suppress accelerators in menu/dialog items.
6337         (populate_or_checksum_helper): Pass dialog title through above.
6338
6339 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6340
6341         * event-msw.c (mswindows_key_to_emacs_keysym):
6342         Add "pause" key, fix "menu" key.
6343
6344 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6345
6346         * eval.c (reinit_vars_of_eval):
6347         Increase max_lisp_eval_depth to 1000,
6348         required for thai-xtis.el to byte-compile under some circumstances.
6349
6350 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6351
6352         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6353         From Kenichi Handa.
6354
6355 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6356
6357         * make-src-depend: Make the generated Makefiles smaller.
6358
6359         * s/hpux.h (SETUP_SLAVE_PTY):
6360         Provide a %d in the format string for the errno argument.
6361
6362         * editfns.c (Ftemp_directory):
6363         Warning fix.
6364         Avoid buffer overrun on very long file name.
6365
6366         * input-method-xlib.c (XIM_init_device):
6367         6th parameter of XRegisterIMInstantiateCallback has different
6368         pointer types on different OSes, so simply cast to (void *).
6369
6370         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6371
6372         * sysdll.c (dll_open):
6373         shl_load will hang hard if passed a NULL filename.
6374         Simply return NULL for compatibility with dlopen.
6375         * sysdll.c: Conform to XEmacs coding standards.
6376
6377         * sysdep.c (get_pty_max_bytes):
6378         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6379
6380 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6381
6382         * tooltalk.c: Add #include <syssignal.h>
6383
6384 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6385
6386         * s/hpux.h: Don't use undefined function sigunblock().
6387
6388 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6389
6390         * config.h.in: Add HAVE_BALLOON_HELP.
6391         * emacs.c: Use HAVE_BALLOON_HELP.
6392         * Makefile.in.in (x_objs):
6393         Make Balloon Help conditional on finding shape.h.
6394
6395 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6396
6397         * syntax.c (regex_emacs_buffer_p): New variable.
6398         * syntax.h (regex_emacs_buffer_p): extern.
6399         * search.c (looking_at_1):
6400         (string_match_1):
6401         (fast_string_match):
6402         (search_buffer): Set regex_emacs_buffer_p.
6403         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6404         when before_dot, at_dot, after_dot.
6405
6406 2000-08-23  Andy Piper  <andy@xemacs.org>
6407
6408         * gui-x.c (popup_selection_callback): Only set action_occurred
6409         when we really have an image instance.
6410         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6411
6412 2000-08-23  Andy Piper  <andy@xemacs.org>
6413
6414         * gui-msw.c (mswindows_handle_gui_wm_command): set
6415         action_occurred.
6416         * gui-x.c (popup_selection_callback): ditto.
6417
6418         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6419         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6420         (struct Lisp_Image_Instance): add action_occurred flag.
6421
6422         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6423         (image_instance_changed): ditto.
6424         (reset_frame_subwindow_instance_cache): only unmap windows - do
6425         not remove them from the cache also.
6426
6427         * glyphs-widget.c (tab_control_update): better debug.
6428         (progress_gauge_update): ditto.
6429         (layout_update): ditto.
6430         (layout_instantiate): ditto.
6431         (tab_control_order_only_changed): cope with null pending items.
6432
6433         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6434         debug. Force selection of an item when an action occurred. Cope
6435         with null pending_items.
6436         (mswindows_progress_gauge_redisplay): better debug.
6437         * glyphs-x.c (x_tab_control_redisplay): ditto.
6438
6439         * redisplay.c (redisplay_frame): reset the frame cache if the
6440         frame is garbaged.
6441
6442         * window.c (Fset_window_configuration): potentially re-enable
6443         frame cache reset.
6444         (window_unmap_subwindows): need to finalize instances here since
6445         it is only used in mark_window_as_deleted.
6446
6447 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6448
6449         * nas.c (SndOpenDataForReading):
6450         nas.c (WaveOpenDataForReading):
6451         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6452         Somehow escaped from the 2000-08-14 patch.
6453
6454 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6455
6456         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6457         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6458
6459 2000-08-21  Andy Piper  <andy@xemacs.org>
6460
6461         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6462         window if it is not already displayed.
6463
6464         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6465         it is not already displayed.
6466
6467         * window.c (Fset_window_configuration): don't reset the frame
6468         cache.
6469
6470         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6471         instances from the frame cache if we are actually finalizing them.
6472         (reset_frame_subwindow_instance_cache): reset frame cache only
6473         after unmapping everything.
6474         (map_subwindow): set displayed flag after mapping.
6475
6476 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6477
6478         * data.c (indirect_function):
6479         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6480
6481         * eval.c (function_argcount):
6482         Use original function when signaling errors.
6483
6484 2000-08-18  Andy Piper  <andy@xemacs.org>
6485
6486         * frame.c (delete_frame_internal): use new
6487         free_frame_subwindow_instances name.
6488
6489         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6490         (add_tab_item): make return type correct.
6491         (mswindows_tab_control_instantiate): assert index of tab.
6492         (mswindows_tab_control_redisplay): Re-code to use
6493         gui_item_equal_sans_selected and gui_item_list_find_selected.
6494
6495         * glyphs-widget.c (tab_control_update): Correct comment.
6496
6497         * window.c (window_unmap_subwindows): use new
6498         unmap_subwindow_instance_cache_mapper.
6499         (window_unmap_subwindows_cache_mapper): deleted.
6500         (Fset_window_configuration): comparisons should now be with
6501         EQ. Preserve the subwindow instance cache across configuration
6502         changes.
6503         (allocate_window): ditto.
6504         (make_dummy_parent): ditto.
6505
6506         * glyphs.c (free_frame_subwindow_instances): rename from
6507         free_frame_subwindow_instance_cache. finalize all instances rather
6508         than just those in the display cache.
6509         (finalize_all_subwindow_instances): walk windows unmapping and
6510         finalizing subwindows.
6511         (unmap_subwindow_instance_cache_mapper): moved from
6512         window.c. Allow finalization as well as unmapping.
6513
6514         * gui.c (gui_item_list_find_selected): new function.
6515
6516         * gui.h (gui_item_list_find_selected): declare.
6517
6518         * glyphs-x.c (x_tab_control_redisplay): pick tab
6519         explicitly. Re-code to use gui_item_equal_sans_selected and
6520         gui_item_list_find_selected.
6521
6522         * glyphs-x.h: add lwlib-utils.h
6523
6524         * buffer.c (Frecord_buffer): undo previous change.
6525
6526 2000-08-09  Vin Shelton  <acs@xemacs.org>
6527
6528         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6529         possible.  Create temporary files more securely.  The patch was
6530         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6531         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6532         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6533         for details.
6534
6535 2000-08-07  Ben Wing  <ben@xemacs.org>
6536
6537         * getloadavg.c: remove duplicate (and windows-breaking)
6538         includes of fcntl.h and sys/file.h.
6539
6540         * nt.c: remove duplicate getloadavg() definition.
6541
6542         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6543         encodings.
6544
6545 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6546
6547         * eval.c (function_argcount): If function needs to be autoloaded
6548         actually use the loaded definition.
6549         GCPRO function.
6550
6551 2000-08-05  Ben Wing  <ben@xemacs.org>
6552
6553         * getloadavg.c: add prototype for getloadavg().  remove
6554         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6555         of the code).  remove duplicate header includes.
6556
6557         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6558
6559         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6560         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6561         useful load average.
6562
6563         * alloc.c (reinit_alloc_once_early): removed references to
6564         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6565         the lisp vars are the only things referencing the malloc_sbrk_*
6566         vars, and they were already if 0'd out.  these vars only exist
6567         in the older malloc.c, which is basically unused, and they're
6568         only for informational purposes.
6569
6570         * m\*.h: removed useless VIRT_ADDR_VARIES.
6571
6572         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6573
6574 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6575
6576         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6577         color if the image is a mono pixmap.
6578
6579 2000-07-30  Ben Wing  <ben@xemacs.org>
6580
6581         * Makefile.in.in (release):
6582         Remove stray @.
6583
6584         * buffer.c (directory_is_current_directory):
6585         * dired-msw.c (mswindows_get_files):
6586         * dired.c:
6587         * dired.c (Fdirectory_files):
6588         * dired.c (file_name_completion_stat):
6589         * dired.c (Ffile_attributes):
6590         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6591         preprocessor tricks, to avoid problems on some machines
6592         (e.g. SCO).
6593
6594         * callproc.c (egetenv): GC docs.
6595
6596         * console-msw.h:
6597         * console-msw.h (struct mswindows_dialog_id):
6598         * lrecord.h (lrecord_type):
6599         New object for use with MSW dialogs.
6600
6601         * console.h (struct console_methods):
6602         New enable/disable frame methods, for proper modal dialogs.
6603
6604         * device-msw.c (msprinter_default_printer): Fix to follow
6605         proper Mule conventions.
6606
6607         * device-msw.c:
6608         * device-msw.c (signal_open_printer_error):
6609         * device-msw.c (msprinter_init_device):
6610         * device-msw.c (ensure_not_printing):
6611         * device-msw.c (plist_get_margin):
6612         * device-msw.c (Fmsprinter_select_settings):
6613         * device-msw.c (finalize_devmode):
6614         * device-msw.c (Fmsprinter_settings_despecialize):
6615         * device-msw.c (signal_enum_priner_error):
6616         * extents.c (decode_extent):
6617         * extents.c (decode_map_extents_flags):
6618         * extents.c (decode_extent_at_flag):
6619         * extents.c (Fextent_at):
6620         * extents.c (Fextents_at):
6621         * extents.c (symbol_to_glyph_layout):
6622         [[[[2]]]] Use structured errors.
6623
6624         * dialog-msw.c:
6625         * dialog-msw.c (mswindows_is_dialog_msg):
6626         * dialog-msw.c (mark_mswindows_dialog_id):
6627         * dialog-msw.c (dialog_proc):
6628         * dialog-msw.c (handle_question_dialog_box):
6629         * dialog-msw.c (syms_of_dialog_mswindows):
6630         Define new object to clean up marking; use it as a dialog identifier.
6631         Call new delete-dialog-box-hook.
6632
6633         * dialog-x.c (dbox_selection_callback):
6634         * dialog-x.c (dbox_descriptor_to_widget_value):
6635         * dialog-x.c (x_make_dialog_box_internal):
6636         Call new delete-dialog-box-hook.
6637         Return an id.
6638
6639         * dialog.c:
6640         * dialog.c (syms_of_dialog):
6641         * dialog.c (vars_of_dialog):
6642         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6643
6644         * eval.c:
6645         * eval.c (signal_call_debugger):
6646         when noninteractive, output stack traces on the console instead
6647         of in a (never-seen) buffer.
6648
6649         * eval.c (signal_type_error):
6650         * eval.c (invalid_argument_2):
6651         * lisp.h:
6652         new funs for use w/structured errors.
6653
6654         * event-Xt.c:
6655         * event-Xt.c (x_to_emacs_keysym):
6656         * event-Xt.c (describe_event):
6657         * event-Xt.c (emacs_Xt_event_handler):
6658         * event-Xt.c (vars_of_event_Xt):
6659         * event-msw.c:
6660         * event-msw.c (mswindows_wnd_proc):
6661         * event-msw.c (vars_of_event_mswindows):
6662         rename {x,mswindows}-debug-events to debug-{}-events for
6663         consistency with other debug-foo variables.
6664
6665         * event-stream.c:
6666         document next-event more clearly.
6667
6668         * fileio.c (Ffile_name_directory):
6669         * fileio.c (Ffile_name_nondirectory):
6670         * fileio.c (Funhandled_file_name_directory):
6671         * fileio.c (file_name_as_directory):
6672         * fileio.c (Ffile_name_as_directory):
6673         * fileio.c (directory_file_name):
6674         * fileio.c (Fdirectory_file_name):
6675         * fileio.c (Fmake_temp_name):
6676         * fileio.c (Ffile_truename):
6677         * fileio.c (Fsubstitute_in_file_name):
6678         * fileio.c (expand_and_dir_to_file):
6679         * fileio.c (barf_or_query_if_file_exists):
6680         * fileio.c (check_executable):
6681         * fileio.c (Ffile_exists_p):
6682         * fileio.c (Ffile_writable_p):
6683         * fileio.c (Ffile_directory_p):
6684         * fileio.c (Ffile_regular_p):
6685         * fileio.c (Ffile_modes):
6686         * fileio.c (Ffile_newer_than_file_p):
6687         * fileio.c (Fverify_visited_file_modtime):
6688         * fileio.c (Fset_visited_file_modtime):
6689         * fileio.c (auto_save_1):
6690         (1). (2).
6691         fix up gcpro's.
6692
6693         * frame-msw.c:
6694         * frame-msw.c (mswindows_init_frame_1):
6695         * frame-msw.c (mswindows_enable_frame):
6696         * frame-msw.c (error_frame_unsizable):
6697         * frame-msw.c (msprinter_init_frame_1):
6698         * frame-msw.c (msprinter_init_frame_3):
6699         * frame-msw.c (console_type_create_frame_mswindows):
6700         (2).
6701         implement new enable/disable frame methods.
6702
6703         * frame-x.c:
6704         * frame-x.c (x_enable_frame):
6705         * frame-x.c (console_type_create_frame_x):
6706         implement new enable/disable frame methods.
6707
6708         * frame.c:
6709         * frame.c (Fdisable_frame):
6710         * frame.c (syms_of_frame):
6711         * frame.h (struct frame):
6712         implement new enable/disable frame methods/functions.
6713
6714         * general-slots.h:
6715         add initial-focus.
6716
6717         * glyphs-msw.c (mswindows_widget_instantiate):
6718         comment that initial-focus should be implemented.
6719
6720         * glyphs-widget.c:
6721         * glyphs-widget.c (check_valid_instantiator):
6722         * glyphs-widget.c (check_valid_orientation):
6723         * glyphs-widget.c (check_valid_tab_orientation):
6724         * glyphs-widget.c (check_valid_justification):
6725         * glyphs-widget.c (check_valid_border):
6726         * glyphs-widget.c (check_valid_callback):
6727         * glyphs-widget.c (check_valid_int_or_function):
6728         * glyphs-widget.c (check_valid_string_or_vector):
6729         * glyphs-widget.c (check_valid_item_list_1):
6730         * glyphs-widget.c (widget_validate):
6731         * glyphs-widget.c (combo_box_validate):
6732         * glyphs-widget.c (widget_instantiate):
6733         * glyphs-widget.c (syms_of_glyphs_widget):
6734         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6735         * glyphs-widget.c (image_instantiator_combo_box):
6736         * glyphs-widget.c (image_instantiator_scrollbar):
6737         * glyphs-widget.c (image_instantiator_tab_control):
6738         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6739         (2).
6740         support (unimplemented) keyword initial-focus.
6741         reindent long macros.
6742
6743         * glyphs-x.c (x_redisplay_widget):
6744         * glyphs-x.c (x_button_instantiate):
6745         * glyphs-x.c (x_button_redisplay):
6746         * glyphs-x.c (x_progress_gauge_instantiate):
6747         * glyphs-x.c (x_edit_field_instantiate):
6748         * glyphs-x.c (x_combo_box_instantiate):
6749         * glyphs-x.c (x_tab_control_instantiate):
6750         * glyphs-x.c (x_label_instantiate):
6751         * gui-x.c:
6752         * gui-x.c (button_item_to_widget_value):
6753         * gui-x.c (gui_items_to_widget_values_1):
6754         * gui-x.c (gui_item_children_to_widget_values):
6755         * gui-x.c (gui_items_to_widget_values):
6756         * gui-x.h:
6757         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6758         add new flag to gui-parsing routines to indicate whether
6759         accelerator specs should be supported.
6760
6761         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6762
6763         * glyphs.h (struct Lisp_Image_Instance):
6764         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6765         add initial-focus flag.
6766
6767         * gui.c:
6768         * gui.c (syms_of_gui):
6769         * gui.c (vars_of_gui):
6770         clean up menu-no-selection-hook.
6771
6772         * gui.h:
6773         support delete-dialog-box-hook.
6774
6775         * lread.c (Fload_internal):
6776         * lread.c (locate_file_in_directory_mapper):
6777         (1).
6778
6779         * lrecord.h:
6780         * lrecord.h (struct toolbar_button):
6781         * lrecord.h (syms_of_toolbar):
6782         document how to create a new object.
6783
6784         * menubar-msw.c (mswindows_char_is_accelerator):
6785         may be called on frames w/o menus.
6786
6787         * menubar.c (vars_of_menubar):
6788         clean up :filter docs.
6789
6790         * nt.c (readdir):
6791         * ntproc.c:
6792         (1).
6793
6794         * process-nt.c:
6795         * process-nt.c (validate_signal_number):
6796         * process-nt.c (signal_cannot_launch):
6797         * process-nt.c (nt_create_process):
6798         * process-nt.c (nt_send_process):
6799         * process-nt.c (nt_kill_child_process):
6800         * process-nt.c (nt_open_network_stream):
6801         * process-nt.c (syms_of_process_nt):
6802         (2).
6803         delete quote-handling.  call new lisp code that does it better.
6804
6805         * process-unix.c (connect_to_file_descriptor):
6806         * process-unix.c (allocate_pty):
6807         * process-unix.c (unix_send_process):
6808         * process-unix.c (unix_kill_child_process):
6809         * process-unix.c (unix_open_network_stream):
6810         * process-unix.c (unix_open_multicast_group):
6811         (1). (2).
6812
6813         * process.c:
6814         * process.c (Fstart_process_internal):
6815         (2).  need to canonicalize process path even if absolute.
6816
6817         * select-msw.c (symbol_to_ms_cf):
6818         * select-msw.c (ms_cf_to_symbol):
6819         * select-msw.c (cf_is_autofreed):
6820         * select-msw.c (mswindows_destroy_selection):
6821         * select.c:
6822         * select.c (syms_of_select):
6823         * select.h:
6824         support dibv5, fix bugs. (from Mike Alexander)
6825
6826         * select.c (Fget_selection_internal):
6827         * select.c (select_convert_out):
6828
6829         * sysdep.c:
6830         * sysdep.c (xemacs_stat):
6831         renamed.
6832
6833         * sysdep.c (mkdir):
6834         * sysdep.c (rmdir):
6835         but keep original stat() here because we provide encapsulation
6836         around these funs.
6837
6838         * sysfile.h:
6839         * sysfile.h (fstat):
6840         remove stat garbage.
6841
6842         * syswindows.h:
6843         fix X/MSW conflict.
6844         don't include tchar.h.  it's inappropriate because it makes
6845         compile-time distinctions when we want runtime distinctions.
6846         (we provide our own tchar replacements)
6847
6848         * toolbar.c:
6849         use default object printer for toolbar-button.
6850
6851         * unexcw.c:
6852         make sure we don't encapsulate.
6853
6854         * window.c (vars_of_window):
6855         emphasize that temp-buffer-show-hook is obsolete.
6856
6857 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6858
6859         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6860         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6861
6862         * events.c (Fevent_timestamp_lessp):
6863         Not 64-bit clean.  Use EMACS_INT, not int.
6864
6865 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6866
6867         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6868         unsigned int and changed the last enum to
6869         lrecord_type_last_built_in_type.
6870         (lrecord_implementations_table): changed prototype to know how
6871         long the array is supposed to be.
6872         (lrecord_type_count): new unsigned int to keep track of the
6873         current number of lisp lrecord types.
6874         (DEFINE_EXTERNAL_LRECORD):
6875         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6876         dynamic-modules to declare new lisp types. They are the same
6877         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6878         int for each new type, and increment lrecord_type_count by 1.
6879
6880         * alloc.c (lrecord_implementations_table): Changed to reference
6881         lrecord_type_last_built_in_type for the size of the array.
6882         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6883
6884 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6885
6886         * glyphs.h (check_valid_item_list): Renamed from
6887         check_valid_item_list_1.
6888
6889 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6890
6891         * select.c (Qselect_coerce): New.
6892         * select.c (Vselection_coercion_alist): New.
6893         * select.c (syms_of_select): Declare.
6894         * select.c (get-selection-internal): Use it.
6895         Use the new select-coerce functionality.
6896
6897         * select.c (select_coerce): New.
6898         * select.h (select_coerce): Declare.
6899         New function to coerce one type of data into another.
6900
6901 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6902
6903         * callproc.c (Fcall_process_internal):
6904         (Fcall_process_internal):
6905         * process-unix.c (unix_create_process):
6906         Save and restore the value of errno, so that error messages are accurate.
6907
6908 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6909
6910         * elhash.c (print_hash_table):
6911         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6912         Prettify docstrings and indentation.
6913
6914 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6915
6916         * window.c (Fwindow_pixel_edges): Subtract frame border and
6917         gutter size.
6918
6919 2000-07-31  Andy Piper  <andy@xemacs.org>
6920
6921         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6922         will acknowledge the change.
6923
6924         * glyphs.h: declare tab_control_order_only_changed.
6925
6926         * glyphs-x.c (x_tab_control_redisplay): use
6927         tab_control_order_only_changed.
6928
6929         * glyphs-widget.c (tab_control_order_only_changed): new function.
6930
6931         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6932         tab_control_order_only_changed.
6933
6934         * gui.c (gui_item_equal_sans_selected): new function.
6935         (gui_item_equal): use it.
6936
6937         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6938         :properties in favor of :items..
6939
6940         * glyphs-widget.c (check_valid_item_list): rename from
6941         check_valid_item_list_1.
6942         (check_valid_item_list_1): renamed.
6943         (combo_box_validate): deprecate :properties in favor of :items.
6944         (widget_instantiate): ditto.
6945         (tab_control_update): ditto.
6946         (image_instantiator_combo_box): ditto.
6947         (image_instantiator_tree_view): ditto.
6948         (image_instantiator_tab_control): ditto.
6949         (layout_post_instantiate): remove dead code.
6950
6951         * print.c (debug_print_no_newline): only write to debugger if in
6952         WIN32_NATIVE.
6953
6954         * elhash.c (Fmake_hash_table): update doc string.
6955
6956         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6957         messages whilst in GC. This at least stops XEmacs crashing but has
6958         the potential for wierd behaviour.
6959
6960 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6961
6962         * config.h.in:
6963         Make existence of s&m files optional.
6964
6965         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6966         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6967         * s/gnu.h: Remove HAVE_GETLOADAVG.
6968         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6969         * s/sol2.h: Remove HAVE_GETLOADAVG.
6970         * lisp.h: Remove getloadavg() declaration.
6971         * fns.c:
6972         Include <sys/loadavg.h> if available.
6973         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6974         * config.h.in:  Group together getloadavg()-related macros.
6975         Use only configure-time tests to detect getloadavg().
6976
6977 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6978
6979         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6980
6981 2000-07-25  Andy Piper  <andy@xemacs.org>
6982
6983         * syswindows.h: add tchar.h for native builds.
6984
6985         * frame.c (syms_of_frame): remove set-glyph-image.
6986
6987         * general-slots.h: add Qset_glyph_image.
6988
6989         * glyphs-widget.c (layout_update): add domain arg to
6990         set-glyph-image.
6991         (syms_of_glyphs_widget): remove set-glyph-image.
6992
6993 2000-07-23  Ben Wing  <ben@xemacs.org>
6994
6995         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6996         Vpopup_frame_list.
6997
6998 2000-07-22  Andy Piper  <andy@xemacs.org>
6999
7000         * symsinit.h: add syms_of_win32().
7001
7002         * gui-msw.c (syms_of_gui_mswindows): remove
7003         Fmswindows_shell_execute.
7004         (Fmswindows_shell_execute): moved to win32.c.
7005
7006         * emacs.c (main_1): add syms_of_win32 ().
7007
7008         * win32.c (init_potentially_nonexistent_functions): rewrite in
7009         compiler-friendly terms.
7010         (Fmswindows_shell_execute): move here from gui-msw.c.
7011         (syms_of_win32): new.
7012
7013         * device-msw.c (Fmswindows_printer_list): clean up args to
7014         EnumPrinters.
7015         Don't include tchar under cygwin or mingw.
7016         (msprinter_default_printer): make cygwin-friendly.
7017
7018 2000-07-21  Andy Piper  <andy@xemacs.org>
7019
7020         * glyphs-widget.c (image_instantiator_tree_view): use tab
7021         control's update function.
7022         (layout_property): new function. Retrieve items.
7023
7024         * glyphs-msw.c (mswindows_tree_view_redisplay): new
7025         function. Re-populate the tree view from the pending items.
7026
7027         * glyphs.c (instantiate_image_instantiator): Make sure the domain
7028         is designated the parent if the domain is an image instance. This
7029         is needed so that dirtiness can be cascade up the hierarchy and
7030         thus for layout children to be redisplayed correctly.
7031         (allocate_image_instance): rename glyph -> parent.
7032
7033         * redisplay.h: change redisplay_output_layout signature.
7034
7035         * redisplay-msw.c (mswindows_output_display_block): use domain
7036         arg.
7037
7038         * redisplay-x.c (x_output_display_block): use domain arg.
7039
7040 2000-07-10  Andy Piper  <andy@xemacs.org>
7041
7042         * window.c (Fset_window_configuration): add comment.
7043
7044         * redisplay-output.c (compare_runes):
7045         (redisplay_output_subwindow): redisplay rather than update subwindow.
7046         (redisplay_output_layout): ditto.
7047
7048         * redisplay-msw.c (mswindows_frame_output_end):
7049         (mswindows_frame_output_end): make defer window pos optional.
7050
7051         * lisp.h: add Flast.
7052
7053         * glyphs.h (struct image_instantiator_methods): add dest_mask top
7054         normalize method. Change update method to be for changed
7055         instantiators. Add redisplay method. Change signature of layout
7056         method.
7057         (struct Lisp_Image_Instance): add instantiator.
7058         (IMAGE_INSTANCE_INSTANTIATOR): new.
7059         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
7060         (XIMAGE_INSTANCE_INSTANTIATOR): new.
7061         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
7062
7063         * glyphs.c:
7064         (find_instantiator_differences): new function.
7065         (Fset_instantiator_property): new convenience function.
7066         (check_image_instance_structure): strictly check for vector
7067         instantiators.
7068         (normalize_image_instantiator): make non-static.
7069         (instantiate_image_instantiator): pass on dest_mask and use new
7070         signatures for image_instance_layout and friends.
7071         (mark_image_instance): mark the instantiator. Mark the subwindow
7072         face not the widget face.
7073         (image_instance_equal): add instantiator.
7074         (image_instance_hash): ditto.
7075         (allocate_image_instance): ditto.
7076         (Fset_image_instance_property): removed.
7077         (Fimage_instance_file_name): ditto.
7078         (Fcolorize_image_instance): ditto.
7079         (image_instance_layout): add offsets to be set.
7080         (update_image_instance): new function. update an image instance
7081         from its changed instantiator.
7082         (inherit_normalize): add dest_mask.
7083         (xbm_normalize): ditto.
7084         (xface_normalize): ditto.
7085         (xpm_normalize): ditto.
7086         (text_update): set_property -> update.
7087         (image_instantiate): use the glyph identity as a hash key, not the
7088         instantiator.
7089         (glyph_width): use new image_instance_layout signature.
7090         (glyph_ascent): ditto.
7091         (glyph_descent): ditto.
7092         (glyph_height): ditto.
7093         (glyph_query_geometry): ressurrect.
7094         (glyph_layout): ditto.
7095         (redisplay_subwindow): update -> redisplay.
7096         (syms_of_glyphs): add Fset_instantiator_property.
7097         (image_instantiator_format_create): set_property -> update.
7098
7099         * glyphs-x.c:
7100         (autodetect_normalize): add dest_maks to signature.
7101         (x_redisplay_subwindow): update -> redisplay.
7102         (x_redisplay_widget): ditto.
7103         (x_button_redisplay): ditto.
7104         (x_progress_gauge_redisplay): ditto.
7105         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
7106         stacking order.
7107         (console_type_create_glyphs_x): update -> redisplay.
7108         (image_instantiator_format_create_glyphs_x): ditto.
7109
7110         * glyphs-widget.c:
7111         (check_valid_instantiator): disallow glyphs in the instantiator,
7112         they must now be vectors.
7113         (check_valid_instantiator_list): ditto.
7114         (glyph_instantiator_to_glyph): use internal symbol rather than
7115         intern.
7116         (widget_update): renamed from widget_set_property. Call cascaded
7117         update methods.
7118         (redisplay_widget): renamed from update_widget.
7119         (widget_layout): image_instance_layout now takes position as well
7120         as size.
7121         (widget_normalize): ditto.
7122         (widget_instantiate): ditto.
7123         (tab_control_query_geometry) ditto.:
7124         (tab_control_update): renamed from tab_control_set_property.
7125         (progress_gauge_update): set_property -> update.
7126         (layout_normalize): rewrite so that child instantiators are
7127         normalized also.
7128         (layout_update): new function. Create glyphs from the normalized
7129         children and cope with any other layout keywords. We do not
7130         instantiate children here that will be take care of by
7131         redisplay_output_layout.
7132         (layout_instantiate): call layout_update and not much else.
7133         (layout_post_instantiate): not sure whether this is needed
7134         anymore.
7135         (layout_query_geometry): query glyph geometry rather than
7136         image_instance geometry.
7137         (layout_layout): set offsets from pass in parameters. Use glyph
7138         geometry and layout functions rather than image instance ones.
7139         (native_layout_layout): ditto.
7140         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
7141         (image_instantiator_widget): set_property -> update.
7142         (image_instantiator_buttons): ditto.
7143         (image_instantiator_progress_guage): ditto.
7144         (image_instantiator_tab_control): ditto.
7145         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
7146         (image_instantiator_layout): add update method.
7147
7148         * glyphs-msw.c (bmp_normalize):
7149         (mswindows_resource_normalize): add dest_mask so that it can be
7150         proprogated by layout_normalize.
7151         (begin_defer_window_pos): make optional because it may not be the
7152         right thing to do and it introduces differences with X.
7153         (mswindows_unmap_subwindow): ditto.
7154         (mswindows_map_subwindow): ditto.
7155         (mswindows_redisplay_subwindow): renamed from
7156         mswindows_update_subwindow.
7157         (mswindows_redisplay_widget): ditto.
7158         (mswindows_button_redisplay): renamed from
7159         mswindows_button_update. Update is now what the instantiation
7160         function does for a changed instantiator.
7161         (mswindows_progress_gauge_instantiate): set the progress value
7162         here if appropriate.
7163         (mswindows_tab_control_redisplay): cope with re-ordering of the
7164         members of the tab widget by simply selecting the new top
7165         widget. This makes things appear ok if you click on a tab.
7166         (mswindows_combo_box_instantiate): image_instance_layout now takes
7167         position as well as size.
7168         (mswindows_progress_gauge_redisplay): renamed from
7169         mswindows_progress_gauge_update.
7170         (console_type_create_glyphs_mswindows): fix update -> redisplay.
7171         (image_instantiator_format_create_glyphs_mswindows): ditto.
7172
7173         * glyphs-eimage.c (jpeg_normalize):
7174         (gif_normalize):
7175         (png_normalize):
7176         (tiff_normalize): add dest_mask so that it can be proprogated by
7177         layout_normalize.
7178
7179         * elhash.c:
7180         (print_hash_table):
7181         (hash_table_weakness_validate):
7182         (decode_hash_table_weakness):
7183         (Fhash_table_weakness):
7184         (Fhash_table_type):
7185         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7186
7187         * console.h (struct console_methods): move update_* to
7188         redisplay_*.
7189
7190 2000-07-20  Ben Wing  <ben@xemacs.org>
7191
7192         * *.[ch] (XSETOBJ): remove unused middle argument.
7193         lisp-disunion.h: correct wrap_object() to one argument.
7194
7195 2000-07-15  Ben Wing  <ben@xemacs.org>
7196
7197         * s/cygwin32.h:
7198         * s/cygwin32.h (CYGWIN_CONV_PATH):
7199         Add missing logb prototype for v1.1.
7200         Use post-b20 names and alias to pre-b20 names when pre-b20.
7201
7202         * s/windowsnt.h: [5].
7203
7204 2000-07-15  Ben Wing  <ben@xemacs.org>
7205
7206         * Makefile.in.in (x_objs):
7207         * Makefile.in.in (sheap_objs):
7208         * Makefile.in.in (objs):
7209         added win32.o, cosmetic cleanups.
7210
7211         * alloc.c (Fmake_byte_code):
7212         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7213         etc. macros which declare their own args now.
7214
7215         * alloc.c (syms_of_alloc):
7216         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7217
7218         * buffer.c:
7219         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7220
7221         * buffer.c (Fget_file_buffer):
7222         Fixed GCPRO problem.
7223
7224         * buffer.c (get_truename_buffer):
7225         Fixed comment about GC checking.
7226
7227         * buffer.c (syms_of_buffer):
7228         Undeclared those dedicated frame funs.
7229         [2].
7230
7231         * buffer.h:
7232         Define convenience macros for internal/external conversions.
7233         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7234         and Qenvironment_variable_encoding for cleaner code.
7235
7236         * bufslots.h:
7237         Remove dedicated-frame; in lisp.
7238
7239         * bytecode.c (funcall_compiled_function):
7240         [1].
7241
7242         * bytecode.c (syms_of_bytecode):
7243         [2].
7244
7245         * console-msw.c:
7246         * console-msw.c (mswindows_show_console): Rewrote.
7247
7248         * console-msw.c (Fmswindows_debugging_output): New.
7249         Sends to OutputDebugString (special MSWin debugger interface).
7250
7251         * console-msw.c (Fmswindows_message_box):
7252         Fixed stupid bugs so it works when called from kill-emacs.
7253
7254         * console-msw.c (syms_of_console_mswindows):
7255         Declare Fmswindows_debugging_output.
7256
7257         * console-msw.h:
7258         New MSWin prototypes.
7259
7260         * console-msw.h (struct mswindows_frame):
7261         New entry last-click-mods for improved button-modifier support.
7262
7263         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7264         New struct entry `popup' with corresponding accessor.
7265
7266         * console-x.c:
7267         * console-x.c (split_up_display_spec):
7268         * console-x.c (get_display_arg_connection):
7269         * console-x.c (x_semi_canonicalize_console_connection):
7270         * console-x.c (x_canonicalize_device_connection):
7271         [[[6]]]: Change char to more specific type.
7272         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7273
7274         * console-x.c (x_semi_canonicalize_console_connection):
7275         * console-x.c (x_canonicalize_device_connection):
7276         [[[9]]]: Fix up error signalling to use new structured error system.
7277
7278         * console-x.h:
7279         [[[4]]]: Define codesys aliases:
7280         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7281         Qx_color_name_encoding, Qx_display_name_encoding.
7282
7283         * console.h (struct console_methods):
7284         New method make_dialog_box_internal supersedes older
7285         popup_dialog_box method.
7286
7287         * data.c:
7288         Define many new errors, part of new structured errors.
7289
7290         * data.c (init_errors_once_early):
7291         * data.c (syms_of_data):
7292         [2].
7293
7294         * device-msw.c (mswindows_init_device):
7295         [[[5]]]: Cleanup to support NT 3.51.
7296
7297         * device-msw.c (decode_devmode): Cleanup.
7298
7299         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7300         * device-msw.c (mswindows_handle_print_dialog_box):
7301         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7302         * device-msw.c (syms_of_device_mswindows):
7303         Delete the dialog box primitives recently introduced by Kirill and
7304         instead interface to general dialog box interface.
7305
7306         * device-x.c:
7307         * device-x.c (compute_x_app_name):
7308         * device-x.c (x_init_device):
7309         * device-x.c (Fx_valid_keysym_name_p):
7310         * device-x.c (Fx_set_font_path):
7311         [6].
7312         [7].
7313
7314         * device.h (wrap_device): New.
7315         First of its kind; meant to replace XSETDEVICE.
7316
7317         * dialog-msw.c: Many file-dialog symbols.
7318
7319         * dialog-msw.c (mswindows_register_popup_frame): New.
7320         * dialog-msw.c (mswindows_is_dialog_msg): New.
7321         For supporting kbd traversal in dialog boxes.
7322
7323         * dialog-msw.c (dialog_proc):
7324         Support hitting ESC in dialogs.
7325
7326         * dialog-msw.c (struct):
7327         Common dialog box errors.
7328
7329         * dialog-msw.c (handle_file_dialog_box): New.
7330         Add file dialog code.
7331
7332         * dialog-msw.c (handle_question_dialog_box):
7333         Redo existing code to support new question dialog syntax.
7334
7335         * dialog-msw.c (console_type_create_dialog_mswindows):
7336         We support new dialog console method.
7337
7338         * dialog-msw.c (syms_of_dialog_mswindows):
7339         * dialog-msw.c (vars_of_dialog_mswindows):
7340         New file dialog symbols, vars.
7341
7342         * dialog-x.c:
7343         * dialog-x.c (maybe_run_dbox_text_callback):
7344         * dialog-x.c (dbox_descriptor_to_widget_value):
7345         * dialog-x.c (x_make_dialog_box_internal):
7346         * dialog-x.c (console_type_create_dialog_x):
7347         Mule-ize entire file.
7348         Redo to support question dialog syntax.
7349         [6].
7350
7351         * dialog.c:
7352         * dialog.c (Fmake_dialog_box_internal):
7353         * dialog.c (syms_of_dialog):
7354         Kill old popup-dialog-box, replace with new primitive.
7355         Just call device method or signal error.
7356
7357         * eldap.c (Fldap_open):
7358         * eldap.c (Fldap_search_basic):
7359         * eldap.c (Fldap_add):
7360         * eldap.c (Fldap_modify):
7361         [1].
7362         [7].
7363
7364         * emacs.c:
7365         * emacs.c (make_arg_list_1):
7366         * emacs.c (make_arg_list):
7367         Mule-ize call to dll_init().
7368         [6].
7369         [8].
7370
7371         * emacs.c (make_argc_argv):
7372         * emacs.c (free_argc_argv):
7373         * emacs.c (init_cmdargs):
7374         * emacs.c (main_1):
7375         * emacs.c (Fkill_emacs):
7376         * emacs.c (Fdump_emacs):
7377         Update comments about what can be used in syms_* etc.
7378         Call init_win32() when necessary.
7379         Fix up MS Win dialog box in kill-buffer to actually work right.
7380         [7].
7381
7382         * eval.c:
7383         * eval.c (For):
7384         * eval.c (Fand):
7385         * eval.c (Fprogn):
7386         * eval.c (Fprog1):
7387         * eval.c (Fprog2):
7388         * eval.c (FletX):
7389         * eval.c (Flet):
7390         * eval.c (condition_case_3):
7391         * eval.c (Feval):
7392         * eval.c (function_argcount):
7393         * eval.c (funcall_lambda):
7394         [1].
7395
7396         * eval.c (type_error): New.
7397         * eval.c (maybe_type_error): New.
7398         * eval.c (continuable_type_error): New.
7399         * eval.c (maybe_continuable_type_error): New.
7400         * eval.c (type_error_with_frob): New.
7401         * eval.c (maybe_type_error_with_frob): New.
7402         * eval.c (continuable_type_error_with_frob): New.
7403         * eval.c (maybe_continuable_type_error_with_frob): New.
7404         New functions for use with structured errors.
7405
7406         * event-Xt.c:
7407         * event-Xt.c (x_event_to_emacs_event):
7408         Buttons are now modifiers too.
7409
7410         * event-Xt.c (emacs_Xt_current_event_timestamp):
7411         Implement new event method.
7412         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7413
7414         * event-msw.c:
7415         * event-msw.c (ntpipe_shove_writer): [5].
7416         * event-msw.c (mswindows_enqueue_mouse_button_event):
7417         * event-msw.c (mswindows_drain_windows_queue):
7418         * event-msw.c (mswindows_wnd_proc): [7].
7419         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7420         * event-msw.c (mswindows_modifier_state):
7421         Throughout: support new button modifiers.
7422
7423         * event-msw.c (emacs_mswindows_current_event_timestamp):
7424         Implement new event method.
7425         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7426
7427         * event-stream.c:
7428         * event-stream.c (event_stream_current_event_timestamp): New.
7429         * event-stream.c (maybe_kbd_translate): New functionality.
7430         * event-stream.c (vars_of_event_stream):
7431         Document new kbd-translate-table functionality.
7432
7433         * event-stream.c (Fcurrent_event_timestamp): New.
7434         New primitive for use in fabricated events.
7435         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7436
7437         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7438
7439         * events.c:
7440         * events.c (Fmake_event):
7441         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7442         [1].
7443         [9].
7444
7445         * events.c (format_event_object): fix gcc warnings.
7446
7447         * events.c (Fevent_timestamp): Document new primitives.
7448
7449         * events.c (TIMESTAMP_HALFSPACE): New.
7450
7451         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7452         comparing timestamps correctly (half-space algorithm).
7453
7454         * events.c (Fevent_modifier_bits): Doc fix.
7455
7456         * events.c (Fevent_modifiers): Major doc addition.
7457         * events.c (event_x_y_pixel_internal): Typo fix.
7458         * events.c (syms_of_events): Declare new primitives.
7459
7460         * events.h:
7461         Update long comment for button modifiers, timestamps.
7462
7463         * events.h (struct event_stream):
7464         New current_event_timestamp method.
7465
7466         * extents.c:
7467         * extents.c (extent_in_region_p):
7468         * extents.c (decode_extent):
7469         * extents.c (Fset_extent_parent):
7470         * extents.c (decode_map_extents_flags):
7471         Fix gcc warnings.
7472         [9].
7473
7474         * extents.c (struct extent_at_arg):
7475         * extents.c (decode_extent_at_flag):
7476         * extents.c (extent_at_mapper):
7477         * extents.c (extent_at_bytind):
7478         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7479         * extents.c (Fextents_at): New primitive. [9].
7480         * extents.c (symbol_to_glyph_layout): [9].
7481         Support new primitive `extents-at'.
7482
7483
7484         * extents.c (get_text_property_bytind):
7485         extent_at_bytind has another arg.
7486         [9].
7487
7488         * extents.c (syms_of_extents): New primitive.
7489
7490         * file-coding.c (Fmake_coding_system): [1].
7491         * file-coding.c (subsidiary_coding_system): fix gcc warning
7492         * file-coding.c (syms_of_file_coding): [2].
7493
7494         * fileio.c (Fexpand_file_name):
7495         * fileio.c (Fsysnetunam):
7496         * fileio.c (Ffile_exists_p):
7497         * fileio.c (Ffile_executable_p):
7498         * fileio.c (Fverify_visited_file_modtime):
7499         Clean up GCPROing.
7500
7501         * fileio.c (syms_of_fileio): [2].
7502
7503         * filelock.c (lock_file_1):
7504         * filelock.c (current_lock_owner):
7505         * filelock.c (lock_if_free):
7506         * filelock.c (lock_file):
7507         * filelock.c (unlock_file):
7508         Clean up GCPROing.
7509
7510         * fns.c (concat): Fix gcc warning.
7511
7512         * fns.c (Fmember):
7513         * fns.c (Fold_member):
7514         * fns.c (Fmemq):
7515         * fns.c (Fold_memq):
7516         * fns.c (memq_no_quit):
7517         * fns.c (Fassoc):
7518         * fns.c (Fold_assoc):
7519         * fns.c (Fassq):
7520         * fns.c (Fold_assq):
7521         * fns.c (assq_no_quit):
7522         * fns.c (Frassoc):
7523         * fns.c (Fold_rassoc):
7524         * fns.c (Frassq):
7525         * fns.c (Fold_rassq):
7526         * fns.c (rassq_no_quit):
7527         * fns.c (Fdelete):
7528         * fns.c (Fold_delete):
7529         * fns.c (Fdelq):
7530         * fns.c (Fold_delq):
7531         * fns.c (delq_no_quit):
7532         * fns.c (Fremassoc):
7533         * fns.c (Fremassq):
7534         * fns.c (remassq_no_quit):
7535         * fns.c (Fremrassoc):
7536         * fns.c (Fremrassq):
7537         * fns.c (remrassq_no_quit):
7538         * fns.c (Freverse):
7539         * fns.c (mapcar1):
7540         [1].
7541
7542         * frame-msw.c (mswindows_init_frame_1):
7543         * frame-msw.c (mswindows_delete_frame):
7544         Register popups with dialog code so keyboard traversing works.
7545
7546         * frame-tty.c (tty_raise_frame_no_select): [1].
7547
7548         * frame-x.c:
7549         * frame-x.c (x_set_frame_text_value):
7550         * frame-x.c (x_set_frame_properties):
7551         * frame-x.c (x_create_widgets):
7552         [7].
7553
7554         * frame.c:
7555         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7556
7557         * frame.h (wrap_frame): New.
7558         Macro like wrap_device.
7559
7560         * general.c:
7561         * general.c (SYMBOL):
7562         * general.c (syms_of_general):
7563         Major reorg.  This is now just a wrapper and symbols themselves
7564         are listed in general-slots.h.
7565
7566         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7567         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7568
7569         * glyphs-msw.c (mswindows_native_layout_instantiate):
7570         Add DS_CONTROL so keyboard traversal will work.
7571
7572         * glyphs-widget.c:
7573         * glyphs-widget.c (syms_of_glyphs_widget):
7574         Move some symbols to general-slots.h.
7575
7576         * glyphs-x.c:
7577         * glyphs-x.c (xbm_instantiate_1):
7578         * glyphs-x.c (x_xbm_instantiate):
7579         * glyphs-x.c (x_xface_instantiate):
7580         * glyphs-x.c (autodetect_instantiate):
7581         * glyphs-x.c (cursor_font_instantiate):
7582         * glyphs-x.c (x_update_widget):
7583         * glyphs-x.c (x_widget_instantiate):
7584         * glyphs.c (bitmap_to_lisp_data):
7585         * glyphs.c (pixmap_to_lisp_data):
7586         [7].
7587
7588         * glyphs.c (syms_of_glyphs):
7589         [2].
7590
7591         * gui-x.c:
7592         * gui-x.c (print_widget_value):
7593         * gui-x.c (menu_separator_style_and_to_external):
7594         * gui-x.c (add_accel_and_to_external):
7595         * gui-x.c (button_item_to_widget_value):
7596         * gui-x.c (gui_items_to_widget_values_1):
7597         * gui-x.c (gui_items_to_widget_values):
7598         * gui-x.c (syms_of_gui_x):
7599         * gui-x.c (vars_of_gui_x):
7600         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7601         [9].
7602
7603         * gui-x.h:
7604         Muleize, prototype changes matching gui-x.c.
7605
7606         * gui.c:
7607         * gui.c (separator_string_p):
7608         * gui.c (gui_item_add_keyval_pair):
7609         * gui.c (make_gui_item_from_keywords_internal):
7610         * gui.c (signal_too_long_error):
7611         * gui.c (parse_gui_item_tree_item):
7612         * gui.c (syms_of_gui):
7613         * gui.c (vars_of_gui):
7614         * gui.h:
7615         menu-no-selection-hook moved here (used by MSWin).
7616         Move some symbols to general-slots.h.
7617         [6].
7618         [9].
7619
7620         * insdel.c (get_buffer_pos_char):
7621         * insdel.c (get_buffer_range_char):
7622         Add GC comments.
7623
7624         * keymap.c (keymap_lookup_directly):
7625         * keymap.c (keymap_store):
7626         * keymap.c (ensure_meta_prefix_char_keymapp):
7627         * keymap.c (describe_map):
7628         * keymap.h:
7629         Support new button modifiers.
7630
7631         * lisp-disunion.h (wrap_object):
7632         * lisp-disunion.h (XSETOBJ):
7633         Rename make_obj to wrap_object.
7634
7635         * lisp-union.h:
7636         * lisp-union.h (make_int):
7637         * lisp-union.h (make_char):
7638         Support wrap_object.
7639
7640         * lisp.h:
7641         * lisp.h (LIST_LOOP):
7642         * lisp.h (EXTERNAL_LIST_LOOP):
7643         * lisp.h (LIST_LOOP_2):
7644         * lisp.h (EXTERNAL_LIST_LOOP_1):
7645         * lisp.h (EXTERNAL_LIST_LOOP_2):
7646         * lisp.h (EXTERNAL_LIST_LOOP_3):
7647         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7648         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7649         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7650         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7651         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7652         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7653         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7654         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7655         * lisp.h (struct Lisp_Symbol):
7656         * lisp.h (maybe_continuable_error_with_frob):
7657         Fix up section comments.
7658         Add new types for char to indicate usage.
7659         Delete symbols auto-generated from general-slots.h.
7660         Add prototypes for structured error functions.
7661         Add long comments describing looping macros and change interface
7662         so that lvalues are automatically declared.
7663         Add NO_DECLARE macro in case callers want to declare lvalues
7664         themselves.
7665
7666         * lread.c (read_syntax_error):
7667         * lread.c (continuable_read_syntax_error):
7668         * lread.c (read_structure):
7669         * lread.c (sequence_reader):
7670         * lread.c (read_list_conser):
7671         * lread.c (read_compiled_function):
7672         Rename syntax_error and continuable_syntax_error to avoid clash
7673         with same-named structured error functions.
7674
7675         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7676         * menubar-msw.c (populate_menu_add_item):
7677         * menubar-msw.c (populate_or_checksum_helper):
7678         [5].
7679         [9].
7680
7681         * menubar-x.c:
7682         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7683         Mule-ize whole file.
7684
7685         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7686
7687         * mule-charset.c (Fmake_charset):
7688         * mule-wnnfns.c (Fwnn_set_param):
7689         [1].
7690
7691         * ntproc.c (create_child):
7692         * ntproc.c (Fwin32_set_current_locale):
7693         Add comments portending doom.
7694
7695         * objects-msw.c:
7696         * objects-msw.c (old_font_enum_callback_2):
7697         * objects-msw.c (font_enum_callback_1):
7698         * objects-msw.c (mswindows_enumerate_fonts):
7699         [5].
7700
7701         * objects-x.c:
7702         * objects-x.c (allocate_nearest_color):
7703         * objects-x.c (x_parse_nearest_color):
7704         * objects-x.c (x_initialize_color_instance):
7705         * objects-x.c (x_print_color_instance):
7706         * objects-x.c (x_finalize_color_instance):
7707         * objects-x.c (x_valid_color_name_p):
7708         * objects-x.c (x_initialize_font_instance):
7709         * objects-x.c (x_print_font_instance):
7710         * objects-x.c (valid_x_font_name_p):
7711         * objects-x.c (truename_via_FONT_prop):
7712         * objects-x.c (truename_via_random_props):
7713         * objects-x.c (truename_via_XListFonts):
7714         * objects-x.c (x_font_truename):
7715         * objects-x.c (x_font_instance_truename):
7716         * objects-x.c (x_font_instance_properties):
7717         * objects-x.c (x_list_fonts):
7718         * objects-x.c (x_find_charset_font):
7719         Mule-ize entire file.
7720         [7].
7721
7722         * objects-x.h:
7723         Mule-verify.
7724
7725         * print.c:
7726         * print.c (std_handle_out_external):
7727         * print.c (debug_print_no_newline):
7728         * print.c (syms_of_print):
7729         Output to all debugger kinds in debug-print.
7730         Fix console-output code under MSWin to actually work.
7731
7732         * process-nt.c (send_signal):
7733         * process-nt.c (nt_create_process):
7734         Use newer Unicode macros.
7735
7736         * process-unix.c (unix_create_process):
7737         * process-unix.c (unix_canonicalize_host_name):
7738         * process-unix.c (unix_open_network_stream):
7739         [7].
7740
7741         * scrollbar-x.c:
7742         Mule-verify.
7743
7744         * search.c (syms_of_search):
7745         [2].
7746
7747         * select-msw.c (mswindows_destroy_selection):
7748         Use LIST_LOOP_2.
7749
7750         * select-x.c (symbol_to_x_atom):
7751         [7].
7752
7753         * select.c (syms_of_select):
7754         [2].
7755
7756         * sound.c (Fplay_sound_file):
7757         [7].
7758
7759         * specifier.c:
7760         * specifier.c (decode_specifier_type):
7761         * specifier.c (Fvalid_specifier_locale_type_p):
7762         * specifier.c (check_valid_locale_or_locale_type):
7763         * specifier.c (decode_locale):
7764         * specifier.c (decode_locale_type):
7765         * specifier.c (decode_locale_list):
7766         * specifier.c (check_valid_domain):
7767         * specifier.c (decode_specifier_tag_set):
7768         * specifier.c (Fcanonicalize_tag_set):
7769         * specifier.c (Fdefine_specifier_tag):
7770         * specifier.c (Fspecifier_tag_predicate):
7771         * specifier.c (check_valid_inst_list):
7772         * specifier.c (check_valid_spec_list):
7773         * specifier.c (decode_how_to_add_specification):
7774         * specifier.c (check_modifiable_specifier):
7775         * specifier.c (specifier_add_spec):
7776         * specifier.c (boolean_validate):
7777         * specifier.c (display_table_validate):
7778         [9].
7779
7780         * specifier.c (syms_of_specifier):
7781         Move some symbols to general-slots.h.
7782         [2].
7783
7784         * symbols.c:
7785         * symbols.c (Fmapatoms):
7786         * symbols.c (Fapropos_internal):
7787         Add GCPROs.
7788
7789         * symbols.c (set_default_buffer_slot_variable):
7790         * symbols.c (set_default_console_slot_variable):
7791         [1].
7792
7793         * symbols.c (defsymbol_massage_name_1):
7794         * symbols.c (defkeyword_massage_name):
7795         * symbols.c (deferror_1):
7796         * symbols.c (deferror):
7797         * symbols.c (deferror_massage_name_and_message):
7798         * symeval.h:
7799         * symeval.h (DEFSYMBOL):
7800         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7801
7802         * symbols.c (syms_of_symbols):
7803         [2].
7804
7805         * symsinit.h:
7806         * symsinit.h (init_win32): New.
7807         Also new is syms_of_dialog_mswindows.
7808
7809         * syswindows.h:
7810         Add new Unicode macros, missing Cygwin wide-char functions,
7811         convenience conversion macros for Qmswindows_tstr, macros for
7812         encapsulating required MSWin <-> Cygwin filename conversions,
7813         prototype for dynamically-extracted (not in NT 3.51) functions.
7814
7815         * toolbar-x.c:
7816         Mule-verify.
7817
7818         * tooltalk.c (Fadd_tooltalk_message_arg):
7819         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7820         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7821         [7].
7822
7823         * tooltalk.c (syms_of_tooltalk):
7824         [2].
7825
7826         * unexnt.c:
7827         * unexnt.c (unexec):
7828         Fix up headers, declaration of unexec() to be more standard.
7829
7830 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7831
7832         * offix.h: Revert change to guard macros - they're used in offix.c!
7833
7834 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7835
7836         * lisp.h: Defsubred Fdelete.
7837
7838         * console-msw.h:  (msprinter_default_printer): Added.
7839
7840         * console-msw.c (msprinter_canonicalize_console_connection):
7841         (msprinter_canonicalize_device_connection): Added.
7842
7843         * device-msw.c (msprinter_default_printer):
7844         (Fmswingows_get_default_printer):
7845         (signal_enum_priner_error):
7846         (Fmswingows_printer_list): Added.
7847
7848 2000-07-19  Martin Buchholz <martin@xemacs.org>
7849
7850         * XEmacs 21.2.35 is released.
7851
7852 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7853
7854         * select-x.c (x_handle_selection_request):
7855         Text selected in xemacs and pasted into xterm failed to appear.
7856         Spelling fixes and cosmetic changes.
7857
7858 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7859
7860         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7861         XEmacs frame (fix for doubling chars in dialog boxes).
7862
7863 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7864
7865         * select.c (select_convert_in, select_convert_out):
7866         Don't call intern() every time.
7867
7868         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7869         * select.c (vars_of_select): Initialise them.
7870
7871 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7872
7873         * select.c (selection-coercible-types): New.
7874
7875         * select.c (own-selection-internal):
7876         * select.c (get-selection-internal):
7877         MULE bug fix - these should default to COMPOUND_TEXT and not
7878         STRING for MULE. I think.
7879
7880         * select.c (select_convert_out): Use selection-coercible-types
7881         to find types that we can attempt to perform coercions on.
7882
7883 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7884
7885         * mule-wnnfns.c:
7886         * mule-canna.c:
7887         Add coding: cookie to identify encoding.
7888
7889         * mule-canna.c (CANNA_mode_keys): make static.
7890         Use proper prototypes, even for functions of no arguments.
7891         Remove external prototype for Fding().
7892
7893         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7894
7895         * select.c (syms_of_select): Add missing DEFSUBR.
7896
7897 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7898
7899         * select.c (get_selection_internal, own_selection_internal):
7900         Make the type default to STRING, rather than placing a nil type
7901         into Vselection_alist.
7902
7903 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7904
7905         * gpmevent.c (tty_selection_exists_p):
7906         * gpmevent.c (tty_own_selection):
7907         Updated parameter lists.
7908
7909 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7910
7911         * select.h (selection-alist): Removed declaration.
7912
7913         * select.h (get_local_selection):
7914         * select.c (get_local_selection):
7915         Made static.
7916
7917         * select.h (convert_selection): Removed declaration.
7918         * select.c (convert_selection): Removed.
7919         This function belongs in Lisp.
7920
7921         * select.h (select_convert_in): Declare.
7922         * select.h (select_convert_out): Declare.
7923         * select.c (select_convert_in): New.
7924         * select.c (select_convert_out): New.
7925         New conversion functions for other files to call.
7926
7927         * select.h (select_notify_buffer_kill): Declare.
7928         * select.c (select_notify_buffer_kill): New.
7929         New functions that get called from kill-buffer.
7930
7931         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7932         X-specific lisp code.
7933
7934         * select.h: Declare some of the lisp-visible functions for
7935         external use.
7936
7937         * select.c (clean_local_selection_data): Removed. This was
7938         a disgusting function, and previously should have been in
7939         select-x.c in any case. The functionality is now provided
7940         in select-convert-from-integer (select.el).
7941
7942         * select.c (available-selection-types): Fixed stupidity where
7943         INTEGER and ATOM got added twice. Also add STRING when we see an
7944         extent.
7945
7946         * select.c (get-selection-internal): Removed symbol stripping. No
7947         longer causes conversion when data comes from the internal cache.
7948
7949         * select.c (syms_of_select): Added new functions.
7950
7951         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7952         error checking - previously this called abort!
7953
7954         * select-x.c (x_own_selection): Changed comment.
7955
7956         * select-x.c (x_handle_selection_request): Use select_convert_out.
7957         Don't mess with selection-alist; it's an internal variable of select.c.
7958
7959         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7960
7961         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7962         rather than messing with selection-alist.
7963
7964         * select-msw.c (mswindows_get_foreign_selection):
7965         Use TO_INTERNAL_FORMAT rather than hacking.
7966
7967 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7968
7969         * process-unix.c (unix_open_multicast_group):
7970         (unix_open_multicast_group): Remove useless casts.
7971
7972 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7973
7974         * sound.c (Fplay_sound): Fix `unused variable' warning.
7975
7976         * emacs.c (main): Use correct type for _environ on SCO5.
7977
7978 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7979
7980         * console.h (own_selection_method):
7981         * console.h (selection_exists_p_method):
7982         * console.h (available_selection_types_method): New.
7983         * console.h (register_selection_data_type_method): New.
7984         * console.h (selection_data_type_name): New.
7985
7986         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7987         function & alist to track GlobalAlloc()'d handles that need
7988         releasing when the clipboard data gets replaced or emptied.
7989
7990         * event-msw.c (mswindows_wnd_proc): Call it.
7991
7992         * lisp.h, general.c (Qappend): New symbol representing a
7993         `how-to-add' mode.
7994
7995         * select.c (own-selection-internal):
7996         * select.c (selection-exists-p):
7997         * select.c (available-selection-types): New.
7998         * select.c (register-selection-data-type): New.
7999         * select.c (selection-data-type-name): New.  New functions to deal
8000         with device-specific selection data formats.
8001         * select.c (selection-converter-out-alist): Renamed.
8002         * select.c (selection-converter-in-alist): New.
8003         * select.c (selection-appender-alist): New.  Added new alists.
8004         * select.c (syms_of_select, vars_of_select): Added new symbols &
8005         variables.
8006         * select.c (get_local_selection): Split.
8007         * select.c: Removed spurious type checking - selections may now be
8008         of any type, not just strings.
8009         * select.c (own-selection-internal):
8010
8011         * select.h, select.c (convert_selection): New. Created
8012         convert_selection() function based on get_local_selection().
8013         * select.h, select.c (QCF_*): New symbols representing mswindows
8014         clipboard formats.
8015         * select.h, select.c (Qreplace_all, Qreplace_existing): New
8016         symbols representing `how-to-add' modes.
8017
8018         * select-msw.c (x_sym_p): New.
8019         * select-msw.c (symbol_to_ms_cf): New.
8020         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
8021         symbols & clipboard formats. Can also handle string names.
8022         * select-msw.c (mswindows_own_selection):
8023         * select-msw.c (mswindows_selection_exists_p):
8024         Added `data-type' parameter. Use it.
8025         * select-msw.c (mswindows_available_selection_types): New.
8026         * select-msw.c (mswindows_register_selection_data_type): New.
8027         * select-msw.c (mswindows_selection_data_type_name): New.
8028         * select-msw.c (mswindows_own_selection):
8029         * select-msw.c (mswindows_get_foreign_selection):
8030         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
8031         * select-msw.c (console_create_select_mswindows): Added new methods.
8032         * select-msw.c (mswindows_destroy_selection): New.
8033         * select-msw.c (Vhandle_alist): New list.
8034         * select-msw.c (mswindows_own_selection):
8035
8036         * select-x.c (x_own_selection):
8037         * select-x.c (x_selection_exists_p):
8038         * select-x.c: Added some comments about maybe using new
8039         functionality.
8040         * select-x.c (x_own_selection):
8041
8042         * specifier.c: Remove definition of Qappend (now in general.c)
8043         * specifier.c (syms_of_specifier): Remove Qappend.
8044
8045 2000-07-12  Martin Buchholz  <martin@xemacs.org>
8046
8047         * config.h.in: Add socklen_t.
8048
8049         * s/decosf4-0.h: No special compiler flags needed or desired.
8050         In particular, undefine _BSD for DEC OSF 4.0.
8051
8052 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8053
8054         * redisplay-msw.c (msprinter_frame_output_end): Added.
8055         (console_type_create_redisplay_mswindows): Referred the above.
8056
8057         * frame.c (setup_frame_without_minibuffer): Do not create a
8058         default minibuffer frame on a printer device.
8059
8060         * frame-msw.c (apply_dc_geometry): Added.
8061         (msprinter_start_page):
8062         (msprinter_init_frame_3):
8063         (msprinter_eject_page): Use it.
8064
8065         * console-msw.h (struct msprinter_frame): Added pix_left and top,
8066         and removed residual duplex and orientation properties.
8067
8068 2000-07-11  Martin Buchholz  <martin@xemacs.org>
8069
8070         * eval.c (function_argcount): Work around a DEC CC compiler bug.
8071
8072         * unexalpha.c: Remove system prototypes from C sources!
8073
8074 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
8075
8076         * eval.c: Remove references to M-x edit-options in DEFUNs for
8077         `defvar' and `defconst'.
8078
8079 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8080
8081         * config.h.in: Remove SMART_INCLUDE hackery.
8082
8083         PostgreSQL hacking:
8084         * config.h.in: Don't use SMART_INCLUDE.
8085
8086         * postgresql.h: Include libpq-fe.h here.  Fix typo.
8087         * inline.c: Simply #include "postgresql.h"
8088         * postgresql.c:
8089         - Don't use SMART_INCLUDE
8090         - Use simply "const".
8091         - Use standard doc string conventions.
8092         - Use correct type for result of PQstatus.
8093
8094 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8095
8096         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
8097
8098         C++ compilation changes.
8099         * config.h.in (EXTERN_C): Define.
8100         * config.h.in (not): This is also a C++ keyword.
8101         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
8102         * cm.c: Use EXTERN_C.
8103         * redisplay-tty.c: Use EXTERN_C.
8104         * sysdep.c: Use EXTERN_C.  Remove Gould support.
8105
8106 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8107
8108         * general.c: Remove duplicate definition for Qfunction.
8109
8110 2000-07-08  Ben Wing  <ben@xemacs.org>
8111
8112         * device-msw.c (msprinter_init_device):
8113         * device-msw.c (sync_printer_with_devmode):
8114         * device-msw.c (handle_devmode_changes):
8115         * device-msw.c (print_dialog_worker):
8116         * device-msw.c (Fmsprinter_apply_settings):
8117         * device-msw.c (hash_devmode):
8118         * device-msw.c (Fmsprinter_settings_despecialize):
8119         use Qmswindows_tstr, not Qctext.
8120
8121         * vm-limit.c (check_memory_limits):
8122         avoid infinite loop printing warning messages.
8123
8124 2000-07-05  Craig Lanning  <lanning@scra.org>
8125
8126         * Makefile.in.in: Add support for including the Windows resources
8127         when building with the cygwin and mingw targets.
8128
8129         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
8130         not set or not correct.
8131         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
8132         (init_initial_directory): Don't try to use $PWD on the
8133         WIN32_NATIVE target.
8134
8135         * s\cygwin32.h:
8136         [[Add -mwindows to eliminate console window.]] not required --ben
8137         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8138         (MAIL_USE_POP): removed; now handled by configure.
8139
8140         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
8141         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
8142         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8143         (MAIL_USE_POP): removed; now handled by configure.
8144         (ENCAPSULATE_STAT): from Dan Holmsand, added.
8145         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
8146         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
8147         constant string.
8148         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
8149         up from <winsock.h> via systime.h.
8150         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
8151         (getpagesize): from Dan Holmsand, added.
8152         Added #endif which was left dangling by Ben's mega patch; added
8153         comment to help prevent this in the future.
8154
8155         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
8156
8157 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8158
8159         * console-msw.h (struct mswindows_device): Removed unnecessary
8160         cached device geometry values.
8161         Added update_tick and an accessor macro.
8162         (Lisp_Devmode): Added lrecord declaration.
8163         (struct msprinter_device): Contain devmode as a Lisp object.
8164         Added mswindows_get_selected_frame_hwnd();
8165
8166         * console.h (struct console_methods): Indentation nitpicking.
8167
8168         * device-msw.c (mswindows_init_device): Do not initialize geometry
8169         cache. Initialize update tick.
8170         (mswindows_device_system_metrics): Ask the device for its geometry.
8171         (global_free_2_maybe):
8172         (devmode_to_hglobal):
8173         (handle_printer_changes):
8174         (ensure_not_printing):
8175         (print_dialog_worker):
8176         (Fmsprinter_print_setup_dialog):
8177         (Fmsprinter_print_dialog):
8178         (plist_get_margin):
8179         (plist_set_margin):
8180         (Fmsprinter_page_setup_dialog): Added functions.
8181         (sync_printer_with_devmode):
8182         (handle_devmode_changes):
8183         (Fmsprinter_get_settings):
8184         (Fmsprinter_select_settings):
8185         (Fmsprinter_apply_settings):
8186         (allocate_devmode):
8187         (Fmsprinter_settings_copy):
8188         (Fmsprinter_settings_despecialize):
8189         (print_devmode):
8190         (finalize_devmode):
8191         (equal_devmode):
8192         (hash_devmode): Added functions
8193         (syms_of_device_mswindows): Init devmode lrecord class.
8194
8195         * device.h: Added an exfun for find-device.
8196
8197         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8198         geometry; although, recreate the device compatible DC.
8199
8200         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8201         (msprinter_init_frame_3):
8202         (msprinter_frame_property):
8203         (msprinter_internal_frame_property_p):
8204         (msprinter_frame_properties):
8205         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8206         print job properties (will move to device settings).
8207
8208         * lisp.h: Added symbols.
8209
8210         * general.c (syms_of_general): Declared them.
8211
8212         * hash.c (string_hash): Added.
8213
8214         * lrecord.h (lrecord_type): Added devmode lrecord type.
8215
8216 2000-07-02  Mike Sperber <mike@xemacs.org>
8217
8218         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8219         FreeBSD 4.0.
8220
8221 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8222
8223         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8224         integer.
8225
8226 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8227
8228         * data.c (Fstring_to_number): Don't recognize floating point if
8229         base is not 10.
8230
8231 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8232
8233         * glyphs-widget.c (tab_control_query_geometry):
8234         (widget_query_geometry):
8235         (button_query_geometry):
8236         * glyphs.c (text_query_geometry):
8237         Enforce type correctness.
8238
8239 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8240
8241         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8242         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8243
8244 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8245
8246         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8247         conflicts with gcc's fixincluded version of FOO.h.
8248
8249         * glyphs.h (image_instance_geometry): Remove trailing `,'
8250
8251 2000-06-08  Mike Alexander  <mta@arbortext.com>
8252
8253         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8254         (shove_thread): Don't write the same output twice
8255         (make_ntpipe_output_stream): Increase priority of shove thread
8256         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8257         chance to run
8258         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8259         it.
8260
8261 2000-06-12  Ben Wing  <ben@xemacs.org>
8262
8263         * s\mingw32.h (sigset):
8264         * s\windowsnt.h (sigset):
8265         rename msw_ to mswindows_ for consistency with general convention.
8266
8267 2000-06-12  Ben Wing  <ben@xemacs.org>
8268
8269         * console-msw.c:
8270         * console-msw.c (mswindows_get_console_hwnd):
8271         * console-msw.c (mswindows_ensure_console_allocated):
8272         * console-msw.c (mswindows_hide_console):
8273         * console-msw.c (mswindows_show_console):
8274         * console-msw.c (mswindows_ensure_console_buffered):
8275         * console-msw.c (mswindows_output_console_string):
8276         * console-msw.c (mswindows_windows9x_p):
8277         * console-msw.h:
8278         * device-msw.c (mswindows_get_workspace_coords):
8279         * device-msw.c (mswindows_device_system_metrics):
8280         * dialog-msw.c (mswindows_popup_dialog_box):
8281         * event-msw.c (mswindows_wnd_proc):
8282         * frame-msw.c (mswindows_size_frame_internal):
8283         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8284         * menubar-msw.c (displayable_menu_item):
8285         * menubar-msw.c (mswindows_char_is_accelerator):
8286         * nt.c:
8287         * nt.c (mswindows_sigset):
8288         * nt.c (mswindows_sigrelse):
8289         * nt.c (mswindows_sigpause):
8290         * nt.c (mswindows_raise):
8291         * nt.c (timer_proc):
8292         * ntproc.c:
8293         * ntproc.c (find_child_console):
8294         * ntproc.c (sys_kill):
8295         * print.c:
8296         * print.c (std_handle_out_external):
8297         * process-nt.c (find_child_console):
8298         * process-nt.c (send_signal_the_95_way):
8299         * process-nt.c (ensure_console_window_exists):
8300         * process-nt.c (nt_create_process):
8301         * syssignal.h:
8302         rename msw_ to mswindows_ for consistency with general convention.
8303
8304         * emacs.c:
8305         * dumper.c:
8306         include nt.h, not syswindows.h.
8307
8308         * nt.c (mswindows_fstat):
8309         * nt.c (mswindows_stat):
8310         prefix mswindows_ instead of attempting to directly override the
8311         library functions.  fix declarations.
8312
8313         * nt.h:
8314         include syswindows.h.  move some sysdep.h stuff here.
8315
8316         * ntheap.h:
8317         include syswindows.h, not <windows.h>.
8318
8319         * ntplay.c:
8320         clean up headers.
8321
8322         * sysdep.c:
8323         clean up headers.
8324
8325         * sysdep.c (sys_fstat):
8326         * sysdep.c (sys_stat):
8327         call mswindows versions when appropriate.
8328
8329         * sysdep.h:
8330         move mswin decls to nt.h.
8331
8332         * syswindows.h:
8333         add long comment describing appropriate use of the various windows
8334         headers.
8335
8336 2000-06-11  Ben Wing  <ben@xemacs.org>
8337
8338         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8339
8340 2000-06-10  Ben Wing  <ben@xemacs.org>
8341
8342         * Makefile.in.in (release):
8343         Correction to make sure xemacs.exe always dumped when correct.
8344
8345         * alloca.c:
8346         * balloon_help.c:
8347         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8348
8349         * buffer.c (set_buffer_internal):
8350         [[[[2]]]]: Remove HAVE_FEP code.
8351
8352         * buffer.c (init_initial_directory):
8353         [3].
8354
8355         * bytecode.c:
8356         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8357         individual files.
8358
8359         * callproc.c:
8360         * callproc.c (call_process_cleanup):
8361         * callproc.c (Fold_call_process_internal):
8362         * callproc.c (child_setup):
8363         * callproc.c (getenv_internal):
8364         * callproc.c (init_callproc):
8365         * callproc.c (vars_of_callproc):
8366         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8367         __CYGWIN32__ -> CYGWIN.
8368         DOS_NT -> WIN32_NATIVE.
8369         Remove MSDOS support/references, converting to WIN32_NATIVE
8370           where correct.
8371         __MINGW32__ -> MINGW.
8372         Fix windows.h includes.
8373         Remove bogus HAVE_NTGUI.
8374
8375         * config.h.in:
8376         [2].
8377
8378         * console-msw.c:
8379         mswindows_message_outputted added for use in allowing startup
8380         errors on the console to be seen.
8381
8382         * console-msw.c (msw_ensure_console_allocated):
8383         * console-msw.c (msw_output_console_string):
8384         * console-msw.c (DHEADER):
8385         * console-msw.c (DOPAQUE_DATA):
8386         * console-msw.c (DEVENT):
8387         * console-msw.c (DCONS):
8388         * console-msw.c (DCONSCDR):
8389         * console-msw.c (DSTRING):
8390         * console-msw.c (DVECTOR):
8391         * console-msw.c (DSYMBOL):
8392         * console-msw.c (DSYMNAME):
8393         Fix warnings.
8394
8395         * console-stream.c (stream_init_console):
8396         Fix text/binary problems.
8397
8398         * device-msw.c:
8399         * device-msw.c (mswindows_finish_init_device):
8400         * device-msw.c (mswindows_delete_device):
8401         [1].
8402
8403         * device.c (handle_asynch_device_change):
8404         [3].
8405
8406         * dgif_lib.c:
8407         * dgif_lib.c (DGifOpenFileName):
8408         * dgif_lib.c (DGifOpenFileHandle):
8409         * dgif_lib.c (DGifGetLine):
8410         * dgif_lib.c (DGifGetPixel):
8411         Added config.h/lisp.h, fix up includes.
8412         [1].
8413
8414         * dired-msw.c:
8415         [4].
8416
8417         * dired.c:
8418         * dired.c (file_name_completion):
8419         * dired.c (Ffile_attributes):
8420         * dired.c (syms_of_dired):
8421         [1].
8422
8423         * dumper.c:
8424         * dumper.c (pdump_file_unmap):
8425         * dumper.c (pdump_load):
8426         [1].
8427
8428         * editfns.c:
8429         * editfns.c (Ftemp_directory):
8430         * editfns.c (user_login_name):
8431         * editfns.c (Fuser_real_login_name):
8432         * editfns.c (get_home_directory):
8433         [1].
8434
8435         * elhash.c (finish_marking_weak_hash_tables):
8436         [[[[5]]]]: Fix GCC warnings.
8437
8438         * emacs.c:
8439         * emacs.c (mswindows_handle_hardware_exceptions):
8440         * emacs.c (make_arg_list_1):
8441         * emacs.c (main_1):
8442         * emacs.c (Fkill_emacs):
8443         * emacs.c (Fdump_emacs):
8444         [1].
8445         Fix problems with nested crashes, add long comment.
8446
8447         * event-Xt.c (init_event_Xt_late):
8448         [1].
8449
8450         * event-msw.c:
8451         * event-msw.c (mswindows_dde_callback):
8452         * event-msw.c (mswindows_handle_sticky_modifiers):
8453         * event-msw.c (mswindows_wnd_proc):
8454         [1].
8455         [5].
8456
8457         * events.c (character_to_event):
8458         [1].
8459
8460         * fileio.c:
8461         * fileio.c (Ffile_name_directory):
8462         * fileio.c (Ffile_name_nondirectory):
8463         * fileio.c (directory_file_name):
8464         * fileio.c (Fexpand_file_name):
8465         * fileio.c (Fsubstitute_in_file_name):
8466         * fileio.c (Ffile_name_absolute_p):
8467         * fileio.c (check_executable):
8468         * fileio.c (Ffile_readable_p):
8469         * fileio.c (Ffile_accessible_directory_p):
8470         * fileio.c (Ffile_modes):
8471         * fileio.c (Funix_sync):
8472         * fileio.c (vars_of_fileio):
8473         [1]. [4].
8474
8475         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8476
8477         Expand getdefdir defn.
8478         Fix bogus rename() comment.
8479
8480         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8481         to use standard XEmacs include files, e.g. sysfile.h, rather
8482         than system-specific includes.
8483
8484         * fns.c:
8485         * fns.c (Fsubseq):
8486         [5]. [6].
8487
8488         * frame.c (vars_of_frame):
8489         [1].
8490
8491         * getloadavg.c:
8492         * getloadavg.c (getloadavg):
8493         [1]. [6].
8494         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8495         (We don't use it elsewhere in the code; just add a comment.)
8496
8497         * gif_io.c:
8498         [6].
8499         Add config.h.
8500
8501         * glyphs-msw.c:
8502         * glyphs-msw.c (mswindows_resource_instantiate):
8503         [1].
8504
8505         * glyphs-x.c (x_native_layout_instantiate):
8506         [5].
8507
8508         * gui-msw.c (Fmswindows_shell_execute):
8509         [1].
8510
8511         * insdel.c:
8512         [4].
8513
8514         * lisp.h:
8515         [4]. [5].
8516
8517         * lread.c (locate_file_in_directory_mapper):
8518         [1].
8519
8520         * lstream.c:
8521         [4].
8522
8523         * mem-limits.h:
8524         * mem-limits.h (get_lim_data):
8525         [1].
8526
8527         * menubar-msw.c:
8528         [4].
8529
8530         * ndir.h:
8531         [1].
8532
8533         * nt.c:
8534         * nt.c (getwd):
8535         * nt.c (closedir):
8536         * nt.c (rva_to_section):
8537         * nt.c (mswindows_executable_type):
8538         [1]. [6].
8539         Fix closedir() defn.
8540
8541         * nt.h:
8542         [[[[8]]]]: *_OK defs moved to sysfile.h.
8543
8544         * ntproc.c:
8545         [6]. [7].
8546
8547         * objects-x.c:
8548         [4].
8549
8550         * print.c:
8551         * print.c (std_handle_out_external):
8552         [1]. [4].
8553
8554         * process-nt.c:
8555         * process-nt.c (nt_create_process):
8556         [6].
8557         try to fix process quoting somewhat.
8558
8559         * process-unix.c (unix_create_process):
8560         [1].
8561
8562         * process.c:
8563         * process.c (vars_of_process):
8564         Add Vnull_device.
8565
8566         * process.h:
8567         [1].
8568
8569         * realpath.c:
8570         * realpath.c (xrealpath):
8571         [1].
8572
8573         * redisplay-tty.c (init_tty_for_redisplay):
8574         [3].
8575
8576         * redisplay.c:
8577         [4]. [6].
8578
8579         * scrollbar-msw.c:
8580         [4].
8581
8582         * sheap.c:
8583         * sheap.c (more_static_core):
8584         * sheap.c (report_sheap_usage):
8585         [5]. [6].
8586
8587         * signal.c:
8588         * signal.c (alarm_signal):
8589         [1]. [6].
8590
8591         * sound.c:
8592         [6].
8593
8594         * strftime.c:
8595         * strftime.c (zone_name):
8596         [1]. [5].
8597
8598         * symsinit.h (init_sunpro):
8599         [1].
8600
8601         * syscommctrl.h:
8602         commctrl.h not in Cygwin b20.1.
8603
8604         * sysdep.c:
8605         * sysdep.c (endif):
8606         * sysdep.c (sys_subshell):
8607         * sysdep.c (init_baud_rate):
8608         * sysdep.c (emacs_get_tty):
8609         * sysdep.c (emacs_set_tty):
8610         * sysdep.c (tty_init_sys_modes_on_device):
8611         * sysdep.c (init_system_name):
8612         * sysdep.c (sys_open):
8613         * sysdep.c (interruptible_open):
8614         * sysdep.c (sys_fopen):
8615         * sysdep.c (sys_mkdir):
8616         * sysdep.c (sys_rename):
8617         * sysdep.c (get_process_times_1):
8618         [1]. [6].
8619
8620         * sysdep.h:
8621         [1].
8622
8623         * sysdir.h:
8624         * sysdir.h (DIRENTRY_NONEMPTY):
8625         [1]. [6].
8626
8627         * sysdll.c (dll_init):
8628         * sysdll.h:
8629         [1].
8630
8631         * sysfile.h:
8632         [1]. [6]. [8].
8633         added text/binary defs.
8634
8635         * sysfloat.h:
8636         [1].
8637
8638         * sysproc.h:
8639         * sysproc.h (EDESTADDRREQ):
8640         * sysproc.h (poll_fds_for_input):
8641         [1]. [6].
8642
8643         * syspwd.h:
8644         [6].
8645
8646         * syssignal.h:
8647         [1].
8648
8649         * systime.h:
8650         [1]. [6].
8651
8652         * systty.h:
8653         [1].
8654
8655         * syswindows.h:
8656         [1].
8657         Always define WIN32_LEAN_AND_MEAN.
8658
8659         * unexcw.c (unexec):
8660         [5].
8661
8662         * unexec.c:
8663         * unexec.c (copy_text_and_data):
8664         * unexec.c (adjust_lnnoptrs):
8665         [1].
8666
8667         * unexnt.c:
8668         * unexnt.c (_start):
8669         [1].
8670
8671 2000-06-07  Ben Wing  <ben@xemacs.org>
8672
8673         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8674         was used only as a model.  We've long since extracted any useful
8675         logic or code out of this. (I just did an exhaustive search.)
8676
8677         * s\msdos.h: Removed.
8678
8679         * s\windows95.h: Removed.
8680
8681 2000-06-10  Ben Wing  <ben@xemacs.org>
8682
8683         * s\cygwin32.h:
8684         [1]. [5].
8685         Don't use extern with fun defs.
8686
8687         * s\mingw32.h:
8688         [1]. [7].
8689         Remove nt\inc include.
8690         Remove getdisk, getdefdir. (The former is unused, the latter
8691         expanded in fileio.h.)
8692
8693         * s\windowsnt.h:
8694         * s\windowsnt.h (WIN32_NATIVE):
8695         * s\windowsnt.h (HAVE_STRCASECMP):
8696         [1]. [7].
8697         Add long comment about preprocessor changes.
8698         Remove getdisk, getdefdir. (The former is unused, the latter
8699         expanded in fileio.h.)
8700
8701 2000-06-10  Ben Wing  <ben@xemacs.org>
8702
8703         * m\arm.h:
8704         * m\delta.h:
8705         * m\intel386.h:
8706         * m\sequent.h:
8707         * m\template.h:
8708         * m\windowsnt.h:
8709         [1].
8710         Remove bogus/unused NO_SOCK_SIGIO.
8711
8712 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8713
8714         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8715         not an Emchar.
8716
8717 2000-06-04  Mike Sperber <mike@xemacs.org>
8718
8719         * casetab.c (set_case_table): For `set-standard-case-table',
8720         actually deposit the new case tables where the rest of XEmacs can
8721         see them.
8722
8723 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8724
8725         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8726
8727 2000-06-05  Ben Wing  <ben@xemacs.org>
8728
8729         * callproc.c (child_setup): Don't do close_load_descs() under
8730         MS Windows.  Put in a comment explaining why.
8731
8732 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8733
8734         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8735         Toolkit shell" which breaks `kill-compilation' on Windows NT
8736         native, retaining STDERR handling improvements.
8737
8738 2000-06-01  Andreas Jaeger  <aj@suse.de>
8739
8740         * s/s390.h: Support for S390, based on a patch by Martin
8741         Schwidefsky <schwidefsky@de.ibm.com>.
8742
8743 2000-05-30  Andy Piper  <andy@xemacs.org>
8744
8745         * window.c (allocate_window):
8746         (make_dummy_parent):
8747         (Fset_window_configuration): use new hashtable type.
8748
8749         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8750         (struct image_instantiator_methods):
8751         (struct Lisp_Image_Instance): make instance geometry signed.
8752
8753         * glyphs.c (instantiate_image_instantiator):
8754         (image_instance_query_geometry):
8755         (image_instance_layout):
8756         (image_instance_layout):
8757         (query_string_geometry):
8758         (text_query_geometry):
8759         (image_instantiate):
8760         (image_instantiate):
8761         (cache_subwindow_instance_in_frame_maybe):
8762         (subwindow_query_geometry): make instance geometry signed.
8763
8764         * glyphs-widget.c (widget_query_geometry):
8765         (widget_layout):
8766         (button_query_geometry):
8767         (tree_view_query_geometry):
8768         (tab_control_query_geometry):
8769         (layout_query_geometry):
8770         (layout_layout):
8771         (native_layout_layout): make instance geometry signed.
8772
8773 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8774
8775         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8776         constant.
8777
8778         * general.c (syms_of_general): Add Qfull_assoc symbol.
8779
8780         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8781         correctly.
8782         (decode_weak_list_type): Decode full-assoc type.
8783         (encode_weak_list_type): Encode full-assoc type.
8784         (Fmake_weak_list): Update doc string.
8785
8786 2000-05-30  Andy Piper  <andy@xemacs.org>
8787
8788         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8789
8790         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8791         (decode_hash_table_weakness): ditto.
8792         (Fhash_table_weakness): ditto.
8793         (Fhash_table_type): ditto.
8794         (finish_marking_weak_hash_tables): ditto.
8795         (hash_table_weakness_validate): ditto.
8796         (syms_of_elhash): ditto.
8797
8798 2000-05-28  Martin Buchholz <martin@xemacs.org>
8799
8800         * XEmacs 21.2.34 is released.
8801
8802 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8803
8804         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8805         start cache.
8806         (updating_line_start_cache): Gone.
8807         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8808         generic code to force a minimum of 1 line laid out in the
8809         CMOTION_DISP case.
8810
8811 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8812
8813         * glyphs.c (instantiate_image_instantiator): Check for initialized
8814         height & width no longer special cases IMAGE_NOTHING.
8815         (nothing_instantiate): Set height and width of instance.
8816
8817 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8818
8819         * unexelf.c (unexec): Search for ".data" section.
8820         Initialize new_data2_offset from old_data_index.
8821         Remove redundant check for ElfW.
8822
8823 2000-05-23  Andy Piper  <andy@xemacs.org>
8824
8825         * glyphs.c (get_image_instantiator_governing_domain): allow more
8826         specific domains as the governing domain rather than expecting an
8827         exact match. This fixes problems with layouts.
8828
8829 2000-05-22  Andy Piper  <andy@xemacs.org>
8830
8831         * redisplay-output.c (compare_runes): check for non-images
8832
8833         * glyphs.c (set_glyph_dirty_p): ditto.
8834         (update_glyph_cachel_data): ditto.
8835
8836         * glyphs-widget.c (layout_post_instantiate): ditto.
8837         (layout_post_instantiate): ditto.
8838
8839         * event-msw.c (mswindows_wnd_proc): warning removal.
8840
8841 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8842
8843         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8844
8845         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8846
8847         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8848
8849         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8850         (mswindows_executable_type): mingw32 now has enough headers for
8851         this to work.
8852
8853 2000-05-20  Andy Piper  <andy@xemacs.org>
8854
8855         * console-msw.c (mswindows_output_last_error): ; -> ,
8856
8857 2000-05-12  Andy Piper  <andy@xemacs.org>
8858
8859         * console-msw.c (FROB): compare ints with ints.
8860
8861 2000-05-11  Andy Piper  <andy@xemacs.org>
8862
8863         * glyphs-x.c (x_finalize_image_instance): make minimal build
8864         happy.
8865
8866 2000-05-20  Ben Wing  <ben@xemacs.org>
8867
8868         * event-Xt.c:
8869         * event-Xt.c (vars_of_event_Xt):
8870         move modifier-keys-are-sticky to event-stream.c.
8871
8872         * event-msw.c:
8873         * event-msw.c (mswindows_enqueue_mouse_button_event):
8874         * event-msw.c (key_needs_default_processing_p):
8875         * event-msw.c (XEMSW_LCONTROL):
8876         * event-msw.c (mswindows_handle_sticky_modifiers):
8877         * event-msw.c (FROB):
8878         * event-msw.c (clear_sticky_modifiers):
8879         * event-msw.c (output_modifier_keyboard_state):
8880         * event-msw.c (output_alt_keyboard_state):
8881         * event-msw.c (mswindows_wnd_proc):
8882         * event-msw.c (mswindows_modifier_state):
8883         * event-msw.c (emacs_mswindows_handle_magic_event):
8884         implement sticky modifiers.
8885
8886         * event-stream.c:
8887         * event-stream.c (vars_of_event_stream):
8888         move modifier-keys-are-sticky here.
8889
8890         * lisp.h:
8891         add CHECK_FUNCTION.
8892
8893         * rangetab.c:
8894         implement map-range-table.
8895
8896
8897 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8898
8899         * redisplay-tty.c (reset_tty_modes):
8900         (tty_redisplay_shutdown): Adjust argument type to
8901         tty_frame_output_end.
8902
8903 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8904
8905         * eval.c (Fbacktrace): Don't output a line with only right
8906         parenthesis.
8907
8908 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8909
8910         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8911         (Fpq_reset_poll): Ditto.
8912
8913 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8914
8915         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8916
8917 2000-05-16  Ben Wing  <ben@xemacs.org>
8918
8919         * buffer.c:
8920         * buffer.c (dfc_convert_to/from_internal_format):
8921         * buffer.c (reinit_vars_of_buffer):
8922         Fix conversion functions to allow reentrancy.
8923
8924         * console-msw.c:
8925         * console-msw.c (mswindows_output_last_error):
8926         New fun, generally useful -- output a human-readable
8927         version of GetLastError() on the console.
8928
8929         * console-msw.h:
8930         * console-msw.h (struct mswindows_frame):
8931         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8932
8933         * console-stream.c (stream_output_begin):
8934         * console-stream.c (stream_output_end):
8935         * console-stream.c (stream_output_vertical_divider):
8936         * console-stream.c (stream_clear_region):
8937         * console-stream.c (stream_flash):
8938         * console-stream.c (console_type_create_stream):
8939         Delete blank stream methods, not needed.
8940
8941         * console.h (struct console_methods):
8942         Split begin/end methods into window and frame.
8943
8944         * event-msw.c:
8945         * event-msw.c (mswindows_handle_paint):
8946         * event-msw.c (output_alt_keyboard_state):
8947         * event-msw.c (mswindows_wnd_proc):
8948         * event-msw.c (vars_of_event_mswindows):
8949         Comment about problems with ignored-expose.
8950         Define mswindows-debug-events; not really implemented.
8951
8952         * frame-msw.c (mswindows_init_frame_1):
8953         random cleanups.
8954
8955         * glyphs-msw.c:
8956         * glyphs-msw.c (begin_defer_window_pos):
8957         * glyphs-msw.c (mswindows_unmap_subwindow):
8958         * glyphs-msw.c (mswindows_map_subwindow):
8959         * glyphs-msw.c (mswindows_resize_subwindow):
8960         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8961
8962         * glyphs.c (make_image_instance_1):
8963         Fix crash.
8964
8965         * gutter.c (Fredisplay_gutter_area):
8966         Use new begin/end methods.
8967
8968         * lisp.h (Dynarr_new2):
8969         New creation fun.
8970
8971         * redisplay-msw.c:
8972         * redisplay-msw.c (mswindows_frame_output_begin):
8973         * redisplay-msw.c (mswindows_frame_output_end):
8974         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8975         New begin/end methods -- handle DeferWindowPos.
8976
8977         * redisplay-output.c (redisplay_move_cursor):
8978         * redisplay-output.c (redraw_cursor_in_window):
8979         * redisplay-output.c (redisplay_update_line):
8980         * redisplay-output.c (redisplay_output_window):
8981         New begin/end methods.
8982
8983         * redisplay-tty.c:
8984         * redisplay-tty.c (tty_frame_output_begin):
8985         * redisplay-tty.c (tty_frame_output_end):
8986         * redisplay-tty.c (console_type_create_redisplay_tty):
8987         New begin/end methods.
8988
8989         * redisplay-x.c:
8990         * redisplay-x.c (x_window_output_begin):
8991         * redisplay-x.c (x_window_output_end):
8992         * redisplay-x.c (console_type_create_redisplay_x):
8993         New begin/end methods.
8994
8995         * redisplay.c (redisplay_frame):
8996         * redisplay.c (Fredisplay_echo_area):
8997         New begin/end methods.
8998         use MAYBE_DEVMETH for clear_frame; it may not exist.
8999
9000         * window.h (WINDOW_XFRAME):
9001         WINDOW_XFOO macros -- get locale and decode struct pointer.
9002
9003
9004 2000-05-12  Ben Wing  <ben@xemacs.org>
9005
9006         * emacs.c:
9007         * emacs.c (ensure_no_quitting_from_now_on):
9008         * emacs.c (fatal_error_signal):
9009         * emacs.c (mswindows_handle_hardware_exceptions):
9010         * emacs.c (main):
9011         * emacs.c (Fkill_emacs):
9012         * emacs.c (shut_down_emacs):
9013         * emacs.c (assert_failed):
9014         various improvements in fatal error handling.
9015
9016         * eval.c:
9017         move preparing_for_armageddon to emacs.c.
9018
9019         * lisp.h:
9020         declare fatal_error_in_progress.
9021
9022         * print.c:
9023         * print.c (std_handle_out_external):
9024         * print.c (std_handle_out_va):
9025         * print.c (stderr_out):
9026         * print.c (stdout_out):
9027         use console under mswin when no standard output.
9028         don't do code conversion during fatal error.
9029
9030         * scrollbar.c (Fscrollbar_page_up):
9031         * scrollbar.c (Fscrollbar_page_down):
9032         fix missing else.  reindent.
9033
9034 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
9035
9036         Emergency fix.
9037
9038         * glyphs.h (GLYPH_CACHEL_DESCENT):
9039         (GLYPH_CACHEL_DESCENT):
9040         (GLYPH_CACHEL_DESCENT):
9041         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
9042         used in case these are inline functions.
9043         Use more absurd values to error check.
9044
9045         include window.h for error check functions.
9046
9047 2000-05-11  Ben Wing  <ben@xemacs.org>
9048
9049         * cmdloop.c (Freally_early_error_handler):
9050         Display message box under windows; otherwise, message will disappear
9051         before it can be viewed.
9052
9053         * console-msw.c:
9054         * console-msw.c (Fmswindows_message_box):
9055         * console-msw.c (FROB):
9056         * console-msw.c (syms_of_console_mswindows):
9057         Define new fun `mswindows-message-box'.
9058         #### I will merge this into `popup-dialog-box'; just give me
9059         a bit of time.
9060
9061         * general.c:
9062         * general.c (syms_of_general):
9063         Some new symbols used in `mswindows-message-box'.
9064
9065         * glyphs.c:
9066         * glyphs.c (Fset_image_instance_property):
9067         put warning in this fun.
9068
9069         * glyphs.h:
9070         * glyphs.h (GLYPH_CACHEL_WIDTH):
9071         * glyphs.h (GLYPH_CACHEL_ASCENT):
9072         * glyphs.h (GLYPH_CACHEL):
9073         * glyphs.h (GLYPH_CACHEL_GLYPH):
9074         define error-checking versions to try to catch a bug i've seen --
9075         redisplay gets in an infinite loop because the glyph width of the
9076         continuation glyph is 65535.
9077
9078         * lisp.h:
9079         Extern message-box stuff.
9080
9081         * window.c (allocate_window):
9082         * window.c (make_dummy_parent):
9083         * window.c (Fset_window_configuration):
9084         Use EQUAL not EQ for subwindow caches to make them work a bit
9085         better. (Something is still very broken.)
9086
9087
9088 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
9089
9090         * glyphs.c (image_instantiate): Suppress gcc warnings.
9091         (Fmake_image_instance): Fix doc string.
9092         * specifier.c (Fmake_specifier): Ditto.
9093
9094 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
9095
9096         * paths.h.in (PATH_LOCK): Removed.
9097         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
9098         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
9099
9100 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9101
9102         * fns.c (Ffeaturep): Update e-mail address in doc-string.
9103         Document (featurep '(and xemacs 21.02)).
9104
9105 2000-05-09  Ben Wing  <ben@xemacs.org>
9106
9107         * buffer.c (complex_vars_of_buffer):
9108         update modeline-format doc.
9109
9110         * device.h:
9111         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
9112
9113         * emacs.c:
9114         timeline of all released versions of Emacs, for use in creating
9115         authorship comments and in synching up.
9116
9117         * glyphs-widget.c (image_instantiator_buttons):
9118         * glyphs-widget.c (image_instantiator_edit_fields):
9119         * glyphs-widget.c (image_instantiator_combo_box):
9120         * glyphs-widget.c (image_instantiator_scrollbar):
9121         * glyphs-widget.c (image_instantiator_progress_guage):
9122         * glyphs-widget.c (image_instantiator_tree_view):
9123         * glyphs-widget.c (image_instantiator_tab_control):
9124         * glyphs-widget.c (image_instantiator_labels):
9125         * glyphs-widget.c (image_instantiator_layout):
9126         * glyphs-widget.c (image_instantiator_native_layout):
9127         rename decode_domain method to governing_domain.
9128
9129         * glyphs.c:
9130         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
9131         * glyphs.c (add_entry_to_device_ii_format_list):
9132         make sure we don't put an entry more than once into the list.
9133         * glyphs.c (check_instance_cache_mapper):
9134         *************************************************************
9135         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9136         HAVE BEEN GETTING.
9137         *************************************************************
9138         * glyphs.c (get_image_instantiator_governing_domain):
9139         clean up, expand on new concept of governing domain.
9140         * glyphs.c (instantiate_image_instantiator):
9141         * glyphs.c (allocate_image_instance):
9142         use governing_domain instead of cache_domain in naming.
9143         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
9144         * glyphs.c (make_image_instance_1):
9145         * glyphs.c (Fmake_image_instance):
9146         allow for any domain (not just device), and process the
9147         governing domain correctly.  very big doc fix.
9148         * glyphs.c (Fimage_instance_domain):
9149         new primitive, to retrieve the governing domain of an image instance.
9150         * glyphs.c (image_instantiate):
9151         use new governing_domain stuff.  this fixes a crash you could get
9152         by instantiating certain widget glyphs in frame locales. (should
9153         signal an error instead of crashing.)
9154         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
9155         * glyphs.c (Fglyphp): clean up doc.
9156         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
9157         * glyphs.c (syms_of_glyphs):
9158         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
9159         * glyphs.c (image_instantiator_format_create): add some comments about
9160         bogus code.
9161         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
9162         for current-display-table. (Apparently Hrjove implemented in 1998 a
9163         design I wrote up in 1996, but didn't update the doc string.)
9164
9165         * glyphs.h: clean up a doc string.
9166         * glyphs.h (governing_domain):
9167         * glyphs.h (struct image_instantiator_methods):
9168         changes for governing_domain stuff.
9169
9170         * gutter.c:
9171         * gutter.c (Fgutter_specifier_p):
9172         * gutter.c (Fgutter_size_specifier_p):
9173         * gutter.c (Fgutter_visible_specifier_p):
9174         * objects.c:
9175         * objects.c (Fcolor_specifier_p):
9176         * objects.c (Ffont_specifier_p):
9177         * objects.c (Fface_boolean_specifier_p):
9178         doc strings moved to make-*-specifier.
9179
9180         * redisplay.c (add_disp_table_entry_runes_1):
9181         * redisplay.c (generate_fstring_runes):
9182         * redisplay.c (screen):
9183         add random comments and doc strings.
9184
9185         * specifier.c:
9186         * specifier.c (Fmake_specifier):
9187         major overhaul of this doc string.
9188
9189         * specifier.c (Fvalid_specifier_domain_p):
9190         comment about the bogosity of image instances being domains.
9191         * specifier.c (decode_domain):
9192         now non-static, used in glyphs.c.
9193         * specifier.c (specifier_instance):
9194         comment about the bogosity of image instances being domains.
9195         * specifier.c (Fgeneric_specifier_p):
9196         move doc string to make-generic-specifier.
9197         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9198         rebackslashify.
9199
9200         * specifier.h:
9201         * specifier.h (DOMAIN_FRAME):
9202         * specifier.h (DOMAIN_LIVE_P):
9203         * specifier.h (DOMAIN_XDEVICE):
9204         rebackslashify.
9205         add comments about problems with these macros.
9206         prototype for decode_domain.
9207
9208         * toolbar.c:
9209         * toolbar.c (Ftoolbar_specifier_p):
9210         move doc string to `make-toolbar-specifier'.
9211
9212         * window.c (window_unmap_subwindows_cache_mapper):
9213         *************************************************************
9214         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9215         HAVE BEEN GETTING.
9216         *************************************************************
9217
9218 2000-05-09  Andy Piper  <andy@xemacs.org>
9219
9220         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9221
9222         * window.c (Fset_window_configuration): reset the frame subwindow
9223         cache and re-initialize the window subwindow caches.
9224
9225         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9226
9227 2000-05-09  Ben Wing  <ben@xemacs.org>
9228
9229         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9230         DWORD.
9231
9232 2000-04-26  Mike Woolley  <mike@bulsara.com>
9233
9234         * ntheap.c: Changed recreate_heap to limit the amount reserved
9235         for the heap to that which is actually available. Also now
9236         displays a message box (with some dignostics) in the event that
9237         it still can't start.
9238
9239 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9240
9241         * callproc.c (Fold_call_process_internal): GCPRO path
9242
9243 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9244
9245         Patch by Bill Perry.
9246
9247         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9248         back data instead of #ifdef.
9249         (Fscrollbar_page_down): ditto.
9250
9251 2000-05-07  Ben Wing  <ben@xemacs.org>
9252
9253         * buffer.h:
9254         Kludge for defining Qmswindows_tstr.
9255
9256         * nt.c:
9257         * nt.c (open_input_file):
9258         * nt.c (open_output_file):
9259         * nt.c (rva_to_section):
9260         * nt.c (mswindows_executable_type):
9261         Move all memory-mapped-file routines here (some were in unexnt.c,
9262         which is bad because they are used by process-nt.c, and unexnt
9263         won't be around when portable dumping).  Synched the above routines
9264         with FSF 20.6.
9265
9266         * nt.h:
9267         Removed ifdef'd out bogus code.
9268         Fixed some prototypes.
9269
9270         * nt.h (file_data):
9271         * nt.h (OFFSET_TO_RVA):
9272         * nt.h (RVA_TO_OFFSET):
9273         * nt.h (RVA_TO_PTR):
9274         Moved the memory-mapped-file structures, macros and prototypes
9275         here, to parallel nt.c.  ntheap.h should really be removed
9276         entirely, and it's a non-portable-dumper specific file.
9277
9278         * ntheap.h (round_to_next):
9279         Moved the memory-mapped-file structures, macros and prototypes
9280         to nt.h.
9281
9282         * ntproc.c (compare_env):
9283         Moved rva_to_section and mswindows_executable_type to nt.c.
9284         Moved compare_env to process-nt.c.
9285         ntproc.c will die, one day.
9286
9287         * ntproc.c (sys_spawnve):
9288         Account for win32_ -> mswindows_.
9289
9290         * process-nt.c:
9291         * process-nt.c (struct nt_process_data):
9292         * process-nt.c (ensure_console_window_exists):
9293         * process-nt.c (compare_env):
9294         * process-nt.c (nt_create_process):
9295         * process-nt.c (nt_kill_process_by_pid):
9296         * process-nt.c (syms_of_process_nt):
9297         * process-nt.c (vars_of_process_nt):
9298         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9299         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9300         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9301         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9302         Move compare_env here from ntproc.c.
9303
9304         * process.c (Fprocess_send_region):
9305         Takes an optional fourth argument, BUFFER, which should fix some
9306         problems with call-process.
9307
9308         * syscommctrl.h:
9309         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9310
9311         * syswindows.h:
9312         Move ICC_BAR_CLASSES to syscommctrl.h.
9313         Add preliminary macros for MSWindows/Mule.  More to come.
9314
9315         * unexnt.c:
9316         * unexnt.c (unexec):
9317         open_output_file moved to nt.c.
9318
9319
9320 2000-05-05  Andy Piper  <andy@xemacs.org>
9321
9322         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9323         instance from the frame cache also since GC may catch up too late
9324         to make frame deletion sane.
9325
9326 2000-05-04  Andy Piper  <andy@xemacs.org>
9327
9328         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9329         (x_finalize_image_instance): ungcpro on deletion.
9330
9331         * glyphs.c (image_instantiator_format_create): give pointers a
9332         query geometry method so that the geometry is at least set.
9333
9334         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9335         initialize layouts if using widgets.
9336
9337 2000-05-03  Andy Piper  <andy@xemacs.org>
9338
9339         * nt.c: remove bogus reference to sysmmsystem.h
9340
9341         * gui-x.c (popup_selection_callback): fix no selection abort.
9342
9343 2000-05-02  Andy Piper  <andy@xemacs.org>
9344
9345         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9346         (mswindows_widget_instantiate): ditto.
9347
9348         * glyphs-widget.c (initialize_widget_image_instance): initialize
9349         children correctly.
9350         (widget_instantiate): cope with children and items in the same
9351         instance.
9352
9353         * glyphs.c (mark_image_instance): cope with children as a first
9354         class member.
9355         (image_instance_equal): ditto.
9356         (image_instance_hash): ditto.
9357         (image_instance_changed): ditto.
9358
9359 2000-04-30  Andy Piper  <andy@xemacs.org>
9360
9361         * glyphs.c (subwindow_query_geometry): new function. Return some
9362         defaults.
9363         (subwindow_instantiate): don't assign dimensions if none have been
9364         given.
9365         (image_instantiator_format_create): add subwindow_query_geometry.
9366         (print_image_instance): cope with layouts as widgets.
9367
9368 2000-04-29  Andy Piper  <andy@xemacs.org>
9369
9370         * frame.c (delete_frame_internal): call
9371         free_frame_subwindow_instance_cache so that all subwindows are
9372         finalized before their parent.
9373         (mark_frame): remove subwindow_cachels.
9374         (Fmake_frame): remove subwindow_cachel manipulation.
9375         (allocate_frame_core): subwindow_instance_cache is a weak list.
9376         (delete_frame_internal): set subwindow_instance_cache to nil.
9377
9378         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9379         finalization safe.
9380         (mswindows_finalize_image_instance): use the device
9381         not the domain as the domain may have died already.
9382
9383         * glyphs-x.c (x_finalize_image_instance): ditto.
9384         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9385         HEIGHT.
9386
9387         * redisplay-output.c (redisplay_unmap_subwindows): update for
9388         subwindow instance cache as a weak list.
9389         (redisplay_unmap_subwindows_maybe): ditto.
9390         (redisplay_unmap_subwindows_except_us): ditto.
9391
9392         * glyphs.c (unmap_subwindow): error checking will check the domain
9393         so don't deal with it here. Don't use cachels anymore.
9394         (map_subwindow): ditto.
9395         (update_subwindow_cachel_data): remove old accessor names.
9396         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9397         (Fresize_subwindow): don't update cachel.
9398         (mark_subwindow_cachels):
9399         (update_subwindow_cachel_data):
9400         (add_subwindow_cachel):
9401         (get_subwindow_cachel_index):
9402         (update_subwindow_cachel):
9403         (reset_subwindow_cachels):
9404         (mark_subwindow_cachels_as_not_updated): deleted.
9405         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9406         subwindow instance to the frame cache.
9407         (find_matching_subwindow): update for subwindow instance cache as
9408         a weak list.
9409         (update_widget_instances): ditto.
9410         (image_instance_type_to_mask):inlined.
9411         (free_frame_subwindow_instance_cache): new function. finalize all
9412         subwindows that are instantiated.
9413
9414         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9415         of cachel information.
9416         (IMAGE_INSTANCE_DISPLAY_X):
9417         (IMAGE_INSTANCE_DISPLAY_Y):
9418         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9419         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9420         (XIMAGE_INSTANCE_DISPLAY_X):
9421         (XIMAGE_INSTANCE_DISPLAY_Y):
9422         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9423         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9424         remove subwindow_cachel structure and function references.
9425         (image_instance_type_to_mask): inline from glyphs.c
9426
9427         * redisplay.c (redisplay_frame): remove subwindow_cachel
9428         references.
9429
9430         * frame.h (struct frame): remove subwindow_cachels.
9431         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9432
9433         * frameslots.h: add subwindow_instance_cache.
9434
9435         * window.c (replace_window): check subwindow cache of replacement.
9436         (window_unmap_subwindows_cache_mapper):
9437         (window_unmap_subwindows): new functions. Unmap all subwindows
9438         cached on this window.
9439         (mark_window_as_deleted): unmap all subwindows.
9440
9441 2000-04-27  Andy Piper  <andy@xemacs.org>
9442
9443         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9444
9445         * glyphs-widget.c (widget_layout): return something.
9446         (layout_layout): return something. Fail if not initialized.
9447         (layout_query_geometry): ditto.
9448         (image_instantiator_native_layout): new function. Initialized the
9449         native layout type.
9450         (widget_instantiate): don't do layout stuff here.
9451
9452         * glyphs.c (instantiate_image_instantiator): reorded calling or
9453         instantiate and post_instantiate with layout in between.
9454         (image_instance_layout): be more selective about deciding whether
9455         the layout has been done or not.
9456
9457         * glyphs.h (struct image_instantiator_methods): return a value
9458         from layout_method.
9459
9460 2000-04-26  Andy Piper  <andy@xemacs.org>
9461
9462         * glyphs.c (allocate_image_instance): make initial width and
9463         height unspecified. Set initialized to 0.
9464
9465         * syscommctrl.h new file. Encapsulates commctrl.h.
9466
9467         * syswindows.h new file. Encapsulates windows.h.
9468
9469         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9470         * nt.c: ditto.
9471         * console-msw.h: ditto.
9472
9473         * redisplay-tty.c (tty_output_display_block): remove layout references.
9474
9475         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9476         window handle rather than just the frame.
9477
9478         * glyphs.c (mark_image_instance): remove layout references.
9479         (print_image_instance): ditto.
9480         (image_instance_equal): ditto.
9481         (image_instance_hash): ditto.
9482         (decode_image_instance_type): ditto.
9483         (encode_image_instance_type): ditto.
9484         (image_instantiate): ditto.
9485         (allocate_glyph): ditto.
9486         (Fimage_instance_height): ditto.
9487         (Fimage_instance_width): ditto.
9488         (update_subwindow): ditto.
9489
9490         * redisplay-x.c (x_output_display_block): recode for layouts as
9491         widgets.
9492
9493         * redisplay-output.c (redisplay_output_layout): recode for layouts
9494         as widgets.
9495         (compare_runes): remove layout references.
9496
9497         * redisplay-msw.c (mswindows_output_display_block): recode for
9498         layouts as widgets.
9499
9500         * glyphs-widget.c (image_instantiator_layout): remove
9501         layout_possible_dest_types.
9502         (layout_possible_dest_types): deleted.
9503
9504         * glyphs.h (image_instance_type): remove layout references.
9505         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9506         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9507         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9508
9509 2000-04-25  Andy Piper  <andy@xemacs.org>
9510
9511         * glyphs-widget.c (image_instantiator_buttons):
9512         (image_instantiator_edit_fields):
9513         (image_instantiator_combo_box):
9514         (image_instantiator_scrollbar):
9515         (image_instantiator_progress_guage):
9516         (image_instantiator_tree_view):
9517         (image_instantiator_tab_control):
9518         (image_instantiator_labels):
9519         (image_instantiator_layout): call default post_instantiate method.
9520         (widget_post_instantiate): new function. Simply lays out the
9521         widgets.
9522
9523         * glyphs.h (struct image_instantiator_methods): add
9524         post_instantiate method.
9525
9526         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9527         method calls.
9528
9529 2000-04-23  Andy Piper  <andy@xemacs.org>
9530
9531         * glyphs.h (struct image_instantiator_methods): add
9532         decode_domain_method.
9533         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9534         derived from the domain.
9535         (IMAGE_INSTANCE_FRAME): new accessor.
9536         (XIMAGE_INSTANCE_FRAME): ditto.
9537
9538         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9539         instead of _SUBWINDOW_FRAME.
9540         (finalize_image_instance): ditto.
9541         (Fimage_instance_foreground): ditto.
9542         (Fimage_instance_background): ditto.
9543         (image_instantiate): ditto.
9544         (update_subwindow_cachel): ditto.
9545         (update_subwindow): ditto.
9546         (unmap_subwindow): ditto.
9547         (map_subwindow): ditto
9548         (subwindow_instantiate): ditto.
9549         * glyphs-msw.c (mswindows_update_widget): ditto.
9550         (mswindows_progress_gauge_instantiate): ditto.
9551         (mswindows_tab_control_update): ditto.
9552         * glyphs-x.c (x_update_widget): ditto.
9553         (x_widget_instantiate): ditto.
9554         (x_tab_control_instantiate): ditto.
9555         (x_tab_control_update): ditto.
9556         * event-msw.c (mswindows_wnd_proc): ditto
9557
9558         * glyphs-widget.c (image_instantiator_layout): use
9559         subwindow_decode_domain.
9560         (image_instantiator_buttons): ditto.
9561         (image_instantiator_edit_fields): ditto.
9562         (image_instantiator_combo_box): ditto.
9563         (image_instantiator_scrollbar): ditto.
9564         (image_instantiator_progress_guage): ditto.
9565         (image_instantiator_tree_view): ditto.
9566         (image_instantiator_tab_control): ditto.
9567         (image_instantiator_labels): ditto.
9568         (image_instantiator_layout): ditto.
9569
9570         * glyphs.c: add instance error checking to many functions.
9571         (instantiate_image_instantiator): decode device from cache_domain.
9572         (image_instantiate): partially rewrite by using
9573         decode_image_instantiator_domain to determine what domain the
9574         instance needs to be cached in.
9575         (decode_image_instantiator_domain): new function. Determine what
9576         domain the image needs to be cached in.
9577         (check_window_subwindow_cache): new error checking function.
9578         (check_instance_cache_mapper): ditto.
9579         (check_image_instance_structure): ditto.
9580         (subwindow_decode_domain): new function. Encodes a window as a
9581         subwindow's cache domain.
9582         (image_instantiator_format_create): use it for text and
9583         subwindows.
9584
9585 2000-04-21  Andy Piper  <andy@xemacs.org>
9586
9587         * glyphs.c (image_instance_device): new function.
9588         (image_instance_frame): new function.
9589         (image_instance_window): new function.
9590         (image_instance_live_p): new function.
9591
9592         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9593         cache to nil.
9594
9595         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9596         (IMAGE_INSTANCE_DOMAIN): new accessor.
9597         (XIMAGE_INSTANCE_DOMAIN): ditto.
9598
9599         * glyphs-x.c (x_finalize_image_instance): device->domain.
9600
9601         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9602         (mswindows_finalize_image_instance): ditto.
9603
9604         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9605         (gif_instantiate): ditto.
9606         (png_instantiate): ditto.
9607         (tiff_instantiate): ditto.
9608
9609         * glyphs.c (instantiate_image_instantiator): use domain rather
9610         than device.
9611         (mark_image_instance): device -> domain.
9612         (print_image_instance): ditto.
9613         (finalize_image_instance): ditto.
9614         (image_instance_equal): ditto.
9615         (allocate_image_instance): ditto.
9616         (Fcolorize_image_instance): ditto.
9617         (query_string_geometry): ditto.
9618         (image_instantiate): ditto
9619         (query_string_font): ditto.
9620         (image_instantiate): ditto.
9621         (update_subwindow): ditto.
9622         (unmap_subwindow): ditto.
9623         (map_subwindow): ditto.
9624         (subwindow_instantiate): ditto.
9625
9626         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9627         (DOMAIN_FRAME): ditto.
9628         (DOMAIN_WINDOW): ditto.
9629         (DOMAIN_LIVE_P): ditto.
9630         (XDOMAIN_DEVICE): ditto.
9631         (XDOMAIN_FRAME): ditto.
9632         (XDOMAIN_WINDOW): ditto.
9633
9634         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9635         a valid specifier domain.
9636
9637 2000-04-19  Andy Piper  <andy@xemacs.org>
9638
9639         * glyphs-widget.c (syms_of_glyphs_widget): remove
9640         widget-callback-current-channel.
9641         (vars_of_glyphs_widget): ditto.
9642         * glyphs.h: ditto
9643
9644         * gui.c (get_gui_callback): revert to previous behaviour.
9645
9646 2000-04-18  Andy Piper  <andy@xemacs.org>
9647
9648         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9649         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9650         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9651
9652         * glyphs.c (image_instance_equal): add margin_width.
9653         (image_instance_hash): ditto.
9654
9655         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9656         (layout_query_geometry): ditto.
9657         (layout_layout): ditto.
9658         (syms_of_glyphs_widget): add margin-width.
9659         (image_instantiator_layout): allow margin-width.
9660
9661         * glyphs.c (update_widget_instances): make a normal function.
9662         (syms_of_glyphs): remove Qupdate_widget_instances.
9663         * glyphs.h: ditto.
9664
9665         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9666         so that we don't corrupt ideas about the last event or
9667         command. Remove widget-callback-current-channel fiddling.
9668         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9669
9670 2000-05-01  Martin Buchholz <martin@xemacs.org>
9671
9672         * XEmacs 21.2.33 is released.
9673
9674 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9675
9676         * make-src-depend: Allow dots in header file name.
9677
9678 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9679
9680         * mule-charset.h (struct charset_lookup): Add
9681         next_allocated_1_byte_leading_byte and
9682         next_allocated_2_byte_leading_byte.
9683         * mule-charset.c: Move above two variables so that those values
9684         will be dumped.
9685
9686 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9687
9688         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9689         when string length is zero.
9690         (find_charsets_in_emchar_string): Ditto.
9691
9692 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9693
9694         * lisp.h: extern Qdialog and Qmenubar.
9695
9696         * gui-x.c: added events.h.
9697                 also fixed typo which made the file uncompilable.
9698
9699         * general.c: Added Qmenubar and Qdialog
9700
9701 2000-04-28  Ben Wing  <ben@xemacs.org>
9702
9703         * frame-msw.c (mswindows_init_frame_1):
9704         * frame-msw.c (mswindows_mark_frame):
9705         * event-msw.c (mswindows_enqueue_dispatch_event):
9706         * console-msw.h:
9707         * console-msw.h (struct mswindows_frame):
9708         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9709         there are now three hash tables for callbacks.
9710         mswindows_enqueue_dispatch_event is no longer static.
9711
9712         * dialog-x.c (maybe_run_dbox_text_callback):
9713         * dialog-x.c (dbox_descriptor_to_widget_value):
9714         switch to new cons3 form for callbacks.
9715
9716         * glyphs-msw.c (mswindows_register_gui_item):
9717         * glyphs-msw.c (mswindows_widget_instantiate):
9718         * glyphs-msw.c (add_tree_item):
9719         * glyphs-msw.c (add_tab_item):
9720         new image instance parameter, so it can be passed to callback-ex.
9721         respect :callback-ex as well as :callback.
9722
9723         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9724         add :callback-ex.
9725
9726         * glyphs.c (print_image_instance):
9727         prettify, e.g. now prints widget type.
9728
9729         * gui-x.h:
9730         certain funs have new image instance parameter.
9731
9732         * gui.c:
9733         * gui.c (get_gui_callback):
9734         * gui.c (gui_item_add_keyval_pair):
9735         * gui.c (gui_item_init):
9736         * gui.c (gui_add_item_keywords_to_plist):
9737         * gui.c (mark_gui_item):
9738         * gui.c (gui_item_hash):
9739         * gui.c (gui_item_equal):
9740         * gui.c (copy_gui_item):
9741         * gui.c (syms_of_gui):
9742         recognize callback-ex in a number of places.
9743         also, fix the annoying "can't get out of yes-no dialog" bug.
9744
9745         * gui.h:
9746         * gui.h (struct Lisp_Gui_Item):
9747         recognize callback-ex in a number of places.
9748
9749         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9750         new parameter in button_item_to_widget_value.
9751
9752         * glyphs-x.c (x_update_widget):
9753         * glyphs-x.c (x_button_instantiate):
9754         * glyphs-x.c (x_button_update):
9755         * glyphs-x.c (x_progress_gauge_instantiate):
9756         * glyphs-x.c (x_edit_field_instantiate):
9757         * glyphs-x.c (x_combo_box_instantiate):
9758         * glyphs-x.c (x_tab_control_instantiate):
9759         * glyphs-x.c (x_label_instantiate):
9760         new image instance parameter in various places.
9761
9762         * event-Xt.c:
9763         * event-Xt.c (enqueue_Xt_dispatch_event):
9764         this fun gets exported.
9765
9766         * gui-msw.c:
9767         * gui-msw.c (mswindows_handle_gui_wm_command):
9768         handle both :callback and :callback-ex, and generate our own
9769         event because it's one of the callback-ex arguments.
9770
9771         * gui-x.c:
9772         * gui-x.c (popup_selection_callback):
9773         handle both :callback and :callback-ex, and generate our own
9774         event because it's one of the callback-ex arguments.
9775         * gui-x.c (button_item_to_widget_value):
9776         * gui-x.c (gui_items_to_widget_values_1):
9777         * gui-x.c (gui_item_children_to_widget_values):
9778         * gui-x.c (gui_items_to_widget_values):
9779         new image instance parameter in various places.
9780
9781         * fns.c (Freplace_list):
9782         fix small typo in doc string.
9783
9784         * lisp.h:
9785         declare enqueue_Xt_dispatch_event.
9786
9787 2000-04-28  Ben Wing  <ben@xemacs.org>
9788
9789         * buffer.c:
9790         * buffer.c (Frecord_buffer):
9791         * buffer.c (syms_of_buffer):
9792         delete record-buffer-hook.
9793
9794         * fns.c:
9795         * fns.c (Freplace_list):
9796         * fns.c (syms_of_fns):
9797         new primitive replace-list.
9798
9799         * frameslots.h:
9800         slot for old buffer-alist.
9801
9802         * lisp.h:
9803         exfun replace-list.
9804
9805         * redisplay.c:
9806         * redisplay.c (redisplay_frame):
9807         * redisplay.c (syms_of_redisplay):
9808         * redisplay.c (vars_of_redisplay):
9809         new hook buffer-list-changed-hook.
9810         call it.
9811
9812 2000-04-27  Ben Wing  <ben@xemacs.org>
9813
9814         * extents.h: extern in_modeline_generation.
9815
9816         * redisplay.c (generate_formatted_string_db): set
9817         in_modeline_generation.
9818
9819         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9820         flags if in modeline generation.  otherwise frame-modified-tick
9821         is ticked far too often.
9822         Declare in_modeline_generation.
9823
9824 2000-04-26  Ben Wing  <ben@xemacs.org>
9825
9826         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9827         option.
9828         (vars_of_emacs): add quick-build as an error-checking option.
9829         A bit kludgy, but there doesn't seem much point in creating
9830         a real var for this.
9831
9832         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9833
9834 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9835
9836         * redisplay.h (struct display_line): Add a new variable,
9837         line_continuation.
9838
9839         * redisplay.c (create_text_block): Set dl->line_continuation if
9840         the line continues.
9841         (create_string_text_block): Ditto.
9842         (regenerate_window_incrementally): Use line_continuation instead
9843         of searching continuation glyph.
9844         (add_margin_runes): Call add_glyph_rune.
9845         (add_glyph_rune): Handle margin glyph.
9846
9847 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9848
9849         * filelock.c (fill_in_lock_file_name):
9850         ANSIfy.
9851         Check for IS_ANY_SEP instead of '/'.
9852         (lock_file_1):
9853         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9854         Never check errno without first seeing that system call failed.
9855         (unlock_file): Add GCPRO.
9856         (Flock_buffer): Fix docstring.
9857         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9858
9859 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9860
9861         * sysdep.c (get_pty_max_bytes):
9862         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9863         strings longer than 252 bytes.
9864
9865         * md5.c: Unconditionally include ANSI header <limits.h>
9866
9867         * glyphs-x.c (convert_EImage_to_XImage):
9868         * lisp-union.h (union Lisp_Object):
9869         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9870
9871 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9872
9873         * filelock.c (current_lock_owner): Remove unused variable o, p.
9874
9875 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9876
9877         * callint.c: Remove multiply defined symbol Qlet
9878         (syms_of_callint): ditto.
9879
9880 2000-04-14  Andy Piper  <andy@xemacs.org>
9881
9882         * general.c (syms_of_general): add last-command, this-command, let
9883         and funcall.
9884
9885         * lisp.h: declare various symbols.
9886
9887         * glyphs.h: declare Qwidget_callback_current_channel;
9888
9889         * glyphs-widget.c (syms_of_glyphs_widget): add
9890         Qgui_callback_current_channel.
9891         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9892
9893         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9894         widget-callback-current-channel when invoking the interactive
9895         arg. Also bind last-command and next-command when invoking the
9896         widget updates.
9897         * gui-x.c (popup_selection_callback): ditto.
9898
9899         * gui.c (get_gui_callback): massage args so that we are always
9900         calling eval. This allows us to add our own variable bindings
9901         outside.
9902
9903         * glyphs-x.c (x_button_instantiate): use
9904         gui_items_to_widget_values since this is GC safe.
9905         (x_progress_gauge_instantiate): ditto.
9906         (x_edit_field_instantiate): ditto.
9907         (x_label_instantiate): ditto.
9908
9909         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9910         (emacs_Xt_event_widget_focus_out): new function
9911         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9912         focus.
9913         (emacs_Xt_event_add_widget_actions): new function. add focus
9914         functions as actions.
9915         (init_event_Xt_late): use it.
9916
9917 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9918
9919         * event-stream.c (Fdispatch_event): Doc fix.
9920
9921 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9922
9923         * postgresql.c: Remove all references to PQsetenv*.
9924
9925         * postgresql.h: Remove references to PGsetenvHandler object.
9926         * lrecord.h (lrecord_type): Ditto.
9927
9928 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9929
9930         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9931         real_heigh and real_width members, and accessor macros for these.
9932
9933         * glyphs-msw.c (init_image_instance_geometry): New function.
9934         (init_image_instance_from_dibitmap): Use it.
9935         (mswindows_resource_instantiate): Use it.
9936         (init_image_instance_from_xbm_inline): Use it.
9937         (mswindows_initialize_image_instance_mask): Use real bitmap
9938         geometry.
9939         (mswindows_create_resized_bitmap): Ditto.
9940         (mswindows_create_resized_mask): Ditto.
9941
9942         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9943         and bitmap to their surface size.
9944
9945 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9946
9947         * process-unix.c (unix_send_process): Guard against process MIA
9948         after Faccept_process_output.
9949
9950 2000-04-11  Ben Wing  <ben@xemacs.org>
9951
9952         * eval.c (unbind_to_hairy): fix brokenness introduced by
9953         nanosecond speed improvements.
9954
9955 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9956
9957         * sunplay.c (init_device): To play sounds correctly, the device
9958         apparently needs to be initialized at least once by XEmacs.  Make
9959         it so.
9960
9961 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9962
9963         * redisplay.c (add_margin_runes): Add text image glyph
9964           handling.
9965
9966 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9967
9968         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9969         gcc is newer than 2.5.
9970
9971 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9972
9973         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9974
9975         * fns.c (size_bit_vector):
9976         * alloc.c (size_vector):
9977         (make_vector_internal):
9978         (make_bit_vector_internal):
9979         (sweep_bit_vectors_1):
9980         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9981
9982 2000-04-06  Andy Piper  <andy@xemacs.org>
9983
9984         * gmalloc.c (malloc): undo previous change.
9985         (malloc): ditto.
9986         (free): ditto.
9987         (realloc): ditto.
9988
9989 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9990
9991         * line-number.c (buffer_line_number): Revert to former version.
9992
9993 2000-04-06  Andy Piper  <andy@xemacs.org>
9994
9995         * gmalloc.c (malloc): add error checking.
9996         (malloc): ditto.
9997         (free): ditto.
9998         (realloc): ditto.
9999
10000         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
10001         button_item_to_widget_value arg.
10002
10003         * glyphs-x.c (x_button_instantiate): add extra
10004         button_item_to_widget_value arg.
10005         (x_progress_gauge_instantiate): ditto.
10006         (x_edit_field_instantiate): ditto.
10007         (x_label_instantiate): ditto.
10008
10009         * gui-x.c (gui_items_to_widget_values_1): add extra
10010         button_item_to_widget_value arg.
10011         (button_item_to_widget_value): add extra menu_item_p arg.
10012
10013         * gui-x.h: change signature of button_item_to_widget_value.
10014
10015         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
10016         button_item_to_widget_value arg.
10017
10018 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10019
10020         * buffer.h (struct buffer): auto_save_modified should be long.
10021
10022 2000-04-05  Andy Piper  <andy@xemacs.org>
10023
10024         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
10025         type.
10026         (button_query_geometry): give a little more room so that athena
10027         buttons fit.
10028
10029 2000-04-05  Andy Piper  <andy@xemacs.org>
10030
10031         * faces.c (complex_vars_of_faces): The widget face should inherit
10032         the font of the gui-element face.
10033
10034 2000-04-04  Andy Piper  <andy@xemacs.org>
10035
10036         * glyphs-x.c (x_button_update): new function. unconditionally
10037         update a button's state when the instance is dirty.
10038         (image_instantiator_format_create_glyphs_x): add x_button_update.
10039         (x_widget_instantiate): remove old resize cruft.
10040
10041 2000-04-02  Andy Piper  <andy@xemacs.org>
10042
10043         * frame.c (change_frame_size_1): The introduction of gutters means
10044         that we need to allow 0 as a potential frame dimension.
10045
10046 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10047
10048         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
10049         image glyph if allow_cursor.
10050         (add_hscroll_rune): Don't allow cursor to border glyph.
10051         (create_text_block): Ditto.
10052
10053         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
10054         text not in buffer.
10055         (redisplay_output_layout): Call ensure_face_cachel_complete for
10056         text image glyph.
10057
10058
10059 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10060
10061         * redisplay.c (add_glyph_rune): Adding text image as text runes.
10062
10063         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
10064         not in buffer
10065
10066         * redisplay-tty.c (tty_output_display_block): Delete the routine
10067         for text image glyph
10068         * redisplay-x.c (x_output_display_block): ditto
10069         * redisplay-msw.c (mswindows_output_display_block): ditto
10070
10071 2000-02-02  Mike Alexander  <mta@arbortext.com>
10072
10073         Note: Some of these were committed by accident as part of other
10074         patches.
10075
10076         * regex.c (regex_compile): Avoid compiler warnings.
10077
10078         * ntproc.c (sys_spawnve): Avoid compiler warnings.
10079
10080         * nt.h: Declare term_ntproc correctly.
10081
10082         * nt.c: Remove incorrect declaration of get_home_directory which
10083         is declared correctly in lisp.h.
10084
10085         * keymap.c (get_keyelt): Avoid compiler warnings.
10086         (raw_lookup_key_mapper): Avoid compiler warnings.
10087
10088         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
10089
10090         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
10091
10092         * filemode.c (mode_string): Avoid compiler warnings.
10093
10094         * file-coding.c (Fcoding_system_aliasee): Add return statement to
10095         avoid warning.
10096
10097         * events-mod.h: Undef some things that winuser.h defines differently.
10098
10099         * data.c (Faset): Avoid compiler warnings.
10100
10101         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
10102
10103 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10104
10105         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
10106         Fall through to simple beep on error.
10107         Replace "extern" by real header file.
10108
10109         * linuxplay.c: Use nativesound.h
10110         (play_sound_data): Return error code. Be less verbose on error.
10111
10112         * sunplay.c: Use nativesound.h
10113         (play_sound_data): Return error code. Be less verbose on error.
10114
10115         * ntplay.c: Use nativesound.h
10116         (play_sound_data): Return fake error code
10117
10118         * sgiplay.c: Use nativesound.h
10119         (play_sound_data): Return error code
10120
10121         * hpplay.c: Use nativesound.h, partially implement
10122         new error code. Break compilation until finished.
10123         (play_sound_data): error code.
10124
10125         * nativesound.h (play_sound_file):
10126           (play_sound_data): Prototype in new header.
10127
10128 2000-03-31  Andy Piper  <andy@xemacs.org>
10129
10130         * glyphs-widget.c: (button_query_geometry): new function. Adjust
10131         for toggle and radio buttons.
10132         (image_instantiator_buttons): use it.
10133
10134 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10135
10136         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
10137         (x_update_horizontal_scrollbar_callback): Return if no mirror was
10138         found. Scrollbar event probably belonged to some old config.
10139
10140 2000-03-31  Andy Piper  <andy@xemacs.org>
10141
10142         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
10143         than 1.
10144         (initialize_widget_image_instance): default layout to
10145         LAYOUT_HORIZONTAL rather than 0.
10146         (widget_instantiate): reverse the item list at the end rather than
10147         every iteration.
10148         (layout_layout): re-code for the border text at the front of the
10149         item list rather than at the end.
10150         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
10151         provided by the user.
10152         (widget_query_geometry): comment.
10153
10154 2000-03-30  Andy Piper  <andy@xemacs.org>
10155
10156         * glyphs-widget.c (image_instantiator_layout): allow standard
10157         widget keywords in layouts.
10158
10159         * gutter.c (output_gutter): cope with nil gutter contents.
10160
10161         * frame.c (Fset_frame_properties): add gutter docs.
10162
10163 2000-03-29  Andy Piper  <andy@xemacs.org>
10164
10165         * toolbar-msw.c (TBSTYLE_FLAT): add.
10166         (mswindows_output_toolbar): minor fiddling.
10167
10168 2000-03-29  Andy Piper  <andy@xemacs.org>
10169
10170         * gutter.c (output_gutter): force gutter size recalculation if
10171         what we are trying to display won't fit.
10172         (update_gutter_geometry): new function. A per-gutter version of
10173         update_frame_gutter_geometry.
10174         (update_frame_gutter_geometry): use it.
10175         (redraw_exposed_gutter): add extra debugging output.
10176
10177 2000-03-28  Mike Alexander  <mta@arbortext.com>
10178
10179         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10180         (pdump_file_unmap): Implement it on Windows
10181         (pdump_file_get): Save alocated handles for pdump_file_unmap
10182
10183 2000-03-28  Andy Piper  <andy@xemacs.org>
10184
10185         * gui.c (get_gui_callback): treat Quit specially.
10186
10187 2000-03-27  Andy Piper  <andy@xemacs.org>
10188
10189         * glyphs.c (image_instantiate): be careful to check in the same
10190         way we assigned.
10191
10192 2000-03-27  Didier Verna  <didier@xemacs.org>
10193
10194         * config.h.in: define the proper SMART_INCLUDE macro.
10195         handle renaming of `foo_h_path' to `foo_h_file'.
10196
10197         * database.c: ditto.
10198
10199         * emacs.c: ditto.
10200
10201         * linuxplay.c: ditto.
10202
10203         * terminfo.c: ditto.
10204
10205         * tooltalk.h: ditto.
10206
10207 2000-03-27  Andy Piper  <andy@xemacs.org>
10208
10209         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10210         gets updated whenever the face might have changed.
10211
10212 2000-03-26  Mike Alexander  <mta@arbortext.com>
10213
10214         * dumper.c (pdump_resource_free): Fix the comment.
10215
10216 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10217
10218         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10219
10220 2000-03-22  Mike Alexander  <mta@arbortext.com>
10221
10222         * dumper.c: Include Windows headers on Windows
10223         (pdump_resource_free): Add a body to the function
10224         (pdump_load): exe_name -> exe_path and add some comments.
10225
10226 2000-03-25  Mike Alexander  <mta@arbortext.com>
10227
10228         * gui.c (copy_gui_item_tree): Return a value in all cases
10229
10230 2000-03-21  Didier Verna  <didier@xemacs.org>
10231
10232         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10233         lwlib/config.h.in.
10234         (SMART_INCLUDE): new macro.
10235         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10236         the proper location.
10237
10238         * postgresql.c: use it.
10239
10240         * inline.c: ditto.
10241
10242 2000-03-24  Andy Piper  <andy@xemacs.org>
10243
10244         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10245         do this.
10246
10247 2000-03-24  Andy Piper  <andy@xemacs.org>
10248
10249         * redisplay-output.c (compare_runes): use image_instance_changed
10250         to detect changes. Do not depend on glyphs_changed, only depend on
10251         dirtiness.
10252          (redisplay_output_layout): add debug messages.
10253         (compare_runes): ditto.
10254
10255         * glyphs.h: declare new functions.
10256         (struct Lisp_Image_Instance): remove percent and associated
10257         accessors.
10258
10259         * gui.h: declare new copying functions.
10260
10261         * gui.c (copy_gui_item_tree): new function.
10262         (copy_gui_item): new function.
10263         (gui_item_id_hash): revert to standard hash.
10264         (gui_item_hash): ditto.
10265         (gui_item_hash_internal): deleted.
10266         (mark_gui_item): mark value.
10267         (gui_item_add_keyval_pair): add value.
10268         (gui_item_init): ditto.
10269         (gui_add_item_keywords_to_plist): ditto.
10270         (gui_item_equal): ditto.
10271         (syms_of_gui): add Q_value.
10272
10273         * glyphs-x.c (x_progress_gauge_update): use pending items and
10274         value for setting the state.
10275         (x_update_widget): don't set items from pending here.
10276
10277         * glyphs-widget.c (update_widget): update items here.
10278         (progress_gauge_set_property): use items for storing value. Put
10279         new value in pending items.
10280
10281         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10282         items for new value. Convert percent -> value.
10283         (mswindows_tab_control_update): don't update items here.
10284
10285         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10286         (update_subwindow): ditto.
10287         (image_instance_changed): new function. Compare hash values and
10288         past and present widget items.
10289         (image_instantiate): We more careful about where we instantiate
10290         things.
10291         (image_instantiate): add error checking.
10292
10293         * gutter.c (syms_of_gutter): use -hook.
10294
10295 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10296
10297         * console-tty.c (Fset_console_tty_input_coding_system): Use
10298         Qkeyboard.
10299         (Fset_console_tty_output_coding_system): Use Qterminal.
10300         (tty_init_console): Use Qkeyboard and Qterminal.
10301
10302 2000-03-21  Ben Wing  <ben@xemacs.org>
10303
10304         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10305         From Mike Alexander <mta@arbortext.com>.
10306
10307 2000-03-21  Ben Wing  <ben@xemacs.org>
10308
10309         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10310         process brokenness.  Proper implementation to come.
10311         * callproc.c:
10312         Rename call-process-internal to old-call-process-internal.
10313         New impl. in process.el.
10314
10315 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10316
10317         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10318
10319 2000-03-20  Andy Piper  <andy@xemacs.org>
10320
10321         * glyphs.c (full_list_hash): make hashes of the same elements in
10322         different orders return different values.
10323
10324 2000-03-20  Martin Buchholz <martin@xemacs.org>
10325
10326         * XEmacs 21.2.32 is released.
10327
10328 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10329
10330         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10331         (DFC_MALLOC_USE_CONVERTED_DATA):
10332         Add aliasing-safe casts to allow use with char* or unsigned char*
10333         lvalues.
10334
10335         * eldap.c (Fldap_open):
10336         (Fldap_search_basic):
10337         (Fldap_add):
10338         (Fldap_modify):
10339         Make C++-compilable.
10340         Make sure GCPRO'ed variables are initialized.
10341         Use temp variables to avoid repeated calls to Flength.
10342
10343 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10344
10345         * sysfile.h:
10346         Make sure PATH_MAX is always defined.
10347         Include limits.h for PATH_MAX.
10348         Deprecate use of MAXPATHLEN.
10349
10350 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10351
10352         * emacs.c: Add reinit_vars_of_fileio.
10353         * symsinit.h: Add reinit_vars_of_fileio.
10354         * fileio.c (reinit_vars_of_fileio): New.
10355         * fileio.c (Fmake_temp_name):
10356         Initialize temp_name random number from microseconds to make
10357         collisions even less likely.  Initialize always at process startup
10358         time.  (make-temp-name) used to return the same file name twice in
10359         a row when PDUMP.
10360         Random stylistic fiddling.
10361         Comment fixes.
10362
10363 2000-03-20  Andy Piper  <andy@xemacs.org>
10364
10365         * glyphs.c (image_instantiate): allow text glyphs to be
10366         instantiated in the minibuffer window.
10367
10368 2000-03-19  Andy Piper  <andy@xemacs.org>
10369
10370         * glyphs.c (image_instance_hash): be careful about which items we
10371         hash on.
10372
10373         * glyphs-widget.c (tab_control_set_property): record into pending
10374         items rather than the actual items.
10375
10376         * glyphs-x.c (x_update_widget): use pending items to update with.
10377
10378         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10379         to update with.
10380
10381         * glyphs.c (mark_image_instance): mark pending items.
10382
10383         * window.c (Fset_window_configuration): record the buffer.
10384         (Fselect_window): totally revert previous change which breaks many
10385         things.
10386
10387 2000-03-18  Andy Piper  <andy@xemacs.org>
10388
10389         * glyphs-msw.c (mswindows_tab_control_update): force selected
10390         item.
10391
10392         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10393         window domain cache, otherwise we get inconsistencies at
10394         startup. There is something fishy at startup which can lead to the
10395         minibuffer being the selected window when the gutter content is
10396         instantiated.
10397
10398         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10399         gcpros.
10400         (parse_gui_item_tree_children): ditto.
10401         (parse_gui_item_tree_item): ditto.
10402
10403         * glyphs.c (Fupdate_widget_instances): return something.
10404
10405 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10406
10407         * window.c (Fselect_window): Undo 2000-03-17 change.
10408
10409 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10410
10411         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10412         against v7.0 libraries.  Insta-coredump city until the postgres
10413         folks fix it.
10414
10415 2000-03-17  Andy Piper  <andy@xemacs.org>
10416
10417         * faces.c (complex_vars_of_faces): don't give the widget face an
10418         inherited background pixmap.
10419
10420         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10421         selected item.
10422
10423         * event-stream.c (Fdispatch_non_command_events): return something.
10424
10425         * gutter.c (output_gutter): use widget face.
10426         (clear_gutter): ditto.
10427
10428         * NEWS: adjust again.
10429
10430         * window.c (Fselect_window): make sure this runs to completion to
10431         avoid oddities with Fset_window_configuration.
10432         (Fcurrent_window_configuration): in general do not save the
10433         minibuffer as the selected window.
10434
10435         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10436
10437 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10438
10439         * emacs.c (Frunning_temacs_p): Revert previous patch.
10440         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10441
10442 2000-03-16  Andy Piper  <andy@xemacs.org>
10443
10444         * glyphs-x.c (x_tab_control_update): if no widget values then
10445         return.
10446
10447         * NEWS: update for new features.
10448
10449         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10450         synthetic event to the native system.
10451         (reinit_vars_of_event_Xt): set force_event_pending to
10452         emacs_Xt_force_event_pending.
10453
10454         * events.h (struct event_stream): add force_event_pending.
10455
10456         * specifier.c (recompute_one_cached_specifier_in_window): add
10457         comment.
10458
10459         * redisplay.c (redisplay_frame): don't call
10460         update_frame_subwindows. Reset subwindow cachels when
10461         subwindows_changed, removing this was an optimization too far.
10462
10463         * redisplay-output.c (compare_runes): reorganize so that we catch
10464         glyph changes when we want them. Set optimize_output when this
10465         would help layouts.
10466         (redisplay_output_layout): remove frame_really_changed, use
10467         optimize_output instead.
10468
10469         * redisplay-msw.c (mswindows_output_display_block): reset
10470         optimize_output after outputting a glyph.
10471         * redisplay-x.c (x_output_display_block): ditto.
10472         * redisplay-tty.c (tty_output_display_block): ditto.
10473
10474         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10475         functions.
10476         (gutter_specs_changed): do specific gutter positions.
10477         (top_gutter_specs_changed): new function. Only update the
10478         specified gutter specs.
10479         (bottom_gutter_specs_changed): ditto.
10480         (left_gutter_specs_changed): ditto.
10481         (right_gutter_specs_changed): ditto.
10482
10483         * gui.c (gui_item_hash_internal): new function, does a real hash.
10484         (gui_item_id_hash): use it.
10485         (gui_item_hash): hash the eval'ed gui_item.
10486
10487         * gui-x.c (popup_selection_callback): send an eval event to call
10488         Fupdate_widget_instances.
10489
10490         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10491         to call Fupdate_widget_instances.
10492
10493         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10494         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10495
10496         * glyphs.c: (update_frame_subwindows): deleted.
10497         (Fupdate_widget_instances): new function for updating the dirty
10498         state of widgets that might have changed.
10499         (syms_of_glyphs): add Qupdate_widget_instances.
10500         (full_list_hash): hash a list completely.
10501         (image_instance_hash): use it for items and properties.
10502
10503         * frame-msw.c (mswindows_size_frame_internal): remove unused
10504         variable.
10505
10506         * faces.h (struct face_cachel): fix comment.
10507
10508         * event-stream.c (Fdispatch_non_command_events): new
10509         function. Process non-command events, forcing an event cycle
10510         beforehand.
10511         (syms_of_event_stream): declare.
10512         (event_stream_force_event_pending): new function. Force an event
10513         on the native event queue so that an event cycle will occur next
10514         time we check.
10515
10516         * event-msw.c:
10517         (struct ntpipe_shove_stream):
10518         (mswindows_enqueue_dispatch_event):
10519         (mswindows_dequeue_dispatch_event):
10520         (mswindows_cancel_dispatch_event):
10521         (mswindows_pump_outstanding_events):
10522         (mswindows_drain_windows_queue):
10523         (mswindows_handle_paint):
10524         (mswindows_wnd_proc):
10525         (mswindows_key_to_emacs_keysym):
10526         (get_process_input_waitable):
10527         (emacs_mswindows_delete_stream_pair): re-indent file.
10528         (mswindows_need_event): do not process further fds if the windows
10529         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10530         fixes the 100% cpu problem.
10531         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10532
10533 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10534
10535         * alloc.h: New.
10536         * dumper.h: New.
10537         * dumper.c: New.
10538
10539         * emacs.c: Moved dump file searching to dumper.c.
10540         (Frunning_temacs_p): Fixed.
10541
10542         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10543         last_lrecord_type_index_assigned.
10544
10545 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10546
10547         * symsinit.h: Added reinit parameter to init_console_stream
10548         declaration.
10549
10550         * lisp.h: Added file parameter to pdump_load declaration.
10551
10552         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10553         support.  Added dump file searching.
10554
10555         * config.h.in: Added EMACS_PROGNAME.
10556
10557         * console-stream.c (init_console_stream): Fix reinitialisation
10558         when running from temacs.
10559
10560         * alloc.c (pdump): Add id support.
10561         (pdump_load): Add file parameter and signature/id support.
10562
10563         * Makefile.in.in: Add full pdump support.
10564
10565 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10566
10567         * postgresql.c: Update documentation to reflect latest code
10568         status.
10569         (print_result): Show tuple counts in printed representation when
10570         appropriate.
10571         (Fpq_put_nbytes): MULE-ize.
10572         (Fpq_get_line_async): Ditto.
10573
10574 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10575
10576         * postgresql.c (Fpq_lo_import): Fix return value.
10577         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10578
10579 2000-03-13  Ben Wing  <ben@xemacs.org>
10580
10581         * alloc.c (pdump_load):
10582         Fix compile warning under mswin.
10583
10584 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10585
10586         * postgresql.c: Mule-ization, bug fixes.
10587         Use PG_CODING to encapsulate coding system name changes.
10588         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10589         (pg-coding-system): Create.
10590
10591         (Fpq_conn_defaults): Mule-ize.
10592         (Fpq_connectdb): Mule-ize & bug fix.
10593         (Fpq_connect_start): Mule-ize.
10594         (Fpq_set_client_encoding): Mule-ize.
10595         (Fpq_finish): Document `DEAD' connection status.
10596         (Fpq_clear): Ditto.
10597         (Fpq_pgconn): Mule-ize.
10598         (Fpq_exec): Mule-ize & bug fix.
10599         (Fpq_send_query): Ditto.
10600         (Fpq_get_result): Ditto.
10601         (Fpq_res_status): Mule-ize.
10602         (Fpq_result_error_message): Mule-ize.
10603         (Fpq_ntuples): fix comments.
10604         (Fpq_fname): Mule-ize.
10605         (Fpq_fnumber): Mule-ize.
10606         (Fpq_ftype): fix comments.
10607         (Fpq_get_value): Mule-ize.
10608         (Fpq_cmd_status): Ditto.
10609         (Fpq_cmd_tuples): Ditto.
10610         (Fpq_oid_value): Ditto.
10611         (Fpq_notifies): Ditto.
10612         (Fpq_lo_import): Ditto.
10613         (Fpq_lo_export): Ditto.
10614         (Fpq_get_line): Ditto.
10615         (Fpq_put_line): Mule-ize and bug fix.
10616         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10617
10618 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10619
10620         * postgresql.c (vars_of_postgresql): Mule-ize.
10621         (Fpq_conn_defaults): Ditto.
10622
10623 2000-03-12  Ben Wing  <ben@xemacs.org>
10624
10625         * alloc.c (Fmake_byte_code):
10626         * alloc.c (debug_string_purity_print):
10627         * alloc.c (pdump_backtrace):
10628         * alloc.c (pdump_get_indirect_count):
10629         * alloc.c (pdump_register_sub):
10630         * alloc.c (pdump_register_object):
10631         * alloc.c (pdump_register_struct):
10632         * alloc.c (pdump_dump_data):
10633         * alloc.c (pdump_reloc_one):
10634         Minor cleanups.
10635
10636         * console-msw.c:
10637         * console-msw.c (GetConsoleHwnd):
10638         * console-msw.c (msw_hide_console):
10639         * console-msw.c (msw_show_console):
10640         * console-msw.c (msw_ensure_console_buffered):
10641         * console-msw.c (msw_output_console_string):
10642         * console-msw.c (console_type_create_mswindows):
10643
10644         a) Added functions to manipulate the console window for use with
10645         shell support.
10646
10647         b) Added support for writing text to the console, which is now
10648         used under Windows when xemacs is not being run non-interactively,
10649         to write text that would otherwise be destined for stdout because
10650         under these circumstances, text written to stdout tends to
10651         disappear and not be seen.
10652
10653         * console-msw.h:
10654         * event-Xt.c:
10655         * event-Xt.c (x_event_to_emacs_event):
10656         * event-Xt.c (describe_event_window):
10657         * events-mod.h (XEMACS_MOD_CONTROL):
10658         * events.c:
10659         * events.c (Fmake_event):
10660         * events.c (character_to_event):
10661         * events.c (event_to_character):
10662         * events.c (format_event_object):
10663         * events.c (Fevent_modifiers):
10664         * events.h:
10665         * events.h (struct key_data):
10666         * events.h (struct button_data):
10667         * events.h (struct misc_user_data):
10668         * frame-x.c (Fcde_start_drag_internal):
10669         * frame-x.c (Foffix_start_drag_internal):
10670         * gpmevent.c (Freceive_gpm_event):
10671         * keymap.c:
10672         * keymap.c (bucky_sym_to_bucky_bit):
10673         * keymap.c (control_meta_superify):
10674         * keymap.c (make_key_description):
10675         * keymap.c (keymap_lookup_directly):
10676         * keymap.c (create_bucky_submap):
10677         * keymap.c (keymap_store):
10678         * keymap.c (define_key_check_and_coerce_keysym):
10679         * keymap.c (define_key_parser):
10680         * keymap.c (define_key_alternate_name):
10681         * keymap.c (Fdefine_key):
10682         * keymap.c (raw_lookup_key_mapper):
10683         * keymap.c (struct map_keymap_unsorted_closure):
10684         * keymap.c (map_keymap_unsorted_mapper):
10685         * keymap.c (map_keymap_sort_predicate):
10686         * keymap.c (map_keymap_sorted):
10687         * keymap.c (accessible_keymaps_mapper_1):
10688         * keymap.c (where_is_recursive_mapper):
10689         * keymap.c (describe_map_mapper):
10690         * keymap.c (describe_map_sort_predicate):
10691         * keymap.c (describe_map):
10692         * keymap.c (complex_vars_of_keymap):
10693         And a number of other files, the key modifier preprocessor
10694         constants that xemacs uses have names that conflict with constants
10695         defined under MS Windows for other purposes, so they were renamed
10696         to begin with the prefix XEMACS_. The variables that hold such
10697         modifiers were changed to consistently be of type int to fix
10698         various compile warnings.
10699
10700         * console.c (complex_vars_of_console):
10701         * device.c:
10702         * device-msw.c:
10703         * device-msw.c (mswindows_finish_init_device):
10704         * device-msw.c (msw_get_workspace_coords):
10705         * device-msw.c (mswindows_device_system_metrics):
10706         and various other files, added support for a new
10707         device property called offset-workspace which returns the position
10708         of the upper left corner of the workspace area and goes along with
10709         the existing size-workspace property.
10710
10711         * dialog-msw.c:
10712         * dialog-msw.c (push_bufbyte_string_as_unicode):
10713         * dialog-msw.c (mswindows_popup_dialog_box):
10714         Added support for XEmacs-style accelerator specifications in
10715         button text.  Note: I didn't add support for this under X Windows,
10716         and somebody needs to do this.
10717
10718         * dialog.c:
10719         * dialog.c (Fpopup_dialog_box):
10720         Documented the support for accelerators that was just mentioned.
10721
10722         editfns.c (get_home_directory): Changed behavior under Windows
10723         when HOME not defined; former behavior was irretrievably broken.
10724
10725         * emacs.c:
10726         * emacs.c (main_1):
10727         * emacs.c (main):
10728         * minibuf.c (clear_echo_area_internal):
10729         * minibuf.c (echo_area_append):
10730         * print.c:
10731         * print.c (std_handle_out_external):
10732         * print.c (std_handle_out_va):
10733         * print.c (fatal):
10734         * print.c (write_string_to_stdio_stream):
10735         * print.c (output_string):
10736         * print.c (debug_print):
10737         * print.c (debug_backtrace):
10738         * print.c (debug_short_backtrace):
10739         Cleaned up the code that prints text to stdout so that this can be
10740         changed to output into a console window instead under MS Windows,
10741         as described above.
10742
10743         * eval.c:
10744         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10745         * eval.c (internal_catch):
10746         * eval.c (unwind_to_catch):
10747         * eval.c (throw_or_bomb_out):
10748         * eval.c (condition_case_1):
10749         * eval.c (signal_1):
10750         * eval.c (check_error_state_sanity):
10751         * eval.c (call_with_suspended_errors_1):
10752         * eval.c (call_with_suspended_errors):
10753         * eval.c (reinit_vars_of_eval):
10754         Added code to catch throw loops and check for a pesky bug that may
10755         be gone now.
10756
10757         * event-msw.c:
10758         * event-msw.c (key_needs_default_processing_p):
10759         * event-msw.c (mswindows_wnd_proc):
10760         * event-msw.c (mswindows_modifier_state):
10761         * event-msw.c (emacs_mswindows_quit_p):
10762         * event-msw.c (vars_of_event_mswindows):
10763         a) Added support for using the alt key to select menu items as is
10764         standard under MS Windows.  This is controlled using the variable
10765         menu-accelerator-enabled, just like under X Windows.  There is an
10766         option on the options menu to turn this support on.  I really
10767         think that it should be on by default under Windows, but I'm not
10768         going to make this change yet.
10769
10770         b)  Added support for dynamic display size changes under Windows.
10771
10772         * event-stream.c:
10773         * event-stream.c (maybe_echo_keys):
10774         * event-stream.c (Fnext_event):
10775         * event-stream.c (command_builder_find_leaf):
10776         * event-stream.c (lookup_command_event):
10777         * event-stream.c (execute_command_event):
10778         * event-stream.c (pre_command_hook):
10779         * event-stream.c (post_command_hook):
10780         * event-stream.c (syms_of_event_stream):
10781         * event-stream.c (vars_of_event_stream):
10782         * event-stream.c (complex_vars_of_event_stream):
10783         * events.h (struct command_builder):
10784
10785         a) Tried to clean up a little bit the horribly written x-specific
10786         accelerator code that crept into this file.  I moved this code
10787         into menubar-x.c where it belongs. I also needed to move the
10788         command builder structure into the file events.h because it is
10789         accessed directly by this accelerator code.  What I didn't do, but
10790         which should be done at some point, is to properly abstract this
10791         code using device methods instead of the kludgy way that it
10792         currently hooks into the event code.
10793
10794         b) Added the lisp variables this-command-properties and
10795         last-command- properties, which should be used to synchronize two
10796         adjacent commands in preference to playing games with the variable
10797         this-command, which is typically what happens.
10798
10799         c) Added some slightly nasty code to hook into the lisp support
10800         for shifted- motion-key selection.  This is actually necessary for
10801         somewhat complicated reasons, which are described in
10802         simple.el. (NB: I think the proper thing would be to have the code
10803         that calls the pre and post command hooks also call out to generic
10804         lisp functions in simple.el, where all built-in stuff could be
10805         added.  I will think about this more.)
10806
10807         * event-unixoid.c (poll_fds_for_input):
10808         * lread.c (readchar):
10809         * redisplay-tty.c (tty_clear_frame):
10810         * redisplay-x.c (x_get_gc):
10811         * signal.c (interrupt_signal):
10812         And a whole bunch of other files: fixed up places that printed
10813         directly to stderr to instead call the function stderr_out so that
10814         the changes I made under Windows work correctly.
10815
10816         * filemode.c (mode_string):
10817         Warning fixes.
10818
10819         * frame-msw.c:
10820         * frame-msw.c (mswindows_size_frame_internal):
10821         Fixed the computation of frame size and position to keep the frame
10822         within the workspace area, rather than within the physical
10823         dimensions of the screen, so that the frame doesn't overlap window
10824         manager decorations, such as the start menu and toolbar, typically
10825         at the bottom of the screen.
10826
10827         * frame.c (vars_of_frame):
10828         Changed the default frame title format under MS Windows to consist
10829         of buffername-XEmacs, which is standard under MS Windows.  I think
10830         it might be a good idea to change this everywhere because I think
10831         it is superior to the current frame title format, but this is the
10832         kind of change that is likely to cause some people to get annoyed,
10833         so I'm not making it.
10834
10835         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10836
10837         * gui-msw.c (mswindows_handle_gui_wm_command):
10838         Fixed compile warnings.
10839
10840         * gui-x.c:
10841         * gui-x.c (strdup_and_add_accel):
10842         * gui-x.c (button_item_to_widget_value):
10843         * gui-x.h:
10844         Added code to automatically put an accelerator onto the beginning
10845         of menu items that don't have one as is now the standard, and is
10846         described more later.  Also fixed things so that the menu item
10847         name can be an evaluated expression, again a new standard.
10848
10849         * gui.c:
10850         * gui.c (gui_item_add_keyval_pair):
10851         * gui.c (make_gui_item_from_keywords_internal):
10852         * gui.c (gui_add_item_keywords_to_plist):
10853         * gui.c (gui_item_accelerator):
10854         * gui.c (gui_name_accelerator):
10855         * gui.c (gui_item_included_p):
10856         * gui.c (gui_item_display_flush_left):
10857         * gui.c (gui_item_display_flush_right):
10858         * gui.c (parse_gui_item_tree_item):
10859         * gui.c (parse_gui_item_tree_children):
10860         * gui.c (parse_gui_item_tree_list):
10861         Mule-ized.  Cleanup.  GCPRO addition.
10862
10863         * line-number.c (buffer_line_number):
10864         * lisp.h:
10865         * lisp.h (EMACS_INT_MAX):
10866         Added the manifest constant EMACS_INT_MIN corresponding to the
10867         existing constant EMACS_INT_MAX.  This is partially to fix compile
10868         warnings under Windows, and partly for cleanliness.
10869
10870         * menubar-msw.c:
10871         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10872         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10873         * menubar-msw.c (displayable_menu_item):
10874         * menubar-msw.c (populate_menu_add_item):
10875         * menubar-msw.c (populate_or_checksum_helper):
10876         * menubar-msw.c (populate_menu):
10877         * menubar-msw.c (update_frame_menubar_maybe):
10878         * menubar-msw.c (prune_menubar):
10879         * menubar-msw.c (msw_char_is_accelerator):
10880         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10881         * menubar-msw.c (mswindows_handle_wm_command):
10882         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10883         * menubar-msw.c (mswindows_handle_wm_initmenu):
10884         * menubar-msw.c (mswindows_update_frame_menubars):
10885         * menubar-msw.c (mswindows_free_frame_menubars):
10886         * menubar-msw.c (mswindows_popup_menu):
10887         Fixed a bug in handling accelerators where an extra character
10888         would be displayed in the menu item.  Also generalized the
10889         function displayable_menu_item because it is now used by the
10890         dialog box code as well.  And finally, added code in the functions
10891         that create the menubar to extract a list of accelerators for the
10892         top level menubar, which is used in the event code to determine
10893         whether a particular alt-key combination should be used to invoke
10894         a menu item, or should be passed through to access the standard
10895         XEmacs keymap binding for this key combination.
10896
10897         Much needed GCPROing.
10898
10899         * menubar-x.c:
10900         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10901         * menubar-x.c (menu_item_descriptor_to_widget_value):
10902         * menubar-x.c (restore_in_menu_callback):
10903         * menubar-x.c (x_popup_menu):
10904         * menubar-x.c (menu_move_up):
10905         * menubar-x.c (menu_move_down):
10906         * menubar-x.c (menu_move_left):
10907         * menubar-x.c (menu_move_right):
10908         * menubar-x.c (menu_select_item):
10909         * menubar-x.c (command_builder_operate_menu_accelerator):
10910         * menubar-x.c (menu_accelerator_junk_on_error):
10911         * menubar-x.c (command_builder_find_menu_accelerator):
10912         * menubar-x.c (Faccelerate_menu):
10913         * menubar.h:
10914         Moved a whole bunch of code here that was previously in
10915         event-stream.c as described above.  There is also code connected
10916         to the new standard of adding an accelerator to the beginning of
10917         menu items that don't have one as described above and below.
10918
10919         * menubar.c:
10920         * menubar.c (menu_parse_submenu_keywords):
10921         * menubar.c (Fmenu_find_real_submenu):
10922         * menubar.c (Fnormalize_menu_item_name):
10923         * menubar.c (syms_of_menubar):
10924         * menubar.c (vars_of_menubar):
10925         * menubar.c (complex_vars_of_menubar):
10926
10927         a) Cleaned up a bunch of documentation and improved it.
10928
10929         b) XEmacs now automatically adds an accelerator onto the beginning
10930         of any menu items that don't have one.  I did this because there
10931         will inevitably be some menu items on the main menubar that don't
10932         have accelerators on them because the package that adds that
10933         particular menu item hasn't yet been fixed up to have accelerators
10934         in them and it looked rather strange to have some items with and
10935         some items without accelerators, especially since even in items
10936         without accelerators, you can, at least under windows, still
10937         access the item through an accelerator corresponding to the first
10938         character in the item's name.  If people don't like this behavior,
10939         I can add a variable to turn it off optionally, but I'm not sure
10940         this is a good idea because we really do need to have accelerators
10941         on all of the menu items, and if a package doesn't like the
10942         accelerators being put on the first character, then it should put
10943         the accelerators where they belong.
10944
10945         c) I made a behavior change, which is that the descriptor that
10946         specifies the text of the menu item, which formerly was just a
10947         string, can now also be an evaluated expression.  This makes this
10948         descriptor parallel with all of the others, which could also be
10949         evaluated expressions.  This also obviates the need for the
10950         keyword :label, which was previously listed in the documentation
10951         as unimplemented, and which was for the same purpose.
10952
10953         d) GCPROing.
10954
10955         * ntproc.c:
10956         * ntproc.c (new_child):
10957         * ntproc.c (sys_spawnve):
10958         * ntproc.c (find_child_console):
10959         * ntproc.c (sys_kill):
10960         Fixed compile warnings.  By the way, this file should really go
10961         away entirely, and this will happen as soon as Kirill makes his
10962         final round of process cleanups, which affect the function
10963         call-process.
10964
10965         * process-nt.c:
10966         * process-nt.c (struct nt_process_data):
10967         * process-nt.c (find_process_from_pid):
10968         * process-nt.c (send_signal_the_nt_way):
10969         * process-nt.c (enable_child_signals):
10970         * process-nt.c (find_child_console):
10971         * process-nt.c (send_signal_the_95_way):
10972         * process-nt.c (nt_finalize_process_data):
10973         * process-nt.c (ensure_console_window_exists):
10974         * process-nt.c (nt_create_process):
10975         * process-nt.c (nt_kill_child_process):
10976         * process-nt.c (nt_kill_process_by_pid):
10977         * process-nt.c (nt_open_network_stream):
10978         * process-nt.c (vars_of_process_nt):
10979         Copied over code from Emacs 20.5 to correctly send signals to sub-
10980         processes under Windows 95.  Also added code to automatically
10981         create and hide console window when a sub-process is created under
10982         Windows 95, which obviates the need for the separate runemacs.exe
10983         executable, and finally implemented some variables that were
10984         implemented in Emacs 20.5, but previously not in XEmacs.  These
10985         include mswindows- start-process-share-console and
10986         mswindows-start-process-inherit-error-mode. (Both of these only
10987         apply to Windows 95.)
10988
10989         * regex.c (regex_compile): Fixed a compile warning.
10990
10991         * select-msw.c:
10992         * select-msw.c (mswindows_own_selection):
10993         * select-msw.c (mswindows_get_foreign_selection):
10994         * select-msw.c (mswindows_disown_selection):
10995         * select-msw.c (console_type_create_select_mswindows):
10996         * select-msw.c (syms_of_select_mswindows):
10997         Cleaned up the file and implemented the device method
10998         selection_exists_p, which had accidentally been left out.  Also
10999         removed four lisp functions that were remnants from before the
11000         time when the selection code was properly device abstracted.
11001         These functions are no longer needed because there are generic
11002         equivalents, and because they were added recently and don't exist
11003         in FSF Emacs, I don't think there's any problem with just deleting
11004         them.
11005
11006         * sysdep.c:
11007         * sysdep.c (sys_subshell):
11008         Fixed a compile warning, although in this case there's probably
11009         something wrong with this code, and it ought to be looked into
11010         more thoroughly by somebody who understands it.
11011
11012         * window.c:
11013         * window.c (Fwindow_text_area_height):
11014         * window.c (Fwindow_width):
11015         * window.c (Fwindow_full_width):
11016         * window.c (Fwindow_pixel_width):
11017         * window.c (debug_print_window):
11018         * window.c (syms_of_window):
11019         Added functions window-text-area-height and window-full-width,
11020         which are functions for returning various width and height
11021         characteristics of a window. (One of these functions is necessary
11022         for making the file dialog box work correctly, and the other one
11023         was added for completeness.)  Also added a table to the
11024         documentation for window-height which describes the entire scheme
11025         for accessing width and height characteristics of a window.
11026
11027 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11028
11029         * nt.c (fstat): Added a comment for another problem with
11030         non-encapsulated [f]stat(), reported by Adrian Aichner
11031         <aichner@ecf.teradyne.com>.
11032
11033 2000-03-11  Andy Piper  <andy@xemacs.org>
11034
11035         * window.c (make_dummy_parent): initialize subwindow instance
11036         cache.
11037         (Fset_window_configuration): zero extent_modiff.
11038
11039 2000-03-10  Andy Piper  <andy@xemacs.org>
11040
11041         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
11042         more changes can be triggered.
11043         (Fredisplay_frame): ditto.
11044         (Fredraw_device): ditto.
11045         (Fredisplay_device): ditto.
11046         (redisplay_frame): make non-static.
11047         (redisplay_frame): call update_frame_gutter_geometry outside of
11048         display proper.
11049
11050         * gutter.h: declare update_frame_gutter_geometry.
11051
11052         * redisplay.h: declare redisplay_frame.
11053
11054         * gutter.c (update_frame_gutter_geometry): move geometry changes
11055         in update_frame_gutters here. Geometry changes can only occur
11056         outside of redisplay.
11057         (update_frame_gutters): remove geometry change code.
11058         (Fredisplay_gutter_area): make sure that we are in display when we
11059         update and that we have flushed any size changes.
11060
11061 2000-03-11  Andy Piper  <andy@xemacs.org>
11062
11063         * alloc.c (pdump_dump_data): remove i & count shadows.
11064
11065 2000-02-27  Mike Alexander  <mta@arbortext.com>
11066
11067         * sysdep.h: Declare pdump_read_file
11068
11069         * sysdep.c (pdump_read_file): New function
11070
11071         * alloc.c (pdump_load): Call pdump_read_file to get the portable
11072         dump data
11073
11074 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11075
11076         * lrecord.h: add `lrecord_type_pgsetenv'.
11077
11078 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
11079
11080         * symsinit.h: declare (vars|syms)_of* functions.
11081         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
11082
11083 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
11084
11085         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
11086
11087         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
11088         GCCs.
11089
11090         * emacs.c (main_1): Call postgres initialization code.
11091
11092         * postgresql.h: New file.  PostgreSQL RDBMS support.
11093         * postgresql.c: New file.
11094
11095 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11096
11097         * redisplay-output.c (redisplay_output_display_block): Disable
11098         redundant code.
11099
11100 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11101
11102         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
11103         (Fcanna_henkan_next): Ditto.
11104         (Fcanna_bunsetu_henkou): Ditto.
11105         (Fcanna_henkan_kakutei): Ditto.
11106         (Fcanna_henkan_end): Ditto.
11107         (Fcanna_henkan_quit): Ditto.
11108         (Fcanna_henkan_next): Set retun value correctly.
11109         (c2mu): Use unsigned char instead of signed char.
11110
11111 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11112
11113         * emacs.c (main_1): Always call syms_of_gui.
11114         * inline.c: include gui.h
11115
11116 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11117
11118         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
11119         converted to Lisp_Object.
11120         (Qtop_bottom): New variable.
11121         (syms_of_redisplay): Initialize it.
11122         * redisplay.h (Vvisible_bell): Ditto.
11123         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
11124         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
11125         only flash top and bottom.
11126
11127 2000-03-08  Andy Piper  <andy@xemacs.org>
11128
11129         * buffer.c (Frename_buffer): record new buffer name the right way.
11130
11131 2000-03-08  Andy Piper  <andy@xemacs.org>
11132
11133         * glyphs.c (update_subwindow): increase hash depth so that widget
11134         items get picked up properly.
11135
11136         * redisplay-output.c (compare_runes): increase hash depth so that
11137         widget items get picked up properly.
11138
11139 2000-03-08  Andy Piper  <andy@xemacs.org>
11140
11141         * gutter.c (output_gutter): add some debug.
11142
11143         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
11144         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
11145         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
11146
11147         * redisplay-output.c (compare_runes): use display_hash to
11148         determine if glyphs really are not the same.
11149
11150         * glyphs.c (update_subwindow): check display_hash to see if
11151         anything really needs to be updated. If not then do
11152         nothing. Record the display_hash after updating.
11153         (image_instance_equal): compare the image_instance face also.
11154
11155 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
11156
11157         * redisplay.h: Fix comment style.
11158
11159 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11160
11161         * consle-msw.h (struct mswindows_frame):
11162         Added new member paint_pending to indicate whether a WM_PAINT
11163         magic event has been queued for this frame.
11164
11165         * event-msw.c (mswindows_drain_windows_queue):
11166         Don't queue a WM_PAINT magic event if one is already queued.
11167         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
11168
11169         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
11170
11171 2000-03-07  Didier Verna  <didier@xemacs.org>
11172
11173         * dired.c: #include `regex.h' after `sysfile.h'.
11174
11175 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11176
11177         * sound.c (init_nas_sound): Fix compiler warning.
11178
11179         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11180         (FREE_STRUCT_P):
11181         (MARK_STRUCT_AS_FREE):
11182         (MARK_STRUCT_AS_NOT_FREE):
11183         Make `gcc -fstrict-aliasing' work properly.
11184
11185 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11186
11187         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11188         (mswindows_delete_device): Call CoUnnitialize().
11189
11190         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11191
11192 2000-02-25    <CraigL@DyCon.com>
11193
11194         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11195         <errno.h>.
11196
11197         * sysdep.c: This extern declaration for environ prevents MinGW
11198         from finding the variable in CRTDLL.DLL.
11199
11200         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11201         windows headers.
11202         (SHGFI_EXETYPE): ..
11203         (WM_MOUSEWHEEL): ..
11204         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11205         definitions.
11206         (MMRESULT): Removed, now defined in cygwin's windows headers.
11207         (TIMECAPS): ..
11208         (uid_t,gid_t,pid_t,ssize_t): ..
11209         (_timeb): Removed, MinGW defines both _timeb and timeb.
11210         (HAVE_H_ERRNO): Added.
11211         (HAVE_TZNAME): Added, configure is not detecting this.
11212
11213 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11214
11215         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11216         * syntax.c (syntax_match): Use it.
11217
11218         * cmds.c: Import auto-fill-chars from FSF Emacs.
11219         (Vauto_fill_chars): New variables.
11220         (internal_self_insert): Check Vauto_fill_chars.
11221         (vars_of_cmds):
11222         Declare auto-fill-chars as a Lisp variable and initialize it.
11223
11224 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11225
11226         * fileio.c (Fmake_symbolic_link):
11227         (Ffile_symlink_p):
11228         Run handlers even if local machine doesn't have symlinks.
11229
11230 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11231
11232         * event-msw.c (mswindows_drain_windows_queue):
11233         Don't generate paint magic events for non-XEmacs frames.
11234
11235 2000-03-05  Andy Piper  <andy@xemacs.org>
11236
11237         * redisplay.c (redisplay_frame): generate_displayable_area and
11238         friends assumes that we are not in GC, we therefore have to make
11239         sure that this doesn't happen.
11240
11241         * gutter.c (calculate_gutter_size): generate_displayable_area
11242         assumes that we are not in GC, we therefore have to make sure that
11243         this doesn't happen.
11244
11245 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11246
11247         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11248
11249 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11250
11251         * redisplay.c (regenerate_window): Make sure we set a sane value
11252         for end_pos even if we jump out of the loop.
11253         (regenerate_window): Answer Ben's question :-).
11254         (start_end_of_last_line): Add may_error argument.
11255         (start_of_last_line):
11256         (end_of_last_line): Pass may_error = 0.
11257         (end_of_last_line_may_error): New function.
11258         (pixel_to_glyph_translation): Use it, so we don't crash in
11259         event_to_glyph.
11260
11261 2000-03-04  Andy Piper  <andy@xemacs.org>
11262
11263         * window.h (struct window): add gutter_extent_modiff.
11264
11265         * window.c (allocate_window): zero out gutter_extent_modiff.
11266
11267         * redisplay.h: declare sync_display_line_structs.
11268
11269         * redisplay.c (add_glyph_rune): add a better comment.
11270
11271         * redisplay-output.c (sync_display_line_structs): made non-static.
11272         (compare_runes): remove unneccesary glyph cachel access.
11273
11274         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11275
11276         * gutter.c (output_gutter): don't output the gutter if extent
11277         changes only involve extents in buffers. use 4 sets of display
11278         lines.
11279         (gutter_extent_signal_changed_region_maybe): new function. Mark
11280         extents in gutters as changed.
11281         (update_frame_gutters): use 4 sets of display lines.
11282         (reset_gutter_display_lines): ditto.
11283         (free_frame_gutters): ditto.
11284         (redraw_exposed_gutter): force output of gutters.
11285
11286         * frame.h (struct frame): add 4 sets of gutter display lines.
11287
11288         * extents.c: (extent_changed_for_redisplay): signal changes to
11289         extents in strings in the gutter as well as extents in buffers.
11290
11291 2000-03-02  Andy Piper  <andy@xemacs.org>
11292
11293         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11294
11295         * frame.c (Fmake_frame): make sure the gutters get initialized
11296         after the frame is visible.
11297         (set_frame_selected_window): re-arrange compilation macros a
11298         little.
11299         (change_frame_size_1): mark gutters changed.
11300
11301         * device.c (Fset_device_class): mark gutters changed.
11302
11303 2000-03-01  Andy Piper  <andy@xemacs.org>
11304
11305         * window.c (window_top_frame_gutter_height): deleted.
11306         (window_bottom_frame_gutter_height): ditto.
11307         (window_left_frame_gutter_height): ditto.
11308         (window_right_frame_gutter_height): ditto.
11309         (window_top_gutter_height): don't use them.
11310         (window_bottom_gutter_height): ditto.
11311         (window_left_gutter_width): ditto.
11312         (window_right_gutter_width): ditto.
11313         (Fsplit_window): ditto.
11314         (Fwindow_pixel_edges): don't use border dimensions here.
11315
11316         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11317         (update_scrollbar_instance): ditto.
11318
11319         * redisplay.c (generate_modeline): don't take gutters into account.
11320         (generate_modeline): ditto.
11321         (redisplay_frame): small gutter display optimization.
11322
11323         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11324
11325         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11326         gutters into account.
11327
11328         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11329         for window position and type.
11330
11331         * gutter.c (get_gutter_coords): fix for frame gutters.
11332         (update_frame_gutters): update frame geometry if the gutters have
11333         changed.
11334         (init_frame_gutters): record current gutter geometries.
11335
11336         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11337         var.
11338         (mswindows_widget_instantiate): ditto.
11339
11340         * frame.h (struct frame): add current_gutter_bounds.
11341
11342         * frame.c (change_frame_size_1): position window and minibuffer
11343         appropriately taking into account the frame gutters.
11344
11345         * frame-x.c: (x_initialize_frame_size): take into account the
11346         frame gutters.
11347
11348 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11349
11350         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11351
11352 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11353
11354         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11355
11356 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11357
11358         * file-coding.c (reset_decoding_stream): Clear previous
11359         detection state when autodetect.
11360
11361 2000-02-29  Didier Verna  <didier@xemacs.org>
11362
11363         * extents.c (set_extent_glyph_1): don't require extents to be
11364         attached.
11365
11366 2000-02-27  Andy Piper  <andy@xemacs.org>
11367
11368         * gutter.c (Fset_default_gutter_position): don't default left and
11369         right gutter visibility to t.
11370         (Fset_default_gutter_position): run
11371         default-gutter-position-changed-hook.
11372         (syms_of_gutter): add default-gutter-position-changed-hook.
11373
11374 2000-02-26  Andy Piper  <andy@xemacs.org>
11375
11376         * specifier.c (Fmake_specifier): add gutter references.
11377
11378         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11379
11380         * lisp.h: declare Fvalid_plist_p.
11381
11382         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11383         as changed.
11384         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11385         well as its visibility so that it gets reconstructed.
11386         (construct_window_gutter_spec): new function. Construct a string
11387         to be displayed in the gutter from a plist of strings. Take care
11388         to only use elements that are declared as visible.
11389         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11390         WINDOW_GUTTER.
11391         (gutter_validate): allow plists of strings in the specifier.
11392         (gutter_specs_changed): construct the real_gutter from the gutter
11393         specs using construct_window_gutter_spec.
11394         (gutter_visible_validate): gutter-visible is a new specifier type.
11395         (Fgutter_visible_specifier_p): new function for the new specifier.
11396         (syms_of_gutter): declare gutter-visible and
11397         Fgutter_visible_specifier_p.
11398         (specifier_type_create_gutter): intitalize new gutter-visible
11399         specifier.
11400         (reinit_specifier_type_create_gutter): ditto.
11401         (specifier_vars_of_gutter): use new specifier type for gutter
11402         visibility.
11403         (init_frame_gutters): construct real_gutter correctly.
11404         (Fgutter_specifier_p): beef up documentation.
11405         (Fgutter_size_specifier_p): ditto.
11406
11407         * winslots.h: add real_gutter slots.
11408
11409 2000-02-25  Andy Piper  <andy@xemacs.org>
11410
11411         * device-msw.c: Be kind to older cygwin versions. From Raymond
11412         Toy <toy@rtp.ericsson.se>.
11413
11414         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11415         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11416
11417 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11418
11419         * elhash.c (MARK_OBJ): Practice macro hygiene.
11420
11421 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11422
11423         * miscplay.c: s/__inline__/inline/g;
11424         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11425         (get_device_compdc): INLINE ==> static inline
11426         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11427         find -name '*.h' | \
11428         xargs global-replace \
11429         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11430
11431 2000-02-25  Andy Piper  <andy@xemacs.org>
11432
11433         * window.c (window_top_frame_gutter_height): new function.
11434         (window_top_window_gutter_height): ditto.
11435         (window_top_gutter_height): use them.
11436         (window_bottom_frame_gutter_height): new function.
11437         (window_bottom_window_gutter_height): ditto.
11438         (window_bottom_gutter_height): use them.
11439         (window_left_window_gutter_width): new function.
11440         (window_left_frame_gutter_width): ditto.
11441         (window_left_gutter_width): use them.
11442         (window_right_window_gutter_width): new function.
11443         (window_right_frame_gutter_width): ditto.
11444         (window_right_gutter_width): use them.
11445         (window_pixel_height): new function. calulate window pixel height
11446         with frame gutter involvement.
11447         (Fsplit_window): calculate new sizes taking frame gutters into
11448         account.
11449         (window_char_height_to_pixel_height): don't include frame gutters.
11450         (window_char_height): use window_pixel_height.
11451         (window_pixheight): rename from window_pixel_height.
11452         (change_window_height): use it.
11453         (window_pixel_height_to_char_height): don't include frame gutters.
11454         (window_char_width_to_pixel_width): ditto.
11455
11456 2000-02-25  Andy Piper  <andy@xemacs.org>
11457
11458         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11459         if it is.
11460
11461 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11462
11463         * alloc.c (staticpro):
11464         (staticpro_nodump):
11465         (dumpstruct):
11466         (dumpopaque):
11467         (pdump_wire):
11468         (pdump_wire_list):
11469         (compact_string_chars):
11470         (pdump_dump_wired):
11471         Convert:  if (foo) abort();  ==>  assert (! foo);
11472
11473         * eldap.c (Fldap_search_basic):
11474         (Fldap_add):
11475         (Fldap_modify):
11476         (Fldap_delete):
11477         Fix compiler warnings, and possible crashes if (random) return
11478         value were to be used.
11479
11480 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11481
11482         * device-msw.c: Workaround ResetDC failure.
11483
11484         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11485         applying a devmode.
11486
11487         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11488         (mswindows_text_width): Do not start printer page.
11489
11490         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11491
11492         * glyphs-msw.c: Added image methods to msprinter console and
11493         msprinter-specific image instantiation.
11494
11495 2000-02-20  Mike Alexander  <mta@arbortext.com>
11496
11497         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11498         to avoid crashes when selection-sets-clipboard is on
11499         (mswindows_own_selection): ditto
11500
11501 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11502
11503         * glyphs-msw.c:
11504         * redisplay-msw.c (get_frame_dc):
11505         (get_frame_compdc):
11506         * console-msw.h:
11507         * device-msw.c (mswindows_init_device):
11508         (mswindows_delete_device):
11509         (msprinter_init_device):
11510         (msprinter_delete_device):
11511         * frame-msw.c (mswindows_init_frame_1):
11512         (mswindows_delete_frame):
11513         (msprinter_init_frame_3):
11514         (msprinter_delete_frame): Move compatible DC to device object from
11515         frame object, for both mswindows and msprinter. Only one at a time
11516         is needed, it is a real waste to have one per frame!
11517
11518 2000-02-23  Andy Piper  <andy@xemacs.org>
11519
11520         * glyphs.c: add dynamic width and height elements.
11521         (image_instance_equal): ditto.
11522
11523         * glyphs-widget.c (widget_query_geometry): calculate width and
11524         height dynamically if required.
11525         (initialize_widget_image_instance): initialize dynamic dimensions.
11526         (widget_instantiate): pick-up dynamic dimensions.
11527
11528         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11529         dynamic determination. Add appropriate macros.
11530
11531         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11532         dimensions safe.
11533         (WINDOW_GUTTER_SIZE): ditto.
11534         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11535
11536         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11537         inline.
11538         (get_frame_dc): ditto.
11539
11540         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11541         here.
11542
11543 2000-02-23  Martin Buchholz <martin@xemacs.org>
11544
11545         * XEmacs 21.2.31 is released.
11546
11547 2000-02-22  Ben Wing <ben@xemacs.org>
11548
11549         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11550
11551 2000-02-22  Andy Piper  <andy@xemacs.org>
11552
11553         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11554
11555 2000-02-21  Mike Sperber <mike@xemacs.org>
11556
11557         * .dbxrc:
11558         * .gdbinit:
11559         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11560         variables.
11561
11562 2000-02-21  Mike Sperber <mike@xemacs.org>
11563
11564         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11565
11566 2000-02-21  Martin Buchholz <martin@xemacs.org>
11567
11568         * XEmacs 21.2.30 is released.
11569
11570 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11571
11572         Performance hacking.
11573         * *.c (syms_of_*):
11574         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11575         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11576         * emacs.c (main_1):
11577         * lisp.h (DEFUN):
11578         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11579         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11580         * symeval.h (DEFVAR_SYMVAL_FWD):
11581         * symbols.c (guts_of_unbound_marker):
11582         Make all c_readonly objects also lisp_readonly and marked for life.
11583         * lrecord.h (struct lrecord_implementation):
11584         Document flags better.
11585         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11586         * lrecord.h (DECLARE_LRECORD):
11587         * lrecord.h (XSETRECORD):
11588         * lrecord.h (RECORDP):
11589         * lrecord.h (RECORD_TYPEP):
11590         * lrecord.h (RECORD_MARKER): New.
11591         * lrecord.h (error_check_*):
11592         * lrecord.h (CONCHECK_NONRECORD):
11593         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11594         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11595         * lrecord.h (set_lheader_implementation):
11596         * lrecord.h (enum lrecord_type): New.
11597         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11598         * alloc.c (disksave_object_finalization_1):
11599         * alloc.c (mark_object):
11600         * alloc.c (lrecord_type_index):
11601         * alloc.c (tick_lcrecord_stats):
11602         * alloc.c (Fgarbage_collect):
11603         * alloc.c (init_alloc_once_early):
11604         * alloc.c (pdump_load):
11605         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11606         * alloc.c (lrecord_type_index): Delete.
11607         Make lisp object type indexes be constant.
11608           Makes (byte-compile) 5% faster.
11609         Put all marker functions into their own array.
11610           Makes (garbage-collect) 5% faster.
11611         Optimize SYMBOL_VALUE_MAGIC_P.
11612           Makes (byte-compile) 2-3% faster.
11613         * config.h.in (gc_checking_assert): New.
11614         * alloc.c: Use gc_checking_assert().
11615         * .dbxrc: Make compatible with new object type implementation.
11616         * .gdbinit: Make compatible with new object type implementation.
11617         * alloc.c: Delete all symbols defined only for debugging, such as
11618         Lisp_Type_Vector and lrecord_charset.
11619
11620 2000-02-21  Andy Piper  <andy@xemacs.org>
11621
11622         * gui-msw.c (Fmswindows_shell_execute): fix file location
11623         problems.
11624
11625         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11626         unshowing so that set_window_buffer doesn't undo
11627         kill_buffer_hook's hard work.
11628
11629         * glyphs-widget.c (tab_control_query_geometry): don't count the
11630         first item when calculating geometry.
11631
11632         * glyphs.c (map_subwindow): remove redundant code.
11633         (update_frame_subwindows): be more circumspect about when to
11634         update subwindows.
11635
11636         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11637         when items haven't changed. Update faces if faces have changed as
11638         well as just the widget face.
11639         (x_tab_control_update): Update faces if faces have changed as well
11640         as just the widget face.
11641
11642 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11643
11644         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11645         registration.
11646         (build_syscolor_string): Use mswindows_color_to_string to try to
11647         get a named color.
11648         (mswindows_device_system_metrics): Reverse the foreground and
11649         background colors so that they match the documentation.
11650
11651         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11652         they match the default Windows palette.
11653         (mswindows_color_to_string): New function.
11654
11655 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11656
11657         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11658
11659 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11660
11661         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11662         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11663
11664         * symbols.c (init_symbols_once_early): Removed obsolete
11665         DATA_SEG_BITS related kludge.
11666         (defvar_magic): Ditto.
11667
11668         * malloc.c: Removed obsolete DATA_SEG_BITS
11669         * ralloc.c: Ditto.
11670         * mem-limits.h: Ditto.
11671
11672         * Makefile.in.in: Removed obsolete HAVE_SHM
11673         * emacs.c: Ditto.
11674
11675 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11676
11677         *  device-msw.c (mswindows_delete_device): Free DDE string
11678         handles.
11679
11680 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11681
11682         * keymap.c (get_keyelt):
11683         * unexnt.c (unexec):
11684         * vm-limit.c (memory_warnings):
11685         * ntheap.c (recreate_heap):
11686         * ntheap.h (UNINIT_PTR):
11687         * select-msw.c (Fmswindows_get_clipboard):
11688         (Fmswindows_set_clipboard):
11689         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11690         * objects-msw.c:
11691         * menubar-msw.c (displayable_menu_item):
11692         * glyphs-msw.c:
11693         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11694         * sysdep.c (sys_subshell):
11695         * process-nt.c (nt_create_process):
11696         * nt.c (normalize_filename):
11697         (dostounix_filename):
11698         (unixtodos_filename):
11699         * ntproc.c (win32_executable_type):
11700         * ntplay.c (play_sound_data_1):
11701         (play_sound_file):
11702         * editfns.c (get_home_directory):
11703         * event-msw.c (struct winsock_stream):
11704         (mswindows_dde_callback):
11705         * device-msw.c (msprinter_init_device):
11706         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11707
11708         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11709         mswindows_clear_toolbar were swapped!
11710
11711         * objects-msw.c:(colormap_t):
11712         (fontmap_t):
11713         * emacs.c (struct standard_args): Fixed const jumble.
11714
11715         * glyphs-widget.c (update_widget): Fixed comparison notation.
11716
11717         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11718
11719         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11720         __declspec(noreturn) syntax.
11721
11722 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11723
11724         * eldap.c (Fldap_open):
11725         (Fldap_search_basic):
11726         (Fldap_add):
11727         (Fldap_modify):
11728         Use new coding system conversion macros.
11729
11730 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11731
11732         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11733
11734 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11735
11736         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11737         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11738
11739         * eldap.c (Qadd, Qreplace): New constant symbols
11740         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11741         interruptions by XEmacs signals
11742         Remove unnecessary calls to slow_down_interrupts and
11743         speed_up_interrupts
11744         (Fldap_search_basic): Renamed from Fldap_search_internal
11745         Added new optional parameter VERBOSE that triggers the
11746         display of progress messages
11747         Remove unnecessary calls to slow_down_interrupts and
11748         speed_up_interrupts
11749         LDAP result code analysis rewritten
11750         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11751         (syms_of_eldap): Define the new symbols and functions
11752
11753
11754 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11755
11756         * realpath.c: Determine PATH_MAX maximally portably.
11757
11758         * insdel.c (bytecount_to_charcount): Optimize.
11759         The function used to be optimized for entirely ASCII sequences.
11760         Now it is optimized for successive characters from the same
11761         charset.  This also wins big for _mostly_ ASCII sequences.
11762
11763         * fileio.c (Ffile_truename): convert return from realpath() using
11764         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11765         - Rewrite GCPROing slightly.
11766
11767         * sysdep.c (sys_open): Do filename conversion, like all other
11768         sys_* functions.  Fixes bug:
11769         (let ((file-name-coding-system 'iso-8859-2))
11770            (write-region x y latin2-name))
11771         ==> writes filename using internal encoding.
11772
11773 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11774
11775         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11776         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11777         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11778         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11779         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11780         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11781         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11782         (CONST_IF_NOT_DEBUG): Delete.
11783         * alloc.c (this_one_is_unmarkable): Delete.
11784         (mark_object): Don't check for this_one_is_unmarkable. Use the
11785         c_readonly flag instead.
11786         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11787
11788 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11789
11790         * event-msw.c (mswindows_drain_windows_queue):
11791         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11792         away redundant repaint events.
11793
11794 2000-02-17  Andy Piper  <andy@xemacs.org>
11795
11796         * redisplay.h: declare mark_redisplay_structs.
11797
11798         * redisplay.c (redisplay_window):
11799         (redisplay_frame): don't check subwindows_state_changed.
11800         (mark_redisplay): mark gutters here.
11801
11802         * glyphs.c: (instantiate_image_instantiator): always layout if we
11803         haven't done so already.
11804         (allocate_image_instance): don't mark as dirty.
11805         (update_subwindow): bind inhibit_quit.
11806
11807         * gutter.c (mark_gutters): new function.
11808
11809         * glyphs-x.c (x_update_widget): Always resize to get round a
11810         widget bug.
11811
11812         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11813         breaking absolutely everything.
11814
11815         * gutter.h: declare mark_gutters.
11816
11817 2000-02-16  Martin Buchholz <martin@xemacs.org>
11818
11819         * XEmacs 21.2.29 is released.
11820
11821 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11822
11823         * fns.c (size_bit_vector): Fix computation of the size.
11824
11825 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11826
11827         * *.[ch]: Change CONST to const globally.
11828         find -name '*.[ch]' | \
11829         xargs global-replace \
11830         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11831         - Remove vestigial references to CONST_IS_LOSING
11832
11833 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11834
11835         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11836         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11837         events instead of dispatching them directly.
11838         (mswindows_handle_paint): New function to do repainting.
11839         (mswindows_wnd_proc):
11840         (emacs_mswindows_handle_magic_event): Call above function.
11841
11842 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11843
11844         * objects-msw.c (mswindows_create_font_variant): Return the new
11845         font handle.
11846         (initialize_font_instance): Get font metrics from the underlined
11847         variant of the font to cope with the case where the underlined
11848         font has a bigger descent.
11849
11850 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11851
11852         * gui.c (gui_item_accelerator): Return the first underlined
11853         character in item name.
11854
11855 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11856
11857         * lisp.h: Added Qprinter.
11858
11859         * general.c (syms_of_general): Initialized it.
11860
11861         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11862         (get_frame_dc):
11863         (get_frame_compdc): Made inline.
11864
11865         * console.h (struct console_methods): Added eject_page method.
11866
11867         * frame.h: Added FRAME_DISPLAY_P and friends.
11868         Aligned backslahes in many macros in more readable fashion.
11869         Added page_number to struct frame, and an accessor macro
11870         for it.
11871
11872         * defice.h: Added DEVICE_DISPLAY_P and friends.
11873
11874         * device.c (Fdevice_printer_p): Used these.
11875
11876         * frame.c (allocate_frame_core): Initialize page number.
11877         (Fprint_job_page_number):
11878         (Fprint_job_eject_page): Implemented.
11879
11880         * frame-msw.c (msprinter_eject_page): Added method.
11881         (msprinter_start_page): Added.
11882
11883         * window.c (Fwindow_truncated_p): Fixed docstring.
11884         (Fwindow_last_line_visible_height): Implemented.
11885
11886 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11887
11888         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11889
11890 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11891
11892         * syntax.c (scan_words): Always advance at least one character.
11893
11894 2000-02-13  Andy Piper  <andy@xemacs.org>
11895
11896         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11897         to make sure the glyph is in the cachels.
11898
11899         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11900         global image instance flag.
11901         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11902         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11903
11904         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11905         (Fset_image_instance_property): mark layout as changed.
11906         (invalidate_glyph_geometry_maybe): mark layout as changed.
11907         (glyph_width): use new NEEDS_LAYOUT macro.
11908         (glyph_ascent): ditto.
11909         (glyph_descent): ditto.
11910         (glyph_height): ditto.
11911         (image_instance_layout): mark layout as clean after laying out.
11912         (update_subwindow): don't mark layout as clean here.
11913
11914         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11915         should no longer be needed.
11916
11917         * glyphs-x.c (x_update_widget): sanitize asserts.
11918         (x_finalize_image_instance): sanitize assignment to widgets.
11919
11920         * glyphs-widget.c (widget_instantiate): don't need to clear the
11921         layout flag here.
11922
11923 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11924
11925         * sysdep.c (getcwd): Use standard prototype.
11926         * sysdep.h (getcwd): Use standard prototype.
11927
11928         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11929         (sequence, start, end).
11930         Remove redundant type checking.
11931         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11932         view of `caller-protects') to avoid a crash where the real fix was
11933         found elsewhere.
11934
11935 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11936
11937         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11938
11939         * s/sol2.h: Remove feature macro initialization.
11940
11941         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11942         (vector_hash): New.  Code from internal_hash.
11943         * lrecord.h:
11944         Fix up allocation subsystem comments.
11945
11946         * config.h.in: Add __EXTENSIONS__ for Solaris.
11947
11948         * systime.h (EMACS_GETTIMEOFDAY): New.
11949         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11950         Remove Solaris-specific code.
11951         Use void* for the (ignored) second arg for gettimeofday().
11952
11953         * elhash.c (hash_table_hash): Implement it, finally.
11954         * elhash.c:  Use hashcode_t.
11955
11956         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11957         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11958
11959         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11960         * fns.c (size_bit_vector):
11961         * alloc.c (size_vector):
11962         (make_vector_internal):
11963         (make_bit_vector_internal):
11964         (sweep_bit_vectors_1):
11965         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11966
11967 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11968
11969         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11970         Include strings.h to avoid warnings for bzero and strcasecmp.
11971
11972 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11973
11974         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11975         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11976
11977         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11978         sequence.
11979
11980 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11981
11982         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11983         use a value field instead.
11984         (symbol_value_forward_forward): Use value field.
11985         (DEFVAR_SYMVAL_FWD): Use value field.
11986         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11987         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11988         (DEFVAR_CONST_INT): Ditto.
11989         (DEFVAR_BOOL): Ditto.
11990         (DEFVAR_CONST_BOOL): Ditto.
11991         (DEFVAR_INT_MAGIC): Ditto.
11992         (DEFVAR_BOOL_MAGIC): Ditto.
11993
11994         * symbols.c (guts_of_unbound_marker): Use value field.
11995         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11996         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11997
11998         * lisp.h: Declare dumpopaque and noninteractive1.
11999
12000         * alloc.c (dumpopaque): Added.
12001         (pdump_dump_opaquevec): Added.
12002         (pdump): Call pdump_dump_opaquevec to dump opaque data.
12003         (pdump_load): Reload opaque data.  Sync noninteractive1 with
12004         noninteractive.
12005
12006 2000-02-10  Andy Piper  <andy@xemacs.org>
12007
12008         * glyphs.c (image_instance_layout): if the size changes, mark it
12009         as such.
12010
12011         * redisplay-output.c (redisplay_output_layout): Update the
12012         subwindow here.
12013         (redisplay_output_subwindow): ditto.
12014
12015         * glyphs.c (update_subwindow): make sure we reset flags for
12016         layouts as well as everything else.
12017
12018         * glyphs-widget.c (layout_layout): don't need to set the instances
12019         dimensions here.
12020
12021 2000-02-09  Martin Buchholz  <martin@xemacs.org>
12022
12023         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
12024         not HAVE_DLOPEN, which is a lower-level thing.
12025
12026         * .cvsignore: Ignore gmon.out
12027
12028 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
12029
12030         * .cvsignore: Ignore portable dumper xemacs.dmp file
12031
12032 2000-02-09  Andy Piper  <andy@xemacs.org>
12033
12034         * redisplay-output.c (redisplay_output_layout): be more clever
12035         about when we output based on the changed flags.
12036
12037         * glyphs.h (struct image_instantiator_methods): add update_method.
12038         (struct Lisp_Image_Instance): add changed flags. Declare new
12039         macros for manipulating them.
12040
12041         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
12042         (image_instance_parent_glyph): find an image_instance's parent
12043         glyph or image_instance.
12044         (image_instance_layout): mark the size as changed.
12045         (set_image_instance_dirty_p): new function. mark an image
12046         instance, plus all of its parents, as dirty.
12047         (Fset_image_instance_property): use it.
12048         (Fglyph_animated_timeout_handler): use it.
12049         (update_subwindow): call update_widget and device methods for
12050         update_subwindow. Mark all changed flags as clean.
12051         (Fresize_subwindow): mark size as changed.
12052
12053         * glyphs-x.c (x_finalize_image_instance): try and detect gc
12054         failures.
12055         (x_update_subwindow): only resize subwindows here.
12056         (x_update_widget): new function. Update all changed properties of
12057         a widget.
12058         (x_resize_subwindow): deleted.
12059         (x_widget_set_property): deleted.
12060         (x_progress_gauge_set_property): deleted.
12061         (x_progress_gauge_update): new function. Implement recorded
12062         changes.
12063         (x_tab_control_update): ditto.
12064         (x_tab_control_set_property): deleted.
12065         (console_type_create_glyphs_x): declare new functions.
12066         (image_instantiator_format_create_glyphs_x): ditto.
12067
12068         * glyphs-widget.c (widget_set_property): mark text changed.
12069         (update_widget): new function. Update properties of a widget.
12070         (widget_instantiate): for layouts make sure we set their
12071         children's parent correctly.
12072         (tab_control_set_property): new function. Record changes that will
12073         take place under redisplay's control.
12074         (progress_gauge_set_property): ditto.
12075         (image_instantiator_progress_guage): declare new functions.
12076         (image_instantiator_tab_control): ditto.
12077
12078         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
12079         now.
12080         (mswindows_update_widget): new function. Update all properties on
12081         a widget that have changed.
12082         (mswindows_button_update): new function. Update a button's set
12083         state.
12084         (mswindows_tab_control_update): new function. Update the items in
12085         a tab.
12086         (mswindows_tab_control_set_property): deleted.
12087         (mswindows_progress_gauge_update): new function. Update the
12088         progress gauge's progress.
12089         (mswindows_widget_set_property): deleted. This is all done
12090         asynchronously now.
12091         (mswindows_progress_gauge_set_property): ditto.
12092         (console_type_create_glyphs_mswindows): declare new methods.
12093         (image_instantiator_format_create_glyphs_mswindows): ditto.
12094
12095         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
12096         (msprinter_set_frame_properties): ditto.
12097
12098         * console.h (struct console_methods): Add update_widget_method.
12099
12100 2000-02-09  Andy Piper  <andy@xemacs.org>
12101
12102         * gui-msw.c (Fmswindows_shell_execute): Make
12103         mswindows-shell-execute industrial strength.
12104
12105 2000-02-08  Martin Buchholz  <martin@xemacs.org>
12106
12107         * lrecord.h: Make macro argument `props' match member function `plist'.
12108         * fns.c (Fget):
12109         * fns.c (Fput):
12110         * fns.c (Fremprop):
12111         * fns.c (Fobject_plist):
12112         * alloc.c:
12113         * symbols.c:
12114         Object property list frobbing cleanup.
12115         - Allow any lisp object (compared with `eq'), not just symbols, as
12116           keys in object plists.
12117         - Move symbol plist frobbing into symbols.c, where it belongs.
12118         - Move string plist frobbing into alloc.c, where it belongs.
12119         - Everything's an lrecord now, so no need to test for symbolp, etc.
12120         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
12121
12122         * extents.c: Reorder code to remove declarations.
12123
12124         * frame.h (store_in_alist): Remove useless declaration.
12125
12126 2000-02-07  Martin Buchholz  <martin@xemacs.org>
12127
12128         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
12129         * config.h.in: Add HAVE_XCONVERTCASE.
12130
12131 2000-02-07  Andy Piper  <andy@xemacs.org>
12132
12133         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
12134         it breaks many things.
12135
12136 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12137
12138         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
12139         actually can start a common comment type.
12140         * src/syntax.h (SYNTAX_END_P): ditto for end.
12141
12142 2000-02-07  Martin Buchholz <martin@xemacs.org>
12143
12144         * XEmacs 21.2.28 is released.
12145
12146 2000-02-06  Martin Buchholz  <martin@xemacs.org>
12147
12148         * event-Xt.c (x_keysym_to_character): New.
12149         (maybe_define_x_key_as_self_inserting_character): New.
12150         (x_has_keysym): New.
12151         Auto-define all keys on the keyboard as self-insert-key.
12152
12153 2000-02-02  Martin Buchholz  <martin@xemacs.org>
12154
12155         * menubar.c (vars_of_menubar): A small code simplification.
12156
12157         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
12158
12159         * ExternalShell.c:
12160         * ExternalClient.c:
12161         * EmacsShell-sub.c:
12162         * EmacsManager.c:
12163         * EmacsFrame.c:
12164         Use consistent style for specifying X resources.
12165
12166         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
12167         This makes (dontusethis-set-symbol-value-handler) actually usable.
12168
12169         * lrecord.h (lrecord_decription_type):
12170         * alloc.c (pdump_register_sub):
12171         (pdump_dump_data):
12172         (pdump_reloc_one):
12173         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12174         Comply with XEmacs coding style.
12175         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12176         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12177
12178         * keymap.c (Faccessible_keymaps):
12179         Make (accessible-keymaps map "\C-h") do the Right Thing.
12180         Make (accessible-keymaps map []) do the Right Thing.
12181         Make (accessible-keymaps map "") do the Right Thing.
12182         (check_keymap_definition_loop): New function.
12183         (keymap_store_internal): Keep luser from shooting self in foot,
12184           via (define-key ctl-x-4-map "p" global-map).
12185         Remove fullness slot from struct Lisp_Keymap, since hash tables
12186         are now reliable.
12187         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12188
12189 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12190
12191         * redisplay.c (init_redisplay): Fix small memory leak.
12192         * elhash.h:
12193         * elhash.c (pdump_reorganize_hash_table):
12194         Rename from reorganize_hash_table. Change prototype.
12195         Reuse the original memory for hentries.  Save 100k.
12196         * alloc.c (PDUMP_READ): new macro.
12197         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12198         * alloc.c: No need to #ifndef before #undef.
12199
12200         * print.c: Allow debug_print() to print readably by modifying
12201         debug_print_readably.  Use consistent variable names.
12202
12203         * .dbxrc: Try to get things to work even if stopped in a function
12204         without source available by explicitly specifying source files.
12205 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12206
12207         * unexnt.c (_start): Removed bogus code which caused loading heap
12208         from differrent executable file.
12209         Removed bogus assignment to _fmode, which caused inconsistencies.
12210
12211 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12212
12213         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12214         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12215         Do not preliminary `#define signal sigset'.
12216
12217         * systime.h: Do not prototype environ on windows nt and cygwin,
12218         this conflicts with system header.
12219
12220         * syssignal.h: Use correct define for WINDOWSNT
12221
12222         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12223         with system header.
12224
12225         * sysdep.c (near start of file): Fixed commentary and rearranged
12226         ifdefs in readable order.
12227         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12228         (start_of_text):
12229         (end_of_text):
12230         (end_of_data): Do not compile in if using PDUMP.
12231
12232         * symsinit.h: Prototyped vars_of_nt().
12233
12234         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12235         (find_child_console): Use it.
12236         (sys_kill): Use it.
12237
12238         * ntheap.h: Do not extern os_subtype.
12239
12240         * ntheap.c (cache_system_info): Do not cache unneeded:
12241         nt_major_version, nt_minor_version and os_subtype.
12242         (recreate_heap): Do not compile in when PDUMPing.
12243
12244         * nt.c (geteuid and friends): Use the new varibale
12245         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12246         (init_user_info): Removed the above mentioned hackery.
12247         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12248         stat has been fixed in the C runtime.
12249         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12250
12251         * file-coding.c (struct file_coding_dump): Do not define
12252         ucs_to_mule_table in the struct if not MULE.
12253         (struct struct lrecord_description fcd_description_1): Do not dump
12254         the above.
12255
12256         * emacs.c (main_1): Call vars_of_nt().
12257         (right before Fdump_emacs_data): Don't need lastfile if using both
12258         portabe dumper and system malloc.
12259
12260         * alloc.c (Fmemory_limit): Conditionalized out.
12261         (pdump): Use OPEN_BINARY for the portable dump file.
12262         (pdump_load): Ditto.
12263
12264 2000-02-02  Mike Alexander  <mta@arbortext.com>
12265
12266         * nt.c (convert_time): Set tm_isdst before calling mktime and
12267         avoid calling it at all if the compiler supports 64 bit integers.
12268         Also initialize utc_base_ft before using it.
12269
12270 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12271
12272         * frame.c (change_frame_size_1): Take f->internal_border_width
12273         into consideration when calculating the width of the frame.
12274
12275 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12276
12277         * window.c (frame_min_height):
12278         (frame_size_valid_p):
12279         (frame_pixsize_valid_p): Added.
12280         (check_frame_size): Generalized.
12281
12282         * window.h: Prototyped the above.
12283
12284         * lisp.h:
12285         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12286         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12287         Deleted Vwin32_* and Vbinary_process_* unused variables.
12288
12289         * device-msw.c (msprinter_init_device): Do not get printer font
12290         list; Added DEVMODE functions.
12291
12292         * frame-msw.c: Added lots of printer code.
12293
12294         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12295         general.c.
12296
12297         * console-msw.h: Added more msprinter device private slots.
12298
12299 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12300
12301         * event-msw.c (key_needs_default_processing_p): Added.
12302         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12303
12304 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12305
12306         * glyphs.c (image_instance_layout): Mark image instance as clean
12307         after layout.
12308         (glyph_dirty_p): Removed redundant function.
12309         (invalidate_glyph_geometry_maybe): Added.
12310         (update_glyph_cachel_data): Call it.
12311
12312         * glyphs.h: Prototyped it.
12313
12314         * redisplay.c (add_glyph_rune): Call it.
12315         (redisplay_window): Reset glyphs cachels when frame faces have
12316         changed, thus forcing recomputation of built-in border glyphs.
12317
12318 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12319
12320         * Makefile.in.in: Make portable dumper and purify play well together.
12321         Add imperfect, but better than nothing, support for pdump.
12322         Remove xemacs.dmp when temacs is re-generated.
12323         Don't ignore errors when dumping xemacs.
12324
12325         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12326
12327 2000-01-28  Andy Piper  <andy@xemacs.org>
12328
12329         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12330         (setup_normal_frame): ditto.
12331         (setup_frame_without_minibuffer): ditto.
12332         (setup_minibuffer_frame): ditto.
12333         (delete_frame_internal): ditto.
12334         (Fmake_frame_invisible): ditto.
12335         (Ficonify_frame): ditto.
12336
12337         * window.h: change Fset_window_buffer signature.
12338
12339         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12340         (Fset_window_buffer): allow recording of buffer if the window is
12341         the selected window.
12342         (window_loop): Use new Fset_window signature.
12343
12344 2000-01-23  Daniel Pittman  <daniel@danann.net>
12345
12346         * config.h.in: Added template for `HAVE_ATHENA_3D'
12347
12348 2000-01-29  Andy Piper  <andy@xemacs.org>
12349
12350         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12351
12352         * gutter.c (output_gutter): Don't output if the window isn't live.
12353
12354 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12355
12356         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12357         of 01/12/00: Moved SetFocus back here where it belongs.
12358
12359 2000-01-23  Andy Piper  <andy@xemacs.org>
12360
12361         * s/cygwin32.h: declare printer things.
12362
12363 2000-01-26  Andy Piper  <andy@xemacs.org>
12364
12365         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12366         Alexander.
12367
12368 2000-01-24  Andy Piper  <andy@xemacs.org>
12369
12370         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12371         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12372
12373         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12374
12375         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12376
12377         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12378
12379         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12380         (mswindows_output_display_block): Avoid local shadows.
12381
12382         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12383         (mswindows_enqueue_mouse_button_event): ditto.
12384         (mswindows_handle_gui_wm_command): remove declaration.
12385
12386         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12387         warnings.
12388
12389         * console-msw.h: Avoid shadows.
12390         (mswindows_get_toolbar_button_text):
12391         (emacs_mswindows_create_stream_pair):
12392         (emacs_mswindows_delete_stream_pair):
12393         (mswindows_handle_toolbar_wm_command): declare.
12394
12395         * device-msw.c (build_syscolor_string): Avoid shadows.
12396
12397 2000-01-23  Andy Piper  <andy@xemacs.org>
12398
12399         * glyphs-widget.c (widget_instantiate): reverse the items for
12400         layouts so that children are in the expected order.
12401
12402 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12403
12404         * ralloc.c: safe_bcopy ==> memmove
12405         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12406         * s/msdos.h: Remove BCOPY macros.
12407         * insdel.c (gap_right): Remove BCOPY conditional code.
12408         * insdel.c (gap_left): Remove BCOPY conditional code.
12409         XEmacs demands a working ANSI C compiler - hence memmove.
12410
12411         * regex.c (regex_compile): Remove accidental use of trigraphs.
12412
12413 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12414
12415         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12416         event timestamp.
12417
12418 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12419
12420         * event-msw.c (mswindows_drain_windows_queue): Added the
12421         parameter.
12422         (mswindows_need_event): Commented the call to
12423         mswindows_drain_windows_queue().
12424         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12425         only.
12426
12427         * console-msw.h: Moved a few function prototypes here from
12428         event-msw.c.
12429
12430         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12431         parameter from unsigned short to unsigned long.
12432         (Fmswindows_shell_execute): Added return value.
12433
12434 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12435
12436         * sysdep.c (init_system_name):
12437           process-unix.c (unix_canonicalized_host_name):
12438         Don't call freeaddrinfo() if getaddrinfo() fails.
12439
12440         * process-unix.c (unix_open_unix_network_stream):
12441         Moved the code to get a port # into address loop.
12442
12443 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12444
12445         * buffer.c (reinit_vars_of_buffer):
12446         The right place to initialize conversion_in_dynarr and
12447         conversion_out_dynarr.
12448
12449         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12450
12451         * process-unix.c (unix_canonicalize_host_name): Muleize.
12452         (unix_open_network_stream): Muleize.
12453
12454         * buffer.h: Fix up prototypes for ralloc.c functions.
12455
12456 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12457         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12458         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12459                 instead of gethostbyname()
12460         * process-unix.c: In unix_canonicalize_host_name() and
12461                 unix_open_network_stream(), add code to use getaddrinfo()
12462                 instead of gethostbyname().
12463
12464 2000-01-27  Daniel Pittman <daniel@danann.net>
12465
12466         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12467         libs when built with flat Athena.
12468
12469 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12470
12471         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12472         Use coding standards for function prototypes.
12473
12474 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12475
12476         * dialog-msw.c (push_lisp_string_as_unicode):
12477         * doc.c (unparesseuxify_doc_string):
12478         * dired.c (Fuser_name_completion_1):
12479         * dired.c (Fuser_name_all_completions):
12480         * dired.c (free_user_cache):
12481         * dired.c (user_name_completion):
12482         * console-x.c (get_display_arg_connection):
12483         * minibuf.c (clear_echo_area_internal):
12484         * minibuf.c (echo_area_append):
12485         * eldap.c (Fldap_open):
12486         * eldap.c (Fldap_search_internal):
12487         * frame-x.c (x_set_frame_text_value):
12488         * frame-x.c (x_set_frame_properties):
12489         * frame-x.c (x_create_widgets):
12490         * redisplay-tty.c (term_get_fkeys_1):
12491         * objects-x.c (x_parse_nearest_color):
12492         * objects-x.c (x_valid_color_name_p):
12493         * objects-x.c (x_initialize_font_instance):
12494         * objects-x.c (x_list_fonts):
12495         * objects-x.c (x_find_charset_font):
12496         * tooltalk.c (Fadd_tooltalk_message_arg):
12497         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12498         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12499         * process-unix.c (unix_create_process):
12500         * ntproc.c (sys_spawnve):
12501         * sound.c (Fplay_sound_file):
12502         * sound.c (Fplay_sound):
12503         * buffer.c (init_initial_directory):
12504         * buffer.c (init_buffer):
12505         * editfns.c (init_editfns):
12506         * editfns.c (Ftemp_directory):
12507         * editfns.c (Fuser_full_name):
12508         * editfns.c (uncache_home_directory):
12509         * editfns.c (get_home_directory):
12510         * editfns.c (Fuser_home_directory):
12511         * editfns.c (Fformat_time_string):
12512         * editfns.c (Fcurrent_time_string):
12513         * gui-x.c (button_item_to_widget_value):
12514         * database.c (Fopen_database):
12515         * event-Xt.c (x_to_emacs_keysym):
12516         * event-Xt.c (x_event_to_emacs_event):
12517         * event-Xt.c (describe_event_window):
12518         * event-msw.c (mswindows_wnd_proc):
12519         * glyphs-eimage.c (jpeg_instantiate):
12520         * glyphs-eimage.c (gif_instantiate):
12521         * glyphs-eimage.c (png_instantiate):
12522         * glyphs-eimage.c (tiff_instantiate):
12523         * glyphs-x.c (xbm_instantiate_1):
12524         * glyphs-x.c (x_xbm_instantiate):
12525         * glyphs-x.c (x_xface_instantiate):
12526         * glyphs-x.c (autodetect_instantiate):
12527         * glyphs-x.c (cursor_font_instantiate):
12528         * glyphs-x.c (x_widget_instantiate):
12529         * glyphs-x.c (x_widget_set_property):
12530         * glyphs-x.c (x_widget_property):
12531         * glyphs-x.c (BUILD_GLYPH_INST):
12532         * print.c (write_string_to_stdio_stream):
12533         * print.c (output_string):
12534         * print.c (Falternate_debugging_output):
12535         * print.c (Fexternal_debugging_output):
12536         * glyphs-msw.c (extract_xpm_color_names):
12537         * glyphs-msw.c (mswindows_xpm_instantiate):
12538         * glyphs-msw.c (bmp_instantiate):
12539         * glyphs-msw.c (resource_name_to_resource):
12540         * glyphs-msw.c (mswindows_resource_instantiate):
12541         * glyphs-msw.c (xbm_instantiate_1):
12542         * glyphs-msw.c (mswindows_xbm_instantiate):
12543         * glyphs-msw.c (mswindows_xface_instantiate):
12544         * glyphs-msw.c (mswindows_widget_instantiate):
12545         * glyphs-msw.c (add_tree_item):
12546         * glyphs-msw.c (add_tab_item):
12547         * glyphs-msw.c (mswindows_combo_box_instantiate):
12548         * glyphs-msw.c (mswindows_widget_property):
12549         * glyphs-msw.c (mswindows_combo_box_property):
12550         * glyphs-msw.c (mswindows_widget_set_property):
12551         * console.c (stuff_buffered_input):
12552         * objects-msw.c (mswindows_initialize_color_instance):
12553         * objects-msw.c (mswindows_valid_color_name_p):
12554         * objects-msw.c (mswindows_list_fonts):
12555         * objects-msw.c (mswindows_font_instance_truename):
12556         * bytecode.c (optimize_compiled_function):
12557         * select-x.c (symbol_to_x_atom):
12558         * select-x.c (x_atom_to_symbol):
12559         * select-x.c (hack_motif_clipboard_selection):
12560         * select-x.c (selection_data_to_lisp_data):
12561         * select-x.c (lisp_data_to_selection_data):
12562         * select-x.c (Fx_get_cutbuffer_internal):
12563         * select-x.c (Fx_store_cutbuffer_internal):
12564         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12565         * buffer.h (TO_INTERNAL_FORMAT): New function.
12566         * emacs.c (make_arg_list_1):
12567         * emacs.c (make_argc_argv):
12568         * emacs.c (main_1):
12569         * emacs.c (Fdump_emacs):
12570         * emacs.c (split_string_by_emchar_1):
12571         * file-coding.h:
12572         * lisp.h:
12573         * lstream.h:
12574         * symsinit.h:
12575         * device-x.c (x_init_device):
12576         * device-x.c (Fx_valid_keysym_name_p):
12577         * device-x.c (Fx_get_font_path):
12578         * device-x.c (Fx_set_font_path):
12579         * glyphs.c (bitmap_to_lisp_data):
12580         * glyphs.c (pixmap_to_lisp_data):
12581         * alloc.c (make_ext_string): Use coding system arguments.  Update
12582         all callers.
12583         * alloc.c (build_string):
12584         * callproc.c (child_setup):
12585         * callproc.c (init_callproc):
12586         * fileio.c (lisp_strerror):
12587         * fileio.c (directory_file_name):
12588         * fileio.c (Fexpand_file_name):
12589         * fileio.c (Ffile_truename):
12590         * fileio.c (Fsysnetunam):
12591         * fileio.c (Fdo_auto_save):
12592         * sysdep.c (sys_readdir):
12593         * tests.c: New file.  Allow adding C tests.
12594         Replace GET_* macros with a more comprehensible and flexible
12595         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12596         Modify all calls.
12597         Any coding system can be used to do format conversion.
12598         Eliminate enum external_data_format.
12599         Eliminate convert_to_external_format.
12600         Eliminate convert_to_internal_format.
12601         Make sure file-name, keyboard, terminal, and ctext are always
12602         defined as coding systems or aliases.  Make
12603         file-name-coding-system, terminal-coding-system, and
12604         keyboard-coding-system magical variables that are equivalent to
12605         defining the corresponding coding system aliases.
12606
12607         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12608         * file-coding.c (Fcoding_system_alias_p): New function.
12609         * file-coding.c (Fcoding_system_aliasee): New function.
12610         * file-coding.c (append_suffix_to_symbol): New function.
12611         * file-coding.c (dangling_coding_system_alias_p): New function.
12612         * file-coding.c (Ffind_coding_system):
12613         * file-coding.c (Fcopy_coding_system):
12614         * file-coding.c (encode_coding_no_conversion):
12615         * file-coding.c (syms_of_file_coding):
12616         * file-coding.c (vars_of_file_coding):
12617         Rewrite coding system alias code.
12618         Allow nested aliases, like symbolic links.
12619         Allow redefinition of coding system aliases.
12620         Prevent existence of dangling coding system aliases.
12621
12622         * dired.c (Fuser_name_completion_1):
12623         * dired.c (Fuser_name_all_completions):
12624         A crash would happen if user did QUIT in the middle of building
12625         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12626
12627         * lisp.h:
12628         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12629
12630         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12631         an unsigned char *.  Update all callers.
12632
12633 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12634
12635         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12636
12637 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12638
12639         * elhash.c (hentry_description): Use more portable definition.
12640         (resize_hash_table): Initialize new hentries using
12641         xnew_array_and_zero, thereby simplifying the code.
12642
12643         * mule-charset.c (make_charset): Make sure entire object is
12644         initialized, to avoid Purify warnings.
12645
12646         * alloc.c (resize_string): Fix unlikely crash with big strings.
12647
12648 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12649
12650         * realpath.c (xrealpath):
12651         Don't call getwd().
12652
12653 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12654
12655         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12656
12657 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12658
12659         * unexelfsgi.c (unexec): Change the way we decide which segment
12660         should be extended.
12661
12662         Assumption that .bss section should be outside the PT_LOADable
12663         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12664         it's present) is inside the 'data' segment. This would fail the
12665         test which was used to find a segment to grow and cover new
12666         heap. Instead of this assumption, I created another one - on IRIX
12667         the segment to grow should start below .bss and it's address
12668         should extent above the end of .bss. Once this segment is
12669         identified, it's grown to accommodate the new heap and new
12670         zero-length .bss section is added at the end of .data2.
12671
12672 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12673
12674         * eval.c (Feval): Wrong number of arguments should use original
12675         function, not the indirect_function version of it.
12676
12677 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12678
12679         * glyphs-x.c (x_button_instantiate): Don't add image if
12680         it is not a pixmap.
12681         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12682         is relative.
12683
12684 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12685
12686         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12687         declaration.
12688         (DEFVAR_INT_MAGIC): Ditto.
12689         (DEFVAR_BOOL_MAGIC): Ditto.
12690         * glyphs.h: Reindent backslash.
12691
12692 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12693
12694         * glyphs-widget.c (layout_query_geometry):
12695         (layout_layout): Use correct types for gheight, gwidth.
12696
12697 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12698
12699         * EmacsManager.c (QueryGeometry): Purified.
12700
12701 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12702
12703         * alloc.c (make_float): Make sure entire object is initialized, to
12704         avoid Purify warnings.
12705         (pdump_register_sub): Remove useless assignment.
12706         (pdump): Use xmalloc, not malloc.
12707         (pdump_load): Use xmalloc, not malloc.
12708
12709 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12710
12711         * callproc.c:
12712         * dired-msw.c:
12713         * fileio.c:
12714         * process-nt.c:
12715         * redisplay-msw.c:
12716         * sysdep.c: Removed redundant #include <windows.h>
12717
12718 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12719
12720         * frame.c (delete_frame_internal): Do not delete device when its
12721         implementation so declares.
12722         (delete_frame_internal): Set device selected frame to nil when
12723         last frame goes away.
12724
12725         * device-msw.c (msprinter_device_system_metrics): Implemented.
12726         (mswindows_device_system_metrics): Added 'device-dpi property.
12727
12728         * device.c: (Fdevice_printer_p): Added.
12729         Added 'offset-workspace device metric.
12730
12731         * console.h (device_metrics): Declared DM_offset_workspace.
12732
12733 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12734
12735         * fileio.c (Ffile_truename): Remove pointless and confusing
12736         initialization of elen.
12737
12738         * glyphs-widget.c: Compiler warning fixes.
12739
12740 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12741
12742         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12743         instead of a Lisp_Object as argument to make it consistent with
12744         the other LIVE_P macros.
12745         (CHECK_LIVE_PROCESS): New macro.
12746
12747         * process.c: Declare Qprocess_live_p.
12748         (Fprocess_live_p): New function.
12749         (create_process): Use PROCESS_LIVE_P.
12750         (read_process_output): Ditto.
12751         (set_process_filter): Ditto.
12752         (Fdelete_process): Ditto.
12753         (kill_buffer_processes): Ditto
12754         (process_send_signal): Use CHECK_LIVE_PROCESS.
12755         (Fprocess_input_coding_system): Check whether process is still
12756         alive (fix PR#1061).
12757         (Fprocess_output_coding_system): Ditto.
12758         (Fprocess_coding_system): Ditto.
12759         (Fset_process_input_coding_system): Ditto.
12760         (Fset_process_output_coding_system): Ditto.
12761
12762 2000-01-23  Andy Piper  <andy@xemacs.org>
12763
12764         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12765         layout and widget.
12766
12767         * glyphs.c (mark_image_instance): take into account changed
12768         image_instance format.
12769         (image_instance_equal): ditto.
12770         (image_instance_hash): ditto.
12771
12772         * glyphs-widget.c (widget_instantiate): Incorporate layout
12773         instantiation here. Delay layout of the layout until later.
12774         (layout_instantiate): deleted.
12775         (layout_query_geometry): new function. get the geometry of a
12776         layout.
12777         (layout_layout): layout a layout dynamically.
12778         (image_instantiator_widget): New function - splitting up
12779         image_instantiator_format_create_glyphs_widget for netwinder
12780         compilation.
12781         (image_instantiator_buttons):
12782         (image_instantiator_edit_fields):
12783         (image_instantiator_combo_box):
12784         (image_instantiator_scrollbar):
12785         (image_instantiator_progress_guage):
12786         (image_instantiator_tree_view):
12787         (image_instantiator_tab_control):
12788         (image_instantiator_labels):
12789         (image_instantiator_layout): ditto.
12790         (image_instantiator_format_create_glyphs_widget): Call preceding
12791         functions.
12792
12793 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12794
12795         * process.c (Fset_process_coding_system):
12796         * device-x.c (Fx_keysym_hash_table):
12797         Docstring fixes.
12798
12799         * lstream.c (Lstream_write): Return documented value, not 0.
12800
12801         * fileio.c (directory_file_name):
12802         (Fsubstitute_in_file_name):
12803         (Fsubstitute_insert_file_contents_internal):
12804         (Fwrite_region_internal):
12805         * emacs.c:
12806         * sysdep.c:
12807         * getloadavg.c:
12808         * systty.h:
12809         Remove vestigial APOLLO-conditional code.
12810
12811 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12812
12813         * getpagesize.h: Add guard macros.
12814         * libsst.h: Add guard macros.
12815         * libst.h: Add guard macros.
12816         * line-number.h: Add guard macros.
12817         * ndir.h: Add guard macros.
12818         * sysfloat.h: Add guard macros.
12819         * sysfile.h: Add guard macros.
12820         * sysproc.h: Add guard macros.
12821         * syswait.h: Add guard macros.
12822         * xintrinsic.h: Add guard macros.
12823         * xintrinsicp.h: Add guard macros.
12824         * xmmanager.h: Add guard macros.
12825         * xmmanagerp.h: Add guard macros.
12826         * xmprimitive.h: Add guard macros.
12827         * xmu.h: Add guard macros.
12828         * gpmevent.h: Add copyright statement. Add guard macros.
12829         * miscplay.h: Add guard macros.
12830         * *.h: Use consistent C-standards-approved guard macro names.
12831
12832         * opaque.c (make_opaque): Switch parameter order.
12833         * opaque.h (make_opaque): Switch parameter order.
12834         Update all callers.
12835         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12836
12837         * config.h.in (type_checking_assert): Added.
12838         (bufpos_checking_assert): Added.
12839
12840 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12841
12842         * alloc.c: Harmless pdump changes.
12843         - Use countof().
12844         - spell alignment correctly.
12845         * sysdep.c: Use countof()
12846
12847 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12848
12849         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12850         initially_selected_for_input() console method, default to 0.
12851         (semi_canonicalize_console_connection): Try to delegate to
12852         canonicalize_console_connection if no such console method.
12853         (canonicalize_console_connection): Vice versa.
12854         (print_console): Do not print nil connection.
12855
12856         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12857         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12858         (XDEVIMPF_FRAMELESS_OK): Added.
12859         (CONSOLE_INHERITS_METHOD): Added.
12860
12861         * console-msw.c (mswindows_canonicalize_console_connection):
12862         Added.
12863         (mswindows_canonicalize_device_connection): Added.
12864
12865         * console-msw.h (struct msprinter_device): Added this struct and
12866         accessor macros.
12867         (mswindows_device): Made fontlist a lisp object.
12868
12869         * device.c (semi_canonicalize_device_connection):  Try to delegate
12870         to canonicalize_device_connection if no such console method.
12871         (canonicalize_device_connection): Vice versa.
12872         (print_device): Do not print nil connection.
12873
12874         * device-msw.c (mswindows_init_device): Call InitCommonControls
12875         when have widgets.
12876         (mswindows_delete_device): Removed fontlist deallocation.
12877         (mswindows_mark_device): Added.
12878
12879         * events.c (event_equal): Added abort() at unreached code.
12880         (event_hash): Ditto.
12881
12882         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12883         fallback tags of Windows devices.
12884
12885         * general.c (syms_of_general): Initialized Qmsprinter.
12886
12887         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12888         of fallback tags of Windows devices.
12889
12890         * lisp.h: Declared Qmsprinter.
12891
12892         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12893         of strings.
12894         (mswindows_list_fonts): Ditto.
12895         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12896         that it can be used by both mswindows and msprinter devices.
12897         (initialize_font_instance): Added.
12898         (mswindows_initialize_font_instance): Use it.
12899         (msprinter_initialize_font_instance): Added.
12900
12901         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12902         and implementation flags check.
12903         (redisplay_without_hooks): Changed the call to the above.
12904         (Fredraw_device): Ditto.
12905         (Fredisplay_device): Ditto.
12906
12907         * redisplay-msw.c (get_frame_dc): Implemented.
12908         (get_frame_compdc): Implemented.
12909         (many functions): Use the two functions above to get device
12910         contexts, ether for a window or a printer.
12911
12912 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12913
12914         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12915         initialization here.
12916         (init_symbols_once_early): Call it.
12917         * emacs.c (main_1): Call it.
12918         * symsinit.h: Declare it.
12919
12920 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12921
12922         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12923         Lisp_Object.
12924         (pdump_backtrace): Ditto.
12925         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12926         (pdump_get_entry): Abort if trying to register a null pointer.
12927         (pdump_dump_data): Cleanup types when relocating.
12928         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12929         (pdump_dump_rtables): Remove bad casts.
12930         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12931         Lisp_Object instead of a EMACS_INT for the hashtable
12932         reorganization.
12933
12934 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12935
12936         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12937
12938         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12939
12940         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12941
12942         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12943
12944 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12945
12946         * faces.h (FACE_STRIKETHRU_P): Added.
12947
12948         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12949         of font variants.
12950
12951         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12952         (mswindows_set_dc_font): New function, aware of font variants,
12953         separated from mswindows_update_dc.
12954
12955         * objects-msw.h (struct mswindows_font_instance_data): Added
12956         definition.
12957
12958         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12959         cached fonts and the data structure.
12960         (mswindows_initialize_font_instance): Added creation of font data
12961         structure.
12962         (mswindows_print_font_instance): Print at least something.
12963         (mswindows_create_font_variant): Implemented.
12964         (mswindows_get_hfont): Implemented.
12965
12966 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12967
12968         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12969         prototyping problem with msvc.
12970
12971         * emacs.c (main_1): added syms_of_gui_mswindows() call
12972
12973         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12974         syms_of_gui_mswindows() function
12975
12976         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12977
12978 2000-01-18  Martin Buchholz <martin@xemacs.org>
12979
12980         * XEmacs 21.2.27 is released.
12981
12982 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12983
12984         * glyphs-eimage.c (struct tiff_error_struct):
12985         (tiff_error_func):
12986         (tiff_warning_func):
12987         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12988
12989         * unexmips.c:
12990         * unexhp9k3.c:
12991         * unexfreebsd.c:
12992         * unexec.c: Remove vestigial Lucid C code.
12993         * unexalpha.c:
12994         * unexaix.c:
12995         * termcap.c:
12996         * libsst.c: Ansify.
12997         Remove declarations of errno and strerror().
12998
12999         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
13000
13001         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
13002
13003 2000-01-16  Martin Buchholz  <martin@xemacs.org>
13004
13005         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
13006         Optimize.
13007
13008 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13009
13010         * md5.c:
13011         * file-coding.c:
13012         * file-coding.h:
13013         Change enum eol_type to eol_type_t.
13014
13015 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13016
13017         * gui.c (get_gui_callback): Check cons before accessing car.
13018
13019 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13020
13021         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
13022         (XSETSPECIFIER_TYPE): Ditto.
13023
13024 2000-01-17  Didier Verna  <didier@xemacs.org>
13025
13026         * redisplay.c (generate_fstring_runes): compute string size in
13027         characters, not bytes.
13028
13029 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13030
13031         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
13032
13033 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
13034
13035         * print.c (print_error_message): Call print_prepare().
13036
13037 2000-01-14  Martin Buchholz  <martin@xemacs.org>
13038
13039         * .dbxrc: Renamed from dbxrc.
13040
13041         * events.c (event_to_character):
13042         Use `assert (foo)' instead of `if (!foo) abort()'
13043
13044         * .gdbinit (xtype): Add documentation.
13045         * .gdbinit (check-temacs): New function.
13046         * .gdbinit (check-xemacs): New function.
13047         * dbxrc (check-xemacs): New function.
13048         * dbxrc (check-xemacs): New function.
13049
13050 2000-01-14  Andy Piper  <andy@xemacs.org>
13051
13052         * glyphs-widget.c (widget_query_geometry): Make sure that we
13053         calculate default dimensions correctly.
13054
13055 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13056
13057         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
13058
13059         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
13060         pdump_wire'd variable.
13061
13062         * emacs.c: (main_1): Conditionalized calls to
13063         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
13064
13065 2000-01-13  Martin Buchholz  <martin@xemacs.org>
13066
13067         * window.c (Fset_window_configuration):
13068         * sysdep.c (_start):
13069         * input-method-motif.c (res):
13070         * event-Xt.c (Xt_process_to_emacs_event):
13071         Simple compiler warning fixes.
13072
13073         * bytecode.c (funcall_compiled_function): Use the original
13074         function symbol on the backtrace list in preference to the
13075         compiled_function object in error messages.
13076
13077 2000-01-13  Andy Piper  <andy@xemacs.org>
13078
13079         * glyphs-x.c (update_widget_face): Make sure we update the widget
13080         background as well as foreground.
13081
13082 2000-01-13  Andy Piper  <andy@xemacs.org>
13083
13084         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
13085         fields to subwindow.
13086         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
13087         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
13088         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13089         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13090
13091         * glyphs-widget.c (check_valid_tab_orientation): new function.
13092         (initialize_widget_image_instance): zero orientation and
13093         justification.
13094         (widget_instantiate): pick up orientation.
13095         (tab_control_query_geometry): return appropriate values for
13096         vertical tabs.
13097
13098         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
13099         appropriate creation flags for left, right and bottom tabs.
13100
13101         * s/cygwin32.h: add tab definitions.
13102
13103 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13104
13105         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
13106         frame upon hiding a subwindow.
13107         (mswindows_button_instantiate): Changed the push button style to
13108         BS_PUSHBUTTON.
13109         (mswindows_button_instantiate): Removed button BS_NOTIFY
13110         style.
13111         (mswindows_button_instantiate): Removed redundant check for
13112         a disabled gui item.
13113         (mswindows_button_instantiate): Made use of WS_TABSTOP
13114         consistent: "operable" controls (edit, button, tree, scroll) have
13115         this style, "display-only" ones (static, progress gauge) do
13116         not. This style is currently ignored by XEmacs though. Also,
13117         removed the WS_EX_CONTROLPARENT style - it is not for children,
13118         it is for their parents!
13119         (mswindows_edit_field_instantiate): Ditto.
13120         (mswindows_progress_gauge_instantiate): Ditto.
13121         (mswindows_tree_view_instantiate): Ditto.
13122         (mswindows_tab_control_instantiate): Ditto.
13123         (mswindows_scrollbar_instantiate): Ditto.
13124         (mswindows_combo_box_instantiate): Ditto.
13125         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
13126         style to the "clip" window.
13127         (mswindows_button_instantiate): Removed compilation warning by
13128         equally typing terms of the ?: operator.
13129
13130 2000-01-12  Didier Verna  <didier@xemacs.org>
13131
13132         * redisplay.c (generate_fstring_runes): new parameter holding the
13133         last modeline-format extent.
13134         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
13135         extent, fill the glyph block with it.
13136         (generate_fstring_runes): handle these parameters.
13137         (generate_formatted_string_db): ditto.
13138
13139         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
13140         glyphs'extents in the modeline.
13141
13142 1999-01-11  Mike Woolley  <mike@bulsara.com>
13143
13144         * ntheap.c: Reduced the reserved heap space from 1Gb down to
13145         256Mb, as a workaround for the non-starting problem many people
13146         have experienced.
13147
13148 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13149
13150         * console-tty.c (Fset_console_tty_output_coding_system):
13151         Force redrawing tty frame.
13152
13153 2000-01-10  Didier Verna  <didier@xemacs.org>
13154
13155         * redisplay.c (generate_fstring_runes): fix size computation bug.
13156
13157 2000-01-09  William M. Perry <wmperry@aventail.com>
13158
13159         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
13160
13161 2000-01-09  Andy Piper  <andy@xemacs.org>
13162
13163         * glyphs-msw.c: index -> i to avoid shadows.
13164         (xbm_create_bitmap_from_data): make static.
13165         (check_valid_string_or_int): deleted.
13166         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
13167
13168         * glyphs-x.c (x_update_subwindow): remove unused args.
13169
13170         * glyphs.c (glyph_image_instance): return the thing. Don't set the
13171         back pointer - this is done in allocate_image_instance.
13172         (query_string_font): return Qnil to make the compiler happy.
13173         (unmap_subwindow): set to ~0 to make the compiler happy.
13174         (glyph_query_geometry): comment out until used.
13175         (glyph_layout): ditto.
13176
13177 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13178
13179         * insdel.c (signal_after_change): Remove extraneous unbind_to().