5658f7d0585d4f56972ef372c1ee9d5717c068e7
[chise/xemacs-chise.git-] / src / ChangeLog
1 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (Qutf_8_mcs): New variable.
4         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
5         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
6         instead of `utf-8' in UTF-2000.
7
8 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
9
10         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
11         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
12         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
13         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
14         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
15         CONVERSION_96x96x96x96 are introduced.
16         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
17         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
18         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
19
20         * char-ucs.h (CONVERSION_94): New macro.
21         (CONVERSION_96): New macro.
22         (CONVERSION_94x94): New macro.
23         (CONVERSION_96x96): New macro.
24         (CONVERSION_94x94x94): New macro.
25         (CONVERSION_96x96x96): New macro.
26         (CONVERSION_94x94x94x60): New macro.
27         (CONVERSION_94x94x94x94): New macro.
28         (CONVERSION_96x96x96x96): New macro.
29
30 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
31
32         * chartab.c (Vcharacter_variant_table): Deleted.
33         (Fchar_variants): Use character-attribute `->ucs-variants' instead
34         of `Vcharacter_variant_table'.
35         (Fput_char_attribute): Likewise.
36         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
37         (complex_vars_of_chartab): Likewise.
38
39 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
40
41         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
42
43         * fns.c (Qideographic_structure): New variable.
44         (Qkeyword_char): New variable.
45         (ids_format_unit): New function.
46         (Fideographic_structure_to_ids): New function.
47         (syms_of_fns): Add new symbols `ideographic-structure' and
48         `:char'; add new builtin function `ideographic-structure-to-ids'.
49
50         * data.c (Fchar_ref_p): New function.
51         (syms_of_data): Add new builtin function `char-ref-p'.
52
53         * chartab.h: Add an EXFUN for `Ffind_char'.
54
55 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
56
57         * text-coding.c (Vcharacter_composition_table): Deleted.
58         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
59         in every UTF-2000.
60
61         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
62         UTF-2000.
63         (Vcharacter_composition_table): Deleted.
64         (Fget_composite_char): Use the implementation for external-DB
65         support in every UTF-2000.
66         (Fput_char_attribute): Likewise.
67         (char_attribute_system_db_file): Don't define if external-DB
68         feature is not available.
69         (Fsave_char_attribute_table): Likewise.
70         (Fmount_char_attribute_table): Likewise.
71         (Fclose_char_attribute_table): Likewise.
72         (Freset_char_attribute_table): Likewise.
73         (Fload_char_attribute_table): Likewise.
74         (syms_of_chartab): Don't define `save-char-attribute-table',
75         `mount-char-attribute-table', `reset-char-attribute-table',
76         `close-char-attribute-table' and `load-char-attribute-table' if
77         external-DB feature is not available.
78         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
79
80 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
81
82         * text-coding.c (Qcomposition): Add extern if external-DB feature
83         is supported.
84         (Vcharacter_composition_table): Don't add extern if external-DB
85         feature is supported.
86         (COMPOSE_ADD_CHAR): Modify for new data-representation of
87         character composition rule if external-DB feature is supported.
88
89         * chartab.c (Vcharacter_composition_table): Don't define if
90         external-DB feature is supported.
91         (Qcomposition): New variable.
92         (Fget_composite_char): New implementation for external-DB support.
93         (Fput_char_attribute): Use `composition' property of each
94         character instead of `Vcharacter_composition_table' to store
95         character-composition rules if external-DB feature is supported.
96         (syms_of_chartab): Add new symbol `composition'.
97         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
98         external-DB feature is supported.
99
100 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
101
102         * chartab.c (Vchar_db_stingy_mode): New variable.
103         (load_char_attribute_maybe): Close database if
104         Vchar_db_stingy_mode is not NIL.
105         (Fload_char_attribute_table_map_function): Use
106         `get_char_id_table_0' instead of `get_char_id_table'.
107         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
108
109         * chartab.h (get_char_id_table_0): New inline function.
110         (get_char_id_table): Use `get_char_id_table_0'.
111
112 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
113
114         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
115         and `COMPOSE_ADD_CHAR'.
116         (decode_coding_iso2022): Use `decode_flush_er_chars'.
117
118 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
119
120         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
121         instead of `DECODE_ADD_UCS_CHAR'.
122         (COMPOSE_ADD_CHAR): Likewise.
123
124 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
125
126         * text-coding.c (decode_flush_er_chars): New inline function.
127         (decode_add_er_char): New function.
128         (decode_coding_utf8): Use `decode_flush_er_chars' and
129         `decode_add_er_char'.
130
131 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
132
133         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
134         done before `decode_output_utf8_partial_char'.
135
136         * mule-charset.c (complex_vars_of_mule_charset): Specify
137         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
138         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
139
140 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
141
142         * mule-charset.c (decode_defined_char): New function; search
143         mother.
144         (decode_builtin_char): Don't search mother if
145         XCHARSET_MAX_CODE(charset) == 0.
146         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
147         == 0 even if code >= XCHARSET_MAX_CODE(charset).
148         (Fdecode_char): Use `decode_defined_char' instead of
149         `DECODE_DEFINED_CHAR'.
150         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
151         mother of `Vcharset_ucs_jis'.
152
153         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
154         instead of `DECODE_DEFINED_CHAR'.
155
156         * char-ucs.h (decode_defined_char): Renamed from
157         `DECODE_DEFINED_CHAR'; changed to normal function.
158         (DECODE_CHAR): Use `decode_defined_char' instead of
159         `DECODE_DEFINED_CHAR'.
160
161         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
162
163 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
164
165         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
166
167         * text-coding.c (Vcoded_charset_entity_reference_alist): New
168         variable.
169         (Quse_entity_reference): New variable.
170         (Qd): New variable.
171         (Qx): New variable.
172         (QX): New variable.
173         (coding_system_description): Add description for
174         `ccs_priority_list'.
175         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
176         (allocate_coding_system): Initialize `ccs_priority_list' in
177         UTF-2000.
178         (Fmake_coding_system): Add description about
179         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
180         (codesys).
181         (Fcoding_system_property): Accept `disable-composition' and
182         `use-entity-reference' in UTF-2000.
183         (struct decoding_stream): Add new member `er_counter' and `er_buf'
184         in UTF-2000.
185         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
186         (decode_coding_utf8): Decode entity-reference if
187         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
188         (char_encode_utf8): Encode non-Unicode characters as
189         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
190         (str->codesys).
191         (syms_of_file_coding): Add new symbols `use-entity-reference',
192         `d', `x', `X'.
193         (vars_of_file_coding): Add new variable
194         `coded-charset-entity-reference-alist'.
195         (complex_vars_of_file_coding): Declare `disable-composition' and
196         `use-entity-reference' to be coding-system-properties in UTF-2000.
197
198         * file-coding.h (struct Lisp_Coding_System): Add new member
199         `use_entity_reference' and `ccs_priority_list'.
200         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
201         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
202         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
203
204 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
205
206         * chartab.c (save_uint8_byte_table): Don't clear the table.
207         (save_uint16_byte_table): Likewise.
208         (save_byte_table): Likewise.
209         (Fmount_char_attribute_table): New function.
210         (syms_of_chartab): Add new builtin function
211         `mount-char-attribute-table'.
212
213 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * mule-charset.c (Fsave_charset_mapping_table): Open database as
216         "w+" mode.
217         (load_char_decoding_entry_maybe): Open database as read-only mode.
218
219         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
220         open database as "w+" mode.
221         (load_char_attribute_maybe): Open database as read-only mode.
222         (Fload_char_attribute_table): Likewise.
223
224 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
227         (char_table_description): Delete member `db_file'.
228         (Fmake_char_table): Don't refer `ct->db_file'.
229         (Fcopy_char_table): Likewise.
230         (Fsave_char_attribute_table): Likewise.
231         (Fclose_char_attribute_table): Likewise.
232         (Freset_char_attribute_table): Likewise.
233         (load_char_attribute_maybe): Likewise.
234         (Fload_char_attribute_table): Likewise.
235
236         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
237
238 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
241         (Fsave_char_attribute_table): Don't check `ct->db_file' if
242         `ct->db' is living.
243         (load_char_attribute_maybe): Likewise.
244         (Fload_char_attribute_table): Likewise.
245
246 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
247
248         * chartab.c (Fclose_char_attribute_table): Set Qnil on
249         `ct->db_file' unconditionally.
250
251 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
252
253         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
254         UTF-2000.
255         (char_table_description): Add description for `db_file' and `db'
256         in UTF-2000.
257         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
258         UTF-2000.
259         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
260         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
261         (Fclose_char_attribute_table): New function.
262         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
263         (load_char_attribute_maybe): Change interface; use `cit->db_file'
264         and `cit->db'.
265         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
266         (syms_of_chartab): Add new builtin function
267         `Fclose_char_attribute_table'.
268
269 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
270
271         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
272         `db' in UTF-2000.
273         (load_char_attribute_maybe): Change interface.
274         (get_char_id_table): Modify for `load_char_attribute_maybe'.
275
276 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
277
278         * database.h: Add an EXFUN for `Fdatabase_live_p'.
279
280 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
281
282         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
283         instead of `DECODE_CHAR' for mother; don't use special code for
284         chinese-big5 to use code space of chinese-big5-1 and
285         chinese-big5-2.
286         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
287         `MAX_CHAR_BIG5_CDP' for chinese-big5.
288
289         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
290         (MAX_CHAR_BIG5_CDP): Revival.
291
292 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
295         the XLFD registry-encoding name of `chinese-big5'.
296
297 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
298
299         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
300         (Qchinese_big5_cdp): Deleted.
301         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
302         (complex_vars_of_mule_charset): Delete coded-charset
303         `chinese-big5-cdp'.
304
305         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
306         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
307         `CHARSET_ID_OFFSET - n' for private CCS.
308         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
309         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
310         of `MIN_LEADING_BYTE'.
311         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
312         `(CHARSET_ID_OFFSET - 97)'.
313         (MIN_CHAR_BIG5_CDP): Deleted.
314         (MAX_CHAR_BIG5_CDP): Deleted.
315
316 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
317
318         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
319
320 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
321
322         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
323         (vars_of_mule): Add new variable `utf-2000-version' [moved from
324         chartab.c].
325
326         * chartab.c (Vutf_2000_version): Moved to mule.c.
327         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
328
329 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
330
331         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
332         when HAVE_CHISE_CLIENT is not defined.
333
334         * mule.c (vars_of_mule): Provide feature `chise' when
335         HAVE_CHISE_CLIENT is defined.
336
337 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
338
339         * config.h.in (UTF2000): Add comment.
340         (HAVE_CHISE_CLIENT): New macro.
341
342 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
343
344         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
345         CONSP.
346         (Fput_char_attribute): Likewise.
347         (char_attribute_system_db_file): Encode file-name of attribute.
348         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
349         the initial value.
350
351 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
352
353         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
354         (Fsave_charset_mapping_table): Use
355         `char_attribute_system_db_file'.
356         (load_char_decoding_entry_maybe): Likewise.
357
358         * chartab.h (Qsystem_char_id): New external variable.
359         (char_attribute_system_db_file): New prototype.
360
361         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
362         (char_attribute_system_db_file): New function.
363         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
364         (Freset_char_attribute_table): Likewise.
365         (load_char_attribute_maybe): Likewise.
366         (Fload_char_attribute_table): Likewise.
367         (syms_of_chartab): Add new symbol `system-char-id'.
368
369 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
370
371         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
372         `XCHARSET_GRAPHIC(ccs)'.
373
374 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
377
378 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
379
380         * chartab.c (Q_ucs_variants): New variable.
381         (syms_of_chartab): Add new symbol `->ucs-variants'.
382         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
383         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
384         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
385
386         * mule-charset.c (load_char_decoding_entry_maybe): New function.
387
388         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
389         `HAVE_DATABASE' is defined.
390         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
391         `HAVE_DATABASE' is defined.
392
393 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
394
395         * chartab.c (Fsave_char_attribute_table): Don't clear internal
396         attribute-table.
397         (Freset_char_attribute_table): New function.
398         (syms_of_chartab): Add new builtin function
399         `reset-char-attribute-table'.
400
401 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
402
403         * chartab.c (load_char_attribute_maybe): Don't make directories.
404
405 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
406
407         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
408
409         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
410         for decoding-table.
411
412 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
413
414         * mule-charset.c (Fsave_charset_mapping_table): Use
415         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
416
417         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
418         instead of `XCHARSET_CHARS'.
419
420 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
421
422         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
423         (XCHARSET_BYTE_SIZE): Likewise.
424
425         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
426         mule-charset.c].
427         (XCHARSET_BYTE_SIZE): Likewise.
428
429 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
430
431         * chartab.c (Fput_char_attribute): Use exec-directory instead of
432         data-directory to store database.
433         (Fsave_char_attribute_table): Likewise.
434         (load_char_attribute_maybe): Likewise.
435         (Fload_char_attribute_table): Likewise.
436
437 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
438
439         * mule-charset.c (Fsave_charset_mapping_table): New function.
440         (syms_of_mule_charset): Add new builtin function
441         `save-charset-mapping-table'.
442
443 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
444
445         * char-ucs.h (decoding_table_check_elements): Delete prototype.
446         (get_ccs_octet_table): New inline function.
447         (put_ccs_octet_table): Likewise.
448         (decoding_table_put_char): Use `get_ccs_octet_table' and
449         `put_ccs_octet_table'.
450         (decoding_table_remove_char): Use `decoding_table_put_char'.
451         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
452
453         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
454         into encoding_table.
455         (make_charset): Use Qunbound instead Qnil as initial value of
456         decoding_table.
457
458 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
459
460         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
461         element is Qunloaded.
462         (map_over_uint16_byte_table): Likewise.
463         (map_over_byte_table): Likewise.
464         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
465         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
466         database support, load encoding-table of the specified
467         coded-charset if it is not loaded yet.
468         (save_uint8_byte_table): New function of UTF-2000 with external
469         database support.
470         (save_uint16_byte_table): Likewise.
471         (save_byte_table): Likewise.
472         (Fput_char_attribute): Don't store value into external database
473         even if the external database feature is supported in UTF-2000;
474         set `attribute' as name of char-table if the external database
475         feature is supported.
476         (Fsave_char_attribute_table): New function in UTF-2000.
477         (syms_of_chartab): Add new builtin function
478         `save-char-attribute-table' in UTF-2000.
479
480 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
481
482         * chartab.c (char_attribute_table_to_put): New variable in
483         UTF-2000.
484         (Qput_char_table_map_function): Likewise.
485         (value_to_put): Likewise.
486         (Fput_char_table_map_function): New function in UTF-2000.
487         (put_char_table): Use `Fmap_char_attribute' for
488         CHARTAB_RANGE_CHARSET in UTF-2000.
489         (Fput_char_attribute): Store symbol instead of string in
490         `XCHAR_TABLE_NAME (table)'.
491         (load_char_attribute_maybe): Likewise.
492         (syms_of_chartab): Add new symbol/function
493         `put-char-table-map-function'.
494
495 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
496
497         * database.h: Add new EXFUN for `Fmap_database'.
498
499         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
500         (syms_of_database): Likewise.
501
502         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
503         UTF-2000.
504         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
505         (XCHAR_TABLE_UNLOADED): Likewise.
506
507         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
508         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
509         HAVE_DATABASE is defined.
510         (char_attribute_table_to_load): New variable of UTF-2000 with
511         external database support.
512         (Qload_char_attribute_table_map_function): Likewise.
513         (Fload_char_attribute_table_map_function): New function of
514         UTF-2000 with external database support.
515         (Fload_char_attribute_table): New function of UTF-2000.
516         (Fmap_char_attribute): Call Fload_char_attribute_table if
517         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
518         (syms_of_chartab): Add new symbol and function
519         `load-char-attribute-table-map-function' in UTF-2000 with external
520         database support; add new function `load-char-attribute-table' in
521         UTF-2000.
522
523 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
524
525         * chartab.h (load_char_attribute_maybe): New prototype for
526         UTF-2000 with DATABASE support.
527         (get_char_id_table): Use `load_char_attribute_maybe' if
528         HAVE_DATABASE is defined.
529
530         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
531         with DATABASE support.
532
533 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
534
535         * chartab.c (Fput_char_attribute): Use S-expression as key of
536         external database.
537
538         * chartab.h (get_char_id_table): Use S-expression as key of
539         external database.
540
541 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
542
543         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
544         if an element is not loaded, load the corresponding attributes
545         from an external database.
546         (map_over_uint16_byte_table): Likewise.
547         (map_over_byte_table): Likewise.
548         (map_char_table): Modify for `map_over_uint8_byte_table',
549         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
550         element is not loaded, load the corresponding attributes from an
551         external database.
552         (Fput_char_attribute): Change initial values to Qunloaded.
553
554         * chartab.h (get_char_id_table): If a character attribute is not
555         loaded and the attribute value is not found in an external
556         database, store Qunbound as the attribute value.
557
558 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
559
560         * chartab.c (BT_UINT8_unloaded): New macro.
561         (UINT8_VALUE_P): Accept Qunloaded.
562         (UINT8_ENCODE): Likewise.
563         (UINT8_DECODE): Likewise.
564         (BT_UINT16_unloaded): New macro.
565         (UINT16_VALUE_P): Accept Qunloaded.
566         (UINT16_ENCODE): Likewise.
567         (UINT16_DECODE): Likewise.
568         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
569         BT_UINT16_unloaded.
570         (mark_char_table): Mark `ct->name' in UTF-2000.
571         (char_table_description): Add `name' in UTF-2000.
572         (Fmake_char_table): Initialize `ct->name'.
573         (Fcopy_char_table): Copy `ct->name'.
574         (Fput_char_attribute): Store value into an external database if
575         HAVE_DATABASE is defined.
576
577         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
578         UTF-2000.
579         (CHAR_TABLE_NAME): New macro in UTF-2000.
580         (XCHAR_TABLE_NAME): New macro in UTF-2000.
581         (get_char_id_table): Try to read an external database if Qunloaded
582         is stored in a table.
583
584         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
585         Qunloaded.
586
587 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
588
589         * database.h: Add EXFUN definitions for Fopen_database,
590         Fput_database, Fget_database and Fclose_database.
591
592         * data.c (Qunloaded): New variable in UTF-2000.
593
594         * lisp.h (Qunloaded): New variable in UTF-2000.
595
596 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
597
598         * mule-charset.c (put_char_ccs_code_point): Modify for
599         `decoding_table_remove_char' and `decoding_table_put_char'.
600         (remove_char_ccs): Modify for `decoding_table_remove_char'.
601
602         * char-ucs.h (decoding_table_remove_char): Change arguments to
603         hide decoding_table vector.
604         (decoding_table_put_char): Likewise.
605
606 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * mule-charset.c (decoding_table_remove_char): Moved to
609         char-ucs.h.
610         (decoding_table_put_char): Likewise.
611
612         * char-ucs.h (decoding_table_check_elements): New prototype [moved
613         from mule-charset.c].
614         (decoding_table_remove_char): New inline function [moved from
615         mule-charset.c].
616         (decoding_table_put_char): Likewise.
617
618 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
619
620         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
621         extension.
622
623 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
624
625         * mule-charset.c (decode_builtin_char): Support mother charsets.
626
627 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
628
629         * mule-charset.c (Q94x94x60): New variable.
630         (charset_code_point): Support conversion `94x94x60'.
631         (Fmake_charset): Likewise.
632         (syms_of_mule_charset): Add new symbol `94x94x60'.
633
634         * char-ucs.h (CONVERSION_94x94x60): New macro.
635
636 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
637
638         * mule-charset.c (charset_code_point): Unify code about
639         `code-offset'.
640
641 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
642
643         * mule-charset.c (charset_code_point): Merge code about builtin
644         characters into code about mother charsets; don't use
645         `range_charset_code_point'.
646         (range_charset_code_point): Deleted.
647
648 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
649
650         * mule-charset.c (Qcode_offset): New variable.
651         (Fmake_charset): Use `XUINT' to get value of `min-code' and
652         `max-code'; accept new property `code-offset'.
653         (syms_of_mule_charset): Add new symbol `code-offset'.
654
655 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
656
657         * mule-charset.c (range_charset_code_point): Fixed.
658
659 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * mule-charset.c (decode_builtin_char): Change semantics of
662         code-offset of coded-charset.
663         (charset_code_point): Likewise.
664         (range_charset_code_point): Likewise.
665         (complex_vars_of_mule_charset): Modify for the change.
666
667 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
668
669         * mule-charset.c (Fencode_char): Reverse arguments.
670
671         * mule-charset.c (charset_code_point): Fixed.
672
673 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
674
675         * mule-charset.c (Vcharset_mojikyo): Deleted.
676         (Vcharset_mojikyo_2022_1): Deleted.
677         (Vcharset_mojikyo_pj_{1..21}): Deleted.
678         (Qmin_code): New variable in UTF-2000.
679         (Qmax_code): Likewise.
680         (Qmother): Likewise.
681         (Qconversion): Likewise.
682         (Q94x60): Likewise.
683         (Qmojikyo): Deleted.
684         (Qmojikyo_2022_1): Deleted.
685         (Qmojikyo_pj_{1..22}): Deleted.
686         (mark_charset): Mark `cs->mother'.
687         (charset_description): Add description for `mother'.
688         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
689         new arguments `mother' and `conversion'; use
690         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
691         (charset_code_point): Moved from char-ucs.h; support `mother'
692         charset feature.
693         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
694         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
695         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
696         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
697         allow 2 as the value of `graphic' in UTF-2000; add new properties
698         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
699         require `final' in UTF-2000; modify for `make_charset'.
700         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
701         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
702         (Fcharset_property): Support `mother', `min-code' and `max-code'.
703         (Fencode_char): New function.
704         (syms_of_mule_charset): Add new builtin function `encode-char' in
705         UTF-2000; add new symbols `min-code', `max-code', `mother',
706         `conversion' and `94x60'; delete symbols `mojikyo',
707         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
708         (complex_vars_of_mule_charset): Modify for `make_charset' change;
709         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
710         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
711
712         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
713         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
714
715         * char-ucs.h (Vcharset_mojikyo): Deleted.
716         (Vcharset_mojikyo_2022_1): Deleted.
717         (LEADING_BYTE_MOJIKYO): Deleted.
718         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
719         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
720         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
721         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
722         add new member `mother'; add new member `conversion'.
723         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
724         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
725         (CHARSET_MOTHER): New macro.
726         (CHARSET_CONVERSION): New macro.
727         (CONVERSION_IDENTICAL): New macro.
728         (CONVERSION_94x60): New macro.
729         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
730         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
731         (XCHARSET_MOTHER): New macro.
732         (XCHARSET_CONVERSION): New macro.
733         (MIN_CHAR_MOJIKYO): Deleted.
734         (MAX_CHAR_MOJIKYO): Deleted.
735         (DECODE_MOJIKYO_2022): Deleted.
736         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
737         (charset_code_point): Changed to non-inline function.
738         (encode_char_1): Use `charset_code_point'.
739         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
740
741 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
742
743         * lread.c (read_compiled_function): Fix prototype.
744         (read_vector): Likewise.
745
746 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
747
748         * lrecord.h (struct lrecord_header): Delete `older'.
749         (set_lheader_implementation): Delete code for `older'.
750         (set_lheader_older_implementation): Deleted.
751         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
752         (OLDER_RECORD_P): Deleted.
753         (OLDER_RECORD_HEADER_P): Deleted.
754         (alloc_older_lcrecord): Deleted.
755         (alloc_older_lcrecord_type): Deleted.
756
757         * alloc.c (all_older_lcrecords): Deleted.
758         (alloc_older_lcrecord): Deleted.
759         (disksave_object_finalization_1): Delete code for older objects.
760         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
761         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
762
763 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * mule-charset.c (decoding_table_put_char): Use `make_vector'
766         instead of `make_older_vector'.
767         (put_char_ccs_code_point): Likewise.
768         (mark_charset): Mark `cs->decoding_table'.
769         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
770
771         * lisp.h (make_older_vector): Deleted.
772         (make_vector_newer): Deleted.
773
774         * config.h.in (HAVE_GGC): Deleted.
775
776         * alloc.c (make_older_vector): Deleted.
777         (make_vector_newer_1): Deleted.
778         (make_vector_newer): Deleted.
779
780 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
781
782         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
783         (Qideograph_daikanwa_2): New variable.
784         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
785         (complex_vars_of_mule_charset): Add new coded-charset
786         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
787         `LEADING_BYTE_DAIKANWA'.
788
789         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
790         (LEADING_BYTE_DAIKANWA_1): New macro.
791         (LEADING_BYTE_DAIKANWA_2): New macro.
792         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
793
794 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * mule-charset.c (complex_vars_of_mule_charset): Change
797         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
798         the second revised version.
799
800 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
801
802         * mule-charset.c (Vcharset_ucs_smp): New variable.
803         (Vcharset_ucs_sip): New variable.
804         (Qucs_smp): New variable.
805         (Qucs_sip): New variable.
806         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
807         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
808         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
809         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
810         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
811         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
812
813         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
814         (LEADING_BYTE_UCS_SIP): New macro.
815         (MIN_CHAR_SMP): New macro.
816         (MAX_CHAR_SMP): New macro.
817         (MIN_CHAR_SIP): New macro.
818         (MAX_CHAR_SIP): New macro.
819
820 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
821
822         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
823         utf-2000.
824
825 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
826
827         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
828         value; don't store value into `encoding_table' of `Lisp_Charset'.
829         (mark_charset): `encoding_table' was deleted.
830         (charset_description): Likewise.
831         (make_charset): Likewise.
832         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
833         `put_char_ccs_code_point'.
834
835         * chartab.h (Fput_char_attribute): New EXFUN.
836
837         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
838         is unified with normal symbol space.
839         (Fget_char_attribute): Likewise.
840         (Fput_char_attribute): Likewise; behavior of
841         `put_char_ccs_code_point' is changed.
842
843         * char-ucs.h: Include "elhash.h".
844         (Vchar_attribute_hash_table): New external variable.
845         (struct Lisp_Charset): Delete `encoding_table'.
846         (CHARSET_ENCODING_TABLE): New implementation; refer
847         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
848         `Lisp_Charset'.
849
850 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
851
852         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
853         (cs) == 0.
854
855 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * text-coding.c (char_encode_big5): Prefer charset-g1 than
858         `chinese-big5'.
859
860 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * chartab.c (uint8_byte_table_description): New constant.
863         (uint8-byte-table): Use `uint8_byte_table_description'.
864         (uint16_byte_table_description): New constant.
865         (uint16-byte-table): Use `uint16_byte_table_description'.
866
867 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
868
869         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
870         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
871
872 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
873
874         * mule-charset.c (Vcharset_ucs_ks): New variable.
875         (Qucs_ks): New variable.
876         (syms_of_mule_charset): Add new symbol `ucs-ks'.
877         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
878
879         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
880
881 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
882
883         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
884         (Fdecode_char): Likewise.
885
886         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
887         chartab.h.
888         (Fdefine_char): Modify for Fdecode_char.
889         (Ffind_char): Likewise.
890
891         * mule-charset.c (Fdecode_char): Add new optional argument
892         `defined-only'.
893         (Fdecode_builtin_char): Modify for `Fdecode_char'.
894
895 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
898         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
899         (allocate_coding_system): Initialize initial-charsets of
900         CODESYS_BIG5 in XEmacs UTF-2000.
901         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
902         CODESYS_BIG5 in XEmacs UTF-2000.
903         (decode_coding_big5): Use initial-charset-g0 and -g1 of
904         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
905
906         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
907         variables.
908         (Qideograph_hanziku_{1 .. 12}): Likewise.
909         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
910         .. 12}'.
911         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
912         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
913         `ideograph-hanziku-{1 .. 12}'.
914
915         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
916         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
917         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
918         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
919         (DECODE_DEFINED_CHAR): New inline function.
920         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
921
922 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
923
924         * mule-charset.c (Vcharset_china3_jef): Renamed from
925         `Vcharset_japanese_jef_china3'.
926         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
927         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
928         `{MIN|MAX}_CHAR_JEF_CHINA3'..
929         (syms_of_mule_charset): Rename `china3-jef' from
930         `japanese-jef-china3'.
931         (complex_vars_of_mule_charset): Likewise; rename
932         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
933
934         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
935         `LEADING_BYTE_JEF_CHINA3'.
936         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
937         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
938
939 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
940
941         * mule-charset.c (encode_builtin_char_1): Comment out special code
942         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
943
944         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
945         (MAX_CHAR_MOJIKYO_0): Comment out.
946         (MIN_CHAR_CBETA): Changed to 0x00E20000.
947         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
948         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
949         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
950
951 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
952
953         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
954         (Qideograph_cbeta): New variable.
955         (encode_builtin_char_1): Comment out special code for
956         coded-charset `mojikyo' and `japanese-jef-china3'.
957         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
958         (complex_vars_of_mule_charset): Add new coded-charset
959         `ideograph-cbeta'.
960
961         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
962         (MIN_CHAR_CBETA): New macro.
963         (MAX_CHAR_CBETA): New macro.
964
965 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
968         (LEADING_BYTE_JEF_CHINA3): New macro.
969         (MIN_CHAR_JEF_CHINA3): New macro.
970         (MAX_CHAR_JEF_CHINA3): Likewise.
971         (DECODE_CHAR): Fixed.
972
973 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
976         (Qjapanese_jef_china3): New variable.
977         (encode_builtin_char_1): Support `japanese-jef-china3'.
978         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
979         (complex_vars_of_mule_charset): Add new coded-charset
980         `japanese-jef-china3'.
981
982 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
983
984         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
985         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
986         94^4, 96^3, 96^4, 128^n and 256^n set.
987         (put_char_table): Use `XCHARSET_CELL_RANGE'.
988         (map_char_table): Likewise.
989
990 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
991
992         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
993         UTF-2000.
994
995 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
996
997         * chartab.h (get_char_id_table): New inline function.
998
999         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1000         function.
1001
1002 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1003
1004         * chartab.h (decode_char_table_range): New prototype in XEmacs
1005         UTF-2000.
1006         (put_char_id_table): New inline function in XEmacs UTF-2000.
1007
1008         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1009         function.
1010         (decode_char_table_range): Delete static declaration in XEmacs
1011         UTF-2000.
1012
1013 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1014
1015         * chartab.c (put_char_id_table): Use `put_char_table'.
1016
1017 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1018
1019         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1020         (map_over_uint16_byte_table): Likewise.
1021         (map_over_byte_table): Likewise.
1022         (map_char_table): Modify for `map_over_uint8_byte_table',
1023         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1024         UTF-2000.
1025
1026 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1027
1028         * chartab.c (struct map_char_table_for_charset_arg): New
1029         structure.
1030         (map_char_table_for_charset_fun): New function.
1031         (map_char_table): Use `map_char_table' for encoding_table of
1032         `range->charset'.
1033
1034 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * chartab.c (map_char_table): Check a character is found in
1037         range->charset instead of non default value is defined in
1038         char-table when range is CHARTAB_RANGE_ROW.
1039
1040 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1041
1042         * chartab.c (map_char_id_table): Deleted.
1043         (Fmap_char_attribute): Use `map_char_table' instead of
1044         `map_char_id_table'.
1045
1046 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1049         UTF-2000.
1050         (update_syntax_table): Deleted in XEmacs UTF-2000.
1051
1052         * syntax.c (find_defun_start): Use `syntax_table' instead of
1053         `mirror_syntax_table' in XEmacs UTF-2000.
1054         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1055         UTF-2000.
1056         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1057         XEmacs UTF-2000.
1058         (Fmatching_paren): Likewise.
1059         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1060         in XEmacs UTF-2000.
1061         (find_start_of_comment): Likewise.
1062         (find_end_of_comment): Likewise.
1063         (Fforward_comment): Likewise.
1064         (scan_lists): Likewise.
1065         (char_quoted): Likewise.
1066         (Fbackward_prefix_chars): Likewise.
1067         (scan_sexps_forward): Likewise.
1068         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1069         (update_syntax_table): Likewise.
1070
1071         * search.c (skip_chars): Use `syntax_table' instead of
1072         `mirror_syntax_table' in XEmacs UTF-2000.
1073         (wordify): Likewise.
1074         (Freplace_match): Likewise.
1075
1076         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1077         `mirror_syntax_table' in XEmacs UTF-2000.
1078         (WORDCHAR_P_UNSAFE): Likewise.
1079         (re_match_2_internal): Likewise.
1080
1081         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1082         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1083
1084         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1085         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1086
1087         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1088         XEmacs UTF-2000.
1089
1090         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1091         UTF-2000.
1092         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1093         (char_table_description): Delete `mirror_table' in XEmacs
1094         UTF-2000.
1095         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1096         UTF-2000.
1097         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1098         (Fcopy_char_table): Likewise.
1099         (put_char_table): Don't call `update_syntax_table' in XEmacs
1100         UTF-2000.
1101
1102         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1103         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1104         (casify_region_internal): Likewise.
1105
1106         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1107
1108         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1109         `mirror_syntax_table' in XEmacs UTF-2000.
1110
1111         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1112         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1113         (Fexpand_abbrev): Likewise.
1114
1115 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1116
1117         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1118
1119 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1120
1121         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1122         (map_over_uint16_byte_table): Likewise.
1123         (map_over_byte_table): Likewise.
1124         (get_char_id_table): Refer `cit->default_value'.
1125         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1126         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1127         of character-id ranges.
1128         (mark_char_table): Mark `ct->default_value'.
1129         (char_table_description): Add `default_value'.
1130         (fill_char_table): Use `default_value'.
1131         (decode_char_table_range): Decode `nil' as
1132         `CHARTAB_RANGE_DEFAULT'.
1133         (get_char_id_table): Refer `cit->default_value'.
1134         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1135         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1136         temporary hack; check value of char-table is bound or not.
1137         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1138
1139         * chartab.h (struct Lisp_Char_Table): Add new member
1140         `default_value' in XEmacs UTF-2000.
1141         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1142         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1143         UTF-2000.
1144
1145 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1146
1147         * chartab.h (Lisp_Char_ID_Table): Deleted.
1148
1149         * chartab.c (char_table_description): Fix typo.
1150         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1151         `Lisp_Char_ID_Table'.
1152
1153 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1156         `CHAR_ID_TABLE_P'.
1157
1158         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1159         `CHAR_ID_TABLE_P'.
1160
1161         * chartab.h (XCHAR_ID_TABLE): Deleted.
1162         (XSETCHAR_ID_TABLE): Deleted.
1163         (CHAR_ID_TABLE_P): Deleted.
1164
1165         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1166         `CHAR_ID_TABLE_P'.
1167         (Fget_composite_char): Likewise.
1168         (put_char_table): Likewise.
1169         (add_char_attribute_alist_mapper): Fixed.
1170         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1171         `CHAR_ID_TABLE_P'.
1172         (Fget_char_attribute): Likewise.
1173         (Fget_char_attribute): Likewise.
1174         (Fmap_char_attribute): Likewise.
1175
1176         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1177         `CHAR_ID_TABLE_P'.
1178         (encode_char_1): Likewise.
1179
1180 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1181
1182         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1183         `XCHAR_ID_TABLE'.
1184
1185         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1186         instead of `XCHAR_ID_TABLE'.
1187         (remove_char_ccs): Likewise.
1188
1189         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1190         `XCHAR_ID_TABLE'.
1191         (Fget_composite_char): Likewise.
1192         (Fchar_variants): Likewise.
1193         (put_char_table): Likewise.
1194         (add_char_attribute_alist_mapper): Likewise.
1195         (Fchar_attribute_alist): Likewise.
1196         (Fget_char_attribute): Likewise.
1197         (Fput_char_attribute): Likewise.
1198         (Fmap_char_attribute): Likewise.
1199         (Fmap_char_attribute): Likewise.
1200
1201         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1202         `XCHAR_ID_TABLE'.
1203         (encode_char_1): Likewise.
1204
1205 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1208         `Lisp_Char_ID_Table'.
1209         (mark_char_id_table): Deleted.
1210         (print_char_id_table): Likewise.
1211         (char_id_table_equal): Likewise.
1212         (char_id_table_hash): Likewise.
1213         (char_id_table_description): Likewise.
1214         (char_id_table): Likewise.
1215         (make_char_id_table): Use `Fmake_char_table' and
1216         `fill_char_table'.
1217         (get_char_id_table): Use `Lisp_Char_Table' instead of
1218         `Lisp_Char_ID_Table'.
1219         (put_char_id_table): Likewise.
1220         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1221         `XCHAR_ID_TABLE'.
1222         (Fremove_char_attribute): Likewise.
1223         (syms_of_chartab): Don't define type `char-id-table'.
1224
1225         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1226         (char_id_table): Likewise.
1227         (GC_CHAR_ID_TABLE_P): Likewise.
1228         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1229         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1230         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1231         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1232         (get_char_id_table): Use `Lisp_Char_Table' instead of
1233         `Lisp_Char_ID_Table'.
1234         (put_char_id_table_0): Likewise.
1235         (put_char_id_table): Likewise.
1236
1237 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1238
1239         * chartab.h: Lisp_Byte_Table related codes are moved from
1240         chartab.h.
1241
1242         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1243
1244 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1245
1246         * chartab.h: Don't include "chartab.h".
1247         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1248         (Lisp_Char_ID_Table): Likewise.
1249         (char_id_table): Likewise.
1250         (XCHAR_ID_TABLE): Likewise.
1251         (XSETCHAR_ID_TABLE): Likewise.
1252         (CHAR_ID_TABLE_P): Likewise.
1253         (GC_CHAR_ID_TABLE_P): Likewise.
1254         (get_char_id_table): Likewise.
1255
1256         * char-ucs.h: Include "chartab.h".
1257         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1258         (Lisp_Char_ID_Table): Likewise.
1259         (char_id_table): Likewise.
1260         (XCHAR_ID_TABLE): Likewise.
1261         (XSETCHAR_ID_TABLE): Likewise.
1262         (CHAR_ID_TABLE_P): Likewise.
1263         (GC_CHAR_ID_TABLE_P): Likewise.
1264         (get_char_id_table): Likewise.
1265
1266 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1267
1268         * chartab.c (copy_uint8_byte_table): New function.
1269         (copy_uint16_byte_table): New function.
1270         (copy_byte_table): New function.
1271         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1272         characters to call.
1273         (map_over_uint16_byte_table): Likewise.
1274         (map_over_byte_table): Likewise.
1275         (get_byte_table): Move prototype to chartab.h.
1276         (put_byte_table): Likewise.
1277         (put_char_id_table_0): Moved to chartab.h.
1278         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1279         (char_table_entry_equal): Likewise.
1280         (char_table_entry_hash): Likewise.
1281         (char_table_entry_description): Likewise.
1282         (char_table_entry): Likewise.
1283         (make_char_table_entry): Likewise.
1284         (copy_char_table_entry): Likewise.
1285         (get_non_ascii_char_table_value): Likewise.
1286         (map_over_charset_ascii): Likewise.
1287         (map_over_charset_control_1): Likewise.
1288         (map_over_charset_row): Likewise.
1289         (map_over_other_charset): Likewise.
1290         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1291         (print_char_table): Likewise.
1292         (char_table_equal): Likewise.
1293         (char_table_hash): Likewise.
1294         (char_table_description): Likewise.
1295         (fill_char_table): Likewise.
1296         (Fcopy_char_table): Likewise.
1297         (get_char_table): Likewise.
1298         (Fget_range_char_table): Likewise.
1299         (put_char_table): Likewise.
1300         (map_char_table): Likewise.
1301         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1302         UTF-2000.
1303
1304 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1305
1306         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1307         `Vauto_fill_chars' in XEmacs UTF-2000.
1308
1309         * chartab.h (get_byte_table): New prototype [moved from
1310         chartab.c].
1311         (put_byte_table): Likewise [moved from chartab.c].
1312         (put_char_id_table_0): New inline function [moved from chartab.c].
1313         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1314         (Lisp_Char_Table_Entry): Likewise.
1315         (char_table_entry): Likewise.
1316         (XCHAR_TABLE_ENTRY): Likewise.
1317         (XSETCHAR_TABLE_ENTRY): Likewise.
1318         (CHAR_TABLE_ENTRYP): Likewise.
1319         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1320         (NUM_ASCII_CHARS): Likewise.
1321         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1322         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1323
1324 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * chartab.c (get_char_id_table): Change interface.
1327         (put_char_id_table_0): New function.
1328         (put_char_id_table): Change interface; new implementation.
1329         (Fget_composite_char): Modify for interface change of
1330         `get_char_id_table'.
1331         (Fchar_variants): Likewise.
1332         (add_char_attribute_alist_mapper): Likewise.
1333         (Fchar_attribute_alist): Likewise.
1334         (Fget_char_attribute): Likewise.
1335         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1336         as same as character as the first argument like `put-char-table';
1337         modify for interface change of `put_char_id_table'.
1338         (Fremove_char_attribute): Modify for interface change of
1339         `put_char_id_table'.
1340
1341 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1342
1343         * text-coding.c: Sync up with XEmacs 21.2.41.
1344         (COMPOSE_ADD_CHAR): Modify for interface change of
1345         `get_char_id_table'.
1346
1347         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1348         change of `put_char_id_table'.
1349         (remove_char_ccs): Likewise.
1350
1351         * chartab.h (put_char_id_table): Change interface.
1352
1353         * char-ucs.h (get_char_id_table): Change interface.
1354         (charset_code_point): Modify for interface change of
1355         `get_char_id_table'.
1356         (encode_char_1): Likewise.
1357
1358 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1359
1360         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1361         argument `ccs'.
1362         (map_over_uint16_byte_table): Likewise.
1363         (map_over_byte_table): Likewise.
1364         (map_char_id_table): Add new argument `range' like
1365         `map_char_table'.
1366         (Fmap_char_attribute): Add new argument `range' like
1367         `Fmap_char_table'.
1368
1369 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1370
1371         * chartab.c (map_over_uint8_byte_table): Change interface of
1372         mapping function to use struct chartab_range instead of Emchar.
1373         (map_over_uint16_byte_table): Likewise.
1374         (map_over_byte_table): Likewise.
1375         (map_char_id_table): Likewise.
1376         (struct slow_map_char_id_table_arg): Deleted.
1377         (slow_map_char_id_table_fun): Deleted.
1378         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1379         function `slow_map_char_table_fun' instead of struct
1380         `slow_map_char_id_table_arg' and function
1381         `slow_map_char_id_table_fun'.
1382
1383 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1384
1385         * mule-charset.c: Move char-it-table related codes to chartab.c.
1386         (Vutf_2000_version): Moved to chartab.c.
1387         (Fdefine_char): Likewise.
1388         (Ffind_char): Likewise.
1389         (syms_of_mule_charset): Move types `uint8-byte-table',
1390         `uint16-byte-table', `byte-table' and `char-id-table' to
1391         chartab.c; move functions `char_attribute_list,
1392         `find_char_attribute_table, `char_attribute_alist,
1393         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1394         `map_char_attribute, `define_char, `find_char, `char_variants and
1395         `get_composite_char to chartab.c; move symbols `=>ucs',
1396         `->decomposition', `compat', `isolated', `initial', `medial',
1397         `final', `vertical', `noBreak', `fraction', `super', `sub',
1398         `circle', `square', `wide', `narrow', `small' and `font' to
1399         chartab.c.
1400         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1401         setting codes for `Vcharacter_composition_table' and
1402         `Vcharacter_variant_table' to chartab.c.
1403         (complex_vars_of_mule_charset): Move setting code for
1404         `Vchar_attribute_hash_table' to chartab.c.
1405
1406         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1407         (make_char_id_table): New prototype.
1408         (put_char_id_table): Likewise.
1409         (Fget_char_attribute): Likewise.
1410
1411         * chartab.c: Move char-id-table related code from mule-charset.c.
1412         (Vutf_2000_version): Moved from mule-charset.c.
1413
1414         * char-ucs.h (Qucs): New external variable.
1415         (put_char_ccs_code_point): New prototype.
1416         (remove_char_ccs): Likewise.
1417
1418 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1419
1420         * mule-charset.c (Vcharset_ucs_jis): New variable.
1421         (Qucs_jis): Likewise.
1422         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1423         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1424
1425         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1426
1427 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * mule-charset.c (map_over_uint8_byte_table): New function.
1430         (map_over_uint16_byte_table): Likewise.
1431         (map_over_byte_table): Likewise.
1432         (map_char_id_table): Likewise.
1433         (slow_map_char_id_table_fun): Likewise.
1434         (Fmap_char_attribute): Likewise.
1435         (syms_of_mule_charset): Add new function `map-char-attribute'.
1436
1437 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1438
1439         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1440         (syms_of_mule_charset): Add new function `find-char'.
1441
1442 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1443
1444         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1445         XEmacs UTF-2000.
1446         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1447         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1448         XEmacs UTF-2000.
1449         (complex_vars_of_mule_charset): Add new coded-charset
1450         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1451         `ideograph-gt-pj-*'.
1452
1453         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1454
1455 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1456
1457         * mule-charset.c (encode_builtin_char_1): Purge codes about
1458         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1459         {MIN|MAX}_CHAR_HEBREW.
1460         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1461         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1462
1463         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1464         (MAX_CHAR_GREEK): Purged.
1465         (MIN_CHAR_CYRILLIC): Purged.
1466         (MAX_CHAR_CYRILLIC): Purged.
1467         (MIN_CHAR_HEBREW): Commented out.
1468         (MAX_CHAR_HEBREW): Likewise.
1469
1470 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1471
1472         * mule-charset.c (Qto_ucs): New variable.
1473         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1474         (Fdefine_char): Likewise.
1475         (syms_of_mule_charset): Add new symbol `=>ucs'.
1476
1477 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1478
1479         * mule-charset.c (Fdecode_char): Fixed.
1480
1481 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1482
1483         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1484         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1485         "tcvn5712-1".
1486
1487 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1488
1489         * mule-charset.c (Vcharset_ucs_big5): New variable.
1490         (Qucs_big5): Likewise.
1491         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1492         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1493
1494         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1495
1496 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1497
1498         * mule-charset.c (decode_builtin_char): Check Big5 code range
1499         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1500
1501 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1502
1503         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1504         (Qchinese_gb12345): Likewise.
1505         (Fdecode_builtin_char): Fixed.
1506         (syms_of_mule_charset): Add `chinese-gb12345'.
1507         (complex_vars_of_mule_charset): Add coded-charset
1508         `chinese-gb12345'.
1509
1510         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1511         (LEADING_BYTE_CHINESE_GB12345): New macro.
1512
1513 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1514
1515         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1516         and `latin-viscii-upper' for `latin-viscii'.
1517
1518 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1519
1520         * mule-charset.c (Fdecode_builtin_char): Comment out
1521         regularization code for ISO-IR GR representation.
1522
1523 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1524
1525         * mule-charset.c (decode_builtin_char): New function; renamed from
1526         `make_builtin_char'; return -1 instead of signal.
1527         (Fdecode_builtin_char): Use `decode_builtin_char'.
1528
1529         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1530         `make_builtin_char'.
1531         (DECODE_CHAR): Use `decode_builtin_char' instead of
1532         `make_builtin_char'; use mapping table of `chinese-big5' for
1533         `chinese-big5-{1,2}'.
1534
1535 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1536
1537         * text-coding.c (char_encode_big5): New function.
1538         (char_finish_big5): Likewise.
1539         (reset_encoding_stream): Use `char_encode_big5' and
1540         `char_finish_big5' for CODESYS_BIG5.
1541         (mule_encode): Don't use `encode_coding_big5'.
1542         (encode_coding_big5): Deleted.
1543
1544 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1545
1546         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1547         0x81- in XEmacs UTF-2000.
1548         (detect_coding_big5): Likewise.
1549
1550 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1551
1552         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1553         generate character-id if the CCS property does not have
1554         corresponding predefined character.
1555         (make_builtin_char): Return -1 if corresponding predefined
1556         character is not found.
1557         (Fdecode_char): Return nil if corresponding character is not
1558         found.
1559         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1560         don't map to builtin ucs space.
1561
1562 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1563
1564         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1565         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1566
1567 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1568
1569         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1570         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1571         (Qideograph_gt): Likewise.
1572         (Qideograph_gt_pj_{1..11}): Likewise.
1573         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1574         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1575         `ideograph-gt-pj-11'.
1576         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1577         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1578         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1579
1580         * char-ucs.h (LEADING_BYTE_GT): New macro.
1581         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1582         (MIN_CHAR_GT): Likewise.
1583         (MAX_CHAR_GT): Likewise.
1584
1585 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1586
1587         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1588         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1589
1590         * doprnt.c (unsigned_int_converters): Add `c'.
1591         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1592
1593         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1594         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1595         `MIN_CHAR_MOJIKYO'.
1596         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1597         (MAX_CHAR_MOJIKYO_0): New macro.
1598         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1599
1600 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1601
1602         * mule-charset.c (Fdefine_char): Delete cemented out code.
1603         (encode_builtin_char_1): Modify for new allocation of builtin
1604         Mojikyo characters.
1605
1606         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1607
1608 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1609
1610         * mule-charset.c (Vcharset_ucs_cns): New variable.
1611         (Qucs_cns): New variable.
1612         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1613         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1614
1615 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1616
1617         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1618
1619 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1620
1621         * search.c (search_buffer): Make `charset_base_code' as
1622         character-id >> 6 to eliminate the corresponding last byte in
1623         UTF-8 representation [I'm not sure it is right thing].
1624         (boyer_moore): Likewise.
1625
1626 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1627
1628         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1629         representation in MULE.
1630
1631 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1632
1633         * text-coding.c (Fmake_coding_system): Use
1634         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1635         `EXTERNAL_PROPERTY_LIST_LOOP'.
1636
1637 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1638
1639         * text-coding.c (decode_output_utf8_partial_char): New function.
1640         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1641
1642 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1643
1644         * text-coding.c (decode_coding_utf8): Output original byte
1645         sequence if it is broken; change order of conditions.
1646
1647         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1648         of conditions.
1649
1650         * mb-multibyte.h (BYTE_ASCII_P):
1651         Use bit ops for char-signedness safety.
1652         (BYTE_C0_P): Use bit ops for char-signedness safety.
1653         (BYTE_C1_P): Use bit ops for char-signedness safety.
1654
1655         * character.h: (XCHAR_OR_CHAR_INT):
1656         Always use inline function.
1657         Remove redundant type checking assert() - XINT will abort quite
1658         nicely.
1659
1660 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1661
1662         * text-coding.c: (Fencode_shift_jis_char):
1663         (Fencode_big5_char):
1664         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1665         Replace 0 with '\0' when working with bytes.
1666         Replace initial "(" with "\(" in docstrings.
1667
1668         (Fmake_coding_system):
1669         When type is ccl and value is vector, register it with a proper
1670         symbol.  And checks whether the given ccl program is valid.
1671         (mule_decode): When calling ccl_driver, if src indicates
1672         NULL pointer, set an empty string instead.
1673         (mule_encode): Likewise.
1674
1675         (detect_eol_type):
1676         (detect_coding_sjis):
1677         (decode_coding_sjis):
1678         (detect_coding_big5):
1679         (decode_coding_big5):
1680         (detect_coding_ucs4):
1681         (decode_coding_ucs4):
1682         (detect_coding_utf8):
1683         (decode_coding_utf8):
1684         (detect_coding_iso2022):
1685         (decode_coding_iso2022):
1686         (decode_coding_no_conversion):
1687         (mule_decode):
1688         Make all detecting and decoding functions take an Extbyte * arg.
1689         (text_encode_generic):
1690         (encode_coding_big5):
1691         (encode_coding_no_conversion):
1692         (mule_encode):
1693         Make all encoding functions take a Bufbyte * arg.
1694         Use size_t instead of unsigned int for memory sizes.
1695         Only cast to unsigned char whenever dereferencing Extbyte *.
1696
1697         (struct lrecord_description fcd_description_1): Use countof.
1698         (complex_vars_of_file_coding):
1699         Use countof instead of sizeof.
1700         Use CHECK_NATNUM instead of CHECK_INT.
1701
1702 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1703
1704         * mule-charset.c (Fget_char_attribute): Add new optional argument
1705         `default-value'.
1706         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1707         (remove_char_ccs): Likewise.
1708
1709 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1710
1711         * text-coding.c (char_encode_shift_jis): New implementation in
1712         UTF-2000.
1713         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1714         ...)'.
1715
1716         * mule-charset.c (Vcharset_chinese_big5): New variable in
1717         UTF-2000.
1718         (Qchinese_big5): New variable in UTF-2000.
1719         (BIG5_SAME_ROW): New macro in UTF-2000.
1720         (make_builtin_char): Use builtin characters of
1721         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1722         characters of `Vcharset_chinese_big5'.
1723         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1724         (complex_vars_of_mule_charset): Add new coded-charset
1725         `chinese-big5' in UTF-2000.
1726
1727         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1728         (Vcharset_chinese_big5): New external variable declaration.
1729         (Vcharset_japanese_jisx0208_1990): Likewise.
1730
1731 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1732
1733         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1734         function.
1735         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1736
1737 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1738
1739         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1740         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1741         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1742         `mojikyo-pj-*'.
1743
1744 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1745
1746         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1747
1748 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1749
1750         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1751         to 0.17.
1752
1753 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1754
1755         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1756         for `CHARSET_BY_ATTRIBUTES'.
1757         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1758         `CHARSET_BY_ATTRIBUTES'.
1759
1760         * text-coding.c (struct decoding_stream): Rename member `CH' to
1761         `CPOS'.
1762         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1763         (decode_coding_sjis): Likewise.
1764         (decode_coding_big5): Likewise.
1765         (decode_coding_ucs4): Likewise.
1766         (decode_coding_utf8): Likewise.
1767         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1768         `CHARSET_BY_ATTRIBUTES'.
1769         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1770         `str->counter'; decode 3, 4 bytes sets.
1771         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1772         sets.
1773         (decode_coding_no_conversion): Use `str->cpos' instead of
1774         `str->ch'.
1775
1776         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1777         (Qmojikyo_2022_1): New variable.
1778         (make_charset): Don't use `CHARSET_TYPE_*'.
1779         (range_charset_code_point): Support coded-charset
1780         `mojikyo-2022-1'.
1781         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1782         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1783         `CHARSET_BY_ATTRIBUTES'.
1784         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1785         `CHARSET_BY_ATTRIBUTES'.
1786         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1787         (complex_vars_of_mule_charset): Add new coded-charset
1788         `mojikyo-2022-1'.
1789
1790         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1791         interface; changed to inline function.
1792
1793         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1794         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1795         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1796         (CHARSET_TYPE_94): Deleted.
1797         (CHARSET_TYPE_94X94): Deleted.
1798         (CHARSET_TYPE_96): Deleted.
1799         (CHARSET_TYPE_96X96): Deleted.
1800         (CHARSET_TYPE_128): Deleted.
1801         (CHARSET_TYPE_128X128): Deleted.
1802         (CHARSET_TYPE_256): Deleted.
1803         (CHARSET_TYPE_256X256): Deleted.
1804         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1805         to inline function.
1806         (DECODE_MOJIKYO_2022): New inline function.
1807         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1808         `Vcharset_mojikyo_2022_1'.
1809
1810 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1811
1812         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1813         instead of `EQ'.
1814         (put_byte_table): Likewise.
1815         (char_id_table_equal): Use `get_byte_table' [new implementation].
1816
1817 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1818
1819         * mule-charset.c: Include <limits.h> in UTF-2000.
1820         (BT_UINT8_MIN): New macro in UTF-2000.
1821         (BT_UINT8_MAX): New macro in UTF-2000.
1822         (BT_UINT8_t): New macro in UTF-2000.
1823         (BT_UINT8_nil): New macro in UTF-2000.
1824         (BT_UINT8_unbound): New macro in UTF-2000.
1825         (INT_UINT8_P): New inline function in UTF-2000.
1826         (UINT8_VALUE_P): New inline function in UTF-2000.
1827         (UINT8_ENCODE): New inline function in UTF-2000.
1828         (UINT8_DECODE): New inline function in UTF-2000.
1829         (mark_uint8_byte_table): New function in UTF-2000.
1830         (print_uint8_byte_table): New function in UTF-2000.
1831         (uint8_byte_table_equal): New function in UTF-2000.
1832         (uint8_byte_table_hash): New function in UTF-2000.
1833         (make_uint8_byte_table): New function in UTF-2000.
1834         (uint8_byte_table_same_value_p): New function in UTF-2000.
1835         (BT_UINT16_MIN): New macro in UTF-2000.
1836         (BT_UINT16_MAX): New macro in UTF-2000.
1837         (BT_UINT16_t): New macro in UTF-2000.
1838         (BT_UINT16_nil): New macro in UTF-2000.
1839         (BT_UINT16_unbound): New macro in UTF-2000.
1840         (INT_UINT16_P): New inline function in UTF-2000.
1841         (UINT16_VALUE_P): New inline function in UTF-2000.
1842         (UINT16_ENCODE): New inline function in UTF-2000.
1843         (UINT16_DECODE): New inline function in UTF-2000.
1844         (UINT8_TO_UINT16): New inline function in UTF-2000.
1845         (mark_uint16_byte_table): New function in UTF-2000.
1846         (print_uint16_byte_table): New function in UTF-2000.
1847         (uint16_byte_table_equal): New function in UTF-2000.
1848         (uint16_byte_table_hash): New function in UTF-2000.
1849         (make_uint16_byte_table): New function in UTF-2000.
1850         (uint16_byte_table_same_value_p): New function in UTF-2000.
1851         (print_byte_table): New function in UTF-2000.
1852         (byte-table): Use `print_byte_table' as printer.
1853         (make_byte_table): Delete second argument `older'.
1854         (byte_table_same_value_p): New function in UTF-2000.
1855         (copy_byte_table): Deleted.
1856         (get_byte_table): New function in UTF-2000.
1857         (put_byte_table): New function in UTF-2000.
1858         (print_char_id_table): New function in UTF-2000.
1859         (char-id-table): Use `print_char_id_table' as printer.
1860         (make_char_id_table): Delete second argument `older'.
1861         (get_char_id_table): Use `get_byte_table [new implementation].
1862         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1863         implementation].
1864         (Ffind_char_attribute_table): New function in UTF-2000.
1865         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1866         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1867         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1868         (syms_of_mule_charset): Add new function
1869         `find-char-attribute-table' in UTF-2000.
1870
1871         * lrecord.h (enum lrecord_type): Add
1872         `lrecord_type_uint16_byte_table' and
1873         `lrecord_type_uint8_byte_table'.
1874
1875         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1876         (Lisp_Uint8_Byte_Table): New type.
1877         (XUINT8_BYTE_TABLE): New macro.
1878         (XSETUINT8_BYTE_TABLE): New macro.
1879         (UINT8_BYTE_TABLE_P): New macro.
1880         (GC_UINT8_BYTE_TABLE_P): New macro.
1881         (struct Lisp_Uint16_Byte_Table): New structure.
1882         (Lisp_Uint16_Byte_Table): New type.
1883         (XUINT16_BYTE_TABLE): New macro.
1884         (XSETUINT16_BYTE_TABLE): New macro.
1885         (UINT16_BYTE_TABLE_P): New macro.
1886         (GC_UINT16_BYTE_TABLE_P): New macro.
1887
1888 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1889
1890         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1891         (Vcharacter_ideographic_strokes_table): Deleted.
1892         (Vcharacter_total_strokes_table): Deleted.
1893         (Vcharacter_morohashi_daikanwa_table): Deleted.
1894         (Vcharacter_decomposition_table): Deleted.
1895         (Qname): Deleted because it is duplicated.
1896         (Qideographic_radical): Deleted.
1897         (Qideographic_strokes): Deleted.
1898         (Qtotal_strokes): Deleted.
1899         (Qmorohashi_daikanwa): Deleted.
1900         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1901         `ideographic-radical', `ideographic-strokes', `total-strokes',
1902         `morohashi-daikanwa' and `->decomposition'.
1903         (Fget_char_attribute): Likewise.
1904         (Fput_char_attribute): Likewise; use `make-vector' instead of
1905         `make_older_vector' for `->decomposition' value.
1906         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1907         `ideograph-daikanwa'.
1908         (syms_of_mule_charset): Delete builtin symbols `name',
1909         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1910         `morohashi-daikanwa'.
1911         (vars_of_mule_charset): Don't setup
1912         `Vcharacter_ideographic_radical_table',
1913         `Vcharacter_ideographic_strokes_table',
1914         `Vcharacter_total_strokes_table',
1915         `Vcharacter_morohashi_daikanwa_table' and
1916         `Vcharacter_decomposition_table'.
1917
1918 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1919
1920         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1921         `make_older_vector', `make_vector_newer_1' and
1922         `make_vector_newer'.
1923
1924         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1925         `make_older_vector' and `make_vector_newer'.
1926
1927         * config.h.in (HAVE_GGC): New macro.
1928
1929 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1930
1931         * mule-charset.c (struct char_attribute_list_closure): New
1932         structure in UTF-2000.
1933         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1934         (Fchar_attribute_list): Likewise.
1935         (Fset_charset_mapping_table): Use `make_vector_newer'.
1936         (Fdecode_builtin_char): New function in UTF-2000.
1937         (syms_of_mule_charset): Add new function `char-attribute-list' and
1938         `decode-builtin-char' in UTF-2000.
1939
1940         * lisp.h (make_vector_newer): New prototype.
1941
1942         * alloc.c (make_vector_newer_1): New function.
1943         (make_vector_newer): New function.
1944
1945 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1946
1947         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1948         50100)'.
1949
1950 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1951
1952         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1953         (Vcharacter_attribute_table): Deleted.
1954         (Vcharacter_name_table): Deleted.
1955         (put_char_attribute): Deleted.
1956         (remove_char_attribute): Deleted.
1957         (struct char_attribute_alist_closure): New structure.
1958         (add_char_attribute_alist_mapper): New function.
1959         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1960         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1961         (Fget_char_attribute): Likewise.
1962         (Fput_char_attribute): Likewise.
1963         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1964         of `remove_char_attribute'.
1965         (Fdefine_char): Return character.
1966         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1967         and `Vcharacter_name_table'.
1968         (complex_vars_of_mule_charset): Likewise
1969         `Vchar_attribute_hash_table'.
1970
1971 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1972
1973         * character.h (CHARC_CHARSET): New macro.
1974         (CHARC_CHARSET_ID): New macro.
1975         (CHARC_CODE_POINT): New macro.
1976         (CHARC_COLUMNS): New macro.
1977         (CHARC_TO_CHAR): New inline function.
1978         (CHARC_EQ): New inline function.
1979         (CHARC_ASCII_EQ): New inline function.
1980         (CHARC_IS_SPACE): New inline function.
1981         (ASCII_TO_CHARC): New inline function.
1982
1983         * char-ucs.h (encode_char_2): Deleted.
1984         (ENCODE_CHAR): Use `encode_char_1' again.
1985         (breakup_char_1): Likewise.
1986         (CHAR_TO_CHARC): New inline function.
1987
1988         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1989
1990 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1991
1992         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1993         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1994         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1995         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1996         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1997         `CHARC_IS_SPACE'.
1998         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1999
2000         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2001         `CHARC_CODE_POINT'.
2002         (x_output_display_block): Use `CHARC_CHARSET' and
2003         `CHARC_ASCII_EQ'.
2004
2005         * redisplay-tty.c (tty_output_display_block): Use
2006         `CHARC_ASCII_EQ'.
2007         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2008
2009         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2010
2011         * insdel.c (find_charsets_in_charc_string): Use
2012         `CHARC_CHARSET_ID'.
2013         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2014         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2015         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2016         (convert_charc_string_into_malloced_string): Likewise.
2017
2018 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2019
2020         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2021         instead of <Emchar_dynarr *> for buf; use
2022         `convert_bufbyte_string_into_charc_dynarr' instead of
2023         `convert_bufbyte_string_into_emchar_dynarr'; use
2024         `find_charsets_in_charc_string' instead of
2025         `find_charsets_in_emchar_string'.
2026
2027         * redisplay.h:
2028         - Include "character.h".
2029         (struct rune): New member `cglyph'; delete member `chr'.
2030
2031         * redisplay.c (redisplay_text_width_charc_string): New function;
2032         delete `redisplay_text_width_emchar_string'.
2033         (rtw_charc_dynarr): New variable; renamed from
2034         `rtw_emchar_dynarr'.
2035         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2036         `rtw_emchar_dynarr'; use
2037         `convert_bufbyte_string_into_charc_dynarr' instead of
2038         `convert_bufbyte_string_into_emchar_dynarr'; use
2039         `redisplay_text_width_charc_string' instead of
2040         `redisplay_text_width_emchar_string'.
2041         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2042         instead of `rtw_emchar_dynarr'; use
2043         `convert_bufbyte_string_into_charc_dynarr' instead of
2044         `convert_bufbyte_string_into_emchar_dynarr'.
2045         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2046         `redisplay_text_width_charc_string' instead of
2047         `redisplay_text_width_emchar_string'.
2048         (create_text_block): Modify for <struct rune> change.
2049         (generate_formatted_string_db): Likewise.
2050         (create_string_text_block): Likewise.
2051         (pixel_to_glyph_translation): Likewise.
2052
2053         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2054         instead of <const Emchar *>.
2055         (x_text_width): Likewise.
2056         (x_output_display_block): Use <Charc_dynarr *> instead
2057         <Emchar_dynarr *>; modify for <structure rune> change.
2058         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2059         *>.
2060
2061         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2062         <const Emchar *>; use `charc_string_displayed_columns' instead of
2063         `emchar_string_displayed_columns'.
2064         (tty_output_display_block): Use <Charc_dynarr *> instead of
2065         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2066         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2067         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2068         `tty_output_emchar_dynarr_dynarr'.
2069         (tty_output_charc_dynarr): New function; delete
2070         `tty_output_charc_dynarr'.
2071
2072         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2073         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2074         <Emchar_dynarr *> for buf; use
2075         `convert_bufbyte_string_into_charc_dynarr' instead of
2076         `convert_bufbyte_string_into_emchar_dynarr'.
2077
2078         * frame.c (title_string_charc_dynarr): New variable; renamed from
2079         `title_string_emchar_dynarr'.
2080         (generate_title_string): Use `title_string_charc_dynarr' instead
2081         of `title_string_emchar_dynarr'; use
2082         `convert_charc_string_into_malloced_string' instead of
2083         `convert_emchar_string_into_malloced_string'.
2084         (init_frame): Use `title_string_charc_dynarr' instead of
2085         `title_string_emchar_dynarr'.
2086
2087         * console.h:
2088         - Include "character.h".
2089         (struct console_methods): Use <const Charc *> instead of <const
2090         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2091         <Emchar_dynarr *> in output_string_method.
2092
2093         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2094         <Emchar_dynarr *>.
2095
2096         * console-stream.c (stream_text_width): Use <const Charc *>
2097         instead of <const Emchar *>.
2098
2099         * character.h (Charc_dynarr): New type.
2100
2101         * char-ucs.h (structure Charc): New structure; define new type
2102         `Charc'.
2103
2104         * char-lb.h (DECODE_CHAR): New inline function.
2105         (encode_char_1): New inline function.
2106         (ENCODE_CHAR): New macro.
2107         (structure Charc): New structure; define new type `Charc'.
2108
2109         * char-1byte.h (Vcharset_control_1): New macro.
2110         (Vcharset_latin_iso8859_1): New macro.
2111         (DECODE_CHAR): New inline function.
2112         (encode_char_1): New inline function.
2113         (ENCODE_CHAR): New macro.
2114         (structure Charc): New structure; define new type `Charc'.
2115
2116         * insdel.c (find_charsets_in_charc_string): New function; delete
2117         `find_charsets_in_emchar_string'.
2118         (charc_string_displayed_columns): New function; delete
2119         `emchar_string_displayed_columns'.
2120         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2121         `convert_bufbyte_string_into_emchar_dynarr'.
2122         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2123         `convert_charc_string_into_bufbyte_dynarr'.
2124         (convert_charc_string_into_malloced_string): New function; delete
2125         `convert_charc_string_into_malloced_string'.
2126
2127         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2128         `find_charsets_in_emchar_string'.
2129         (charc_string_displayed_columns): New prototype; delete
2130         `emchar_string_displayed_columns'.
2131         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2132         `convert_charc_string_into_bufbyte_dynarr'.
2133         (convert_charc_string_into_malloced_string): New prototype; delete
2134         `convert_charc_string_into_malloced_string'.
2135
2136 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2137
2138         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2139
2140 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2141
2142         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2143
2144         * char-ucs.h: Use <short> for <Charset_ID>.
2145
2146         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2147         <Charset_ID>.
2148
2149 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2150
2151         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2152         to 0.16.
2153
2154 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2155
2156         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2157         variable.
2158         (Qmorohashi_daikanwa): New variable.
2159         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2160         for `morohashi-daikanwa' attribute.
2161         (Fget_char_attribute): Likewise.
2162         (Fput_char_attribute): Likewise.
2163         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2164         has the same value of `ideograph-daikanwa'.
2165         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2166         (vars_of_mule_charset): Setup
2167         `Vcharacter_morohashi_daikanwa_table'.
2168
2169 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2170
2171         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2172         attributes.
2173         (add_charset_to_list_mapper): Add `key' instead of
2174         `XCHARSET_NAME (value)' to return aliases.
2175
2176 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2177
2178         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2179         variable.
2180         (Vcharacter_ideographic_strokes_table): New variable.
2181         (Qideographic_radical): New variable.
2182         (Qideographic_strokes): New variable.
2183         (Fchar_attribute_alist): Use
2184         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2185         attribute; use `Vcharacter_ideographic_strokes_table' for
2186         `ideographic-strokes' attribute.
2187         (Fget_char_attribute): Likewise.
2188         (Fput_char_attribute): Likewise.
2189         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2190         `ideographic-strokes'.
2191         (vars_of_mule_charset): Setup
2192         `Vcharacter_ideographic_radical_table' and
2193         `Vcharacter_ideographic_strokes_table'.
2194
2195 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2196
2197         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2198         (Qtotal_strokes): New variable.
2199         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2200         `total-strokes' attribute.
2201         (Fget_char_attribute): Likewise.
2202         (Fput_char_attribute): Likewise.
2203         (syms_of_mule_charset): Add new symbol `total-strokes'.
2204         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2205
2206 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2207
2208         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2209         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2210         are found.
2211         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2212         `->decomposition' attribute.
2213         (Fput_char_attribute): Likewise.
2214         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2215
2216 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2217
2218         * mule-charset.c (decoding_table_check_elements): New function.
2219         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2220
2221 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2222
2223         * mule-charset.c (Fset_charset_mapping_table): Use
2224         `put_char_ccs_code_point'.
2225
2226 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2227
2228         * mule-charset.c (decoding_table_put_char): New inline function.
2229         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2230
2231 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2232
2233         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2234         (XCHARSET_BYTE_SIZE): New macro.
2235         (decoding_table_remove_char): New inline function.
2236         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2237         `decoding_table_remove_char'.
2238         (remove_char_ccs): Use `decoding_table_remove_char'.
2239         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2240
2241 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2242
2243         * mule-charset.c (Vcharacter_name_table): New variable.
2244         (Qname): New variable.
2245         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2246         attribute.
2247         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2248         `Vcharacter_name_table' for `name' attribute.
2249         (Fremove_char_attribute): Use function `remove_char_ccs'.
2250         (put_char_ccs_code_point): New function.
2251         (remove_char_ccs): New function.
2252         (syms_of_mule_charset): Add new symbol `name'.
2253         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2254
2255 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2256
2257         * mule-charset.c (make_byte_table): Add new argument `older'.
2258         (make_char_id_table): Likewise.
2259         (copy_char_id_table): Comment out because it is not used.
2260         (put_char_id_table): Modify for `make_byte_table'.
2261         (Fput_char_attribute): Make encoding_table as older object;
2262         inherit older bit of `Vcharacter_composition_table'.
2263         (mark_charset): Don't mark `cs->encoding_table'.
2264         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2265         normal object; make `Vcharacter_composition_table' as an older
2266         object; delete staticpro for `Vcharacter_composition_table'; make
2267         `Vcharacter_variant_table' as a normal object.
2268
2269         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2270         (mark_object): Don't check older object in UTF-2000.
2271
2272         * lrecord.h (struct lrecord_header): Add new member `older' in
2273         UTF-2000.
2274         (set_lheader_implementation): Setup `SLI_header->older' in
2275         UTF-2000.
2276         (set_lheader_older_implementation): New macro in UTF-2000.
2277         (OLDER_RECORD_P): New macro in UTF-2000.
2278         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2279         (alloc_older_lcrecord): New prototype in UTF-2000.
2280         (alloc_older_lcrecord_type): New macro in UTF-2000.
2281
2282 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2283
2284         * mule-charset.c (byte_table_description): Use
2285         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2286         (char_id_table_description): Delete bogus `, 1'.
2287         (Fget_char_attribute): Refer encoding_table of each coded-charset
2288         to get value of coded-charset attribute of a character.
2289         (Fput_char_attribute): Use `make_older_vector' instead of
2290         `make_vector'; use encoding_table of each coded-charset to store
2291         value of coded-charset attribute of a character.
2292         (Fremove_char_attribute): Use encoding_table of each coded-charset
2293         to store value of coded-charset attribute of a character.
2294         (mark_charset): Mark `cs->encoding_table'; don't mark
2295         `cs->decoding_table'.
2296         (charset_description): Add description of new member
2297         `encoding_table'.
2298         (make_charset): Initialize `encoding_table'.
2299
2300         * char-ucs.h (struct Lisp_Charset): Add new member
2301         `encoding_table'.
2302         (CHARSET_ENCODING_TABLE): New macro.
2303         (XCHARSET_ENCODING_TABLE): New macro.
2304         (charset_code_point): New implementation.
2305         (encode_char_1): Likewise.
2306
2307         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2308         (disksave_object_finalization_1): Call finalizers of
2309         `all_older_lcrecords' in UTF-2000.
2310         (make_older_vector): New function in UTF-2000.
2311         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2312         UTF-2000.
2313
2314         * lisp.h (make_older_vector): New prototype in UTF-2000.
2315
2316 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2317
2318         * lrecord.h (enum lrecord_type): Rename
2319         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2320
2321         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2322         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2323         `get_char_code_table'.
2324
2325         * mule-charset.c (mark_char_id_table): Renamed from
2326         `mark_char_code_table'.
2327         (char_id_table_equal): Renamed from `char_code_table_equal'.
2328         (char_id_table_hash): Renamed from `char_code_table_hash'.
2329         (make_char_id_table): Renamed from `make_char_code_table'.
2330         (copy_char_id_table): Renamed from `copy_char_code_table'.
2331         (get_char_id_table): Renamed from `get_char_code_table'.
2332         (put_char_id_table): Renamed from `put_char_code_table'.
2333         (to_char_id): Renamed from `to_char_code'.
2334
2335         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2336         `Lisp_Char_Code_Table'.
2337         (char_id_table): Renamed from `char_code_table'.
2338         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2339         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2340         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2341         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2342         (get_char_id_table): Renamed from `get_char_code_table'.
2343
2344 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * lrecord.h (enum lrecord_type): Rename
2347         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2348
2349         * mule-charset.c (mark_byte_table): Renamed from
2350         `mark_char_byte_table'.
2351         (byte_table_equal): Renamed from `char_byte_table_equal'.
2352         (byte_table_hash): Renamed from `byte_table_hash'.
2353         (make_byte_table): Renamed from `make_byte_table'.
2354         (copy_byte_table): Renamed from `copy_char_byte_table'.
2355
2356         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2357         `Lisp_Char_Byte_Table'.
2358         (byte_table): Renamed from `char_byte_table'.
2359         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2360         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2361         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2362         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2363
2364 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2365
2366         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2367         (dfc_convert_to_internal_format): Likewise.
2368         
2369         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2370         * text-coding.c (Fcoding_system_alias_p): New function.
2371         * text-coding.c (Fcoding_system_aliasee): New function.
2372         * text-coding.c (append_suffix_to_symbol): New function.
2373         * text-coding.c (dangling_coding_system_alias_p): New function.
2374         * text-coding.c (Ffind_coding_system):
2375         * text-coding.c (Fcopy_coding_system):
2376         * text-coding.c (encode_coding_no_conversion):
2377         * text-coding.c (syms_of_file_coding):
2378         * text-coding.c (vars_of_file_coding):
2379         Rewrite coding system alias code.
2380         Allow nested aliases, like symbolic links.
2381         Allow redefinition of coding system aliases.
2382         Prevent existence of dangling coding system aliases.
2383         Eliminate convert_to_external_format.
2384         Eliminate convert_to_internal_format.
2385         
2386         * text-coding.c: Change enum eol_type to eol_type_t.
2387
2388 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2389
2390         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2391         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2392
2393         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2394         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2395
2396 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2397
2398         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2399         `ideograph-daikanwa'.
2400
2401         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2402         (Vcharset_ucs_bmp): Likewise.
2403         (Vcharset_mojikyo): Add new extern variable definition.
2404         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2405         (Vcharset_latin_iso8859_3): Likewise.
2406         (Vcharset_latin_iso8859_4): Likewise.
2407         (Vcharset_latin_iso8859_9): Likewise.
2408         (Vcharset_latin_viscii_lower): Likewise.
2409         (Vcharset_latin_viscii_upper): Likewise.
2410         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2411         `mojikyo' code-point is used to decode.
2412         (encode_char_2): New function [to convert `mojikyo' code-point to
2413         Mojikyo font encoding].
2414         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2415         (breakup_char_1): Likewise.
2416         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2417
2418 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2419
2420         * text-coding.c (Fmake_coding_system): Add document about
2421         `disable-composition' property.
2422
2423 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2424
2425         * text-coding.c (Qdisable_composition): New variable; delete
2426         `Qcomposite'.
2427         (Fmake_coding_system): Add new property `disable-composite';
2428         delete property `composite'.
2429         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2430         instead of `!CODING_SYSTEM_COMPOSITE'.
2431         (syms_of_file_coding): Add new symbol `disable-composition';
2432         delete symbol `composite'.
2433
2434         * file-coding.h (struct Lisp_Coding_System): Add
2435         `disable_composition'; delete `enable_composition'.
2436         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2437         `CODING_SYSTEM_COMPOSITE'.
2438         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2439         `XCODING_SYSTEM_COMPOSITE'.
2440
2441 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2442
2443         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2444         to 0.15.
2445
2446 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2447
2448         * text-coding.c (Qcomposite): New variable.
2449         (Fmake_coding_system): Add new property `composite'.
2450         (struct decoding_stream): Add `combined_char_count',
2451         `combined_chars' and `combining_table' in UTF-2000.
2452         (COMPOSE_FLUSH_CHARS): New macro.
2453         (COMPOSE_ADD_CHAR): New macro.
2454         (reset_decoding_stream): Reset `str->combined_char_count' and
2455         `str->combining_table' in UTF-2000.
2456         (decode_coding_iso2022): Modify for character-decomposition.
2457         (syms_of_file_coding): Add new symbol `composite'.
2458
2459 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2460
2461         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2462         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2463         of `Vcharacter_composition_table' if `->decomposition' property
2464         has only 1 element.
2465         (Qlatin_tcvn5712): New variable.
2466         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2467         (complex_vars_of_mule_charset): Add new coded-charset
2468         `latin-tcvn5712'.
2469
2470         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2471
2472 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2473
2474         * file-coding.h (struct Lisp_Coding_System): Add
2475         `enable_composition'.
2476         (CODING_SYSTEM_COMPOSITE): New macro.
2477         (XCODING_SYSTEM_COMPOSITE): New macro.
2478
2479 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2480
2481         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2482
2483 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2484
2485         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2486         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2487
2488 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2489
2490         * mule-charset.c (Vcharset_mojikyo): New variable.
2491         (Fdefine_char): Don't use coded-charset which does not have
2492         non-builtin character range to allocate character-id.
2493         (Qmojikyo): New variable.
2494         (syms_of_mule_charset): Add new symbol `mojikyo'.
2495         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2496
2497         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2498         (LEADING_BYTE_MOJIKYO): New macro.
2499         (MIN_CHAR_MOJIKYO): New macro.
2500         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2501         (MAX_CHAR_MOJIKYO): New macro.
2502
2503 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2504
2505         * mule-charset.c (remove_char_attribute): Fixed.
2506
2507 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2508
2509         * mule-charset.c (remove_char_attribute): New function.
2510         (Fremove_char_attribute): New function.
2511         (encode_builtin_char_1): Comment out builtin-support for
2512         greek-iso8859-7 and cyrillic-iso8859-5.
2513         (Fdecode_char): Check `code' is an integer.
2514         (syms_of_mule_charset): Add `remove-char-attribute'.
2515         (MIN_CHAR_GREEK): Deleted.
2516         (MAX_CHAR_GREEK): Likewise.
2517         (MIN_CHAR_CYRILLIC): Likewise.
2518         (MAX_CHAR_CYRILLIC): Likewise.
2519         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2520         MAX_CHAR_GREEK for `greek-iso8859-7'.
2521
2522         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2523         (MAX_CHAR_GREEK): Likewise.
2524         (MIN_CHAR_CYRILLIC): Likewise.
2525         (MAX_CHAR_CYRILLIC): Likewise.
2526
2527 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2528
2529         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2530         format is used without `ucs' property.
2531         (Fdecode_char): Fix problem with GR representation.
2532         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2533         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2534
2535 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2536
2537         * mule-charset.c (make_builtin_char): New function.
2538         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2539         (Fset_charset_mapping_table): Modify for new representation of
2540         code-point.
2541         (Fdecode_char): New function.
2542         (syms_of_mule_charset): Add new builtin function `decode-char' in
2543         UTF-2000.
2544
2545         * char-ucs.h (make_builtin_char): New prototype.
2546         (DECODE_CHAR): New inline function.
2547         (MAKE_CHAR): Use `DECODE_CHAR'.
2548
2549 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2550
2551         * text-coding.c (parse_charset_conversion_specs): Use
2552         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2553         `XCHARSET_TYPE'.
2554         (iso2022_designate): Likewise.
2555
2556         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2557         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2558
2559         * mule-charset.c (Vcharset_ucs): New variable.
2560         (print_charset): Change design; use `CHARSET_CHARS' and
2561         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2562         (make_charset): Change signature to specify `chars' and
2563         `dimension' instead of `type'.
2564         (range_charset_code_point): Modify for 256^n-set.
2565         (encode_builtin_char_1): Encode as `ucs' in default.
2566         (Fmake_charset): Modify for `make_charset'.
2567         (Fmake_reverse_direction_charset): Likewise.
2568         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2569         UTF-2000.
2570         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2571         for `make_charset'.
2572
2573         * char-ucs.h (Vcharset_ucs): New variable.
2574         (LEADING_BYTE_UCS): New macro.
2575         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2576         and `chars' to `unsigned short' from `unsigned int'.
2577         (CHARSET_TYPE): Deleted.
2578         (XCHARSET_TYPE): Deleted.
2579
2580 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2581
2582         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2583
2584         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2585         (ENCODE_CHAR): New macro.
2586
2587 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2588
2589         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2590         to 0.14 (Kawachi-Katakami).
2591
2592 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2593
2594         * text-coding.c (char_encode_shift_jis): Modify for
2595         `charset_code_point'.
2596         (char_encode_iso2022): Likewise.
2597
2598         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2599         (integer) instead of list of <Lisp_Object>s (integers) as the
2600         format of code-point of a coded-charset.
2601         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2602         (encode_builtin_char_1): New function; delete
2603         `split_builtin_char'.
2604         (charset_code_point): Return <int> instead of <Lisp_Object>.
2605         (Fsplit_char): Don't use `SPLIT_CHAR'.
2606
2607         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2608         prototype for `split_builtin_char'.
2609         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2610         (charset_code_point): Likewise.
2611         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2612         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2613
2614 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2615
2616         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2617         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2618
2619 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2620
2621         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2622
2623         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2624         (MAX_CHAR_OBS_94x94): Deleted.
2625
2626 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2627
2628         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2629
2630         * char-ucs.h (MAX_CHAR_BMP): New macro.
2631
2632 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2633
2634         * text-coding.c: Sync with r21-2-24.
2635
2636 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2637
2638         * file-coding.c: Modify for UTF-2000.
2639
2640 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2641
2642         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2643         to 0.13 (Takaida).
2644
2645 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2646
2647         * mule-charset.c (split_builtin_char): Delete builtin support for
2648         `katakana-jisx0201'.
2649         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2650         BMP area in builtin representation.
2651
2652         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2653         `Vcharset_katakana_jisx0201'.
2654
2655 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2656
2657         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2658         (Qisolated): New variable.
2659         (Qinitial): New variable.
2660         (Qmedial): New variable.
2661         (Qfinal): New variable.
2662         (Qvertical): New variable.
2663         (Qsmall): New variable.
2664         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2665         `Qvertical' and `Qsmall'.
2666         (Qmojikyo_pj_[1 .. 21]): New variable.
2667         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2668         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2669         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2670         .. 21]'.
2671
2672 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2673
2674         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2675         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2676         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2677
2678 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2679
2680         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2681         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2682         BMP.
2683         (Qjapanese_jisx0208_1990): New variable.
2684         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2685         (complex_vars_of_mule_charset): Add new coded-charset
2686         `japanese-jisx0208-1990'.
2687
2688         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2689         (MIN_CHAR_JIS_X0208_1990): New macro.
2690         (MAX_CHAR_JIS_X0208_1990): New macro.
2691
2692 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2693
2694         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2695         coded-charset is not found.
2696
2697 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2698
2699         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2700         (Fdefine_char): Use `Fmake_char'.
2701
2702 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2703
2704         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2705         (Vcharset_hiragana_jisx0208): Deleted.
2706         (Vcharset_katakana_jisx0208): Deleted.
2707         (Qideograph_daikanwa): New variable.
2708         (Qhiragana_jisx0208): Deleted.
2709         (Qkatakana_jisx0208): Deleted.
2710         (split_builtin_char): Split `ideograph-daikanwa'.
2711         (Fsplit_char): New implementation for UTF-2000.
2712         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2713         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2714         (complex_vars_of_mule_charset): Add new coded-charset
2715         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2716         `katakana-jisx0208'.
2717
2718         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2719         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2720         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2721         (MIN_CHAR_DAIKANWA): New macro.
2722         (MAX_CHAR_DAIKANWA): New macro.
2723
2724 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2725
2726         * data.c (Fstring_to_number): Don't recognize floating point if
2727         base is not 10.
2728
2729 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2730
2731         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2732
2733 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2734
2735         * mule-charset.c (Qsquare): New variable.
2736         (to_char_code): Add `Qsquare'.
2737         (syms_of_mule_charset): Add new symbol `square'.
2738
2739 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2740
2741         * mule-charset.c (Qcircle): New variable.
2742         (to_char_code): Add `Qcircle'.
2743         (syms_of_mule_charset): Add new symbol `circle'.
2744
2745 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2746
2747         * mule-charset.c (Qfont): New variable.
2748         (to_char_code): Add `Qfont'.
2749         (syms_of_mule_charset): Add new symbol `font'.
2750
2751 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2752
2753         * mule-charset.c (Qsub): New variable.
2754         (to_char_code): Add `Qsub'.
2755         (syms_of_mule_charset): Add new symbol `sub'.
2756
2757 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2758
2759         * mule-charset.c (Fput_char_attribute): Convert each element of
2760         VALUE to GL position if ATTRIBUTE is a GR-set,
2761
2762 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2763
2764         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2765         coded-charset is a GR-set.
2766
2767 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2768
2769         * mule-charset.c (Fput_char_attribute): Check each element of
2770         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2771
2772 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2773
2774         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2775         UTF-2000.
2776         (Qethiopic_ucs): New variable in UTF-2000.
2777         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2778         (complex_vars_of_mule_charset): Add new coded-charset
2779         `ethiopic-ucs' in UTF-2000.
2780
2781         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2782         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2783         9)'.
2784         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2785         10)'.
2786         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2787
2788 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2789
2790         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2791         `ascii'.
2792
2793 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2794
2795         * mule-charset.c (Vcharacter_variant_table): New variable.
2796         (Q_ucs): New variable.
2797         (Fchar_variants): New function.
2798         (Fput_char_attribute): Register `->ucs' value to
2799         `Vcharacter_variant_table'.
2800         (syms_of_mule_charset): Add new function `char-variants' and new
2801         symbol `->ucs'.
2802         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2803
2804 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2805
2806         * mule-charset.c (get_char_code_table): Allow negative character
2807         code.
2808         (put_char_code_table): Likewise.
2809         (Vcharacter_composition_table): New variable.
2810         (Q_decomposition): New variable.
2811         (Qwide): New variable.
2812         (Qnarrow): New variable.
2813         (Qcompat): New variable.
2814         (QnoBreak): New variable.
2815         (Qsuper): New variable.
2816         (Qfraction): New variable.
2817         (to_char_code): New function.
2818         (Fget_composite_char): New function.
2819         (Fput_char_attribute): Register `->decomposition' value to
2820         `Vcharacter_composition_table'.
2821         (syms_of_mule_charset): Add new function `get-composite-char', new
2822         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2823         `super' and `fraction'.
2824         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2825
2826 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2827
2828         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2829         character; copy the return value.
2830
2831 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2832
2833         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2834
2835         * mule-charset.c (range_charset_code_point): Must use make_int.
2836         (split_builtin_char): New function.
2837
2838 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2839
2840         * mule-charset.c (char_byte_table): Change name from
2841         "char-code-table" to "char-byte-table".
2842         (mark_char_code_table): New function.
2843         (char_code_table_equal): New function.
2844         (char_code_table_hash): New function.
2845         (char_code_table_description): New constant.
2846         (char_code_table): New type.
2847         (make_char_code_table): New function.
2848         (copy_char_code_table): New function.
2849         (get_char_code_table): Modify for `char_code_table' type.
2850         (put_char_code_table): Likewise.
2851         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2852         (Kashiwara).
2853
2854         * char-ucs.h (char_code_table): New type.
2855         (XCHAR_CODE_TABLE): New macro.
2856         (XSETCHAR_CODE_TABLE): New macro.
2857         (CHAR_CODE_TABLE_P): New macro.
2858         (GC_CHAR_CODE_TABLE_P): New macro.
2859         (struct Lisp_Char_Code_Table): New structure.
2860
2861 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2862
2863         * mule-charset.c (Fmake_charset): Setup byte_offset for
2864         {94|96}^n-set.
2865
2866 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2867
2868         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2869         character.
2870
2871 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2872
2873         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2874         is found.
2875
2876 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2877
2878         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2879         charset, it is regarded as a charset.
2880         (put_char_attribute): New function in UTF-2000.
2881         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2882         charset, mapping-table of the charset is modified.
2883         (Fdefine_char): New function in UTF-2000.
2884         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2885         `Fput_char_attribute'.
2886         (syms_of_mule_charset): Add new function `define-char' and new
2887         symbol `ucs' in UTF-2000.
2888         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2889
2890 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2891
2892         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2893         non-UTF-2000 configuration.
2894
2895 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2896
2897         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2898         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2899
2900         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2901         deleted.
2902         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2903         (Fset_charset_mapping_table): Likewise.
2904
2905         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2906         (CHARSET_ENCODING_TABLE): Delete.
2907         (XCHARSET_ENCODING_TABLE): Delete.
2908         (charset_code_point): New interface.
2909
2910 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2911
2912         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2913         instead of `charset_get_byte1' and `charset_get_byte2'.
2914
2915         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2916         (charset_get_byte2): Deleted.
2917
2918 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2919
2920         * char-ucs.h (SPLIT_CHAR): New inline function.
2921         (breakup_char_1): Use `SPLIT_CHAR'.
2922
2923         * mule-charset.c (range_charset_code_point): New function.
2924         (charset_code_point): New function.
2925
2926         * char-ucs.h (range_charset_code_point): New interface.
2927         (breakup_char_1): Use `range_charset_code_point'.
2928
2929 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2930
2931         * mule-charset.c (Fmake_charset): Delete unused local variable
2932         `code_offset'.
2933
2934         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2935         (breakup_char_1): Find a charset and code-point in
2936         `Vcharacter_attribute_table'.
2937
2938 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2939
2940         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2941         to 0.10 (Yao).
2942
2943 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2944
2945         * mule-charset.c (Vcharacter_attribute_table): New variable.
2946         (Fchar_attribute_alist): New function.
2947         (Fget_char_attribute): New function.
2948         (Fput_char_attribute): New function.
2949         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2950         too.
2951         (syms_of_mule_charset): Add new function `char-attribute-alist',
2952         `get-char-attribute' and `put-char-attribute'.
2953         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2954
2955 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2956
2957         * mule-charset.c (Fmake_charset): Just use
2958         `get_unallocated_leading_byte'.
2959
2960         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2961         sets; don't use final-byte based number for private sets.
2962
2963 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2964
2965         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2966         integer.
2967
2968 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2969
2970         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2971         to 0.9.
2972
2973 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2974
2975         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2976         of `CHAR_LEADING_BYTE' in UTF-2000.
2977
2978         * insdel.c (find_charsets_in_bufbyte_string): Use
2979         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2980         (find_charsets_in_emchar_string): Likewise.
2981
2982         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2983         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2984
2985         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2986         (CHAR_CHARSET_ID): New macro.
2987
2988 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2989
2990         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2991         charset-id - MIN_LEADING_BYTE.
2992         (put_char_table): Likewise.
2993
2994 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2995
2996         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2997         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2998         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2999         (CHARSET_ID_OFFSET): New macro.
3000         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3001         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3002         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3003         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3004         4).
3005         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3006         5).
3007         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3008         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3009         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3010         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3011         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3012
3013 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3014
3015         * mule-charset.c (next_allocated_leading_byte): New variable in
3016         UTF-2000.
3017         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3018         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3019         (get_unallocated_leading_byte): Simply use
3020         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3021         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3022         UTF-2000.
3023
3024         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3025         (MAX_LEADING_BYTE_PRIVATE): New macro.
3026         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3027         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3028
3029 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3030
3031         * mule-charset.c (Fmake_charset): Allocate final-byte based
3032         charset-id for 94-set, 96-set and 94x94-set.
3033
3034 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3035
3036         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3037         ambiguous `else'.
3038         (Fmake_charset): Likewise.
3039         (complex_vars_of_mule_charset): Modify the font registry of
3040         `ucs-bmp' not to match `Ethiopic-Unicode'.
3041
3042 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3043
3044         * mule-charset.c (complex_vars_of_mule_charset): Add font
3045         registory of `ucs-bmp'.
3046
3047 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3048
3049         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3050         coded-charsets in `default-coded-charset-priority-list' when
3051         breaking up a character.
3052
3053         * mule-charset.c (Vcharset_latin_viscii): New variable.
3054         (Qlatin_viscii): New variable.
3055         (make_charset): Don't use `decoding_table'.
3056         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3057         byte_offset.
3058         (Fset_charset_mapping_table): New implementation.
3059         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3060         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3061         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3062         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3063         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3064         charset `latin_viscii'.
3065
3066         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3067         (CHARSET_TYPE_94X94): Change to 1 from 2.
3068         (CHARSET_TYPE_96): Change to 2 from 1.
3069         (CHARSET_TYPE_128): New macro.
3070         (CHARSET_TYPE_128X128): Change to 5 from 4.
3071         (CHARSET_TYPE_256): New macro.
3072         (CHARSET_TYPE_256X256): Change to 7 from 5.
3073         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3074
3075 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3076
3077         * text-coding.c (char_encode_shift_jis): Refer
3078         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3079         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3080
3081         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3082         (char_byte_table_equal): New function in UTF-2000.
3083         (char_byte_table_hash): New function in UTF-2000.
3084         (char_byte_table_description): New constant in UTF-2000.
3085         (char_byte_table): New type in UTF-2000.
3086         (make_char_byte_table): New function in UTF-2000.
3087         (copy_char_byte_table): New function in UTF-2000.
3088         (make_char_code_table): New macro in UTF-2000.
3089         (get_char_code_table): New function in UTF-2000.
3090         (put_char_code_table): New function in UTF-2000.
3091         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3092         (charset_description): Add setting in UTF-2000.
3093         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3094         `CHARSET_TO_BYTE1_TABLE(cs)'.
3095         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3096         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3097         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3098         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3099         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3100         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3101         `CHARSET_TO_BYTE2_TABLE(cs)'.
3102
3103         * char-ucs.h (char_byte_table): New type.
3104         (XCHAR_BYTE_TABLE): New macro.
3105         (XSETCHAR_BYTE_TABLE): New macro.
3106         (CHAR_BYTE_TABLE_P): New macro.
3107         (GC_CHAR_BYTE_TABLE_P): New macro.
3108         (struct Lisp_Char_Byte_Table): New structure.
3109         (get_char_code_table): New interface.
3110         (Emchar_to_byte_table): Deleted.
3111         (get_byte_from_character_table): Deleted.
3112         (struct Lisp_Charset): Add `encoding_table'; delete
3113         `to_byte1_table' and `to_byte2_table'.
3114         (CHARSET_ENCODING_TABLE): New macro.
3115         (CHARSET_TO_BYTE1_TABLE): Deleted.
3116         (CHARSET_TO_BYTE2_TABLE): Deleted.
3117         (XCHARSET_ENCODING_TABLE): New macro.
3118         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3119         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3120
3121 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3122
3123         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3124         `vietnamese-viscii-*'.
3125
3126 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3127
3128         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3129         (Qvietnamese_viscii_upper): New variable.
3130         (Fdefine_charset_alias): New function.
3131         (syms_of_mule_charset): Add new function `define-charset-alias'.
3132         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3133         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3134         `latin-viscii-*'.
3135
3136 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3137
3138         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3139         (MAX_CHAR_OBS_94x94): New macro.
3140         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3141         for 94x94 sets.
3142
3143         * mule-charset.c (put_byte_from_character_table): Change unit size
3144         from 128 to 256.
3145         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3146         not defined.
3147         (Fmake_reverse_direction_charset): Modify dummy argument of
3148         `make_charset' for non-UTF-2000 environment.
3149
3150 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3151
3152         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3153
3154         * mule-charset.c (destroy_byte_from_character_table): New macro.
3155         (latin_jisx0201_to_ucs): Deleted.
3156         (latin_iso8859_2_to_ucs): Deleted.
3157         (latin_iso8859_3_to_ucs): Deleted.
3158         (latin_iso8859_4_to_ucs): Deleted.
3159         (latin_iso8859_9_to_ucs): Deleted.
3160         (latin_viscii_lower_to_ucs): Deleted.
3161         (latin_viscii_upper_to_ucs): Deleted.
3162         (mark_charset): Mark `cs->decoding_table'.
3163         (Fcharset_mapping_table): Fix DOC-string.
3164         (Fset_charset_mapping_table): New function.
3165         (syms_of_mule_charset): Add nwe function
3166         `set-charset-mapping-table'.
3167         (complex_vars_of_mule_charset): Don't setup and use
3168         `latin_*_to_ucs'.
3169
3170 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3171
3172         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3173         charset.
3174
3175 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3176
3177         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3178         (Vcharset_katakana_jisx0208): New variable.
3179         (Qhiragana_jisx0208): New variable.
3180         (Qkatakana_jisx0208): New variable.
3181         (make_charset): Add new argument `byte_offset'.
3182         (charset_get_byte1): Modify for new coded-charset definition; use
3183         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3184         `XCHARSET_BYTE_OFFSET'.
3185         (Fmake_charset): Modify for `make_charset'.
3186         (Fmake_reverse_direction_charset): Likewise.
3187         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3188         `katakana-jisx0208'.
3189         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3190         `.'  in font registry of charset `katakana-jisx0201',
3191         `latin-jisx0201', `vietnamese-viscii-lower' and
3192         `vietnamese-viscii-upper'; modify DOC-string of charset
3193         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3194         registry of charset `japanese-jisx0208' not to use font for JIS
3195         X0208:1990; add new charset `hiragana-jisx0208' and
3196         `katakana-jisx0208'.
3197
3198         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3199         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3200         (struct Lisp_Charset): Add `byte_offset'.
3201         (CHARSET_BYTE_OFFSET): New macro.
3202         (XCHARSET_UCS_MIN): New macro.
3203         (XCHARSET_UCS_MAX): New macro.
3204         (XCHARSET_CODE_OFFSET): New macro.
3205         (XCHARSET_BYTE_OFFSET): New macro.
3206         (MIN_CHAR_HIRAGANA): New macro.
3207         (MAX_CHAR_HIRAGANA): New macro.
3208         (MIN_CHAR_KATAKANA): New macro.
3209         (MAX_CHAR_KATAKANA): New macro.
3210         (MAKE_CHAR): Modify for new coded-charset definition; use
3211         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3212         `XCHARSET_BYTE_OFFSET'.
3213
3214 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3215
3216         * mule-charset.c (CHAR96): Deleted.
3217         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3218         <Lisp_Object>.
3219         (latin_iso8859_2_to_ucs): Likewise.
3220         (latin_iso8859_3_to_ucs): Likewise.
3221         (latin_iso8859_4_to_ucs): Likewise.
3222         (latin_iso8859_9_to_ucs): Likewise.
3223         (latin_viscii_lower_to_ucs): Likewise.
3224         (latin_viscii_upper_to_ucs): Likewise.
3225         (latin_tcvn5712_to_ucs): Commented out.
3226         (make_charset): Change type of argument `decoding_table' from
3227         <Emchar*> to <Lisp_Object> [vector of characters].
3228         (Fmake_charset): Modify for `make_charset'.
3229         (Fmake_reverse_direction_charset): Likewise.
3230         (Fcharset_mapping_table): New function in UTF-2000.
3231         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3232         UTF-2000.
3233         (complex_vars_of_mule_charset): Modify for type change of
3234         `*_to_ucs'; modify for `make_charset'.
3235
3236         * char-ucs.h (struct Lisp_Charset): Change type of
3237         `decoding_table' from <Emchar*> to <Lisp_Object>.
3238         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3239
3240 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3241
3242         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3243         error with non-UTF-2000-Mule.
3244
3245 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3246
3247         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3248         in lisp again].
3249         (Vcharset_chinese_cns11643_4): Likewise.
3250         (Vcharset_chinese_cns11643_5): Likewise.
3251         (Vcharset_chinese_cns11643_6): Likewise.
3252         (Vcharset_chinese_cns11643_7): Likewise.
3253         (Qchinese_cns11643_3): Likewise.
3254         (Qchinese_cns11643_4): Likewise.
3255         (Qchinese_cns11643_5): Likewise.
3256         (Qchinese_cns11643_6): Likewise.
3257         (Qchinese_cns11643_7): Likewise.
3258         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3259         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3260         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3261         (complex_vars_of_mule_charset): Likewise.
3262
3263 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3264
3265         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3266         96-set.
3267         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3268         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3269
3270 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3271
3272         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3273         0xFF60.
3274         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3275         (breakup_char_1): Likewise.
3276
3277         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3278         one of them includes the specified character.
3279
3280 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3281
3282         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3283
3284 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3285
3286         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3287
3288 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3289
3290         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3291         definition for non-UTF-2000 Mule.
3292         (latin_iso8859_3_to_ucs): Likewise.
3293         (latin_iso8859_4_to_ucs): Likewise.
3294         (latin_iso8859_9_to_ucs): Likewise.
3295         (latin_jisx0201_to_ucs): Likewise.
3296         (MIN_CHAR_THAI): Likewise.
3297         (MAX_CHAR_THAI): Likewise.
3298         (MIN_CHAR_GREEK): Likewise.
3299         (MAX_CHAR_GREEK): Likewise.
3300         (MIN_CHAR_HEBREW): Likewise.
3301         (MAX_CHAR_HEBREW): Likewise.
3302         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3303         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3304         (MIN_CHAR_CYRILLIC): Likewise.
3305         (MAX_CHAR_CYRILLIC): Likewise.
3306
3307 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3308
3309         * char-ucs.h (breakup_char_1): Use
3310         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3311         thai-tis620 and katakana-jisx0201 area.
3312
3313 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3314
3315         * char-ucs.h (breakup_char_1): Use
3316         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3317         area.
3318
3319         * text-coding.c (reset_encoding_stream): Fixed.
3320         (char_encode_ucs4): Delete `& 255'.
3321
3322         * char-ucs.h (breakup_char_1): Use
3323         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3324
3325 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3326
3327         * file-coding.c (Fmake_coding_system): Don't set up
3328         `codesys->fixed.size'.
3329         (encode_coding_no_conversion): Don't refer
3330         `str->codesys->fixed.size'.
3331
3332 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3333
3334         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3335         (latin_a_char_to_byte1): Deleted.
3336         (latin_a_char_to_byte2): Deleted.
3337
3338 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3339
3340         * mule-charset.c (make_charset): Add new argument `ucs_min',
3341         `ucs_max' and `code_offset'.
3342         (charset_get_byte1): New implementation [delete specific charset
3343         depended implementations].
3344         (Fmake_charset): Modify for `make_charset'.
3345         (Fmake_reverse_direction_charset): Likewise.
3346         (complex_vars_of_mule_charset): Likewise.
3347
3348         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3349         `code_offset'.
3350         (CHARSET_UCS_MIN): New macro.
3351         (CHARSET_UCS_MAX): New macro.
3352         (CHARSET_CODE_OFFSET): New macro.
3353         (MAKE_CHAR): Delete charset depended definitions [except
3354         katakana-jisx0201].
3355
3356 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3357
3358         * char-ucs.h (breakup_char_1): Use
3359         `Vdefault_coded_charset_priority_list' for C0-Controls,
3360         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3361
3362 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3363
3364         * char-ucs.h (charset_get_byte1): New function.
3365         (XCHARSET_GET_BYTE1): Deleted.
3366         (charset_get_byte2): New function.
3367         (XCHARSET_GET_BYTE2): Deleted.
3368         (Vdefault_coded_charset_priority_list): New external variable.
3369         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3370         `Vdefault_preferred_coded_charset_list'.
3371
3372         * mule-charset.c (charset_get_byte1): New function.
3373         (charset_get_byte2): New function.
3374         (Vdefault_coded_charset_priority_list): New variable.
3375         (vars_of_mule_charset): Add new variable
3376         `default-coded-charset-priority-list'.
3377
3378 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3379
3380         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3381         (XCHARSET_GET_BYTE2): New inline function.
3382         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3383         `XCHARSET_GET_BYTE2'.
3384
3385 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3386
3387         * mule-charset.c (make_charset): Initialize
3388         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3389         NULL if table is not defined.
3390
3391 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3392
3393         * text-coding.c (char_encode_shift_jis): Use
3394         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3395         `ucs_to_latin_jisx0201'.
3396
3397         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3398         (ucs_to_latin_iso8859_2): Deleted.
3399         (ucs_to_latin_iso8859_3): Deleted.
3400         (ucs_to_latin_iso8859_4): Deleted.
3401         (ucs_to_latin_iso8859_9): Deleted.
3402         (ucs_to_latin_viscii_lower): Deleted.
3403         (ucs_to_latin_viscii_upper): Deleted.
3404         (ucs_to_latin_tcvn5712): Deleted.
3405         (make_charset): Add new argument `decoding_table'; set up
3406         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3407         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3408         `decoding_table' is defined in UTF-2000.
3409         (Fmake_charset): Modify for `make_charset'.
3410         (Fmake_reverse_direction_charset): Likewise.
3411         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3412         and `GENERATE_96_SET'.
3413
3414         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3415         (ucs_to_latin_jisx0201): Deleted.
3416         (latin_iso8859_2_to_ucs): Deleted.
3417         (ucs_to_latin_iso8859_2): Deleted.
3418         (latin_iso8859_3_to_ucs): Deleted.
3419         (ucs_to_latin_iso8859_3): Deleted.
3420         (latin_iso8859_4_to_ucs): Deleted.
3421         (ucs_to_latin_iso8859_4): Deleted.
3422         (latin_iso8859_9_to_ucs): Deleted.
3423         (ucs_to_latin_iso8859_9): Deleted.
3424         (latin_viscii_lower_to_ucs): Deleted.
3425         (ucs_to_latin_viscii_lower): Deleted.
3426         (latin_viscii_upper_to_ucs): Deleted.
3427         (ucs_to_latin_viscii_upper): Deleted.
3428         (struct Lisp_Charset): Renamed `encoding_table' to
3429         `to_byte1_table'; add `to_byte2_table'.
3430         (CHARSET_DECODING_TABLE): New macro.
3431         (CHARSET_TO_BYTE1_TABLE): New macro.
3432         (CHARSET_TO_BYTE2_TABLE): New macro.
3433         (XCHARSET_DECODING_TABLE): New macro.
3434         (XCHARSET_TO_BYTE1_TABLE): New macro.
3435         (XCHARSET_TO_BYTE2_TABLE): New macro.
3436         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3437         tables.
3438         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3439         don't use `ucs_to_*' tables.
3440
3441 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3442
3443         * text-coding.c (Fmake_coding_system): Don't set up
3444         `codesys->fixed.size'.
3445         (encode_coding_no_conversion): Use `if' instead of `switch'.
3446
3447         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3448
3449 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3450
3451         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3452         (Fmake_charset): Modify for `make_charset'.
3453         (Fmake_reverse_direction_charset): Likewise.
3454         (complex_vars_of_mule_charset): Likewise.
3455
3456 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3457
3458         * text-coding.c (char_encode_shift_jis): Use table
3459         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3460
3461 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3462
3463         * text-coding.c (text_encode_generic): Use `if' instead of
3464         `switch'.
3465         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3466         decode JIS-Latin.
3467
3468 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3469
3470         * text-coding.c (encode_coding_sjis): Deleted.
3471         (char_encode_shift_jis): New function.
3472         (char_finish_shift_jis): New function.
3473         (reset_encoding_stream): Set up `encode_char' and `finish' for
3474         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3475         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3476         (char_encode_utf8): Treat `eol_type'.
3477
3478 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3479
3480         * file-coding.c (decode_coding_iso2022): Use
3481         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3482
3483 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3484
3485         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3486         to 0.7 (Hirano).
3487
3488 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3489
3490         * char-lb.h (CHAR_COLUMNS): New macro.
3491
3492 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3493
3494         * text-coding.c (char_encode_ucs4): New function.
3495         (char_finish_ucs4): New function.
3496         (encode_coding_ucs4): Deleted.
3497         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3498         (text_encode_generic): Delete local variable `charset' and `half'.
3499         (ucs_to_mule_table): Deleted.
3500         (mule_to_ucs_table): Deleted.
3501         (Fset_ucs_char): Deleted.
3502         (ucs_to_char): Deleted.
3503         (Fucs_char): Deleted.
3504         (Fset_char_ucs): Deleted.
3505         (Fchar_ucs): Deleted.
3506         (decode_ucs4): Deleted.
3507         (mule_char_to_ucs4): Deleted.
3508         (encode_ucs4): Deleted.
3509         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3510         (decode_coding_utf8): Likewise.
3511         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3512         (char_encode_iso2022): Fixed.
3513         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3514         `Fset_char_ucs' and `Fchar_ucs'.
3515         (complex_vars_of_file_coding): Don't initialize
3516         `ucs_to_mule_table'.
3517
3518         * objects-tty.c (tty_initialize_font_instance): Don't use
3519         `XCHARSET_COLUMNS'.
3520
3521         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3522         UTF-2000.
3523
3524         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3525         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3526
3527         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3528         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3529         (emchar_string_displayed_columns): Likewise.
3530
3531         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3532         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3533         (string_column_at_point): Likewise.
3534         (Fmove_to_column): Likewise.
3535
3536         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3537         `encoding_table' and `decoding_table'.
3538         (CHARSET_REP_BYTES): Deleted.
3539         (XCHARSET_REP_BYTES): Deleted.
3540         (XCHARSET_COLUMNS): Deleted.
3541         (CHAR_COLUMNS): New macro.
3542         (lookup_composite_char): Deleted unconditionally.
3543         (composite_char_string): Likewise.
3544
3545 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3546
3547         * char-ucs.h (Emchar_to_byte_table): New type.
3548         (get_byte_from_character_table): New function interface.
3549         (Vcharset_latin_jisx0201): New variable.
3550         (latin_jisx0201_to_ucs): New variable.
3551         (ucs_to_latin_jisx0201): New variable.
3552         (Vcharset_latin_iso8859_2): New variable.
3553         (latin_iso8859_2_to_ucs): New variable.
3554         (ucs_to_latin_iso8859_2): New variable.
3555         (Vcharset_latin_iso8859_3): New variable.
3556         (latin_iso8859_3_to_ucs): New variable.
3557         (ucs_to_latin_iso8859_3): New variable.
3558         (Vcharset_latin_iso8859_4): New variable.
3559         (latin_iso8859_4_to_ucs): New variable.
3560         (ucs_to_latin_iso8859_4): New variable.
3561         (Vcharset_latin_iso8859_9): New variable.
3562         (latin_iso8859_9_to_ucs): New variable.
3563         (ucs_to_latin_iso8859_9): New variable.
3564         (Vcharset_latin_viscii_lower): New variable.
3565         (latin_viscii_lower_to_ucs): New variable.
3566         (ucs_to_latin_viscii_lower): New variable.
3567         (Vcharset_latin_viscii_upper): New variable.
3568         (latin_viscii_upper_to_ucs): New variable.
3569         (ucs_to_latin_viscii_upper): New variable.
3570         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3571         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3572         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3573         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3574         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3575         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3576         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3577         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3578         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3579         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3580
3581         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3582         (Vcharset_latin_viscii_upper): New variable.
3583         (make_byte_from_character_table): New function.
3584         (put_byte_from_character_table): New function.
3585         (get_byte_from_character_table): New function.
3586         (CHAR96): New macro.
3587         (ucs_to_latin_jisx0201): New variable.
3588         (latin_jisx0201_to_ucs): New variable.
3589         (ucs_to_latin_iso8859_2): New variable.
3590         (latin_iso8859_2_to_ucs): New variable.
3591         (ucs_to_latin_iso8859_3): New variable.
3592         (latin_iso8859_3_to_ucs): New variable.
3593         (ucs_to_latin_iso8859_4): New variable.
3594         (latin_iso8859_4_to_ucs): New variable.
3595         (ucs_to_latin_iso8859_9): New variable.
3596         (latin_iso8859_9_to_ucs): New variable.
3597         (ucs_to_latin_viscii_lower): New variable.
3598         (latin_viscii_lower_to_ucs): New variable.
3599         (ucs_to_latin_viscii_upper): New variable.
3600         (latin_viscii_upper_to_ucs): New variable.
3601         (ucs_to_latin_tcvn5712): New variable.
3602         (latin_tcvn5712_to_ucs): New variable.
3603         (Qlatin_viscii_lower): New variable.
3604         (Qlatin_viscii_upper): New variable.
3605         (syms_of_mule_charset): Set up new symbol
3606         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3607         (complex_vars_of_mule_charset): Set up new charset
3608         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3609         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3610         `ucs_to_<CHARSET>' tables.
3611
3612 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3613
3614         * text-coding.c: New file.
3615
3616 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3617
3618         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3619
3620         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3621         (MAKE_CHAR): Modify for `ucs-bmp'.
3622         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3623         non-MULE characters of BMP.
3624
3625 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3626
3627         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3628         to 0.6.
3629
3630 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3631
3632         * lstream.h:
3633         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3634         - Include character.h for `CHAR_ASCII_P'.
3635
3636         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3637
3638         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3639         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3640
3641         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3642         (BYTE_C0_P): Likewise.
3643         (BYTE_C1_P): Likewise.
3644         (Lstream_get_emchar_1): Likewise.
3645         (Lstream_fput_emchar): Likewise.
3646         (Lstream_funget_emchar): Likewise.
3647         (copy_internal_to_external): Likewise.
3648         (copy_external_to_internal): Likewise.
3649
3650         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3651         (BYTE_C0_P): Likewise.
3652         (BYTE_C1_P): Likewise.
3653         (Lstream_get_emchar_1): Likewise.
3654         (Lstream_fput_emchar): Likewise.
3655         (Lstream_funget_emchar): Likewise.
3656         (copy_internal_to_external): Likewise.
3657         (copy_external_to_internal): Likewise.
3658
3659         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3660         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3661
3662         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3663         (BYTE_ASCII_P): Moved to mb-1byte.h.
3664
3665 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3666
3667         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3668
3669         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3670         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3671         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3672         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3673         (VALIDATE_CHARPTR_FORWARD): Likewise.
3674         (simple_charptr_emchar): Moved to mb-multibyte.h.
3675         (simple_set_charptr_emchar): Likewise.
3676         (simple_charptr_copy_char): Likewise.
3677         (non_ascii_charptr_emchar): Likewise.
3678         (non_ascii_set_charptr_emchar): Likewise.
3679         (non_ascii_charptr_copy_char): Likewise.
3680         (charptr_emchar): Moved to mb-*byte.h.
3681         (set_charptr_emchar): Likewise.
3682         (charptr_copy_char): Likewise.
3683
3684         * mb-1byte.h, mb-multibyte.h: New files.
3685
3686 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3687
3688         * mb-utf-8.h (MULTIBYTE): New macro.
3689         (MAX_EMCHAR_LEN): Moved from buffer.h.
3690         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3691
3692         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3693
3694         * mb-lb.h, multibyte.h: New files.
3695
3696         * char-1byte.h (Charset_ID): Moved from buffer.h.
3697         (MIN_LEADING_BYTE): Likewise.
3698         (LEADING_BYTE_ASCII): Likewise.
3699         (NUM_LEADING_BYTES): Likewise.
3700         (CHARSETP): Likewise.
3701         (CHARSET_BY_LEADING_BYTE): Likewise.
3702         (XCHARSET_LEADING_BYTE): Likewise.
3703         (XCHARSET_GRAPHIC): Likewise.
3704         (XCHARSET_COLUMNS): Likewise.
3705         (XCHARSET_DIMENSION): Likewise.
3706         (CHAR_CHARSET): Likewise.
3707         (CHAR_LEADING_BYTE): Likewise.
3708         (BREAKUP_CHAR): Likewise.
3709         (Vcharset_ascii): Likewise.
3710
3711         * buffer.h: Include multibyte.h unconditionally.
3712         (VALID_CHARPTR_P): Moved to multibyte.h.
3713         (ASSERT_VALID_CHARPTR): Likewise.
3714         (REAL_INC_CHARPTR): Likewise.
3715         (REAL_INC_CHARBYTIND): Likewise.
3716         (REAL_DEC_CHARPTR): Likewise.
3717         (INC_CHARPTR): Likewise.
3718         (INC_CHARBYTIND): Likewise.
3719         (DEC_CHARPTR): Likewise.
3720         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3721         (VALIDATE_CHARPTR_FORWARD): Likewise.
3722         (charptr_n_addr): Likewise.
3723         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3724         (simple_charptr_emchar): Moved to multibyte.h.
3725         (simple_set_charptr_emchar): Likewise.
3726         (simple_charptr_copy_char): Likewise.
3727         (non_ascii_charptr_emchar): Likewise.
3728         (non_ascii_set_charptr_emchar): Likewise.
3729         (non_ascii_charptr_copy_char): Likewise.
3730         (charptr_emchar): Likewise.
3731         (set_charptr_emchar): Likewise.
3732         (charptr_copy_char): Likewise.
3733         (charptr_emchar_n): Likewise.
3734         (Charset_ID): Moved to char-1byte.h.
3735         (Vcharset_ascii): Likewise.
3736         (CHAR_CHARSET): Likewise.
3737         (CHAR_LEADING_BYTE): Likewise.
3738         (LEADING_BYTE_ASCII): Likewise.
3739         (NUM_LEADING_BYTES): Likewise.
3740         (MIN_LEADING_BYTE): Likewise.
3741         (CHARSETP): Likewise.
3742         (CHARSET_BY_LEADING_BYTE): Likewise.
3743         (XCHARSET_LEADING_BYTE): Likewise.
3744         (XCHARSET_GRAPHIC): Likewise.
3745         (XCHARSET_COLUMNS): Likewise.
3746         (XCHARSET_DIMENSION): Likewise.
3747         (BREAKUP_CHAR): Likewise.
3748
3749 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3750
3751         * character.h: Add document about interface for characters.
3752
3753         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3754         (MAKE_CHAR): Delete comment about
3755         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3756         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3757         (BREAKUP_CHAR): Modify name of arguments.
3758         (CHAR_CHARSET): Modify name of argument.
3759
3760         * buffer.h: Delete document about Emchar accessors.
3761
3762 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3763
3764         * character.h (CHAR_INTP): Moved from buffer.h
3765         (CHAR_OR_CHAR_INTP): Likewise.
3766         (XCHAR_OR_CHAR_INT): Likewise.
3767         (CHECK_CHAR_COERCE_INT): Likewise.
3768
3769         * buffer.h (CHAR_INTP): Moved to character.h
3770         (CHAR_OR_CHAR_INTP): Likewise.
3771         (XCHAR_OR_CHAR_INT): Likewise.
3772         (CHECK_CHAR_COERCE_INT): Likewise.
3773
3774 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3775
3776         * character.h:
3777         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3778         - Include char-1byte.h, char-lb.h or char-ucs.h.
3779
3780         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3781
3782         * buffer.h: Include character unconditionally.
3783         (valid_char_p): Moved to char-*.h.
3784         (non_ascii_valid_char_p): Moved to char-lb.h.
3785
3786         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3787
3788 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3789
3790         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3791         in UTF-2000 because it is not ported yet and not to use
3792         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3793         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3794         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3795
3796         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3797         (CHAR_ASCII_P): Moved from character.h.
3798
3799         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3800         (CHAR_ASCII_P): Likewise.
3801         (CHAR_FIELD1_MASK): Deleted.
3802         (CHAR_FIELD2_MASK): Deleted.
3803         (CHAR_FIELD3_MASK): Deleted.
3804         (MAX_CHAR_BASIC_LATIN): New macro.
3805         (CHAR_FIELD1): Deleted.
3806         (CHAR_FIELD2_INTERNAL): Deleted.
3807         (CHAR_FIELD3_INTERNAL): Deleted.
3808         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3809         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3810         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3811         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3812         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3813         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3814         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3815         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3816         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3817         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3818         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3819         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3820         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3821         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3822         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3823         (MIN_CHAR_COMPOSITION): Deleted.
3824         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3825         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3826
3827 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3828
3829         * buffer.h: Include mb-utf-8.h in UTF-2000.
3830
3831         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3832
3833         * mb-utf-8.h: New file.
3834
3835 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3836
3837         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3838         instead of `int'.
3839
3840         * mule-charset.h, buffer.h (Charset_ID): New type.
3841
3842 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3843
3844         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3845         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3846         instead of `MULE_CHAR_PRIVATE_OFFSET',
3847         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3848         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3849         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3850
3851         * character.h (Vcharset_japanese_jisx0212): New variable
3852         definition.
3853
3854 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3855
3856         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3857         (charset_by_attributes): Delete array about direction.
3858         (latin_a_char_to_charset): New variable in UTF-2000.
3859         (latin_a_char_to_byte1): New variable in UTF-2000.
3860         (latin_a_char_to_byte2): New variable in UTF-2000.
3861         (Qucs_bmp): New variable.
3862         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3863         `Bufbyte'.
3864         (next_allocated_2_byte_leading_byte): Likewise.
3865         (non_ascii_set_charptr_emchar): Likewise.
3866         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3867         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3868         `charset_by_attributes'.
3869         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3870         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3871         and `CHARSET_BY_LEADING_BYTE'.
3872         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3873         `utf-2000-version' to `vars_of_mule_charset'.
3874         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3875         define `leading-code-private-11' in UTF-2000; move setting of
3876         `utf-2000-version' from `syms_of_mule_charset'.
3877         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3878         UTF-2000.
3879
3880         * character.h (Charset_ID): New type.
3881         (LEADING_BYTE_UCS_BMP): New macro.
3882         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3883         (CHARSET_ID_OFFSET_94): New macro.
3884         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3885         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3886         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3887         final-byte.
3888         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3889         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3890         (CHARSET_ID_OFFSET_96): New macro.
3891         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3892         CHARSET_ID_OFFSET_96 and final-byte.
3893         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3894         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3895         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3896         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3897         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3898         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3899         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3900         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3901         (LEADING_BYTE_THAI_TIS620): Likewise.
3902         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3903         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3904         (CHARSET_ID_OFFSET_94x94): New macro.
3905         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3906         CHARSET_ID_OFFSET_94x94 and final-byte.
3907         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3908         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3909         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3910         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3911         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3912         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3913         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3914         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3915         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3916         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3917         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3918         (CHARSET_TYPE_128X128): New macro.
3919         (CHARSET_TYPE_256X256): New macro.
3920         (XCHARSET_PRIVATE_P): Delete unconditionally.
3921         (charset_by_attributes): Delete array about direction.
3922         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3923         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3924         (MIN_CHAR_94): New macro.
3925         (MAX_CHAR_94): New macro.
3926         (MIN_CHAR_96): New macro.
3927         (MAX_CHAR_96): New macro.
3928         (MIN_CHAR_94x94): New macro.
3929         (MAX_CHAR_94x94): New macro.
3930         (MIN_CHAR_96x96): New macro.
3931         (MAX_CHAR_96x96): New macro.
3932         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3933         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3934         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3935         - 32)'.
3936         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3937         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3938         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3939         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3940         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3941         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3942         `XCHARSET_LEADING_BYTE' to make code-point.
3943         (latin_a_char_to_charset): New variable.
3944         (latin_a_char_to_byte1): New variable.
3945         (latin_a_char_to_byte2): New variable.
3946         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3947         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3948         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3949
3950         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3951         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3952         (find_charsets_in_emchar_string): Likewise.
3953         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3954
3955         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3956         `int'.
3957         (decode_coding_iso2022): Likewise.
3958
3959         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3960         of `unsigned char'.
3961
3962         * redisplay.c (redisplay_text_width_emchar_string): Use
3963         `Charset_ID' instead of `unsigned char'.
3964         (redisplay_frame_text_width_string): Likewise.
3965
3966         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3967         `unsigned char'.
3968
3969         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3970         instead of `unsigned char'.
3971         (face_cachel_charset_font_metric_info): Likewise.
3972
3973         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3974         (get_non_ascii_char_table_value): Likewise.
3975         (get_char_table): Likewise.
3976         (put_char_table): Likewise.
3977         (map_over_other_charset): Likewise.
3978         (map_char_table): Likewise.
3979
3980         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3981         instead of `unsigned char'.
3982
3983 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3984
3985         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3986         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3987
3988         * mule-charset.c (leading_code_private_11): Don't define in
3989         UTF-2000.
3990
3991         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3992         in UTF-2000 because it is not ported yet and not to use
3993         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3994
3995 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3996
3997         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3998
3999 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4000
4001         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4002         in UTF-2000.
4003
4004         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4005         of unsigned char to store leading-byte.
4006
4007         * chartab.c (get_non_ascii_char_table_value): Don't use
4008         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4009
4010         * file-coding.c (encode_coding_big5): Delete bogus implementation
4011         in UTF2000.
4012
4013         * character.h (LEADING_BYTE_*): Delete definition for
4014         non-UTF-2000.
4015         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4016         (LEADING_BYTE_PREFIX_P): Deleted.
4017         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4018         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4019         (BUFBYTE_LEADING_BYTE_P): Deleted.
4020         (CHARSET_PRIVATE_P): Deleted unconditionally.
4021         (rep_bytes_by_first_byte): Deleted unconditionally.
4022         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4023         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4024         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4025         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4026         (CHAR_FIELD2): Deleted.
4027         (CHAR_FIELD3): Deleted.
4028         (MAKE_CHAR): Delete definition for non-UTF-2000.
4029         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4030         (breakup_char_1): New implementation.
4031         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4032         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4033
4034 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4035
4036         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4037         condition.
4038
4039 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4040
4041         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4042         (CHARSET_PRIVATE_P): Likewise.
4043         (XCHARSET_PRIVATE_P): Likewise.
4044         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4045
4046         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4047         UTF2000.
4048         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4049
4050 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4051
4052         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4053         (NUM_LEADING_BYTES): Changed from 128 to 256.
4054         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4055         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4056         UTF2000.
4057         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4058
4059         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4060         UTF2000.
4061         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4062         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4063         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4064         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4065         (Qchinese_cns11643_3): New variable in UTF2000.
4066         (Qchinese_cns11643_4): New variable in UTF2000.
4067         (Qchinese_cns11643_5): New variable in UTF2000.
4068         (Qchinese_cns11643_6): New variable in UTF2000.
4069         (Qchinese_cns11643_7): New variable in UTF2000.
4070         (syms_of_mule_charset): Define `chinese-cns11643-3',
4071         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4072         and `chinese-cns11643-7' in UTF2000.
4073         (vars_of_mule_charset): Initialize
4074         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4075         + 1 in UTF2000.
4076         (complex_vars_of_mule_charset): Setup charset
4077         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4078         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4079
4080 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4081
4082         * mule-charset.c: Move setting for `leading-code-private-11' from
4083         `syms_of_mule_charset' to `vars_of_mule_charset'.
4084
4085 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4086
4087         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4088         and `NUM_LEADING_BYTES' in assert.
4089
4090 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4091
4092         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4093         instead of 128.
4094         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4095         `NUM_LEADING_BYTES' instead of 128.
4096
4097 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4098
4099         * mule-charset.h (charset_by_leading_byte): Use
4100         `NUM_LEADING_BYTES' instead of 128.
4101         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4102
4103         * mule-charset.c (charset_by_leading_byte): Use
4104         `NUM_LEADING_BYTES' instead of 128.
4105         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4106
4107         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4108         128.
4109
4110 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4111
4112         * mule-charset.c (syms_of_mule_charset): Update to
4113         0.4 (Shin-Imamiya).
4114
4115 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4116
4117         * file-coding.c (encode_coding_sjis): New implementation for
4118         UTF2000.  (decode_coding_sjis): Ditto.
4119
4120 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4121
4122         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4123         Don't define in UTF2000.
4124
4125         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4126         defined.
4127
4128         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4129         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4130         MULE.
4131
4132 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4133
4134         * config.h.in (CHAR_IS_UCS4): New macro.
4135
4136         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4137         conventional MULE representation.
4138         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4139
4140         * mule-charset.h: Reverted to original.
4141
4142         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4143         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4144         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4145
4146         * character.h: New file.
4147
4148         * file-coding.c (Fmake_coding_system): Set 1 to
4149         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4150         defined.
4151         (encode_coding_no_conversion): New implementation for UTF2000.
4152
4153         * file-coding.h (struct Lisp_Coding_System): Add new member
4154         `fixed.size'.
4155
4156 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4157
4158         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4159         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4160         (encode_coding_iso2022): New implementation for UTF2000.
4161
4162 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4163
4164         * mule-canna.c (c2mu): New implementation for UTF2000.
4165         (m2c): Likewise.
4166
4167 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4168
4169         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4170
4171 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4172
4173         * file-coding.c (reset_encoding_stream): Set 0 to
4174         `str->iso2022.current_char_boundary' in UTF2000.
4175         (encode_utf8): Don't define in UTF2000.
4176         (encode_coding_utf8): New implementation for UTF-8 representation
4177         of UTF2000.
4178         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4179
4180 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4181
4182         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4183
4184         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4185         UTF2000.
4186         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4187
4188         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4189
4190         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4191         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4192         as UTF-8 in UTF2000.
4193         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4194         (non_ascii_valid_char_p): Don't define in UTF2000.
4195         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4196         (Lstream_get_emchar_1): Likewise.
4197         (utf-2000-version): New variable in UTF2000.
4198
4199         * lread.c (read_escape): Add new reader `u'.
4200
4201         * insdel.c (three_to_one_table): Don't define in UTF2000.
4202         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4203         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4204         UTF2000.
4205         (bytind_to_bufpos_func): Likewise.
4206         (buffer_mule_signal_inserted_region): Likewise.
4207         (vars_of_insdel): Don't initialize `three_to_one_table'.
4208         (init_buffer_text): Use `buf->text->mule_size' instead of
4209         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4210         UTF2000.
4211
4212         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4213         UTF-8 representation in UTF2000.
4214         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4215         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4216         (decode_coding_iso2022): Don't define local variable `lb' in
4217         UTF2000; don't use LEADING_BYTE in UTF2000; use
4218         `DECODE_ADD_UCS_CHAR' in UTF2000.
4219         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4220
4221         * config.h.in (UTF2000): New macro.
4222
4223         * buffer.h (struct buffer_text): Add new member `mule_size' and
4224         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4225         (valid_char_p): Return always 1 in UTF2000.
4226         (MAX_EMCHAR_LEN): 6 in UTF2000.
4227         (three_to_one_table): Don't define in UTF2000.
4228         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4229         UTF2000.
4230         (real_bytind_to_bufpos): Likewise.
4231
4232         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4233
4234 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4235
4236         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4237         representation change.
4238         (Vutf_2000_version): New variable.
4239         (leading_code_private_11): New variable.
4240         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4241         `leading-code-private-11'.
4242
4243         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4244         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4245         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4246         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4247         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4248         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4249         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4250         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4251         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4252         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4253         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4254         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4255         (MIN_CHAR_GREEK): New macro.
4256         (MAX_CHAR_GREEK): New macro.
4257         (MIN_CHAR_CYRILLIC): New macro.
4258         (MAX_CHAR_CYRILLIC): New macro.
4259         (MIN_CHAR_HEBREW): New macro.
4260         (MAX_CHAR_HEBREW): New macro.
4261         (MIN_CHAR_THAI): New macro.
4262         (MAX_CHAR_THAI): New macro.
4263         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4264         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4265         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4266         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4267         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4268         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4269         (CHAR_FIELD2): New inline function.
4270         (CHAR_FIELD3): New inline function.
4271         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4272         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4273         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4274         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4275         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4276         (MIN_CHAR_COMPOSITION): Likewise.
4277         (CHAR_LEADING_BYTE): Modified for character representation change.
4278         (MAKE_CHAR): Likewise.
4279
4280         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4281         (Vcharset_greek_iso8859_7): Likewise.
4282         (Vcharset_cyrillic_iso8859_5): Likewise.
4283         (Vcharset_hebrew_iso8859_8): Likewise.
4284         (Vcharset_thai_tis620): Likewise.
4285         (Vcharset_katakana_jisx0201): Likewise.
4286
4287 2001-02-08  Martin Buchholz <martin@xemacs.org>
4288
4289         * XEmacs 21.2.44 "Thalia" is released.
4290
4291 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4292
4293         Fixes crashes in kill-emacs on some systems.
4294         * process-unix.c (unix_kill_child_process):
4295         It's OK for kill() to fail with ESRCH.
4296
4297 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4298
4299         Contortions to make .gdbinit tricks work on most systems.
4300         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
4301         * alloc.c (dbg_valmask): Make non-const.
4302         * alloc.c (dbg_typemask): Make non-const.
4303         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
4304         * alloc.c (dbg_valbits): Make non-const.
4305         * alloc.c (dbg_gctypebits): Make non-const.
4306         * .gdbinit (decode_object): Make it work with AIX cc.
4307
4308 2001-02-06  Martin Buchholz  <martin@xemacs.org>
4309
4310         * elhash.c (make_general_lisp_hash_table):
4311         Use simpler and more efficient calloc to clear entries.
4312
4313 2001-02-07  Martin Buchholz  <martin@xemacs.org>
4314
4315         * window.c (window_scroll): Work around an AIX C compiler bug.
4316         Fixes 'scroll-up' does nothing problem with xlC.
4317
4318 2001-02-05  Martin Buchholz  <martin@xemacs.org>
4319
4320         * .gdbinit: Remove obsolete comment.
4321
4322 2001-01-31  Mike Alexander  <mta@arbortext.com>
4323
4324         * select.c (Fown_selection_internal): Set owned_p for device
4325         method correctly.
4326
4327 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4328
4329         Port to g++ 2.97.
4330         "not" cannot be used as a macro name as it is an operator in C++
4331         * config.h.in: Stop #defining `not'.
4332         * chartab.c (check_category_char): not ==> not_p
4333         * chartab.h: Likewise.
4334         * regex.c (re_match_2_internal): Likewise.
4335
4336 2001-02-02  Martin Buchholz  <martin@xemacs.org>
4337
4338         * lisp-disunion.h: Fix up comments.
4339
4340 2001-01-31  Martin Buchholz  <martin@xemacs.org>
4341
4342         * keymap.c (define_key_check_and_coerce_keysym):
4343         (syms_of_keymap):
4344         Support mouse-6 and mouse-7 bindings in the obvious way.
4345
4346 2001-02-01  Martin Buchholz  <martin@xemacs.org>
4347
4348         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
4349
4350 2001-01-30  Martin Buchholz  <martin@xemacs.org>
4351
4352         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
4353         Previous patch missed DEFVAR_INT_MAGIC.
4354         Make sure future DEFVAR_foo use correct types.
4355         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
4356         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
4357         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
4358         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
4359         * (DEFVAR_INT): Likewise.
4360         * redisplay.c (vertical_clip): Should be of type Fixnum.
4361         * redisplay.c (horizontal_clip): Likewise.
4362         * lisp.h (dump_add_opaque_int): New.
4363         (dump_add_opaque_fixnum): New.
4364
4365 2001-01-29  Andy Piper  <andy@xemacs.org>
4366
4367         * glyphs-widget.c (check_valid_int_or_function): allow symbols
4368         since they can be eval'ed
4369
4370 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4371
4372         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
4373         Oops, XEmacs redefines `class'.  Use `typename' instead.
4374
4375 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4376
4377         * dumper.c: Fix C++ compile errors.
4378
4379 2001-01-29  Martin Buchholz  <martin@xemacs.org>
4380
4381         * tparam.c: Use correct prototypes.
4382
4383 2001-01-28  Martin Buchholz  <martin@xemacs.org>
4384
4385         * sysproc.h: #include util.h for NetBSD's openpty.
4386
4387 2001-01-27  Martin Buchholz  <martin@xemacs.org>
4388
4389         More 64-bit correctness.
4390         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
4391         Use a typedef `fixnum' for the type used for DEFVAR_INT.
4392         Fix up comments.
4393         This finally finishes the 64-bit SGI port.
4394         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
4395         * symbols.c: Fix up comments and type casts.
4396         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
4397         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
4398         * symeval.h (Fixnum): New type.
4399         * symeval.h (symbol_value_type): Fix up comment.
4400
4401         * commands.h:
4402         * nt.c:
4403         * emacs.c:
4404         * data.c:
4405         * redisplay.c:
4406         * abbrev.c:
4407         * dired-msw.c:
4408         * event-Xt.c:
4409         * eldap.c:
4410         * window.c:
4411         * sound.c:
4412         * event-stream.c:
4413         * eval.c:
4414         * buffer.c:
4415         * mule-canna.c: A million DEFVAR_INTs here...
4416         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
4417         * extents.c:
4418         * cmdloop.c:
4419         * lisp.h:
4420         * select-x.c:
4421         * console-x.h:
4422         * event-msw.c:
4423         * mule-wnnfns.c:
4424         * hpplay.c:
4425         * ralloc.c:
4426         * alloc.c:
4427         * keymap.c:
4428         * profile.c:
4429         s/int/Fixnum/g in DEFVAR_INT declarations.
4430
4431 2001-01-26  Martin Buchholz  <martin@xemacs.org>
4432
4433         Port pdump to SGI alignment-sensitive environment.
4434         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
4435         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
4436         properly aligned.
4437         Define and use aligned reading and writing macros.
4438         Use buffered stdio instead of posix i/o for faster dumping.
4439         Eliminate kludgy 256 byte space for header.
4440         Read and write from dump file using structs for alignment safety.
4441         * dumper.c (pdump_align_stream): New.
4442         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
4443         * dumper.c (PDUMP_READ_ALIGNED): New.
4444         * dumper.c (PDUMP_WRITE_ALIGNED): New.
4445         * dumper.c (pdump_static_Lisp_Object): New struct.
4446         * dumper.c (pdump_static_pointer): New struct.
4447         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
4448         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
4449         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
4450         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
4451
4452         * dumper.c (pdump_backtrace):
4453         * dumper.c (pdump_get_indirect_count):
4454         * dumper.c (pdump_register_object):
4455         * dumper.c (pdump_register_struct):
4456         * dumper.c (pdump_reloc_one):
4457         * dumper.c (pdump_scan_by_alignment):
4458         * dumper.c (pdump_dump_from_root_struct_ptrs):
4459         * dumper.c (pdump_dump_opaques):
4460         * dumper.c (pdump_dump_rtables):
4461         * dumper.c (pdump_dump_from_root_objects):
4462         * dumper.c (pdump):
4463         * dumper.c (pdump_load_finish):
4464         Use aligned reading and writing.
4465
4466         * dumper.c (pdump_free): Make static.
4467         * dumper.c (pdump_hFile): Likewise.
4468         * dumper.c (pdump_hMap): Likewise.
4469
4470 2001-01-26  Martin Buchholz <martin@xemacs.org>
4471
4472         * XEmacs 21.2.43 "Terspichore" is released.
4473
4474 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4475
4476         Type fiddling for window_config.saved_windows_count
4477         * window.c (struct window_config): 
4478         Make saved_windows_count member unsigned.
4479         * window.c (sizeof_window_config_for_n_windows): 
4480         Make parameter unsigned.
4481         * window.c (mark_window_config):
4482         * window.c (window_config_equal):
4483         * window.c (free_window_configuration):
4484         * window.c (Fset_window_configuration):
4485         * window.c (count_windows):
4486         * window.c (Fcurrent_window_configuration):
4487         * window.c (reinit_vars_of_window):
4488         Update all callers and users.
4489
4490 2001-01-25  Martin Buchholz  <martin@xemacs.org>
4491
4492         Alignment correctness for flexible arrays.
4493         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
4494         Make alignment-correct. Add interesting comments.
4495         * alloc.c (size_vector):
4496         * alloc.c (make_vector_internal):
4497         * alloc.c (make_bit_vector_internal):
4498         * alloc.c (sweep_bit_vectors_1):
4499         * fns.c (size_bit_vector):
4500         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
4501         * window.c (sizeof_window_config_for_n_windows): 
4502         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
4503
4504 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4505
4506         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
4507
4508 2001-01-23  Andy Piper  <andy@xemacs.org>
4509
4510         * select.c (Fown_selection_internal): pass owned_p
4511
4512         * select-msw.c (mswindows_own_selection): New Signature.
4513
4514         * console.h (struct console_methods): add owned_p to
4515         _own_selection.
4516
4517         * select-x.c (x_own_selection): pass owned_p
4518         (hack_motif_clipboard_selection): use owned_p
4519         (vars_of_select_x): new variable -
4520         x_selection_strict_motif_ownership.
4521
4522 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4523
4524         * specifier.h (specifier_data_offset): Remove pointless parens.
4525         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
4526
4527 2001-01-24  Martin Buchholz  <martin@xemacs.org>
4528
4529         Make Lisp_Object sizeof methods be alignment-correct.
4530         pdump must restore objects to the same alignment as the C compiler
4531         assumes.  It really matters on SGIs.
4532         * lstream.c (aligned_sizeof_lstream): New.
4533         (sizeof_lstream): Use aligned_sizeof_lstream.
4534         (Lstream_new): Likewise.
4535         * opaque.c (aligned_sizeof_opaque): New.
4536         (sizeof_opaque): Use aligned_sizeof_opaque.
4537         (make_opaque): Likewise.
4538         * specifier.c (aligned_sizeof_specifier): New.
4539         (sizeof_specifier): Use aligned_sizeof_specifier.
4540         (make_specifier_internal): Likewise.
4541
4542 2001-01-23  Martin Buchholz  <martin@xemacs.org>
4543
4544         * lstream.h (struct lstream): Use max_align_t for trailing data.
4545         * specifier.h (struct Lisp_Specifier): Likewise.
4546
4547 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4548
4549         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
4550         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
4551         (CCL_SUSPEND): Likewise.
4552         (CCL_INVALID_CMD): Likewise.
4553         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
4554         (ccl_driver): Likewise.
4555         (CCL_WRITE_CHAR): Macro hygiene.
4556         (CCL_WRITE_STRING): Macro hygiene.
4557
4558 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4559
4560         Port "portable" dumper to SunOS 4 and HP-UX.
4561         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
4562         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
4563         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
4564
4565 2001-01-22  Martin Buchholz  <martin@xemacs.org>
4566
4567         * lisp.h (ALIGNOF): A better definition for C++.
4568
4569 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4570
4571         Macro hygiene.
4572         Fix printf warnings: int format, long int arg.
4573         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
4574         (PUSH_FAILURE_POINT): Use correct printf formats.
4575         (POP_FAILURE_POINT): Use correct printf formats.  
4576         Use do {...} while (0)
4577
4578 2001-01-20  Martin Buchholz <martin@xemacs.org>
4579
4580         * XEmacs 21.2.42 "Poseidon" is released.
4581
4582 2001-01-20  Martin Buchholz  <martin@xemacs.org>
4583
4584         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
4585
4586 2001-01-19  Martin Buchholz  <martin@xemacs.org>
4587
4588         De-kludgify FIXED_TYPE free list frobbing.
4589         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
4590         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
4591         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
4592         * alloc.c (Lisp_Free): New pseudo lisp object definition.
4593         * alloc.c (LRECORD_FREE_P): New.
4594         * alloc.c (MARK_LRECORD_AS_FREE): New.
4595         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
4596         * alloc.c (STRUCT_FREE_P): Deleted.
4597         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
4598         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
4599         * alloc.c (STRING_CHARS_FREE_P): New.
4600         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
4601         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
4602         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
4603         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
4604         * alloc.c (resize_string): Use new definitions.
4605         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
4606         * alloc.c (verify_string_chars_integrity): Use new definitions.
4607         * alloc.c (compact_string_chars): Use new definitions.
4608         * alloc.c: Update monster comments.
4609         * lrecord.h (lrecord_type): Add some new lrecord types for
4610         alloc.c's use.
4611
4612 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4613
4614         Improve alignment hackery.
4615         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
4616         (max_align_t): Moved from opaque.h - general purpose.
4617         (ALIGN_PTR): Use size_t, not long.
4618         * opaque.h (max_align_t): Move to lisp.h.
4619
4620 2001-01-18  Norbert Koch  <nk@LF.net>
4621
4622         * gui.h: Fix and add prototypes to fix build problems.
4623
4624 2001-01-18  Martin Buchholz  <martin@xemacs.org>
4625
4626         temacs is going away, so `dump-temacs' is now a bad name.
4627         * .dbxrc (dump-temacs): Rename to `dmp'.
4628         * .gdbinit (dump-temacs): Rename to `dmp'.
4629
4630 2001-01-17  Andy Piper  <andy@xemacs.org>
4631
4632         * glyphs.c (print_image_instance): comment to make martin happy.
4633
4634         * glyphs-x.c (x_redisplay_widget): update faces after a frame
4635         change.
4636
4637         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
4638         activation.
4639         (mswindows_tab_control_redisplay): warning suppression.
4640
4641         * glyphs-widget.c (widget_update): re-write to cope with updated
4642         items.
4643         (widget_instantiate): use new gui_item functions.
4644         (tab_control_update): deleted.
4645         (progress_gauge_update): deleted.
4646         (image_instantiator_progress_guage): take out update reference.
4647         (image_instantiator_tree_view): ditto.
4648         (image_instantiator_tab_control): ditto.
4649
4650         * gui.c (widget_gui_parse_item_keywords): new function. Do things
4651         Right the new way.
4652         (gui_item_add_keyval_pair): re-write to cope with descriptors and
4653         return whether anything was changed.
4654         (update_gui_item_keywords): as it sounds.
4655
4656         * gui.h: declare widget_gui_parse_item_keywords.
4657
4658         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
4659         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
4660
4661 2001-01-17  Martin Buchholz <martin@xemacs.org>
4662
4663         * XEmacs 21.2.41 "Polyhymnia" is released.
4664
4665 2001-01-16  Didier Verna  <didier@xemacs.org>
4666
4667         * glyphs.c (image_instantiate): don't use fallbacks when
4668         instantiating a face's background pixmap by inheritance.
4669
4670 2001-01-14  Mike Sperber <mike@xemacs.org>
4671
4672         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
4673         Conditionalize accordingly.
4674
4675 2001-01-16  Martin Buchholz  <martin@xemacs.org>
4676
4677         * dumper.c (pdump_file_get): Fix a compiler warning.
4678
4679 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4680
4681         Make Purify happy when pdumping.
4682         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
4683         iniitalizing all bits of new lisp object memory.
4684         * symbols.c (Fmake_local_variable): Likewise.
4685         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
4686         * symbols.c (Fdefvaralias): Likewise.
4687         * mule-charset.c (vars_of_mule_charset): Likewise.
4688
4689 2001-01-15  Martin Buchholz  <martin@xemacs.org>
4690         Add the `-nd' flag when running pre-dump operations under the debugger.
4691         * .dbxrc (run-temacs): Add `-nd'.
4692         * .dbxrc (update-elc): Likewise.
4693         * .dbxrc (dump-temacs): Likewise.
4694         * .gdbinit (run-temacs): Likewise.
4695         * .gdbinit (check-temacs): Likewise.
4696         * .gdbinit (update-elc): Likewise.
4697         * .gdbinit (dump-temacs): Likewise.
4698
4699 2001-01-14  Martin Buchholz  <martin@xemacs.org>
4700
4701         Allow building 64-bit executables on AIX with GNU malloc, e.g.
4702         export OBJECT_MODE=64
4703         configure --pdump --use-union-type=no
4704         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
4705         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
4706
4707         * miscplay.c (sndcnv8U_2mono):
4708         Avoid two uses of `++' in the same expression.
4709         Suppresses a GCC warning.
4710
4711 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4712
4713         Make sure future compilers don't miscompile alloc.c.
4714         * alloc.c:
4715         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
4716         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
4717
4718 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4719
4720         * dumper.c: A little post-pdump-rename comment fixup.
4721
4722 2001-01-09  Jerry James  <james@eecs.ku.edu>
4723
4724         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
4725
4726 2001-01-13  Martin Buchholz  <martin@xemacs.org>
4727
4728         * *.[ch]: Globally rename symbols using the following `pdump-rename'
4729         script:
4730         #!/bin/sh
4731         replace_symbol () {
4732           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
4733         }
4734
4735         replace_symbol pdump_wire_lists pdump_weak_object_chains
4736         replace_symbol pdump_wire_list dump_add_weak_object_chain
4737
4738         replace_symbol pdump_wires pdump_root_objects
4739         replace_symbol pdump_wire dump_add_root_object
4740
4741         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
4742         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
4743
4744         replace_symbol dumpstructinfos pdump_root_struct_ptrs
4745         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
4746         replace_symbol dumpstructinfo pdump_root_struct_ptr
4747         replace_symbol dumpstruct dump_add_root_struct_ptr
4748
4749         replace_symbol dumpopaque dump_add_opaque
4750         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
4751         replace_symbol dumpopaqueinfos pdump_opaques
4752         replace_symbol dumpopaqueinfo pdump_opaque
4753
4754         replace_symbol nb_structdump nb_root_struct_ptrs
4755         replace_symbol nb_opaquedump nb_opaques
4756
4757         replace_symbol align_table pdump_align_table
4758         replace_symbol dump_header pdump_header
4759
4760         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
4761         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
4762
4763
4764 2001-01-12  Martin Buchholz  <martin@xemacs.org>
4765
4766         * s/aix4.h: Keep the C for AIX compiler from overaggressively
4767         optimizing bytecount_to_charcount().
4768
4769 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4770
4771         * config.h.in:
4772         (HAVE_DLFCN_H): Removed.
4773         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
4774
4775 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4776
4777         Portable dumper maintainability improvements.
4778         * alloc.c (staticpro):
4779         * alloc.c (staticpro_nodump):
4780         * alloc.c (garbage_collect_1):
4781         * alloc.c (reinit_alloc_once_early):
4782         * alloc.c (init_alloc_once_early):
4783         * alloc.c: Move dumper functions to alloc.c.
4784         * dumper.c (pdump_backtrace):
4785         * dumper.c (pdump_dump_structs):
4786         * dumper.c (pdump_dump_opaques):
4787         * dumper.c (pdump_dump_rtables):
4788         * dumper.c (pdump_dump_wired):
4789         * dumper.c (pdump):
4790         * dumper.c (pdump_load_check):
4791         * dumper.c (pdump_load_finish):
4792         * dumper.c (pdump_file_unmap):
4793         * dumper.c (pdump_file_get):
4794         * dumper.c (pdump_resource_free):
4795         * dumper.c (pdump_resource_get):
4796         * dumper.c (pdump_file_free):
4797         * dumper.c (pdump_file_try):
4798         * dumper.c (pdump_load):
4799         Remove fixed size limits on staticpro(), staticpro_nodump(),
4800         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
4801         Remove custom code for dumping lrecord_implementations_table - use
4802         dumpopaque instead.
4803         Remove (most of the) custom code for dumping staticpros - dump it
4804         like any other dynarr.
4805
4806         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
4807         * dumper.c: Moved functions from alloc.c.
4808         * alloc.c (dumpstruct): Moved to dumper.c.
4809         * alloc.c (dumpopaque): Likewise.
4810         * alloc.c (pdump_wire): Likewise.
4811         * alloc.c (pdump_wire_list): Likewise.
4812
4813         * lisp.h (Dynarr_sizeof): New.
4814         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
4815         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
4816         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
4817
4818         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
4819         * lisp.h (dumpopaque): ditto.
4820         * lisp.h (pdump_wire): ditto.
4821         * lisp.h (pdump_wire_list): ditto.
4822
4823 2001-01-09  Martin Buchholz  <martin@xemacs.org>
4824
4825         * make-src-depend (PrintPatternDeps):
4826         Use `sort' to make output independent of perl version.
4827
4828 2001-01-08  Martin Buchholz  <martin@xemacs.org>
4829
4830         Port to Netbsd 1.5.
4831         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
4832         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
4833
4834 2001-01-03  Didier Verna  <didier@xemacs.org>
4835
4836         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
4837         that `focus_frame' is alive before thinking of calling
4838         `redisplay_redraw_cursor' on it.
4839
4840 2001-01-08  Martin Buchholz <martin@xemacs.org>
4841
4842         * XEmacs 21.2.40 is released.
4843
4844 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
4845
4846         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
4847
4848 2001-01-06  Martin Buchholz  <martin@xemacs.org>
4849
4850         * alloc.c (dbg_valmask): Make const.
4851         * alloc.c (dbg_typemask): Make const.
4852         * alloc.c (dbg_USE_UNION_TYPE): Make const.
4853         * alloc.c (dbg_valbits): Make const.
4854         * alloc.c (dbg_gctypebits): Make const.
4855
4856 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
4857
4858         * redisplay-x.c (x_bevel_area):
4859         redisplay.h (struct rune):
4860         Typo fixes in comments.
4861
4862 2001-01-05  Andy Piper  <andy@xemacs.org>
4863
4864         * glyphs-x.c (x_redisplay_widget): use size changed for offset
4865         adjustment.
4866
4867         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
4868
4869 2001-01-05  Martin Buchholz  <martin@xemacs.org>
4870
4871         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
4872
4873         * mule-ccl.c (stack_idx_of_map_multiple):
4874         Non const global data must not be initialized!
4875         Found by MIYASHITA Hisashi.
4876
4877 2001-01-02  Andy Piper  <andy@xemacs.org>
4878
4879         * frame.c (change_frame_size): make sure frame size is always
4880         marked as changed.
4881
4882         * glyphs.c (image_instance_layout): minor code reuse.
4883
4884         * window.c (Fcurrent_window_configuration): revert previous
4885         change.
4886
4887 2001-01-02  Martin Buchholz  <martin@xemacs.org>
4888
4889         * glyphs.h:
4890         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
4891
4892 2000-12-31  Andy Piper  <andy@xemacs.org>
4893
4894         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
4895         when widget gets unmapped.
4896
4897         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
4898         function. Make sure widgets losing focus don't just drop it.
4899         (handle_focus_event_1): record the widget with focus.
4900
4901 2000-12-31  Andy Piper  <andy@xemacs.org>
4902
4903         * window.c (allocate_window): use
4904         make_image_instance_cache_hash_table.
4905         (make_dummy_parent): ditto.
4906         (Fset_window_configuration): ditto.
4907
4908         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
4909
4910         * glyphs.c (process_image_string_instantiator): use
4911         INSTANTIATOR_TYPE.
4912         (get_image_instantiator_governing_domain): ditto.
4913         (normalize_image_instantiator): ditto.
4914         (instantiate_image_instantiator): ditto.
4915         (make_image_instance_1): ditto.
4916         (image_instantiate): ditto. Key on glyph *and* instantiator type.
4917         (instantiator_eq_equal): new function for use with instance hash
4918         tables.
4919         (instantiator_eq_hash): ditto.
4920         (make_image_instance_cache_hash_table): create a suitable hash
4921         table for storing image instances.
4922
4923         * elhash.h (hash_table_weakness): new internal weakness type
4924         HASH_TABLE_KEY_CAR_VALUE_WEAK.
4925         declare new functions.
4926
4927         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4928         another weakness type for glyphs.
4929         (make_standard_lisp_hash_table): new function split out from
4930         make_general_lisp_hash_table.
4931         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4932         (hash_table_instantiate): ditto.
4933         (Fmake_hash_table): ditto.
4934
4935 2000-12-31  Martin Buchholz <martin@xemacs.org>
4936
4937         * XEmacs 21.2.39 is released.
4938
4939 2000-12-29  Andy Piper  <andy@xemacs.org>
4940
4941         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4942
4943         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4944         the frame has changed so that we pick up geometry changes such as
4945         menubar visibility.
4946
4947 2000-12-28  Andy Piper  <andy@xemacs.org>
4948
4949         * lastfile.c (my_ebss): make a char array so we can pad the
4950         bss. Fixes cygwin unexec.
4951
4952         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4953
4954 2000-12-26  Andy Piper  <andy@xemacs.org>
4955
4956         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4957         comments and try and be more precise about a non-/SIGIO world.
4958         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4959         SIGIO.
4960
4961         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4962         we don't normalize to zero width or height.
4963
4964 2000-12-24  Andy Piper  <andy@xemacs.org>
4965
4966         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4967
4968 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4969
4970         * s/sco5.h: SCO 5 has pty support.
4971
4972 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4973
4974         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4975         input-method-xlib.c contains whole contents of input-method-xfs.c,
4976         so we can use input-method-xlib.c's code for USE_XFONTSET
4977         using #ifdefs.
4978         * input-method-xfs.c: removed.
4979
4980 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4981
4982         * file-coding.h (enum coding_category_type): reorder enumerators to
4983         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4984         (now one greater than largest real coding_category_type enumerator).
4985         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4986         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4987         Fcoding_category_list, Fset_coding_priority_list,
4988         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4989         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4990
4991 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4992
4993         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4994         * redisplay-output.c (redisplay_output_window): Clear top of window
4995         when face is changed.
4996         * redisplay-x.c (x_redraw_exposed_window): Call
4997         redisplay_clear_top_of_window.
4998         * redisplay.h: Publish redisplay_clear_top_of_window.
4999
5000 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
5001
5002         * buffer.c (Fkill_buffer): Map over all devices.
5003         * window.c (window_loop): Remove UNSHOW_BUFFER code.
5004         (list_windows): New function.
5005         (list_all_windows): Ditto.
5006         (Freplace_buffer_in_windows): Use them.
5007
5008 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5009
5010         * database.c (berkdb_subtype): Recognize new subtype `queue'.
5011         (Fopen_database): Use `db_create' instead of `db_open'.
5012         (syms_of_database): Initialize Qqueue.
5013
5014 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5015
5016         * buffer.c (common_init_complex_vars_of_buffer): Initialize
5017         buffer_local_face_property.
5018         * buffer.h (struct buffer): New member buffer_local_face_property.
5019         * window.c (Fset_window_buffer):  Mark window's face as changed
5020         when buffer has buffer local face.
5021         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
5022         * objects.c (color_after_change): Set buffer_local_face_property
5023         when locale of face specifier is buffer.
5024         * objects.c (font_after_change): Ditto.
5025         * objects.c (face_boolean_after_change): Ditto.
5026         * glyphs.c (image_after_change): Ditto.
5027
5028 2000-12-09  Dan Holmsand  <dan@eyebee.com>
5029
5030         * nt.c (mswindows_fstat): Report file permissions, volume serial
5031         number, etc. Code adapted from FSF Emacs 20.7.
5032
5033 2000-12-09  Dan Holmsand  <dan@eyebee.com>
5034
5035         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
5036         of stat when we don't have symbolic links, to make sure
5037         mswindows_stat is called on mswindows.
5038
5039 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5040
5041         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
5042
5043 2000-12-12  Martin Buchholz  <martin@xemacs.org>
5044
5045         * doprnt.c (emacs_doprnt_1): More printing fixes.
5046         Make printing of numbers compatible with libc and FSF Emacs.
5047         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
5048         Use the system printf to do most of the hard work of formatting,
5049         instead of doprnt_1().
5050         Calculate memory to allocate for format string.
5051         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
5052         (doprnt_1): Cleaner code and documentation.
5053
5054 2000-12-01  Jerry James  <james@eecs.ukans.edu>
5055
5056         * Makefile.in.in: Use the loop variable to install headers.
5057
5058 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5059
5060         * window.c (Fsplit_window): Don't invalidate face cache.
5061
5062 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5063
5064         * minibuf.c (Fall_completions): Undo the previous change
5065         which removed checking elements start with space.
5066
5067 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
5068
5069         * mule-canna.c: Didier suppression.
5070
5071 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
5072
5073         * mule-canna.c: rename static unsigned char buf[] to key_buffer
5074         (warning suppression).  Add English comment translations.
5075
5076 2000-12-05  Martin Buchholz  <martin@xemacs.org>
5077
5078         * unexelfsgi.c (unexec): Better test for mmap failure.
5079
5080 2000-12-05  Martin Buchholz <martin@xemacs.org>
5081
5082         * XEmacs 21.2.38 is released.
5083
5084 2000-12-05  Martin Buchholz  <martin@xemacs.org>
5085
5086         * redisplay.c (bar-cursor): Make a user variable.
5087
5088         * symsinit.h: Add init_postgresql_from_environment.
5089
5090 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
5091
5092         * regex.c: Convert to clean C.
5093
5094 2000-12-05  Dan Holmsand  <dan@eyebee.com>
5095
5096         * realpath.c:
5097         Don't #include sysfile.h. Revert to duplicating PATH_MAX
5098         initialization.
5099         (sys_readlink): renamed to system_readlink to avoid conflict with
5100         the other sys_readlink.
5101
5102 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
5103
5104         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
5105
5106 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
5107
5108         * postgresql.c (init_postgresql_from_environment): new function.
5109         (vars_of_postgresql): Move code initializing Lisp variables out and
5110         into init_postgresql_from_environment.
5111         emacs.c (main_1): Call init_postgresql_from_environment if and only
5112         if running a dumped XEmacs.
5113
5114 2000-08-31  Dan Holmsand  <dan@eyebee.com>
5115
5116         * buffer.c: Make find-file-compare-truenames default to true on
5117         windows.
5118
5119         * realpath.c (win32_abs_start):
5120         (cygwin_readlink):
5121         (win32_readlink): New functions.
5122         (xrealpath): Return really real filenames on windows.
5123
5124         * fileio.c (Ffile_truename): Make file-truename work on windows.
5125
5126 2000-11-29  Didier Verna  <didier@xemacs.org>
5127
5128         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
5129         * faces.c (update_face_cachel_data): use it.
5130         * faces.c (add_face_cachel): use it. Complete background pixmap
5131         frobbing in face cache if `update_face_cachel_data' has not done so.
5132
5133 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
5134
5135         * search.c (string_match_1): Don't set last_thing_searched
5136         when search failed.
5137
5138 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
5139
5140         * buffer.c: Include casetab.h
5141         (common_init_complex_vars_of_buffer): Use new case-table object.
5142         * buffer.h: Include casetab.h
5143         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
5144         (DOWNCASE_TABLE_OF): Ditto.
5145         * bufslots.h: Remove char-tables and add case-table.
5146         * casetab.c: Include casetab.h
5147         (CASE_TABLE_P): Removed.
5148         (mark_case_table): New function.
5149         (allocate_case_table): New function.
5150         (Fcase_table_p): Use new case-table.
5151         (case_table_char): New function.
5152         (Fget_case_table): Ditto.
5153         (Fput_case_table): Ditto.
5154         (Fput_case_table_pair): Ditto.
5155         (Fcopy_case_table): Ditto.
5156         (Fcurrent_case_table): Return case-table.
5157         (Fstandard_case_table): Return case-table.
5158         (Fset_case_table): Fix doc-string.
5159         (set_case_table): Use case-table
5160         (syms_of_casetab): DEFSUBR new functions.
5161         (complex_vars_of_casetab): Set up standard case-table.
5162         * casetab.h: New file.
5163         * editfns.c: Include casetab.h
5164         (Fcompare_buffer_substrings): Use case-table.
5165         * inline.c: Include casetab.h
5166         * lisp.h: Remove bogus extern.
5167         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
5168         * search.c: Include casetab.h
5169         (TRANSLATE_ASCII): Removed.
5170         (TRANSLATE): Unconditionally translate character.
5171         (looking_at_1): Use case-table.
5172         (string_match_1): Ditto.
5173         (fast_string_match): Ditto.
5174         (search_command): Ditto.
5175         (search_buffer): Separate boyer_moore.  Check whether
5176         boyer_moore is possible.
5177         (simple_search): New function.
5178         (boyer_moore): Separated from search_buffer. Translate char.
5179
5180 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5181
5182         * regex.c (RE_TR_ASCII): Removed.
5183         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
5184         (PATFETCH): Call PATFETCH_RAW.
5185         (PATFETCH_RAW): Fetch Emchar.
5186         (PATUNFETCH): Decrement charptr.
5187         (GET_BUFFER_SPACE): Rename b to buf_end.
5188         (BUF_PUSH): Ditto.
5189         (BUF_PUSH_2): Ditto.
5190         (BUF_PUSH_3): Ditto.
5191         (EXTEND_BUFFER): Ditto.
5192         (SET_LIST_BIT): Ditto.
5193         (regex_compile): Ditto.  Translate non ASCII char.
5194         (compile_range): Ditto.
5195         (re_search_2): Ditto.
5196         (re_match_2_internal): Compare Emchar.
5197         (bcmp_translate): Ditto.
5198
5199 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
5200
5201         * lisp.h (basic char/int typedefs):  comment improvement.
5202
5203 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
5204
5205         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
5206         unstomp inhibit_site_lisp.  Improve comments.
5207
5208 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
5209
5210         * mule-charset.c (Fcharset_property):  improve type checking, comments.
5211
5212 2000-11-28  Andy Piper  <andy@xemacs.org>
5213
5214         * redisplay-output.c (redisplay_output_subwindow): make sure we do
5215         clipped display for windows in the gutter also.
5216         (redisplay_display_boxes_in_window_p): change semantics of return
5217         codes to be more intuitive.
5218
5219         * gutter.h: declare display_boxes_in_gutter_p.
5220
5221         * gutter.c (display_boxes_in_gutter_p): new function for
5222         redisplay.
5223
5224 2000-11-22  Andy Piper  <andy@xemacs.org>
5225
5226         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
5227         autodetect domain.
5228
5229 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
5230
5231         * callproc.c (Fold_call_process_internal):
5232         * gpm.c (Freceive_gpm_event):
5233         (tty_get_foreign_selection): Might be just warning supression.
5234         * fileio.c (Fwrite_region_internal):
5235         (Fset_visited_file_modtime):
5236         * keymap.c (event_matches_key_specifier_p):
5237         Initialize GCPROed variable.
5238
5239         * menubar-x.c (command_builder_find_menu_accelerator):
5240         Initialize before use.
5241
5242 2000-11-23  Andy Piper  <andy@xemacs.org>
5243
5244         * unexcw.c (unexec): make the resulting executable executable.
5245
5246 2000-11-21  Martin Buchholz  <martin@xemacs.org>
5247
5248         * doc.c (get_doc_string):
5249         Use size_t, not int, for result of XSTRING_LENGTH.
5250
5251         * cmds.c (Fdelete_char):
5252         * cmds.c (Fpoint_at_eol):
5253         * cmds.c (Fself_insert_command):
5254         Use EMACS_INT, not int, for result of XINT.
5255         Someday, someone will want to insert more than 2**31 identical characters.
5256
5257         * cmds.c (Fdelete_char):
5258         * cmds.c (Fdelete_backward_char):
5259         * syntax.c (Fforward_word):
5260         * syntax.c (Fforward_comment):
5261         Make COUNT argument optional, for consistency with forward-char et al.
5262
5263 2000-11-22  Martin Buchholz  <martin@xemacs.org>
5264
5265         * lisp.h:
5266         * print.c (long_to_string):
5267         Return a useful value: the pointer at end of data written.
5268
5269         * doprnt.c:
5270         Use `static const char * const' for constant strings.
5271         (union printf_arg): Delete `i', `ui' members.
5272         (get_doprnt_args):
5273         (emacs_doprnt_1):
5274         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
5275         Do all printf-ing via the `l' specifier.
5276         Use EMACS_INT instead of int.
5277         Optimize.
5278
5279 2000-11-20  Didier Verna  <didier@xemacs.org>
5280
5281         * faces.c (update_face_cachel_data): don't frob the background
5282         pixmap when the window is being created. The face is needed but
5283         does not exist yet.
5284
5285 2000-11-20  Andy Piper  <andy@xemacs.org>
5286
5287         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
5288         messing with a debug environment.
5289
5290 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5291
5292         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
5293
5294 2000-11-20  Martin Buchholz  <martin@xemacs.org>
5295
5296         * casetab.c (Fcase_table_p): Fix compile error and crash.
5297
5298 2000-11-18  Philip Aston  <philipa@mail.com>
5299
5300         * s/cygwin32.h: Cygwin has SVR4-like pty support.
5301
5302 2000-11-18  Martin Buchholz  <martin@xemacs.org>
5303
5304         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
5305         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
5306
5307 2000-11-17  Martin Buchholz  <martin@xemacs.org>
5308
5309         * config.h.in: Define HAVE_ELF_H if elf.h exists.
5310         * unexelf.c: Use HAVE_ELF_H.
5311         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
5312         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
5313         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
5314         Greg Harrington <greg_harrington@hotmail.com> provided a machine
5315         for testing.
5316         So this is an unexelfsgi.c from a different line of development.
5317
5318 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5319
5320         * regex.c (RE_TR_ASCII): New function.
5321         (RE_TRANSLATE): Call it.
5322
5323 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
5324
5325         * buffer.h (TRT_TABLE_OF): Remove assert.
5326         (IN_TRT_TABLE_DOMAIN): Removed.
5327
5328 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5329
5330         * free-hook.c (log_gcpro):
5331         (show_gcprohist): Add support for GCPRO5.
5332
5333 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
5334
5335         * emacs.c (main_1): Improve -sd error message when --pdump=no.
5336
5337 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
5338
5339         * symeval.h: Declare flush_all_buffer_local_cache.
5340
5341         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
5342         (flush_buffer_local_cache): Added.
5343         (flush_all_buffer_local_cache): Added.
5344
5345         * lrecord.h: Remove unused XD_LO_RESET_NIL.
5346
5347         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
5348         (pdump_dump_data): Ditto.
5349         (pdump_reloc_one): Ditto.
5350         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
5351         before dumping.
5352
5353
5354 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5355
5356         * buffer.c: Remove if 0'ed entry.
5357         * buffer.h: Rewrite TRT to use char-table.
5358         * bufslots.h: Remove mirror tables.
5359         * casetab.c: Remove mirror tables.
5360         (CASE_TABLE_P): New macro.
5361         (Fcase_table_p): Element of a case table is string or char-table.
5362         (make_mirror_trt_table): Removed.
5363         (set_case_table): Setup char-table from strings for backward
5364         compatibility.
5365         * dired.c (Fdirectory_files):
5366         * dired-msw.c: (mswindows_get_files):
5367         * lisp.h: Change prototype of re_pattern_buffer.
5368         * regex.c: (RE_TRANSLATE): New macro.
5369         (TRANSLATE_P): Ditto.
5370         Change translate to type RE_TRANSLATE_TYPE.
5371         * regex.h: Define RE_TRANSLATE_TYPE
5372         * search.c (TRANSLATE): New macro.
5373         (TRANSLATE_ASCII): New macro.
5374         Translate table is changed to Lisp_Object.
5375         (signal_failure): Inhibit return.
5376
5377 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
5378
5379         * device-msw.c:
5380         * eldap.c:
5381         * event-Xt.c:
5382         * event-stream.c:
5383         * print.c:
5384         Do UNGCPRO before return.
5385
5386 2000-11-14  Martin Buchholz <martin@xemacs.org>
5387
5388         * XEmacs 21.2.37 is released.
5389
5390 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5391
5392         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
5393         Add comments about discarded return value.
5394
5395 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5396
5397         * callint.c:
5398         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
5399
5400 2000-10-27  Andy Piper  <andy@xemacs.org>
5401
5402         * gutter.c (Fset_default_gutter_position): default left and right
5403         gutters to visible.
5404         (calculate_gutter_size): calculate resonable heuristic for left
5405         and right gutter sizes.
5406         (specifier_vars_of_gutter): change left and right gutter sizes to
5407         autodetect.
5408         (calculate_gutter_size_from_display_lines): new function.
5409         (output_gutter): check for resizing on left and right gutters.
5410         (clear_gutter): don't special case top and left gutters.
5411         (specifier_vars_of_gutter): use new signature for
5412         set_specifier_caching.
5413
5414         * glyphs-x.c (x_redisplay_widget): spelling fix.
5415         * glyphs.c (specifier_vars_of_glyphs):
5416         * menubar.c (specifier_vars_of_menubar):
5417         * redisplay.c (specifier_vars_of_redisplay):
5418         * toolbar.c (specifier_vars_of_toolbar):
5419         * window.c (specifier_vars_of_window):
5420         * scrollbar.c (specifier_vars_of_scrollbar):
5421         (complex_vars_of_scrollbar): use new signature for
5422         set_specifier_caching.
5423
5424         * specifier.c (set_specifier_caching): include recompute flag.
5425         (recompute_one_cached_specifier_in_window): always recompute if
5426         flag set.
5427         (recompute_one_cached_specifier_in_frame): ditto.
5428
5429         * specifier.h (struct specifier_caching): add recompute flag.
5430
5431 2000-10-24  Andy Piper  <andy@xemacs.org>
5432
5433         * unexcw.c (copy_executable_and_dump_data_section): add new
5434         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
5435         5.0 happy.
5436
5437 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5438
5439         * console-x.h (x_device): New member modifier_release_time.
5440         * event-Xt.c (x_handle_sticky_modifiers):
5441         Bound interval modifier keys are sticky.
5442         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
5443         * events.h: extern it.
5444
5445 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5446
5447         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
5448
5449 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5450
5451         * event-stream.c (execute_command_event): Preserve current_events
5452         and the like when event is misc-user-event.
5453         Inhibit quit during the call to maybe_echo_keys.
5454
5455 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5456
5457         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
5458         symlink when buffer is killed.
5459         (inhibit_clash_detection): New variable.
5460
5461 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5462
5463         * console.c (Fset_input_method): Trigger redisplay on tty.
5464
5465 2000-11-07  Martin Buchholz  <martin@xemacs.org>
5466
5467         * process.c (Fprocess_status): Revert to previous behavior:
5468         (process-status "nosuchprocess") ==> nil
5469
5470 2000-11-06  Martin Buchholz  <martin@xemacs.org>
5471
5472         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
5473         Work around another GCC 2.95.2 optimizer bug.
5474
5475 2000-11-02  Martin Buchholz  <martin@xemacs.org>
5476
5477         * process.c (Fget_process): Use LIST_LOOP_2.
5478         (kill_buffer_processes): Use LIST_LOOP_2.
5479
5480         * minibuf.c (Fall_completions):
5481         Delete old non-functional code for FSF fourth argument.
5482
5483         * frame.c (frame_matches_frame_spec):
5484         Renamed from `frame_matches_frametype'.  Update all callers.
5485         (device_matches_device_spec):
5486         Renamed from 'device_matches_console_spec'.  Update all callers.
5487
5488         * doc.c (Fsubstitute_command_keys):
5489         Remove buffer overflow crash.  Small code cleanups.
5490
5491         * casetab.c (check_case_table): Simpler code.
5492
5493         * window.c (Freplace_buffer_in_windows):
5494         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
5495         (and similar implementation) as Fdelete_windows_on.
5496         Update all callers.
5497
5498         * alloc.c (Fmake_list):
5499         * alloc.c (make_vector):
5500         * alloc.c (Fmake_vector):
5501         * alloc.c (make_bit_vector):
5502         * alloc.c (Fmake_bit_vector):
5503         * alloc.c (Fbit_vector):
5504         * alloc.c (Fmake_string):
5505         * alloc.c (Fpurecopy):
5506         * alloc.c (Fmemory_limit):
5507         * buffer.c:
5508         * buffer.c (Fget_buffer):
5509         * buffer.c (Fkill_buffer):
5510         * buffer.c (complex_vars_of_buffer):
5511         * bytecode.c (Fcompiled_function_stack_depth):
5512         * callint.c (Fprefix_numeric_value):
5513         * event-stream.c:
5514         * event-stream.c (Fread_key_sequence):
5515         * casetab.c:
5516         * casetab.c (Fcase_table_p):
5517         * casetab.c (check_case_table):
5518         * casetab.c (Fset_case_table):
5519         * casetab.c (Fset_standard_case_table):
5520         * chartab.c:
5521         * chartab.c (Fchar_table_type):
5522         * chartab.c (Freset_char_table):
5523         * chartab.c (Fget_char_table):
5524         * chartab.c (Fget_range_char_table):
5525         * chartab.c (Fput_char_table):
5526         * chartab.c (Fmap_char_table):
5527         * chartab.c (Fcategory_table_p):
5528         * chartab.c (Fcheck_category_at):
5529         * chartab.c (Fchar_in_category_p):
5530         * chartab.c (Fcategory_table):
5531         * chartab.c (Fcopy_category_table):
5532         * chartab.c (Fset_category_table):
5533         * chartab.c (Fcategory_designator_p):
5534         * chartab.c (Fcategory_table_value_p):
5535         * cmds.c (Fdelete_char):
5536         * cmds.c (Fdelete_backward_char):
5537         * cmds.c (Fself_insert_command):
5538         * cmds.c (Fself_insert_internal):
5539         * console.c (Fvalid_console_type_p):
5540         * console.c (Fcdfw_console):
5541         * console.c (Fconsole_type):
5542         * console.c (Fconsole_name):
5543         * console.c (Fconsole_device_list):
5544         * console.c (Fconsole_on_window_system_p):
5545         * data.c:
5546         * data.c (Feq):
5547         * data.c (Fold_eq):
5548         * data.c (Fsubr_interactive):
5549         * data.c (Fchar_to_int):
5550         * data.c (Fint_to_char):
5551         * data.c (Fsetcar):
5552         * data.c (Fsetcdr):
5553         * data.c (Fnumber_to_string):
5554         * data.c (Fstring_to_number):
5555         * data.c (Frem):
5556         * database.c (mark_database):
5557         * database.c (finalize_database):
5558         * database.c (Fdatabase_live_p):
5559         * database.c (Fdatabasep):
5560         * device-x.c (Fx_get_resource):
5561         * device.c (Fdfw_device):
5562         * dired.c:
5563         * dired.c (Ffile_name_completion):
5564         * dired.c (Ffile_name_all_completions):
5565         * dired.c (Fuser_name_completion):
5566         * dired.c (Fuser_name_completion_1):
5567         * dired.c (Fuser_name_all_completions):
5568         * doc.c (Fdocumentation):
5569         * doc.c (Fdocumentation_property):
5570         * doc.c (Fsubstitute_command_keys):
5571         * editfns.c:
5572         * editfns.c (Fchar_to_string):
5573         * editfns.c (Fstring_to_char):
5574         * editfns.c (Ftemp_directory):
5575         * editfns.c (Finsert_char):
5576         * editfns.c (Fbuffer_substring_no_properties):
5577         * editfns.c (Fnarrow_to_region):
5578         * editfns.c (Fchar_equal):
5579         * editfns.c (Fchar_Equal):
5580         * editfns.c (Ftranspose_regions):
5581         * emacs.c (Fdump_emacs):
5582         * eval.c (Fthrow):
5583         * eval.c (Fcommand_execute):
5584         * eval.c (Fautoload):
5585         * eval.c (Fbacktrace):
5586         * eval.c (Fbacktrace_frame):
5587         * events.c:
5588         * events.c (Fcopy_event):
5589         * events.c (Fcharacter_to_event):
5590         * events.c (Fevent_button):
5591         * events.c (Fevent_process):
5592         * extents.c:
5593         * extents.c (Fnext_extent_change):
5594         * extents.c (Fextent_property):
5595         * faces.c (Ffacep):
5596         * faces.c (Fmake_face):
5597         * file-coding.c:
5598         * file-coding.c (Fencode_shift_jis_char):
5599         * file-coding.c (Fencode_big5_char):
5600         * fileio.c (Ffile_name_directory):
5601         * fileio.c (Ffile_name_nondirectory):
5602         * fileio.c (Ffile_name_as_directory):
5603         * fileio.c (Fdirectory_file_name):
5604         * fileio.c (Ffile_truename):
5605         * fileio.c (Fsubstitute_in_file_name):
5606         * fileio.c (Ffile_modes):
5607         * fileio.c (Fset_file_modes):
5608         * fileio.c (Fset_default_file_modes):
5609         * fileio.c (Fverify_visited_file_modtime):
5610         * floatfns.c (Facos):
5611         * floatfns.c (Fasin):
5612         * floatfns.c (Fatan):
5613         * floatfns.c (Fcos):
5614         * floatfns.c (Fsin):
5615         * floatfns.c (Ftan):
5616         * floatfns.c (Fbessel_j0):
5617         * floatfns.c (Fbessel_j1):
5618         * floatfns.c (Fbessel_jn):
5619         * floatfns.c (Fbessel_y0):
5620         * floatfns.c (Fbessel_y1):
5621         * floatfns.c (Fbessel_yn):
5622         * floatfns.c (Ferf):
5623         * floatfns.c (Ferfc):
5624         * floatfns.c (Flog_gamma):
5625         * floatfns.c (Fexp):
5626         * floatfns.c (Fexpt):
5627         * floatfns.c (Flog):
5628         * floatfns.c (Flog10):
5629         * floatfns.c (Fsqrt):
5630         * floatfns.c (Fcube_root):
5631         * floatfns.c (Facosh):
5632         * floatfns.c (Fasinh):
5633         * floatfns.c (Fatanh):
5634         * floatfns.c (Fcosh):
5635         * floatfns.c (Fsinh):
5636         * floatfns.c (Ftanh):
5637         * floatfns.c (Fabs):
5638         * floatfns.c (Ffloat):
5639         * floatfns.c (Flogb):
5640         * floatfns.c (Fceiling):
5641         * floatfns.c (Ffloor):
5642         * floatfns.c (Fround):
5643         * floatfns.c (Ftruncate):
5644         * floatfns.c (Ffceiling):
5645         * floatfns.c (Fffloor):
5646         * floatfns.c (Ffround):
5647         * floatfns.c (Fftruncate):
5648         * fns.c (Fstring_equal):
5649         * fns.c (Fstring_lessp):
5650         * fns.c (concat2):
5651         * fns.c (concat3):
5652         * fns.c (vconcat2):
5653         * fns.c (vconcat3):
5654         * fns.c (Fsubstring):
5655         * fns.c (Fassoc):
5656         * fns.c (Fold_assoc):
5657         * fns.c (assoc_no_quit):
5658         * fns.c (Fassq):
5659         * fns.c (Fold_assq):
5660         * fns.c (assq_no_quit):
5661         * fns.c (Frassoc):
5662         * fns.c (Fold_rassoc):
5663         * fns.c (Frassq):
5664         * fns.c (Fold_rassq):
5665         * fns.c (rassq_no_quit):
5666         * fns.c (Fremassoc):
5667         * fns.c (remassoc_no_quit):
5668         * fns.c (Fremassq):
5669         * fns.c (remassq_no_quit):
5670         * fns.c (Fremrassoc):
5671         * fns.c (Fremrassq):
5672         * fns.c (remrassq_no_quit):
5673         * fns.c (Fsort):
5674         * fns.c (Fplist_get):
5675         * fns.c (Fplist_put):
5676         * fns.c (Fplist_remprop):
5677         * fns.c (Fplist_member):
5678         * fns.c (Flax_plist_get):
5679         * fns.c (Flax_plist_put):
5680         * fns.c (Flax_plist_remprop):
5681         * fns.c (Flax_plist_member):
5682         * fns.c (Fequal):
5683         * fns.c (Fold_equal):
5684         * fns.c (Frequire):
5685         * fns.c (Fbase64_encode_region):
5686         * fns.c (Fbase64_encode_string):
5687         * fns.c (Fbase64_decode_region):
5688         * frame.c:
5689         * frame.c (frame_matches_frame_spec):
5690         * frame.c (device_matches_device_spec):
5691         * frame.c (next_frame):
5692         * frame.c (previous_frame):
5693         * frame.c (Fnext_frame):
5694         * frame.c (Fprevious_frame):
5695         * frame.c (Fframe_property):
5696         * frame.c (Fset_frame_height):
5697         * frame.c (Fset_frame_size):
5698         * frame.h:
5699         * glyphs.c:
5700         * glyphs.c (if):
5701         * glyphs.c (decode_error_behavior_flag):
5702         * glyphs.c (Fmake_image_instance):
5703         * indent.c (Findent_to):
5704         * intl.c (Fignore_defer_gettext):
5705         * keymap.c (Fkeymapp):
5706         * keymap.c (Flookup_key):
5707         * lread.c:
5708         * lread.c (Fload_internal):
5709         * lread.c (Feval_buffer):
5710         * lread.c (Feval_region):
5711         * macros.c (Fexecute_kbd_macro):
5712         * marker.c (set_marker_internal):
5713         * marker.c (Fset_marker):
5714         * marker.c (set_marker_restricted):
5715         * marker.c (Fcopy_marker):
5716         * marker.c (noseeum_copy_marker):
5717         * menubar.c:
5718         * menubar.c (Fpopup_menu):
5719         * minibuf.c:
5720         * mule-charset.c (Fcharset_name):
5721         * mule-charset.c (Fchar_charset):
5722         * mule-charset.c (Fchar_octet):
5723         * mule-charset.c (Fsplit_char):
5724         * mule-wnnfns.c (Fwnn_open):
5725         * mule-wnnfns.c (Fwnn_dict_comment):
5726         * mule-wnnfns.c (Fwnn_quit_henkan):
5727         * mule-wnnfns.c (Fwnn_word_toroku):
5728         * mule-wnnfns.c (Fwnn_word_sakujo):
5729         * mule-wnnfns.c (Fwnn_word_use):
5730         * mule-wnnfns.c (Fwnn_hindo_set):
5731         * objects.c:
5732         * objects.c (Fmake_color_instance):
5733         * objects.c (Fmake_font_instance):
5734         * print.c (Fwrite_char):
5735         * process.c:
5736         * process.c (mark_process):
5737         * process.c (print_process):
5738         * process.c (get_process_from_usid):
5739         * process.c (Fprocessp):
5740         * process.c (Fprocess_live_p):
5741         * process.c (Fget_process):
5742         * process.c (Fget_buffer_process):
5743         * process.c (get_process):
5744         * process.c (Fprocess_id):
5745         * process.c (Fprocess_name):
5746         * process.c (Fprocess_command):
5747         * process.c (init_process_io_handles):
5748         * process.c (start_process_unwind):
5749         * process.c (Fstart_process_internal):
5750         * process.c (Fopen_multicast_group_internal):
5751         * process.c (Fset_process_window_size):
5752         * process.c (read_process_output):
5753         * process.c (send_process):
5754         * process.c (Fprocess_tty_name):
5755         * process.c (Fset_process_buffer):
5756         * process.c (Fprocess_buffer):
5757         * process.c (Fprocess_mark):
5758         * process.c (set_process_filter):
5759         * process.c (Fset_process_filter):
5760         * process.c (Fprocess_filter):
5761         * process.c (Fprocess_send_region):
5762         * process.c (Fprocess_send_string):
5763         * process.c (exec_sentinel):
5764         * process.c (Fset_process_sentinel):
5765         * process.c (Fprocess_sentinel):
5766         * process.c (status_notify):
5767         * process.c (Fprocess_status):
5768         * process.c (Fprocess_exit_status):
5769         * process.c (process_send_signal):
5770         * process.c (Fprocess_send_eof):
5771         * process.c (deactivate_process):
5772         * process.c (remove_process):
5773         * process.c (Fdelete_process):
5774         * process.c (kill_buffer_processes):
5775         * process.c (Fprocess_kill_without_query):
5776         * process.c (Fprocess_kill_without_query_p):
5777         * rangetab.c:
5778         * rangetab.c (Fget_range_table):
5779         * rangetab.c (Fput_range_table):
5780         * rangetab.c (Fremove_range_table):
5781         * rangetab.c (Fclear_range_table):
5782         * search.c:
5783         * search.c (Fskip_chars_forward):
5784         * search.c (Fskip_chars_backward):
5785         * search.c (Fskip_syntax_forward):
5786         * search.c (Fskip_syntax_backward):
5787         * search.c (search_command):
5788         * search.c (Freplace_match):
5789         * search.c (Fregexp_quote):
5790         * select.c (Fown_selection_internal):
5791         * select.c (Fselection_owner_p):
5792         * select.c (Fselection_exists_p):
5793         * select.c (Fget_selection_internal):
5794         * specifier.c:
5795         * symbols.c:
5796         * symbols.c (Fintern):
5797         * symbols.c (Fintern_soft):
5798         * symbols.c (Funintern):
5799         * symbols.c (Fapropos_internal):
5800         * symbols.c (Fset_default):
5801         * syntax.c:
5802         * syntax.c (Fsyntax_table_p):
5803         * syntax.c (Fcopy_syntax_table):
5804         * syntax.c (Fset_syntax_table):
5805         * syntax.c (Fchar_syntax):
5806         * syntax.c (syntax_match):
5807         * syntax.c (Fmatching_paren):
5808         * syntax.c (Fforward_word):
5809         * syntax.c (scan_lists):
5810         * syntax.c (Fscan_lists):
5811         * syntax.c (Fscan_sexps):
5812         * syntax.c (Fparse_partial_sexp):
5813         * toolbar.c (Fcheck_toolbar_button_syntax):
5814         * tooltalk.doc:
5815         * window.c:
5816         * window.c (Fwindowp):
5817         * window.c (Fwindow_live_p):
5818         * window.c (Fwindow_point):
5819         * window.c (Fdelete_window):
5820         * window.c (Fnext_window):
5821         * window.c (Fprevious_window):
5822         * window.c (Fother_window):
5823         * window.c (window_loop):
5824         * window.c (Fget_lru_window):
5825         * window.c (Fsplit_window):
5826         * window.c (Fenlarge_window):
5827         * window.c (Fenlarge_window_pixels):
5828         * window.c (Fshrink_window):
5829         * window.c (Fshrink_window_pixels):
5830         * window.c (change_window_height):
5831         * window.c (Fwindow_configuration_p):
5832         * window.c (Fcurrent_window_configuration):
5833         * window.h:
5834         * casefiddle.c (casify_object):
5835         * casefiddle.c (Fupcase):
5836         * casefiddle.c (Fdowncase):
5837         * casefiddle.c (Fcapitalize):
5838         * casefiddle.c (Fupcase_initials):
5839         * casefiddle.c (casify_region_internal):
5840         * casefiddle.c (casify_region):
5841         * casefiddle.c (Fupcase_region):
5842         * casefiddle.c (Fdowncase_region):
5843         * casefiddle.c (Fcapitalize_region):
5844         * casefiddle.c (Fupcase_initials_region):
5845         * casefiddle.c (Fupcase_word):
5846         * casefiddle.c (Fdowncase_word):
5847         * casefiddle.c (Fcapitalize_word):
5848         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
5849         Replace 0 with '\0' when working with bytes.
5850         Replace initial "(" with "\(" in docstrings.
5851
5852 2000-11-01  Martin Buchholz  <martin@xemacs.org>
5853
5854         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
5855
5856         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
5857
5858 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5859
5860         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
5861
5862 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5863
5864         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
5865         correctly.
5866
5867 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
5868
5869         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
5870         (inhibit_auto_save_session): New variable.
5871         (vars_of_fileio): Declare and initialize them.
5872         * fileio.c (Fdo_auto_save): Don't create session file if
5873         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
5874
5875 2000-10-31  Martin Buchholz  <martin@xemacs.org>
5876
5877         * sgiplay.c (play_internal): C++ compilability.
5878         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
5879         * callproc.c (Fold_call_process_internal):
5880         Remove unused vars `env', `first'.
5881         * scrollbar.c (update_scrollbar_instance):
5882         #### unused var `current_window'.
5883         * redisplay-tty.c: Put currently unused vars insert_mode_on,
5884         etc. within #ifdef NOT_YET.
5885         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
5886         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
5887         * specifier.c (specifier_instance):
5888         #### unused var `tag'.
5889         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
5890
5891 2000-10-27  Martin Buchholz  <martin@xemacs.org>
5892
5893         * fns.c (Fbutlast):
5894         * fns.c (list_sort):
5895         * fns.c (Ffillarray):
5896         * fns.c (bytecode_nconc2):
5897         * fns.c (Fnconc):
5898         * fns.c (mapcar1):
5899         * fns.c (Fmapconcat):
5900         Be pedantically 64-bit correct.  For the time when someone will
5901         want to have a list with length > 2**32.
5902
5903         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
5904         Work around MIPSpro compiler bug.
5905
5906         * process-unix.c (unix_kill_child_process): Add snarky comment.
5907         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
5908
5909         * config.h.in: Oops, _getpt ==> _getpty
5910
5911 2000-10-26  Martin Buchholz  <martin@xemacs.org>
5912
5913         * config.h.in:
5914         * regex.c:
5915         Use void*, not char*, as return type of alloca().
5916
5917         * alloc.c (free_marker): Side effect inside assert expression!
5918
5919 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
5920
5921         * mule-charset.c (Fset_charset_ccl_program): To check
5922         if the given ccl program is valid, use setup_ccl_program()
5923         instead of CHECK_VECTOR().
5924         (Fmake_charset): Likewise.
5925
5926 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
5927
5928         * faces.c (get_extent_fragment_face_cache_index):
5929         Fix cachel.merged_faces memory leak.
5930
5931 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5932
5933         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5934         Reset MSB of octets obtained by DECODE_SJIS
5935         because of the incompatibility with Emacs.
5936         (ccl_driver)<CCL_ENCODE_SJIS>:
5937         Set MSB of octets before passing them to
5938         ENCODE_SJIS because of the incompatibility
5939         with Emacs.
5940
5941 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5942
5943         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5944         (DECLARE_LRECORD): Undo the last change.
5945         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5946
5947 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5948
5949         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5950         the implementation to lrecord_implementations_table.
5951
5952 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5953
5954         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5955         initial value of `lrecord_type_##c_name' and
5956         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5957         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5958         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5959         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5960         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5961
5962 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5963
5964         * miscplay.c (sndcnv8S_2mono):
5965         (sndcnv2monounsigned):
5966         (sndcnvULaw_2linear):
5967         (sndcnv16swap):
5968         Remove implementation-defined behavior.
5969
5970 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5971
5972         * input-method-xlib.c: Warning suppression.
5973
5974 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5975
5976         * mule-ccl.c: Sync up with Emacs 21.0.90.
5977         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5978         Do nothing.
5979         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5980         Likewise.
5981         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5982         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5983         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5984         leading char belongs to official 2-dimensional charset.
5985         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5986         write the given character as is.  Otherwise,
5987         if it is a multibyte char, convert it by
5988         non_ascii_set_charptr_emchar, then write it.
5989         (CCL_WRITE_STRING): Likewise.
5990         (ccl_get_compiled_code): New function.
5991         (setup_ccl_program): When ccl_prog is invalid,
5992         return -1.
5993         (Fregister_code_conversion_map): New function.
5994         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5995
5996         * mule-ccl.h: Sync up with Emacs 21.0.90.
5997         (Fregister_ccl_program): export it.
5998
5999         * redisplay-msw.c (separate_textual_runs):
6000         If ccl program is not valid, don't do ccl conversion.
6001
6002         * redisplay-x.c (separate_textual_runs): Ditto.
6003
6004         * file-coding.c (Fmake_coding_system):
6005         When type is ccl and value is vector, register it
6006         with a proper symbol.  And checks whether the
6007         given ccl program is valid.
6008         (mule_decode): When calling ccl_driver, if src indicates
6009         NULL pointer, set an empty string instead.
6010         (mule_encode): Likewise.
6011
6012 2000-10-11  Martin Buchholz  <martin@xemacs.org>
6013
6014         The following large batch of changes gets us back to a state of
6015         C++ compilability.  Extbyte is now a char, which means that
6016         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
6017
6018         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
6019
6020         * sound.c (Fplay_sound): Type correctness.
6021
6022         * select-x.c (hack_motif_clipboard_selection): Type correctness.
6023         (x_get_window_property): Type correctness.
6024         (receive_incremental_selection): unsigned char ==> Extbyte
6025         (selection_data_to_lisp_data): unsigned char ==> Extbyte
6026         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
6027         (Fx_store_cutbuffer_internal): Type correctness.
6028
6029         * process-unix.c (try_to_initialize_subtty): Type correctness.
6030
6031         * objects-x.c (x_print_color_instance): Type correctness.
6032         (x_print_font_instance): Type correctness.
6033         (x_list_fonts): SExtbyte ==> Extbyte.
6034         (valid_x_font_name_p): SExtbyte ==> Extbyte.
6035         (x_find_charset_font): SExtbyte ==> Extbyte.
6036         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
6037         (truename_via_XListFonts): SExtbyte ==> Extbyte.
6038         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
6039         Use bufbyte_strcmp.
6040
6041         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
6042         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
6043         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
6044         (BYTE_C0_P): Use bit ops for char-signedness safety.
6045         (BYTE_C1_P): Use bit ops for char-signedness safety.
6046         (CHARSET_BY_LEADING_BYTE):
6047         (CHARSET_BY_ATTRIBUTES):
6048         Always use inline function.
6049         Use type_checking_assert.
6050         Hide chlook.
6051
6052         * mule-charset.c (non_ascii_charptr_copy_char):
6053         Modify to work with both ASCII and non-ASCII characters.
6054         Improve docs and variable names.
6055         Replace over-clever fall-through switch with a simple loop.
6056         (Lstream_get_emchar_1):
6057         Replace over-clever fall-through switch with a simple loop.
6058
6059         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6060         Warning suppression.
6061
6062         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
6063         the return value of Lstream_getc, which could be EOF as well.
6064
6065         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
6066
6067         * lisp.h: Make Extbyte a char, not unsigned char, so that external
6068         APIs can be used on Extbytes without casts.  Risky!
6069         (SExtbyte): Remove.
6070         (UExtbyte): Remove.
6071
6072         * input-method-xlib.c (XIM_init_device):
6073         Use Xlib.h instead of IntrinsicP.h.
6074         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
6075         which will break in X11R7.
6076         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
6077         to call XRegisterIMInstantiateCallback with correct types.
6078
6079         * gui-x.c (button_item_to_widget_value): Type correctness.
6080
6081         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
6082
6083         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
6084         (xbm_instantiate_1): Type correctness.
6085         (BUILD_GLYPH_INST):  Type correctness.
6086
6087         * fileio.c (Fsubstitute_in_file_name): Type correctness.
6088
6089         * file-coding.c:
6090         (decode_coding_sjis):
6091         (decode_coding_big5):
6092         (decode_coding_ucs4):
6093         (decode_coding_utf8):
6094         (decode_coding_iso2022):
6095         (decode_coding_no_conversion):
6096         Make all decoding functions take an Extbyte * arg.
6097         (encode_coding_sjis):
6098         (encode_coding_big5):
6099         (encode_coding_ucs4):
6100         (encode_coding_utf8):
6101         (encode_coding_iso2022):
6102         (encode_coding_no_conversion):
6103         Make all encoding functions take a Bufbyte * arg.
6104         Use size_t instead of unsigned int for memory sizes.
6105         Only cast to unsigned char whenever dereferencing Extbyte *.
6106
6107         * doc.c (unparesseuxify_doc_string): Type correctness.
6108
6109         * console-x.c (split_up_display_spec):
6110         Rewrite without using details of internal string representation.
6111         (x_semi_canonicalize_device_connection): Type correctness.
6112
6113         * config.h.in:
6114         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
6115         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
6116         (HAVE_XFREE386): Removed.
6117
6118         * buffer.h (DEC_CHARPTR): `const' correctness.
6119         (bufbyte_strcmp): New.
6120         (bufbyte_memcmp): New.
6121
6122         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
6123
6124         * buffer.h (XCHAR_OR_CHAR_INT):
6125         Always use inline function.
6126         Remove redundant type checking assert() - XINT will abort quite nicely.
6127
6128 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6129
6130         * search.c (Freplace_match): Set newtext to an empty string.
6131
6132 2000-10-10  Martin Buchholz  <martin@xemacs.org>
6133
6134         * s/decosf1-3.h: Remove #include of stropts.h
6135         * s/ptx.h: Remove #include of stropts.h
6136         * s/usg5-4.h: Remove #include of stropts.h
6137         * sysproc.h:
6138         * config.h.in:
6139         Use stropts.h, not sys/stropts.h.
6140         Use strtio.h, not sys/strtio.h.
6141
6142 2000-10-04  Martin Buchholz <martin@xemacs.org>
6143
6144         * XEmacs 21.2.36 is released.
6145
6146 2000-09-21  Andy Piper  <andy@xemacs.org>
6147
6148         * glyphs-x.c (x_redisplay_widget): make sure non-structural
6149         changes still involve copying the widget tree.
6150         (update_widget_face): make sure a change is register in the widget
6151         tree. Call update_tab_widget_face appropriately.
6152         (update_tab_widget_face): ditto.
6153         (x_tab_control_redisplay): make sure non-structural changes still
6154         involve copying the widget tree.
6155
6156 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
6157
6158         * lread.c (locate_file): Check the path element is non-nil.
6159
6160 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6161
6162         * lisp.h: Warning suppression for SCO compilers.
6163
6164         * redisplay-tty.c (reset_tty_modes): Fix crash.
6165         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
6166
6167 2000-09-27  Martin Buchholz  <martin@xemacs.org>
6168
6169         Big signal/process handling overhaul.  Bugs fixed:
6170         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
6171         M-x comint-kill-subjob should work for both values nil and t of
6172         process-connection-type. It was broken on most platforms.
6173         Testing on Irix and Cygwin still needed.  Other plaforms tested.
6174         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
6175         * process-unix.c: Signal/Process handling overhaul.
6176         (pty_name): make 64 bytes, as `expect' does, for paranoia.
6177         (allocate_pty): Use all available modern methods of allocating
6178         ptys, falling back to old style BSD allocation as a last resort.
6179         Use allegedly more secure Unix98 pty allocation by default.
6180         (allocate_pty_the_old_fashioned_way): New. the last resort.
6181         (unix_create_process): Push ptem, ldterm, ttcompat where
6182         available.  Autoconfiscate.
6183         (try_to_initialize_subtty): New.
6184         (unix_kill_child_process): Proper signal handling for ptys on most
6185         platforms, using special knowledge of AIX, BSD, etc...
6186         (unix_create_process): Always disconnect_controlling_terminal() for
6187         subprocesses, whether using ptys or not.
6188         * process.h: Remove old getpt-dependent PTY code.
6189         * process.c (Fprocess_send_signal): New, obvious generic function.
6190         (decode_signal): New.
6191         (Finterrupt_process):
6192         (Fkill_process):
6193         (Fquit_process):
6194         (Fstop_process):
6195         (Fcontinue_process):
6196         (Fsignal_process): Use decode_signal.
6197         (process_send_signal):
6198         Many docstring corrections.
6199         Allow any signal to be sent to a process object.
6200         * config.h.in: Add symbols for big signal/process overhaul.
6201         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
6202         * sysproc.h: Include process-related headers, where available:
6203         sys/stropts.h sys/strtio.h pty.h libutil.h
6204         * s/irix4-0.h:
6205         * s/irix5-0.h:
6206         * s/cygwin32.h:
6207         * s/gnu.h:
6208         * s/linux.h:
6209         * s/hpux.h:
6210         * s/aix3-1.h:
6211         Remove old S&M pty stuff.
6212         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
6213         * systty.h: Simplify cpp hackery, improve comments.
6214         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
6215
6216         * editfns.c (Fformat_time_string):
6217         Be a little more paranoid with the return value of ctime.
6218
6219         * fileio.c (check_executable):
6220         (check_writable):
6221         Use symbolic constants X_OK, W_OK.
6222
6223         * console-x.c (split_up_display_spec): Fix a warning.
6224
6225 2000-10-02  Martin Buchholz  <martin@xemacs.org>
6226
6227         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
6228         * ntproc.c (sys_spawnve): make_string ==> build_string
6229         Small clarity improvements.
6230
6231 2000-09-30  Martin Buchholz  <martin@xemacs.org>
6232
6233         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
6234
6235         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
6236
6237         * config.h.in (HAVE_STRCASECMP): Remove.
6238
6239 2000-09-29  Martin Buchholz  <martin@xemacs.org>
6240
6241         * redisplay-output.c (redisplay_output_pixmap):
6242         Cleaner and possibly more 64-bit correct code.
6243
6244 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
6245
6246         * dumper.c (pdump_load_finish): move restoration of
6247         `noninteractive1' to emacs.c (main_1).
6248         * emacs.c (main_1): protect LISP-visible command-line flags
6249         from pdump_load().
6250
6251 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
6252
6253         * Makefile.in.in (versionclean):  Use EXE_TARGET and
6254         DUMP_TARGET instead of literal program names.
6255
6256 2000-09-20  Martin Buchholz  <martin@xemacs.org>
6257
6258         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
6259
6260 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6261
6262         * *: Spelling mega-patch
6263
6264 2000-09-19  Martin Buchholz  <martin@xemacs.org>
6265
6266         * fns.c (bad_bad_turtle):
6267         Delete "Eek!" comment, since we fixed the bug to which it refers.
6268
6269 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6270
6271         * alloca.c: Replace REGISTER with register.
6272
6273 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
6274
6275         * file-coding.c (ucs_to_char): Use countof.
6276
6277 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6278
6279         * file-coding.c: (ucs_to_char):
6280         (complex_vars_of_file_coding):
6281         Use countof instead of sizeof.
6282         Use CHECK_NATNUM instead of CHECK_INT.
6283
6284         * sysdep.c (strcasecmp): Remove.
6285         * device-x.c (ascii_strcasecmp): New.
6286         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
6287         Avoid using non-standard non-portable strcasecmp.
6288
6289 2000-09-16  Martin Buchholz  <martin@xemacs.org>
6290
6291         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
6292         * font-lock.c: remove reference to emacsfns.h.
6293         * search.c: small doc improvement.
6294         * event-Xt.c: correct file names in comments.
6295         * console-x.h Correct file names in comments.
6296         * frame.c: Correct file names in comments.
6297         * event-stream.c: remove Energize from comments.
6298
6299 2000-09-15  Martin Buchholz  <martin@xemacs.org>
6300
6301         * symeval.h (DEFERROR_STANDARD):
6302         (DEFERROR):
6303         (DEFSYMBOL):
6304         (DEFSYMBOL_NO_DUMP):
6305         (DEFSYMBOL_MULTIWORD_PREDICATE):
6306         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
6307         (DEFKEYWORD):
6308         The construct &##name is not sensible C.
6309         Fixes compilation errors with Unixware native compiler.
6310
6311 2000-09-14  Martin Buchholz  <martin@xemacs.org>
6312
6313         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
6314         (next_frame_internal): Removed.  We now just have next_frame.
6315         (next_frame):
6316         Write a simpler and cleaner one-pass algorithm.
6317         Remove called_from_delete_device arg and #ifdefed-out code.
6318         (previous_frame):
6319         Renamed from prev_frame.  Update callers.
6320         Cleaned up to have an analogous implementation to next_frame.
6321         (other_visible_frames_internal): Remove the
6322         called_from_delete_device bogus arg, and hence, remove this
6323         function.  Just use other_visible_frames().
6324
6325         * window.c (Fnext_window):
6326         Prettify docstring.
6327         Since next_frame() is guaranteed to return a frame, remove check
6328         for nil inserted in previous patch.
6329         (Fprevious_window):
6330         Prettify docstring.
6331         Make code look more like Fnext_window.
6332         (window_loop):
6333         Respect the `console' arg when iterating through windows.
6334         Fixes bug: (get-buffer-window buffer t device) not respecting
6335         the `device' arg.
6336         This function needs more work, as others have pointed out.
6337
6338         * frame.h: Rename prev_frame to previous_frame.
6339         device_matches_console_spec no longer takes a `frame' arg.
6340
6341         * s/gnu.h:
6342         * s/linux.h:
6343         * s/hpux.h:
6344         Use EMACS_BLOCK_SIGNAL instead of sigblock.
6345         From "Golubev I. N." <gin@mo.msk.ru>.
6346
6347         * make-src-depend: Fix typo.
6348
6349 2000-09-13  Martin Buchholz  <martin@xemacs.org>
6350
6351         * window.c (Fnext_window):
6352         next_frame() might return nil, not a frame.
6353         Fixes this crash:
6354         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6355
6356         * frame.c (next_frame_internal):
6357         We've passed a frame if we've passed its device.
6358         Fixes this crash:
6359         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
6360 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
6361
6362 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6363
6364         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6365         Allow option to suppress accelerators in menu/dialog items.
6366         (populate_or_checksum_helper): Pass dialog title through above.
6367
6368 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6369
6370         * event-msw.c (mswindows_key_to_emacs_keysym):
6371         Add "pause" key, fix "menu" key.
6372
6373 2000-09-09  Martin Buchholz  <martin@xemacs.org>
6374
6375         * eval.c (reinit_vars_of_eval):
6376         Increase max_lisp_eval_depth to 1000,
6377         required for thai-xtis.el to byte-compile under some circumstances.
6378
6379 2000-09-04  Martin Buchholz  <martin@xemacs.org>
6380
6381         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
6382         From Kenichi Handa.
6383
6384 2000-09-01  Martin Buchholz  <martin@xemacs.org>
6385
6386         * make-src-depend: Make the generated Makefiles smaller.
6387
6388         * s/hpux.h (SETUP_SLAVE_PTY):
6389         Provide a %d in the format string for the errno argument.
6390
6391         * editfns.c (Ftemp_directory):
6392         Warning fix.
6393         Avoid buffer overrun on very long file name.
6394
6395         * input-method-xlib.c (XIM_init_device):
6396         6th parameter of XRegisterIMInstantiateCallback has different
6397         pointer types on different OSes, so simply cast to (void *).
6398
6399         * unexhp9k800.c: Warning fixes.  Fiddly changes.
6400
6401         * sysdll.c (dll_open):
6402         shl_load will hang hard if passed a NULL filename.
6403         Simply return NULL for compatibility with dlopen.
6404         * sysdll.c: Conform to XEmacs coding standards.
6405
6406         * sysdep.c (get_pty_max_bytes):
6407         Support pty input lines longer than 512 bytes on HP-UX 10.20.
6408
6409 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6410
6411         * tooltalk.c: Add #include <syssignal.h>
6412
6413 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
6414
6415         * s/hpux.h: Don't use undefined function sigunblock().
6416
6417 2000-08-31  Martin Buchholz  <martin@xemacs.org>
6418
6419         * config.h.in: Add HAVE_BALLOON_HELP.
6420         * emacs.c: Use HAVE_BALLOON_HELP.
6421         * Makefile.in.in (x_objs):
6422         Make Balloon Help conditional on finding shape.h.
6423
6424 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
6425
6426         * syntax.c (regex_emacs_buffer_p): New variable.
6427         * syntax.h (regex_emacs_buffer_p): extern.
6428         * search.c (looking_at_1):
6429         (string_match_1):
6430         (fast_string_match):
6431         (search_buffer): Set regex_emacs_buffer_p.
6432         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
6433         when before_dot, at_dot, after_dot.
6434
6435 2000-08-23  Andy Piper  <andy@xemacs.org>
6436
6437         * gui-x.c (popup_selection_callback): Only set action_occurred
6438         when we really have an image instance.
6439         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6440
6441 2000-08-23  Andy Piper  <andy@xemacs.org>
6442
6443         * gui-msw.c (mswindows_handle_gui_wm_command): set
6444         action_occurred.
6445         * gui-x.c (popup_selection_callback): ditto.
6446
6447         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
6448         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
6449         (struct Lisp_Image_Instance): add action_occurred flag.
6450
6451         * glyphs.c (redisplay_subwindow): use action_occurred flag.
6452         (image_instance_changed): ditto.
6453         (reset_frame_subwindow_instance_cache): only unmap windows - do
6454         not remove them from the cache also.
6455
6456         * glyphs-widget.c (tab_control_update): better debug.
6457         (progress_gauge_update): ditto.
6458         (layout_update): ditto.
6459         (layout_instantiate): ditto.
6460         (tab_control_order_only_changed): cope with null pending items.
6461
6462         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
6463         debug. Force selection of an item when an action occurred. Cope
6464         with null pending_items.
6465         (mswindows_progress_gauge_redisplay): better debug.
6466         * glyphs-x.c (x_tab_control_redisplay): ditto.
6467
6468         * redisplay.c (redisplay_frame): reset the frame cache if the
6469         frame is garbaged.
6470
6471         * window.c (Fset_window_configuration): potentially re-enable
6472         frame cache reset.
6473         (window_unmap_subwindows): need to finalize instances here since
6474         it is only used in mark_window_as_deleted.
6475
6476 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
6477
6478         * nas.c (SndOpenDataForReading):
6479         nas.c (WaveOpenDataForReading):
6480         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
6481         Somehow escaped from the 2000-08-14 patch.
6482
6483 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6484
6485         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
6486         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
6487
6488 2000-08-21  Andy Piper  <andy@xemacs.org>
6489
6490         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
6491         window if it is not already displayed.
6492
6493         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
6494         it is not already displayed.
6495
6496         * window.c (Fset_window_configuration): don't reset the frame
6497         cache.
6498
6499         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
6500         instances from the frame cache if we are actually finalizing them.
6501         (reset_frame_subwindow_instance_cache): reset frame cache only
6502         after unmapping everything.
6503         (map_subwindow): set displayed flag after mapping.
6504
6505 2000-08-21  Martin Buchholz  <martin@xemacs.org>
6506
6507         * data.c (indirect_function):
6508         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
6509
6510         * eval.c (function_argcount):
6511         Use original function when signaling errors.
6512
6513 2000-08-18  Andy Piper  <andy@xemacs.org>
6514
6515         * frame.c (delete_frame_internal): use new
6516         free_frame_subwindow_instances name.
6517
6518         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
6519         (add_tab_item): make return type correct.
6520         (mswindows_tab_control_instantiate): assert index of tab.
6521         (mswindows_tab_control_redisplay): Re-code to use
6522         gui_item_equal_sans_selected and gui_item_list_find_selected.
6523
6524         * glyphs-widget.c (tab_control_update): Correct comment.
6525
6526         * window.c (window_unmap_subwindows): use new
6527         unmap_subwindow_instance_cache_mapper.
6528         (window_unmap_subwindows_cache_mapper): deleted.
6529         (Fset_window_configuration): comparisons should now be with
6530         EQ. Preserve the subwindow instance cache across configuration
6531         changes.
6532         (allocate_window): ditto.
6533         (make_dummy_parent): ditto.
6534
6535         * glyphs.c (free_frame_subwindow_instances): rename from
6536         free_frame_subwindow_instance_cache. finalize all instances rather
6537         than just those in the display cache.
6538         (finalize_all_subwindow_instances): walk windows unmapping and
6539         finalizing subwindows.
6540         (unmap_subwindow_instance_cache_mapper): moved from
6541         window.c. Allow finalization as well as unmapping.
6542
6543         * gui.c (gui_item_list_find_selected): new function.
6544
6545         * gui.h (gui_item_list_find_selected): declare.
6546
6547         * glyphs-x.c (x_tab_control_redisplay): pick tab
6548         explicitly. Re-code to use gui_item_equal_sans_selected and
6549         gui_item_list_find_selected.
6550
6551         * glyphs-x.h: add lwlib-utils.h
6552
6553         * buffer.c (Frecord_buffer): undo previous change.
6554
6555 2000-08-09  Vin Shelton  <acs@xemacs.org>
6556
6557         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
6558         possible.  Create temporary files more securely.  The patch was
6559         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
6560         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
6561         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
6562         for details.
6563
6564 2000-08-07  Ben Wing  <ben@xemacs.org>
6565
6566         * getloadavg.c: remove duplicate (and windows-breaking)
6567         includes of fcntl.h and sys/file.h.
6568
6569         * nt.c: remove duplicate getloadavg() definition.
6570
6571         * sysdll.h (Qdll_filename_encoding): add missing stand-in
6572         encodings.
6573
6574 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6575
6576         * eval.c (function_argcount): If function needs to be autoloaded
6577         actually use the loaded definition.
6578         GCPRO function.
6579
6580 2000-08-05  Ben Wing  <ben@xemacs.org>
6581
6582         * getloadavg.c: add prototype for getloadavg().  remove
6583         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
6584         of the code).  remove duplicate header includes.
6585
6586         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
6587
6588         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
6589         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
6590         useful load average.
6591
6592         * alloc.c (reinit_alloc_once_early): removed references to
6593         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
6594         the lisp vars are the only things referencing the malloc_sbrk_*
6595         vars, and they were already if 0'd out.  these vars only exist
6596         in the older malloc.c, which is basically unused, and they're
6597         only for informational purposes.
6598
6599         * m\*.h: removed useless VIRT_ADDR_VARIES.
6600
6601         * m\powerpc.h: removed stray NO_ARG_ARRAY.
6602
6603 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6604
6605         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
6606         color if the image is a mono pixmap.
6607
6608 2000-07-30  Ben Wing  <ben@xemacs.org>
6609
6610         * Makefile.in.in (release):
6611         Remove stray @.
6612
6613         * buffer.c (directory_is_current_directory):
6614         * dired-msw.c (mswindows_get_files):
6615         * dired.c:
6616         * dired.c (Fdirectory_files):
6617         * dired.c (file_name_completion_stat):
6618         * dired.c (Ffile_attributes):
6619         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
6620         preprocessor tricks, to avoid problems on some machines
6621         (e.g. SCO).
6622
6623         * callproc.c (egetenv): GC docs.
6624
6625         * console-msw.h:
6626         * console-msw.h (struct mswindows_dialog_id):
6627         * lrecord.h (lrecord_type):
6628         New object for use with MSW dialogs.
6629
6630         * console.h (struct console_methods):
6631         New enable/disable frame methods, for proper modal dialogs.
6632
6633         * device-msw.c (msprinter_default_printer): Fix to follow
6634         proper Mule conventions.
6635
6636         * device-msw.c:
6637         * device-msw.c (signal_open_printer_error):
6638         * device-msw.c (msprinter_init_device):
6639         * device-msw.c (ensure_not_printing):
6640         * device-msw.c (plist_get_margin):
6641         * device-msw.c (Fmsprinter_select_settings):
6642         * device-msw.c (finalize_devmode):
6643         * device-msw.c (Fmsprinter_settings_despecialize):
6644         * device-msw.c (signal_enum_priner_error):
6645         * extents.c (decode_extent):
6646         * extents.c (decode_map_extents_flags):
6647         * extents.c (decode_extent_at_flag):
6648         * extents.c (Fextent_at):
6649         * extents.c (Fextents_at):
6650         * extents.c (symbol_to_glyph_layout):
6651         [[[[2]]]] Use structured errors.
6652
6653         * dialog-msw.c:
6654         * dialog-msw.c (mswindows_is_dialog_msg):
6655         * dialog-msw.c (mark_mswindows_dialog_id):
6656         * dialog-msw.c (dialog_proc):
6657         * dialog-msw.c (handle_question_dialog_box):
6658         * dialog-msw.c (syms_of_dialog_mswindows):
6659         Define new object to clean up marking; use it as a dialog identifier.
6660         Call new delete-dialog-box-hook.
6661
6662         * dialog-x.c (dbox_selection_callback):
6663         * dialog-x.c (dbox_descriptor_to_widget_value):
6664         * dialog-x.c (x_make_dialog_box_internal):
6665         Call new delete-dialog-box-hook.
6666         Return an id.
6667
6668         * dialog.c:
6669         * dialog.c (syms_of_dialog):
6670         * dialog.c (vars_of_dialog):
6671         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
6672
6673         * eval.c:
6674         * eval.c (signal_call_debugger):
6675         when noninteractive, output stack traces on the console instead
6676         of in a (never-seen) buffer.
6677
6678         * eval.c (signal_type_error):
6679         * eval.c (invalid_argument_2):
6680         * lisp.h:
6681         new funs for use w/structured errors.
6682
6683         * event-Xt.c:
6684         * event-Xt.c (x_to_emacs_keysym):
6685         * event-Xt.c (describe_event):
6686         * event-Xt.c (emacs_Xt_event_handler):
6687         * event-Xt.c (vars_of_event_Xt):
6688         * event-msw.c:
6689         * event-msw.c (mswindows_wnd_proc):
6690         * event-msw.c (vars_of_event_mswindows):
6691         rename {x,mswindows}-debug-events to debug-{}-events for
6692         consistency with other debug-foo variables.
6693
6694         * event-stream.c:
6695         document next-event more clearly.
6696
6697         * fileio.c (Ffile_name_directory):
6698         * fileio.c (Ffile_name_nondirectory):
6699         * fileio.c (Funhandled_file_name_directory):
6700         * fileio.c (file_name_as_directory):
6701         * fileio.c (Ffile_name_as_directory):
6702         * fileio.c (directory_file_name):
6703         * fileio.c (Fdirectory_file_name):
6704         * fileio.c (Fmake_temp_name):
6705         * fileio.c (Ffile_truename):
6706         * fileio.c (Fsubstitute_in_file_name):
6707         * fileio.c (expand_and_dir_to_file):
6708         * fileio.c (barf_or_query_if_file_exists):
6709         * fileio.c (check_executable):
6710         * fileio.c (Ffile_exists_p):
6711         * fileio.c (Ffile_writable_p):
6712         * fileio.c (Ffile_directory_p):
6713         * fileio.c (Ffile_regular_p):
6714         * fileio.c (Ffile_modes):
6715         * fileio.c (Ffile_newer_than_file_p):
6716         * fileio.c (Fverify_visited_file_modtime):
6717         * fileio.c (Fset_visited_file_modtime):
6718         * fileio.c (auto_save_1):
6719         (1). (2).
6720         fix up gcpro's.
6721
6722         * frame-msw.c:
6723         * frame-msw.c (mswindows_init_frame_1):
6724         * frame-msw.c (mswindows_enable_frame):
6725         * frame-msw.c (error_frame_unsizable):
6726         * frame-msw.c (msprinter_init_frame_1):
6727         * frame-msw.c (msprinter_init_frame_3):
6728         * frame-msw.c (console_type_create_frame_mswindows):
6729         (2).
6730         implement new enable/disable frame methods.
6731
6732         * frame-x.c:
6733         * frame-x.c (x_enable_frame):
6734         * frame-x.c (console_type_create_frame_x):
6735         implement new enable/disable frame methods.
6736
6737         * frame.c:
6738         * frame.c (Fdisable_frame):
6739         * frame.c (syms_of_frame):
6740         * frame.h (struct frame):
6741         implement new enable/disable frame methods/functions.
6742
6743         * general-slots.h:
6744         add initial-focus.
6745
6746         * glyphs-msw.c (mswindows_widget_instantiate):
6747         comment that initial-focus should be implemented.
6748
6749         * glyphs-widget.c:
6750         * glyphs-widget.c (check_valid_instantiator):
6751         * glyphs-widget.c (check_valid_orientation):
6752         * glyphs-widget.c (check_valid_tab_orientation):
6753         * glyphs-widget.c (check_valid_justification):
6754         * glyphs-widget.c (check_valid_border):
6755         * glyphs-widget.c (check_valid_callback):
6756         * glyphs-widget.c (check_valid_int_or_function):
6757         * glyphs-widget.c (check_valid_string_or_vector):
6758         * glyphs-widget.c (check_valid_item_list_1):
6759         * glyphs-widget.c (widget_validate):
6760         * glyphs-widget.c (combo_box_validate):
6761         * glyphs-widget.c (widget_instantiate):
6762         * glyphs-widget.c (syms_of_glyphs_widget):
6763         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
6764         * glyphs-widget.c (image_instantiator_combo_box):
6765         * glyphs-widget.c (image_instantiator_scrollbar):
6766         * glyphs-widget.c (image_instantiator_tab_control):
6767         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
6768         (2).
6769         support (unimplemented) keyword initial-focus.
6770         reindent long macros.
6771
6772         * glyphs-x.c (x_redisplay_widget):
6773         * glyphs-x.c (x_button_instantiate):
6774         * glyphs-x.c (x_button_redisplay):
6775         * glyphs-x.c (x_progress_gauge_instantiate):
6776         * glyphs-x.c (x_edit_field_instantiate):
6777         * glyphs-x.c (x_combo_box_instantiate):
6778         * glyphs-x.c (x_tab_control_instantiate):
6779         * glyphs-x.c (x_label_instantiate):
6780         * gui-x.c:
6781         * gui-x.c (button_item_to_widget_value):
6782         * gui-x.c (gui_items_to_widget_values_1):
6783         * gui-x.c (gui_item_children_to_widget_values):
6784         * gui-x.c (gui_items_to_widget_values):
6785         * gui-x.h:
6786         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6787         add new flag to gui-parsing routines to indicate whether
6788         accelerator specs should be supported.
6789
6790         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
6791
6792         * glyphs.h (struct Lisp_Image_Instance):
6793         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
6794         add initial-focus flag.
6795
6796         * gui.c:
6797         * gui.c (syms_of_gui):
6798         * gui.c (vars_of_gui):
6799         clean up menu-no-selection-hook.
6800
6801         * gui.h:
6802         support delete-dialog-box-hook.
6803
6804         * lread.c (Fload_internal):
6805         * lread.c (locate_file_in_directory_mapper):
6806         (1).
6807
6808         * lrecord.h:
6809         * lrecord.h (struct toolbar_button):
6810         * lrecord.h (syms_of_toolbar):
6811         document how to create a new object.
6812
6813         * menubar-msw.c (mswindows_char_is_accelerator):
6814         may be called on frames w/o menus.
6815
6816         * menubar.c (vars_of_menubar):
6817         clean up :filter docs.
6818
6819         * nt.c (readdir):
6820         * ntproc.c:
6821         (1).
6822
6823         * process-nt.c:
6824         * process-nt.c (validate_signal_number):
6825         * process-nt.c (signal_cannot_launch):
6826         * process-nt.c (nt_create_process):
6827         * process-nt.c (nt_send_process):
6828         * process-nt.c (nt_kill_child_process):
6829         * process-nt.c (nt_open_network_stream):
6830         * process-nt.c (syms_of_process_nt):
6831         (2).
6832         delete quote-handling.  call new lisp code that does it better.
6833
6834         * process-unix.c (connect_to_file_descriptor):
6835         * process-unix.c (allocate_pty):
6836         * process-unix.c (unix_send_process):
6837         * process-unix.c (unix_kill_child_process):
6838         * process-unix.c (unix_open_network_stream):
6839         * process-unix.c (unix_open_multicast_group):
6840         (1). (2).
6841
6842         * process.c:
6843         * process.c (Fstart_process_internal):
6844         (2).  need to canonicalize process path even if absolute.
6845
6846         * select-msw.c (symbol_to_ms_cf):
6847         * select-msw.c (ms_cf_to_symbol):
6848         * select-msw.c (cf_is_autofreed):
6849         * select-msw.c (mswindows_destroy_selection):
6850         * select.c:
6851         * select.c (syms_of_select):
6852         * select.h:
6853         support dibv5, fix bugs. (from Mike Alexander)
6854
6855         * select.c (Fget_selection_internal):
6856         * select.c (select_convert_out):
6857
6858         * sysdep.c:
6859         * sysdep.c (xemacs_stat):
6860         renamed.
6861
6862         * sysdep.c (mkdir):
6863         * sysdep.c (rmdir):
6864         but keep original stat() here because we provide encapsulation
6865         around these funs.
6866
6867         * sysfile.h:
6868         * sysfile.h (fstat):
6869         remove stat garbage.
6870
6871         * syswindows.h:
6872         fix X/MSW conflict.
6873         don't include tchar.h.  it's inappropriate because it makes
6874         compile-time distinctions when we want runtime distinctions.
6875         (we provide our own tchar replacements)
6876
6877         * toolbar.c:
6878         use default object printer for toolbar-button.
6879
6880         * unexcw.c:
6881         make sure we don't encapsulate.
6882
6883         * window.c (vars_of_window):
6884         emphasize that temp-buffer-show-hook is obsolete.
6885
6886 2000-08-05  Martin Buchholz  <martin@xemacs.org>
6887
6888         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
6889         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
6890
6891         * events.c (Fevent_timestamp_lessp):
6892         Not 64-bit clean.  Use EMACS_INT, not int.
6893
6894 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
6895
6896         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
6897         unsigned int and changed the last enum to
6898         lrecord_type_last_built_in_type.
6899         (lrecord_implementations_table): changed prototype to know how
6900         long the array is supposed to be.
6901         (lrecord_type_count): new unsigned int to keep track of the
6902         current number of lisp lrecord types.
6903         (DEFINE_EXTERNAL_LRECORD):
6904         (DECLARE_EXTERNAL_LRECORD): Added these two for external
6905         dynamic-modules to declare new lisp types. They are the same
6906         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
6907         int for each new type, and increment lrecord_type_count by 1.
6908
6909         * alloc.c (lrecord_implementations_table): Changed to reference
6910         lrecord_type_last_built_in_type for the size of the array.
6911         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
6912
6913 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6914
6915         * glyphs.h (check_valid_item_list): Renamed from
6916         check_valid_item_list_1.
6917
6918 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
6919
6920         * select.c (Qselect_coerce): New.
6921         * select.c (Vselection_coercion_alist): New.
6922         * select.c (syms_of_select): Declare.
6923         * select.c (get-selection-internal): Use it.
6924         Use the new select-coerce functionality.
6925
6926         * select.c (select_coerce): New.
6927         * select.h (select_coerce): Declare.
6928         New function to coerce one type of data into another.
6929
6930 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6931
6932         * callproc.c (Fcall_process_internal):
6933         (Fcall_process_internal):
6934         * process-unix.c (unix_create_process):
6935         Save and restore the value of errno, so that error messages are accurate.
6936
6937 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6938
6939         * elhash.c (print_hash_table):
6940         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6941         Prettify docstrings and indentation.
6942
6943 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6944
6945         * window.c (Fwindow_pixel_edges): Subtract frame border and
6946         gutter size.
6947
6948 2000-07-31  Andy Piper  <andy@xemacs.org>
6949
6950         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6951         will acknowledge the change.
6952
6953         * glyphs.h: declare tab_control_order_only_changed.
6954
6955         * glyphs-x.c (x_tab_control_redisplay): use
6956         tab_control_order_only_changed.
6957
6958         * glyphs-widget.c (tab_control_order_only_changed): new function.
6959
6960         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6961         tab_control_order_only_changed.
6962
6963         * gui.c (gui_item_equal_sans_selected): new function.
6964         (gui_item_equal): use it.
6965
6966         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6967         :properties in favor of :items..
6968
6969         * glyphs-widget.c (check_valid_item_list): rename from
6970         check_valid_item_list_1.
6971         (check_valid_item_list_1): renamed.
6972         (combo_box_validate): deprecate :properties in favor of :items.
6973         (widget_instantiate): ditto.
6974         (tab_control_update): ditto.
6975         (image_instantiator_combo_box): ditto.
6976         (image_instantiator_tree_view): ditto.
6977         (image_instantiator_tab_control): ditto.
6978         (layout_post_instantiate): remove dead code.
6979
6980         * print.c (debug_print_no_newline): only write to debugger if in
6981         WIN32_NATIVE.
6982
6983         * elhash.c (Fmake_hash_table): update doc string.
6984
6985         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6986         messages whilst in GC. This at least stops XEmacs crashing but has
6987         the potential for wierd behaviour.
6988
6989 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6990
6991         * config.h.in:
6992         Make existence of s&m files optional.
6993
6994         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6995         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6996         * s/gnu.h: Remove HAVE_GETLOADAVG.
6997         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6998         * s/sol2.h: Remove HAVE_GETLOADAVG.
6999         * lisp.h: Remove getloadavg() declaration.
7000         * fns.c:
7001         Include <sys/loadavg.h> if available.
7002         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
7003         * config.h.in:  Group together getloadavg()-related macros.
7004         Use only configure-time tests to detect getloadavg().
7005
7006 2000-07-30  Martin Buchholz  <martin@xemacs.org>
7007
7008         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
7009
7010 2000-07-25  Andy Piper  <andy@xemacs.org>
7011
7012         * syswindows.h: add tchar.h for native builds.
7013
7014         * frame.c (syms_of_frame): remove set-glyph-image.
7015
7016         * general-slots.h: add Qset_glyph_image.
7017
7018         * glyphs-widget.c (layout_update): add domain arg to
7019         set-glyph-image.
7020         (syms_of_glyphs_widget): remove set-glyph-image.
7021
7022 2000-07-23  Ben Wing  <ben@xemacs.org>
7023
7024         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
7025         Vpopup_frame_list.
7026
7027 2000-07-22  Andy Piper  <andy@xemacs.org>
7028
7029         * symsinit.h: add syms_of_win32().
7030
7031         * gui-msw.c (syms_of_gui_mswindows): remove
7032         Fmswindows_shell_execute.
7033         (Fmswindows_shell_execute): moved to win32.c.
7034
7035         * emacs.c (main_1): add syms_of_win32 ().
7036
7037         * win32.c (init_potentially_nonexistent_functions): rewrite in
7038         compiler-friendly terms.
7039         (Fmswindows_shell_execute): move here from gui-msw.c.
7040         (syms_of_win32): new.
7041
7042         * device-msw.c (Fmswindows_printer_list): clean up args to
7043         EnumPrinters.
7044         Don't include tchar under cygwin or mingw.
7045         (msprinter_default_printer): make cygwin-friendly.
7046
7047 2000-07-21  Andy Piper  <andy@xemacs.org>
7048
7049         * glyphs-widget.c (image_instantiator_tree_view): use tab
7050         control's update function.
7051         (layout_property): new function. Retrieve items.
7052
7053         * glyphs-msw.c (mswindows_tree_view_redisplay): new
7054         function. Re-populate the tree view from the pending items.
7055
7056         * glyphs.c (instantiate_image_instantiator): Make sure the domain
7057         is designated the parent if the domain is an image instance. This
7058         is needed so that dirtiness can be cascade up the hierarchy and
7059         thus for layout children to be redisplayed correctly.
7060         (allocate_image_instance): rename glyph -> parent.
7061
7062         * redisplay.h: change redisplay_output_layout signature.
7063
7064         * redisplay-msw.c (mswindows_output_display_block): use domain
7065         arg.
7066
7067         * redisplay-x.c (x_output_display_block): use domain arg.
7068
7069 2000-07-10  Andy Piper  <andy@xemacs.org>
7070
7071         * window.c (Fset_window_configuration): add comment.
7072
7073         * redisplay-output.c (compare_runes):
7074         (redisplay_output_subwindow): redisplay rather than update subwindow.
7075         (redisplay_output_layout): ditto.
7076
7077         * redisplay-msw.c (mswindows_frame_output_end):
7078         (mswindows_frame_output_end): make defer window pos optional.
7079
7080         * lisp.h: add Flast.
7081
7082         * glyphs.h (struct image_instantiator_methods): add dest_mask top
7083         normalize method. Change update method to be for changed
7084         instantiators. Add redisplay method. Change signature of layout
7085         method.
7086         (struct Lisp_Image_Instance): add instantiator.
7087         (IMAGE_INSTANCE_INSTANTIATOR): new.
7088         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
7089         (XIMAGE_INSTANCE_INSTANTIATOR): new.
7090         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
7091
7092         * glyphs.c:
7093         (find_instantiator_differences): new function.
7094         (Fset_instantiator_property): new convenience function.
7095         (check_image_instance_structure): strictly check for vector
7096         instantiators.
7097         (normalize_image_instantiator): make non-static.
7098         (instantiate_image_instantiator): pass on dest_mask and use new
7099         signatures for image_instance_layout and friends.
7100         (mark_image_instance): mark the instantiator. Mark the subwindow
7101         face not the widget face.
7102         (image_instance_equal): add instantiator.
7103         (image_instance_hash): ditto.
7104         (allocate_image_instance): ditto.
7105         (Fset_image_instance_property): removed.
7106         (Fimage_instance_file_name): ditto.
7107         (Fcolorize_image_instance): ditto.
7108         (image_instance_layout): add offsets to be set.
7109         (update_image_instance): new function. update an image instance
7110         from its changed instantiator.
7111         (inherit_normalize): add dest_mask.
7112         (xbm_normalize): ditto.
7113         (xface_normalize): ditto.
7114         (xpm_normalize): ditto.
7115         (text_update): set_property -> update.
7116         (image_instantiate): use the glyph identity as a hash key, not the
7117         instantiator.
7118         (glyph_width): use new image_instance_layout signature.
7119         (glyph_ascent): ditto.
7120         (glyph_descent): ditto.
7121         (glyph_height): ditto.
7122         (glyph_query_geometry): ressurrect.
7123         (glyph_layout): ditto.
7124         (redisplay_subwindow): update -> redisplay.
7125         (syms_of_glyphs): add Fset_instantiator_property.
7126         (image_instantiator_format_create): set_property -> update.
7127
7128         * glyphs-x.c:
7129         (autodetect_normalize): add dest_maks to signature.
7130         (x_redisplay_subwindow): update -> redisplay.
7131         (x_redisplay_widget): ditto.
7132         (x_button_redisplay): ditto.
7133         (x_progress_gauge_redisplay): ditto.
7134         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
7135         stacking order.
7136         (console_type_create_glyphs_x): update -> redisplay.
7137         (image_instantiator_format_create_glyphs_x): ditto.
7138
7139         * glyphs-widget.c:
7140         (check_valid_instantiator): disallow glyphs in the instantiator,
7141         they must now be vectors.
7142         (check_valid_instantiator_list): ditto.
7143         (glyph_instantiator_to_glyph): use internal symbol rather than
7144         intern.
7145         (widget_update): renamed from widget_set_property. Call cascaded
7146         update methods.
7147         (redisplay_widget): renamed from update_widget.
7148         (widget_layout): image_instance_layout now takes position as well
7149         as size.
7150         (widget_normalize): ditto.
7151         (widget_instantiate): ditto.
7152         (tab_control_query_geometry) ditto.:
7153         (tab_control_update): renamed from tab_control_set_property.
7154         (progress_gauge_update): set_property -> update.
7155         (layout_normalize): rewrite so that child instantiators are
7156         normalized also.
7157         (layout_update): new function. Create glyphs from the normalized
7158         children and cope with any other layout keywords. We do not
7159         instantiate children here that will be take care of by
7160         redisplay_output_layout.
7161         (layout_instantiate): call layout_update and not much else.
7162         (layout_post_instantiate): not sure whether this is needed
7163         anymore.
7164         (layout_query_geometry): query glyph geometry rather than
7165         image_instance geometry.
7166         (layout_layout): set offsets from pass in parameters. Use glyph
7167         geometry and layout functions rather than image instance ones.
7168         (native_layout_layout): ditto.
7169         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
7170         (image_instantiator_widget): set_property -> update.
7171         (image_instantiator_buttons): ditto.
7172         (image_instantiator_progress_guage): ditto.
7173         (image_instantiator_tab_control): ditto.
7174         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
7175         (image_instantiator_layout): add update method.
7176
7177         * glyphs-msw.c (bmp_normalize):
7178         (mswindows_resource_normalize): add dest_mask so that it can be
7179         proprogated by layout_normalize.
7180         (begin_defer_window_pos): make optional because it may not be the
7181         right thing to do and it introduces differences with X.
7182         (mswindows_unmap_subwindow): ditto.
7183         (mswindows_map_subwindow): ditto.
7184         (mswindows_redisplay_subwindow): renamed from
7185         mswindows_update_subwindow.
7186         (mswindows_redisplay_widget): ditto.
7187         (mswindows_button_redisplay): renamed from
7188         mswindows_button_update. Update is now what the instantiation
7189         function does for a changed instantiator.
7190         (mswindows_progress_gauge_instantiate): set the progress value
7191         here if appropriate.
7192         (mswindows_tab_control_redisplay): cope with re-ordering of the
7193         members of the tab widget by simply selecting the new top
7194         widget. This makes things appear ok if you click on a tab.
7195         (mswindows_combo_box_instantiate): image_instance_layout now takes
7196         position as well as size.
7197         (mswindows_progress_gauge_redisplay): renamed from
7198         mswindows_progress_gauge_update.
7199         (console_type_create_glyphs_mswindows): fix update -> redisplay.
7200         (image_instantiator_format_create_glyphs_mswindows): ditto.
7201
7202         * glyphs-eimage.c (jpeg_normalize):
7203         (gif_normalize):
7204         (png_normalize):
7205         (tiff_normalize): add dest_mask so that it can be proprogated by
7206         layout_normalize.
7207
7208         * elhash.c:
7209         (print_hash_table):
7210         (hash_table_weakness_validate):
7211         (decode_hash_table_weakness):
7212         (Fhash_table_weakness):
7213         (Fhash_table_type):
7214         (syms_of_elhash): use Ben's naming scheme for hashtable types..
7215
7216         * console.h (struct console_methods): move update_* to
7217         redisplay_*.
7218
7219 2000-07-20  Ben Wing  <ben@xemacs.org>
7220
7221         * *.[ch] (XSETOBJ): remove unused middle argument.
7222         lisp-disunion.h: correct wrap_object() to one argument.
7223
7224 2000-07-15  Ben Wing  <ben@xemacs.org>
7225
7226         * s/cygwin32.h:
7227         * s/cygwin32.h (CYGWIN_CONV_PATH):
7228         Add missing logb prototype for v1.1.
7229         Use post-b20 names and alias to pre-b20 names when pre-b20.
7230
7231         * s/windowsnt.h: [5].
7232
7233 2000-07-15  Ben Wing  <ben@xemacs.org>
7234
7235         * Makefile.in.in (x_objs):
7236         * Makefile.in.in (sheap_objs):
7237         * Makefile.in.in (objs):
7238         added win32.o, cosmetic cleanups.
7239
7240         * alloc.c (Fmake_byte_code):
7241         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
7242         etc. macros which declare their own args now.
7243
7244         * alloc.c (syms_of_alloc):
7245         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
7246
7247         * buffer.c:
7248         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
7249
7250         * buffer.c (Fget_file_buffer):
7251         Fixed GCPRO problem.
7252
7253         * buffer.c (get_truename_buffer):
7254         Fixed comment about GC checking.
7255
7256         * buffer.c (syms_of_buffer):
7257         Undeclared those dedicated frame funs.
7258         [2].
7259
7260         * buffer.h:
7261         Define convenience macros for internal/external conversions.
7262         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
7263         and Qenvironment_variable_encoding for cleaner code.
7264
7265         * bufslots.h:
7266         Remove dedicated-frame; in lisp.
7267
7268         * bytecode.c (funcall_compiled_function):
7269         [1].
7270
7271         * bytecode.c (syms_of_bytecode):
7272         [2].
7273
7274         * console-msw.c:
7275         * console-msw.c (mswindows_show_console): Rewrote.
7276
7277         * console-msw.c (Fmswindows_debugging_output): New.
7278         Sends to OutputDebugString (special MSWin debugger interface).
7279
7280         * console-msw.c (Fmswindows_message_box):
7281         Fixed stupid bugs so it works when called from kill-emacs.
7282
7283         * console-msw.c (syms_of_console_mswindows):
7284         Declare Fmswindows_debugging_output.
7285
7286         * console-msw.h:
7287         New MSWin prototypes.
7288
7289         * console-msw.h (struct mswindows_frame):
7290         New entry last-click-mods for improved button-modifier support.
7291
7292         * console-msw.h (FRAME_MSWINDOWS_POPUP):
7293         New struct entry `popup' with corresponding accessor.
7294
7295         * console-x.c:
7296         * console-x.c (split_up_display_spec):
7297         * console-x.c (get_display_arg_connection):
7298         * console-x.c (x_semi_canonicalize_console_connection):
7299         * console-x.c (x_canonicalize_device_connection):
7300         [[[6]]]: Change char to more specific type.
7301         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
7302
7303         * console-x.c (x_semi_canonicalize_console_connection):
7304         * console-x.c (x_canonicalize_device_connection):
7305         [[[9]]]: Fix up error signalling to use new structured error system.
7306
7307         * console-x.h:
7308         [[[4]]]: Define codesys aliases:
7309         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
7310         Qx_color_name_encoding, Qx_display_name_encoding.
7311
7312         * console.h (struct console_methods):
7313         New method make_dialog_box_internal supersedes older
7314         popup_dialog_box method.
7315
7316         * data.c:
7317         Define many new errors, part of new structured errors.
7318
7319         * data.c (init_errors_once_early):
7320         * data.c (syms_of_data):
7321         [2].
7322
7323         * device-msw.c (mswindows_init_device):
7324         [[[5]]]: Cleanup to support NT 3.51.
7325
7326         * device-msw.c (decode_devmode): Cleanup.
7327
7328         * device-msw.c (mswindows_handle_print_setup_dialog_box):
7329         * device-msw.c (mswindows_handle_print_dialog_box):
7330         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7331         * device-msw.c (syms_of_device_mswindows):
7332         Delete the dialog box primitives recently introduced by Kirill and
7333         instead interface to general dialog box interface.
7334
7335         * device-x.c:
7336         * device-x.c (compute_x_app_name):
7337         * device-x.c (x_init_device):
7338         * device-x.c (Fx_valid_keysym_name_p):
7339         * device-x.c (Fx_set_font_path):
7340         [6].
7341         [7].
7342
7343         * device.h (wrap_device): New.
7344         First of its kind; meant to replace XSETDEVICE.
7345
7346         * dialog-msw.c: Many file-dialog symbols.
7347
7348         * dialog-msw.c (mswindows_register_popup_frame): New.
7349         * dialog-msw.c (mswindows_is_dialog_msg): New.
7350         For supporting kbd traversal in dialog boxes.
7351
7352         * dialog-msw.c (dialog_proc):
7353         Support hitting ESC in dialogs.
7354
7355         * dialog-msw.c (struct):
7356         Common dialog box errors.
7357
7358         * dialog-msw.c (handle_file_dialog_box): New.
7359         Add file dialog code.
7360
7361         * dialog-msw.c (handle_question_dialog_box):
7362         Redo existing code to support new question dialog syntax.
7363
7364         * dialog-msw.c (console_type_create_dialog_mswindows):
7365         We support new dialog console method.
7366
7367         * dialog-msw.c (syms_of_dialog_mswindows):
7368         * dialog-msw.c (vars_of_dialog_mswindows):
7369         New file dialog symbols, vars.
7370
7371         * dialog-x.c:
7372         * dialog-x.c (maybe_run_dbox_text_callback):
7373         * dialog-x.c (dbox_descriptor_to_widget_value):
7374         * dialog-x.c (x_make_dialog_box_internal):
7375         * dialog-x.c (console_type_create_dialog_x):
7376         Mule-ize entire file.
7377         Redo to support question dialog syntax.
7378         [6].
7379
7380         * dialog.c:
7381         * dialog.c (Fmake_dialog_box_internal):
7382         * dialog.c (syms_of_dialog):
7383         Kill old popup-dialog-box, replace with new primitive.
7384         Just call device method or signal error.
7385
7386         * eldap.c (Fldap_open):
7387         * eldap.c (Fldap_search_basic):
7388         * eldap.c (Fldap_add):
7389         * eldap.c (Fldap_modify):
7390         [1].
7391         [7].
7392
7393         * emacs.c:
7394         * emacs.c (make_arg_list_1):
7395         * emacs.c (make_arg_list):
7396         Mule-ize call to dll_init().
7397         [6].
7398         [8].
7399
7400         * emacs.c (make_argc_argv):
7401         * emacs.c (free_argc_argv):
7402         * emacs.c (init_cmdargs):
7403         * emacs.c (main_1):
7404         * emacs.c (Fkill_emacs):
7405         * emacs.c (Fdump_emacs):
7406         Update comments about what can be used in syms_* etc.
7407         Call init_win32() when necessary.
7408         Fix up MS Win dialog box in kill-buffer to actually work right.
7409         [7].
7410
7411         * eval.c:
7412         * eval.c (For):
7413         * eval.c (Fand):
7414         * eval.c (Fprogn):
7415         * eval.c (Fprog1):
7416         * eval.c (Fprog2):
7417         * eval.c (FletX):
7418         * eval.c (Flet):
7419         * eval.c (condition_case_3):
7420         * eval.c (Feval):
7421         * eval.c (function_argcount):
7422         * eval.c (funcall_lambda):
7423         [1].
7424
7425         * eval.c (type_error): New.
7426         * eval.c (maybe_type_error): New.
7427         * eval.c (continuable_type_error): New.
7428         * eval.c (maybe_continuable_type_error): New.
7429         * eval.c (type_error_with_frob): New.
7430         * eval.c (maybe_type_error_with_frob): New.
7431         * eval.c (continuable_type_error_with_frob): New.
7432         * eval.c (maybe_continuable_type_error_with_frob): New.
7433         New functions for use with structured errors.
7434
7435         * event-Xt.c:
7436         * event-Xt.c (x_event_to_emacs_event):
7437         Buttons are now modifiers too.
7438
7439         * event-Xt.c (emacs_Xt_current_event_timestamp):
7440         Implement new event method.
7441         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
7442
7443         * event-msw.c:
7444         * event-msw.c (ntpipe_shove_writer): [5].
7445         * event-msw.c (mswindows_enqueue_mouse_button_event):
7446         * event-msw.c (mswindows_drain_windows_queue):
7447         * event-msw.c (mswindows_wnd_proc): [7].
7448         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
7449         * event-msw.c (mswindows_modifier_state):
7450         Throughout: support new button modifiers.
7451
7452         * event-msw.c (emacs_mswindows_current_event_timestamp):
7453         Implement new event method.
7454         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
7455
7456         * event-stream.c:
7457         * event-stream.c (event_stream_current_event_timestamp): New.
7458         * event-stream.c (maybe_kbd_translate): New functionality.
7459         * event-stream.c (vars_of_event_stream):
7460         Document new kbd-translate-table functionality.
7461
7462         * event-stream.c (Fcurrent_event_timestamp): New.
7463         New primitive for use in fabricated events.
7464         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
7465
7466         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
7467
7468         * events.c:
7469         * events.c (Fmake_event):
7470         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
7471         [1].
7472         [9].
7473
7474         * events.c (format_event_object): fix gcc warnings.
7475
7476         * events.c (Fevent_timestamp): Document new primitives.
7477
7478         * events.c (TIMESTAMP_HALFSPACE): New.
7479
7480         * events.c (Fevent_timestamp_lessp): New.  New primitive for
7481         comparing timestamps correctly (half-space algorithm).
7482
7483         * events.c (Fevent_modifier_bits): Doc fix.
7484
7485         * events.c (Fevent_modifiers): Major doc addition.
7486         * events.c (event_x_y_pixel_internal): Typo fix.
7487         * events.c (syms_of_events): Declare new primitives.
7488
7489         * events.h:
7490         Update long comment for button modifiers, timestamps.
7491
7492         * events.h (struct event_stream):
7493         New current_event_timestamp method.
7494
7495         * extents.c:
7496         * extents.c (extent_in_region_p):
7497         * extents.c (decode_extent):
7498         * extents.c (Fset_extent_parent):
7499         * extents.c (decode_map_extents_flags):
7500         Fix gcc warnings.
7501         [9].
7502
7503         * extents.c (struct extent_at_arg):
7504         * extents.c (decode_extent_at_flag):
7505         * extents.c (extent_at_mapper):
7506         * extents.c (extent_at_bytind):
7507         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
7508         * extents.c (Fextents_at): New primitive. [9].
7509         * extents.c (symbol_to_glyph_layout): [9].
7510         Support new primitive `extents-at'.
7511
7512
7513         * extents.c (get_text_property_bytind):
7514         extent_at_bytind has another arg.
7515         [9].
7516
7517         * extents.c (syms_of_extents): New primitive.
7518
7519         * file-coding.c (Fmake_coding_system): [1].
7520         * file-coding.c (subsidiary_coding_system): fix gcc warning
7521         * file-coding.c (syms_of_file_coding): [2].
7522
7523         * fileio.c (Fexpand_file_name):
7524         * fileio.c (Fsysnetunam):
7525         * fileio.c (Ffile_exists_p):
7526         * fileio.c (Ffile_executable_p):
7527         * fileio.c (Fverify_visited_file_modtime):
7528         Clean up GCPROing.
7529
7530         * fileio.c (syms_of_fileio): [2].
7531
7532         * filelock.c (lock_file_1):
7533         * filelock.c (current_lock_owner):
7534         * filelock.c (lock_if_free):
7535         * filelock.c (lock_file):
7536         * filelock.c (unlock_file):
7537         Clean up GCPROing.
7538
7539         * fns.c (concat): Fix gcc warning.
7540
7541         * fns.c (Fmember):
7542         * fns.c (Fold_member):
7543         * fns.c (Fmemq):
7544         * fns.c (Fold_memq):
7545         * fns.c (memq_no_quit):
7546         * fns.c (Fassoc):
7547         * fns.c (Fold_assoc):
7548         * fns.c (Fassq):
7549         * fns.c (Fold_assq):
7550         * fns.c (assq_no_quit):
7551         * fns.c (Frassoc):
7552         * fns.c (Fold_rassoc):
7553         * fns.c (Frassq):
7554         * fns.c (Fold_rassq):
7555         * fns.c (rassq_no_quit):
7556         * fns.c (Fdelete):
7557         * fns.c (Fold_delete):
7558         * fns.c (Fdelq):
7559         * fns.c (Fold_delq):
7560         * fns.c (delq_no_quit):
7561         * fns.c (Fremassoc):
7562         * fns.c (Fremassq):
7563         * fns.c (remassq_no_quit):
7564         * fns.c (Fremrassoc):
7565         * fns.c (Fremrassq):
7566         * fns.c (remrassq_no_quit):
7567         * fns.c (Freverse):
7568         * fns.c (mapcar1):
7569         [1].
7570
7571         * frame-msw.c (mswindows_init_frame_1):
7572         * frame-msw.c (mswindows_delete_frame):
7573         Register popups with dialog code so keyboard traversing works.
7574
7575         * frame-tty.c (tty_raise_frame_no_select): [1].
7576
7577         * frame-x.c:
7578         * frame-x.c (x_set_frame_text_value):
7579         * frame-x.c (x_set_frame_properties):
7580         * frame-x.c (x_create_widgets):
7581         [7].
7582
7583         * frame.c:
7584         * frame.c (Fmouse_pixel_position): Minor doc fixes.
7585
7586         * frame.h (wrap_frame): New.
7587         Macro like wrap_device.
7588
7589         * general.c:
7590         * general.c (SYMBOL):
7591         * general.c (syms_of_general):
7592         Major reorg.  This is now just a wrapper and symbols themselves
7593         are listed in general-slots.h.
7594
7595         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
7596         * glyphs-msw.c (mswindows_resource_instantiate): [5].
7597
7598         * glyphs-msw.c (mswindows_native_layout_instantiate):
7599         Add DS_CONTROL so keyboard traversal will work.
7600
7601         * glyphs-widget.c:
7602         * glyphs-widget.c (syms_of_glyphs_widget):
7603         Move some symbols to general-slots.h.
7604
7605         * glyphs-x.c:
7606         * glyphs-x.c (xbm_instantiate_1):
7607         * glyphs-x.c (x_xbm_instantiate):
7608         * glyphs-x.c (x_xface_instantiate):
7609         * glyphs-x.c (autodetect_instantiate):
7610         * glyphs-x.c (cursor_font_instantiate):
7611         * glyphs-x.c (x_update_widget):
7612         * glyphs-x.c (x_widget_instantiate):
7613         * glyphs.c (bitmap_to_lisp_data):
7614         * glyphs.c (pixmap_to_lisp_data):
7615         [7].
7616
7617         * glyphs.c (syms_of_glyphs):
7618         [2].
7619
7620         * gui-x.c:
7621         * gui-x.c (print_widget_value):
7622         * gui-x.c (menu_separator_style_and_to_external):
7623         * gui-x.c (add_accel_and_to_external):
7624         * gui-x.c (button_item_to_widget_value):
7625         * gui-x.c (gui_items_to_widget_values_1):
7626         * gui-x.c (gui_items_to_widget_values):
7627         * gui-x.c (syms_of_gui_x):
7628         * gui-x.c (vars_of_gui_x):
7629         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
7630         [9].
7631
7632         * gui-x.h:
7633         Muleize, prototype changes matching gui-x.c.
7634
7635         * gui.c:
7636         * gui.c (separator_string_p):
7637         * gui.c (gui_item_add_keyval_pair):
7638         * gui.c (make_gui_item_from_keywords_internal):
7639         * gui.c (signal_too_long_error):
7640         * gui.c (parse_gui_item_tree_item):
7641         * gui.c (syms_of_gui):
7642         * gui.c (vars_of_gui):
7643         * gui.h:
7644         menu-no-selection-hook moved here (used by MSWin).
7645         Move some symbols to general-slots.h.
7646         [6].
7647         [9].
7648
7649         * insdel.c (get_buffer_pos_char):
7650         * insdel.c (get_buffer_range_char):
7651         Add GC comments.
7652
7653         * keymap.c (keymap_lookup_directly):
7654         * keymap.c (keymap_store):
7655         * keymap.c (ensure_meta_prefix_char_keymapp):
7656         * keymap.c (describe_map):
7657         * keymap.h:
7658         Support new button modifiers.
7659
7660         * lisp-disunion.h (wrap_object):
7661         * lisp-disunion.h (XSETOBJ):
7662         Rename make_obj to wrap_object.
7663
7664         * lisp-union.h:
7665         * lisp-union.h (make_int):
7666         * lisp-union.h (make_char):
7667         Support wrap_object.
7668
7669         * lisp.h:
7670         * lisp.h (LIST_LOOP):
7671         * lisp.h (EXTERNAL_LIST_LOOP):
7672         * lisp.h (LIST_LOOP_2):
7673         * lisp.h (EXTERNAL_LIST_LOOP_1):
7674         * lisp.h (EXTERNAL_LIST_LOOP_2):
7675         * lisp.h (EXTERNAL_LIST_LOOP_3):
7676         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
7677         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7678         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
7679         * lisp.h (EXTERNAL_ALIST_LOOP_5):
7680         * lisp.h (EXTERNAL_ALIST_LOOP_6):
7681         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
7682         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
7683         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
7684         * lisp.h (struct Lisp_Symbol):
7685         * lisp.h (maybe_continuable_error_with_frob):
7686         Fix up section comments.
7687         Add new types for char to indicate usage.
7688         Delete symbols auto-generated from general-slots.h.
7689         Add prototypes for structured error functions.
7690         Add long comments describing looping macros and change interface
7691         so that lvalues are automatically declared.
7692         Add NO_DECLARE macro in case callers want to declare lvalues
7693         themselves.
7694
7695         * lread.c (read_syntax_error):
7696         * lread.c (continuable_read_syntax_error):
7697         * lread.c (read_structure):
7698         * lread.c (sequence_reader):
7699         * lread.c (read_list_conser):
7700         * lread.c (read_compiled_function):
7701         Rename syntax_error and continuable_syntax_error to avoid clash
7702         with same-named structured error functions.
7703
7704         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7705         * menubar-msw.c (populate_menu_add_item):
7706         * menubar-msw.c (populate_or_checksum_helper):
7707         [5].
7708         [9].
7709
7710         * menubar-x.c:
7711         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7712         Mule-ize whole file.
7713
7714         * menubar.c (Fnormalize_menu_item_name): Add optimization.
7715
7716         * mule-charset.c (Fmake_charset):
7717         * mule-wnnfns.c (Fwnn_set_param):
7718         [1].
7719
7720         * ntproc.c (create_child):
7721         * ntproc.c (Fwin32_set_current_locale):
7722         Add comments portending doom.
7723
7724         * objects-msw.c:
7725         * objects-msw.c (old_font_enum_callback_2):
7726         * objects-msw.c (font_enum_callback_1):
7727         * objects-msw.c (mswindows_enumerate_fonts):
7728         [5].
7729
7730         * objects-x.c:
7731         * objects-x.c (allocate_nearest_color):
7732         * objects-x.c (x_parse_nearest_color):
7733         * objects-x.c (x_initialize_color_instance):
7734         * objects-x.c (x_print_color_instance):
7735         * objects-x.c (x_finalize_color_instance):
7736         * objects-x.c (x_valid_color_name_p):
7737         * objects-x.c (x_initialize_font_instance):
7738         * objects-x.c (x_print_font_instance):
7739         * objects-x.c (valid_x_font_name_p):
7740         * objects-x.c (truename_via_FONT_prop):
7741         * objects-x.c (truename_via_random_props):
7742         * objects-x.c (truename_via_XListFonts):
7743         * objects-x.c (x_font_truename):
7744         * objects-x.c (x_font_instance_truename):
7745         * objects-x.c (x_font_instance_properties):
7746         * objects-x.c (x_list_fonts):
7747         * objects-x.c (x_find_charset_font):
7748         Mule-ize entire file.
7749         [7].
7750
7751         * objects-x.h:
7752         Mule-verify.
7753
7754         * print.c:
7755         * print.c (std_handle_out_external):
7756         * print.c (debug_print_no_newline):
7757         * print.c (syms_of_print):
7758         Output to all debugger kinds in debug-print.
7759         Fix console-output code under MSWin to actually work.
7760
7761         * process-nt.c (send_signal):
7762         * process-nt.c (nt_create_process):
7763         Use newer Unicode macros.
7764
7765         * process-unix.c (unix_create_process):
7766         * process-unix.c (unix_canonicalize_host_name):
7767         * process-unix.c (unix_open_network_stream):
7768         [7].
7769
7770         * scrollbar-x.c:
7771         Mule-verify.
7772
7773         * search.c (syms_of_search):
7774         [2].
7775
7776         * select-msw.c (mswindows_destroy_selection):
7777         Use LIST_LOOP_2.
7778
7779         * select-x.c (symbol_to_x_atom):
7780         [7].
7781
7782         * select.c (syms_of_select):
7783         [2].
7784
7785         * sound.c (Fplay_sound_file):
7786         [7].
7787
7788         * specifier.c:
7789         * specifier.c (decode_specifier_type):
7790         * specifier.c (Fvalid_specifier_locale_type_p):
7791         * specifier.c (check_valid_locale_or_locale_type):
7792         * specifier.c (decode_locale):
7793         * specifier.c (decode_locale_type):
7794         * specifier.c (decode_locale_list):
7795         * specifier.c (check_valid_domain):
7796         * specifier.c (decode_specifier_tag_set):
7797         * specifier.c (Fcanonicalize_tag_set):
7798         * specifier.c (Fdefine_specifier_tag):
7799         * specifier.c (Fspecifier_tag_predicate):
7800         * specifier.c (check_valid_inst_list):
7801         * specifier.c (check_valid_spec_list):
7802         * specifier.c (decode_how_to_add_specification):
7803         * specifier.c (check_modifiable_specifier):
7804         * specifier.c (specifier_add_spec):
7805         * specifier.c (boolean_validate):
7806         * specifier.c (display_table_validate):
7807         [9].
7808
7809         * specifier.c (syms_of_specifier):
7810         Move some symbols to general-slots.h.
7811         [2].
7812
7813         * symbols.c:
7814         * symbols.c (Fmapatoms):
7815         * symbols.c (Fapropos_internal):
7816         Add GCPROs.
7817
7818         * symbols.c (set_default_buffer_slot_variable):
7819         * symbols.c (set_default_console_slot_variable):
7820         [1].
7821
7822         * symbols.c (defsymbol_massage_name_1):
7823         * symbols.c (defkeyword_massage_name):
7824         * symbols.c (deferror_1):
7825         * symbols.c (deferror):
7826         * symbols.c (deferror_massage_name_and_message):
7827         * symeval.h:
7828         * symeval.h (DEFSYMBOL):
7829         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
7830
7831         * symbols.c (syms_of_symbols):
7832         [2].
7833
7834         * symsinit.h:
7835         * symsinit.h (init_win32): New.
7836         Also new is syms_of_dialog_mswindows.
7837
7838         * syswindows.h:
7839         Add new Unicode macros, missing Cygwin wide-char functions,
7840         convenience conversion macros for Qmswindows_tstr, macros for
7841         encapsulating required MSWin <-> Cygwin filename conversions,
7842         prototype for dynamically-extracted (not in NT 3.51) functions.
7843
7844         * toolbar-x.c:
7845         Mule-verify.
7846
7847         * tooltalk.c (Fadd_tooltalk_message_arg):
7848         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7849         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7850         [7].
7851
7852         * tooltalk.c (syms_of_tooltalk):
7853         [2].
7854
7855         * unexnt.c:
7856         * unexnt.c (unexec):
7857         Fix up headers, declaration of unexec() to be more standard.
7858
7859 2000-07-20  Martin Buchholz  <martin@xemacs.org>
7860
7861         * offix.h: Revert change to guard macros - they're used in offix.c!
7862
7863 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7864
7865         * lisp.h: Defsubred Fdelete.
7866
7867         * console-msw.h:  (msprinter_default_printer): Added.
7868
7869         * console-msw.c (msprinter_canonicalize_console_connection):
7870         (msprinter_canonicalize_device_connection): Added.
7871
7872         * device-msw.c (msprinter_default_printer):
7873         (Fmswingows_get_default_printer):
7874         (signal_enum_priner_error):
7875         (Fmswingows_printer_list): Added.
7876
7877 2000-07-19  Martin Buchholz <martin@xemacs.org>
7878
7879         * XEmacs 21.2.35 is released.
7880
7881 2000-07-19  Martin Buchholz  <martin@xemacs.org>
7882
7883         * select-x.c (x_handle_selection_request):
7884         Text selected in xemacs and pasted into xterm failed to appear.
7885         Spelling fixes and cosmetic changes.
7886
7887 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7888
7889         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
7890         XEmacs frame (fix for doubling chars in dialog boxes).
7891
7892 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7893
7894         * select.c (select_convert_in, select_convert_out):
7895         Don't call intern() every time.
7896
7897         * select.c (Qselect_convert_in, Qselect_convert_out): New.
7898         * select.c (vars_of_select): Initialise them.
7899
7900 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7901
7902         * select.c (selection-coercible-types): New.
7903
7904         * select.c (own-selection-internal):
7905         * select.c (get-selection-internal):
7906         MULE bug fix - these should default to COMPOUND_TEXT and not
7907         STRING for MULE. I think.
7908
7909         * select.c (select_convert_out): Use selection-coercible-types
7910         to find types that we can attempt to perform coercions on.
7911
7912 2000-07-18  Martin Buchholz  <martin@xemacs.org>
7913
7914         * mule-wnnfns.c:
7915         * mule-canna.c:
7916         Add coding: cookie to identify encoding.
7917
7918         * mule-canna.c (CANNA_mode_keys): make static.
7919         Use proper prototypes, even for functions of no arguments.
7920         Remove external prototype for Fding().
7921
7922         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
7923
7924         * select.c (syms_of_select): Add missing DEFSUBR.
7925
7926 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
7927
7928         * select.c (get_selection_internal, own_selection_internal):
7929         Make the type default to STRING, rather than placing a nil type
7930         into Vselection_alist.
7931
7932 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7933
7934         * gpmevent.c (tty_selection_exists_p):
7935         * gpmevent.c (tty_own_selection):
7936         Updated parameter lists.
7937
7938 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7939
7940         * select.h (selection-alist): Removed declaration.
7941
7942         * select.h (get_local_selection):
7943         * select.c (get_local_selection):
7944         Made static.
7945
7946         * select.h (convert_selection): Removed declaration.
7947         * select.c (convert_selection): Removed.
7948         This function belongs in Lisp.
7949
7950         * select.h (select_convert_in): Declare.
7951         * select.h (select_convert_out): Declare.
7952         * select.c (select_convert_in): New.
7953         * select.c (select_convert_out): New.
7954         New conversion functions for other files to call.
7955
7956         * select.h (select_notify_buffer_kill): Declare.
7957         * select.c (select_notify_buffer_kill): New.
7958         New functions that get called from kill-buffer.
7959
7960         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7961         X-specific lisp code.
7962
7963         * select.h: Declare some of the lisp-visible functions for
7964         external use.
7965
7966         * select.c (clean_local_selection_data): Removed. This was
7967         a disgusting function, and previously should have been in
7968         select-x.c in any case. The functionality is now provided
7969         in select-convert-from-integer (select.el).
7970
7971         * select.c (available-selection-types): Fixed stupidity where
7972         INTEGER and ATOM got added twice. Also add STRING when we see an
7973         extent.
7974
7975         * select.c (get-selection-internal): Removed symbol stripping. No
7976         longer causes conversion when data comes from the internal cache.
7977
7978         * select.c (syms_of_select): Added new functions.
7979
7980         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7981         error checking - previously this called abort!
7982
7983         * select-x.c (x_own_selection): Changed comment.
7984
7985         * select-x.c (x_handle_selection_request): Use select_convert_out.
7986         Don't mess with selection-alist; it's an internal variable of select.c.
7987
7988         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7989
7990         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7991         rather than messing with selection-alist.
7992
7993         * select-msw.c (mswindows_get_foreign_selection):
7994         Use TO_INTERNAL_FORMAT rather than hacking.
7995
7996 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7997
7998         * process-unix.c (unix_open_multicast_group):
7999         (unix_open_multicast_group): Remove useless casts.
8000
8001 2000-07-13  Martin Buchholz  <martin@xemacs.org>
8002
8003         * sound.c (Fplay_sound): Fix `unused variable' warning.
8004
8005         * emacs.c (main): Use correct type for _environ on SCO5.
8006
8007 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
8008
8009         * console.h (own_selection_method):
8010         * console.h (selection_exists_p_method):
8011         * console.h (available_selection_types_method): New.
8012         * console.h (register_selection_data_type_method): New.
8013         * console.h (selection_data_type_name): New.
8014
8015         * console-msw.h (mswindows_destroy_selection): Declare it.  New
8016         function & alist to track GlobalAlloc()'d handles that need
8017         releasing when the clipboard data gets replaced or emptied.
8018
8019         * event-msw.c (mswindows_wnd_proc): Call it.
8020
8021         * lisp.h, general.c (Qappend): New symbol representing a
8022         `how-to-add' mode.
8023
8024         * select.c (own-selection-internal):
8025         * select.c (selection-exists-p):
8026         * select.c (available-selection-types): New.
8027         * select.c (register-selection-data-type): New.
8028         * select.c (selection-data-type-name): New.  New functions to deal
8029         with device-specific selection data formats.
8030         * select.c (selection-converter-out-alist): Renamed.
8031         * select.c (selection-converter-in-alist): New.
8032         * select.c (selection-appender-alist): New.  Added new alists.
8033         * select.c (syms_of_select, vars_of_select): Added new symbols &
8034         variables.
8035         * select.c (get_local_selection): Split.
8036         * select.c: Removed spurious type checking - selections may now be
8037         of any type, not just strings.
8038         * select.c (own-selection-internal):
8039
8040         * select.h, select.c (convert_selection): New. Created
8041         convert_selection() function based on get_local_selection().
8042         * select.h, select.c (QCF_*): New symbols representing mswindows
8043         clipboard formats.
8044         * select.h, select.c (Qreplace_all, Qreplace_existing): New
8045         symbols representing `how-to-add' modes.
8046
8047         * select-msw.c (x_sym_p): New.
8048         * select-msw.c (symbol_to_ms_cf): New.
8049         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
8050         symbols & clipboard formats. Can also handle string names.
8051         * select-msw.c (mswindows_own_selection):
8052         * select-msw.c (mswindows_selection_exists_p):
8053         Added `data-type' parameter. Use it.
8054         * select-msw.c (mswindows_available_selection_types): New.
8055         * select-msw.c (mswindows_register_selection_data_type): New.
8056         * select-msw.c (mswindows_selection_data_type_name): New.
8057         * select-msw.c (mswindows_own_selection):
8058         * select-msw.c (mswindows_get_foreign_selection):
8059         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
8060         * select-msw.c (console_create_select_mswindows): Added new methods.
8061         * select-msw.c (mswindows_destroy_selection): New.
8062         * select-msw.c (Vhandle_alist): New list.
8063         * select-msw.c (mswindows_own_selection):
8064
8065         * select-x.c (x_own_selection):
8066         * select-x.c (x_selection_exists_p):
8067         * select-x.c: Added some comments about maybe using new
8068         functionality.
8069         * select-x.c (x_own_selection):
8070
8071         * specifier.c: Remove definition of Qappend (now in general.c)
8072         * specifier.c (syms_of_specifier): Remove Qappend.
8073
8074 2000-07-12  Martin Buchholz  <martin@xemacs.org>
8075
8076         * config.h.in: Add socklen_t.
8077
8078         * s/decosf4-0.h: No special compiler flags needed or desired.
8079         In particular, undefine _BSD for DEC OSF 4.0.
8080
8081 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8082
8083         * redisplay-msw.c (msprinter_frame_output_end): Added.
8084         (console_type_create_redisplay_mswindows): Referred the above.
8085
8086         * frame.c (setup_frame_without_minibuffer): Do not create a
8087         default minibuffer frame on a printer device.
8088
8089         * frame-msw.c (apply_dc_geometry): Added.
8090         (msprinter_start_page):
8091         (msprinter_init_frame_3):
8092         (msprinter_eject_page): Use it.
8093
8094         * console-msw.h (struct msprinter_frame): Added pix_left and top,
8095         and removed residual duplex and orientation properties.
8096
8097 2000-07-11  Martin Buchholz  <martin@xemacs.org>
8098
8099         * eval.c (function_argcount): Work around a DEC CC compiler bug.
8100
8101         * unexalpha.c: Remove system prototypes from C sources!
8102
8103 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
8104
8105         * eval.c: Remove references to M-x edit-options in DEFUNs for
8106         `defvar' and `defconst'.
8107
8108 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8109
8110         * config.h.in: Remove SMART_INCLUDE hackery.
8111
8112         PostgreSQL hacking:
8113         * config.h.in: Don't use SMART_INCLUDE.
8114
8115         * postgresql.h: Include libpq-fe.h here.  Fix typo.
8116         * inline.c: Simply #include "postgresql.h"
8117         * postgresql.c:
8118         - Don't use SMART_INCLUDE
8119         - Use simply "const".
8120         - Use standard doc string conventions.
8121         - Use correct type for result of PQstatus.
8122
8123 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8124
8125         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
8126
8127         C++ compilation changes.
8128         * config.h.in (EXTERN_C): Define.
8129         * config.h.in (not): This is also a C++ keyword.
8130         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
8131         * cm.c: Use EXTERN_C.
8132         * redisplay-tty.c: Use EXTERN_C.
8133         * sysdep.c: Use EXTERN_C.  Remove Gould support.
8134
8135 2000-07-09  Martin Buchholz  <martin@xemacs.org>
8136
8137         * general.c: Remove duplicate definition for Qfunction.
8138
8139 2000-07-08  Ben Wing  <ben@xemacs.org>
8140
8141         * device-msw.c (msprinter_init_device):
8142         * device-msw.c (sync_printer_with_devmode):
8143         * device-msw.c (handle_devmode_changes):
8144         * device-msw.c (print_dialog_worker):
8145         * device-msw.c (Fmsprinter_apply_settings):
8146         * device-msw.c (hash_devmode):
8147         * device-msw.c (Fmsprinter_settings_despecialize):
8148         use Qmswindows_tstr, not Qctext.
8149
8150         * vm-limit.c (check_memory_limits):
8151         avoid infinite loop printing warning messages.
8152
8153 2000-07-05  Craig Lanning  <lanning@scra.org>
8154
8155         * Makefile.in.in: Add support for including the Windows resources
8156         when building with the cygwin and mingw targets.
8157
8158         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
8159         not set or not correct.
8160         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
8161         (init_initial_directory): Don't try to use $PWD on the
8162         WIN32_NATIVE target.
8163
8164         * s\cygwin32.h:
8165         [[Add -mwindows to eliminate console window.]] not required --ben
8166         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8167         (MAIL_USE_POP): removed; now handled by configure.
8168
8169         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
8170         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
8171         (HAVE_NATIVE_SOUND): removed; now handled by configure.
8172         (MAIL_USE_POP): removed; now handled by configure.
8173         (ENCAPSULATE_STAT): from Dan Holmsand, added.
8174         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
8175         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
8176         constant string.
8177         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
8178         up from <winsock.h> via systime.h.
8179         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
8180         (getpagesize): from Dan Holmsand, added.
8181         Added #endif which was left dangling by Ben's mega patch; added
8182         comment to help prevent this in the future.
8183
8184         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
8185
8186 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8187
8188         * console-msw.h (struct mswindows_device): Removed unnecessary
8189         cached device geometry values.
8190         Added update_tick and an accessor macro.
8191         (Lisp_Devmode): Added lrecord declaration.
8192         (struct msprinter_device): Contain devmode as a Lisp object.
8193         Added mswindows_get_selected_frame_hwnd();
8194
8195         * console.h (struct console_methods): Indentation nitpicking.
8196
8197         * device-msw.c (mswindows_init_device): Do not initialize geometry
8198         cache. Initialize update tick.
8199         (mswindows_device_system_metrics): Ask the device for its geometry.
8200         (global_free_2_maybe):
8201         (devmode_to_hglobal):
8202         (handle_printer_changes):
8203         (ensure_not_printing):
8204         (print_dialog_worker):
8205         (Fmsprinter_print_setup_dialog):
8206         (Fmsprinter_print_dialog):
8207         (plist_get_margin):
8208         (plist_set_margin):
8209         (Fmsprinter_page_setup_dialog): Added functions.
8210         (sync_printer_with_devmode):
8211         (handle_devmode_changes):
8212         (Fmsprinter_get_settings):
8213         (Fmsprinter_select_settings):
8214         (Fmsprinter_apply_settings):
8215         (allocate_devmode):
8216         (Fmsprinter_settings_copy):
8217         (Fmsprinter_settings_despecialize):
8218         (print_devmode):
8219         (finalize_devmode):
8220         (equal_devmode):
8221         (hash_devmode): Added functions
8222         (syms_of_device_mswindows): Init devmode lrecord class.
8223
8224         * device.h: Added an exfun for find-device.
8225
8226         * event-msw.c (mswindows_wnd_proc): Do not update the cached
8227         geometry; although, recreate the device compatible DC.
8228
8229         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
8230         (msprinter_init_frame_3):
8231         (msprinter_frame_property):
8232         (msprinter_internal_frame_property_p):
8233         (msprinter_frame_properties):
8234         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
8235         print job properties (will move to device settings).
8236
8237         * lisp.h: Added symbols.
8238
8239         * general.c (syms_of_general): Declared them.
8240
8241         * hash.c (string_hash): Added.
8242
8243         * lrecord.h (lrecord_type): Added devmode lrecord type.
8244
8245 2000-07-02  Mike Sperber <mike@xemacs.org>
8246
8247         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
8248         FreeBSD 4.0.
8249
8250 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
8251
8252         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
8253         integer.
8254
8255 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
8256
8257         * data.c (Fstring_to_number): Don't recognize floating point if
8258         base is not 10.
8259
8260 2000-06-22  Martin Buchholz  <martin@xemacs.org>
8261
8262         * glyphs-widget.c (tab_control_query_geometry):
8263         (widget_query_geometry):
8264         (button_query_geometry):
8265         * glyphs.c (text_query_geometry):
8266         Enforce type correctness.
8267
8268 2000-06-18  Martin Buchholz  <martin@xemacs.org>
8269
8270         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
8271         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
8272
8273 2000-06-17  Martin Buchholz  <martin@xemacs.org>
8274
8275         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
8276         conflicts with gcc's fixincluded version of FOO.h.
8277
8278         * glyphs.h (image_instance_geometry): Remove trailing `,'
8279
8280 2000-06-08  Mike Alexander  <mta@arbortext.com>
8281
8282         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
8283         (shove_thread): Don't write the same output twice
8284         (make_ntpipe_output_stream): Increase priority of shove thread
8285         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
8286         chance to run
8287         (ntpipe_shove_closer): Don't delete the pipe until we're done with
8288         it.
8289
8290 2000-06-12  Ben Wing  <ben@xemacs.org>
8291
8292         * s\mingw32.h (sigset):
8293         * s\windowsnt.h (sigset):
8294         rename msw_ to mswindows_ for consistency with general convention.
8295
8296 2000-06-12  Ben Wing  <ben@xemacs.org>
8297
8298         * console-msw.c:
8299         * console-msw.c (mswindows_get_console_hwnd):
8300         * console-msw.c (mswindows_ensure_console_allocated):
8301         * console-msw.c (mswindows_hide_console):
8302         * console-msw.c (mswindows_show_console):
8303         * console-msw.c (mswindows_ensure_console_buffered):
8304         * console-msw.c (mswindows_output_console_string):
8305         * console-msw.c (mswindows_windows9x_p):
8306         * console-msw.h:
8307         * device-msw.c (mswindows_get_workspace_coords):
8308         * device-msw.c (mswindows_device_system_metrics):
8309         * dialog-msw.c (mswindows_popup_dialog_box):
8310         * event-msw.c (mswindows_wnd_proc):
8311         * frame-msw.c (mswindows_size_frame_internal):
8312         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8313         * menubar-msw.c (displayable_menu_item):
8314         * menubar-msw.c (mswindows_char_is_accelerator):
8315         * nt.c:
8316         * nt.c (mswindows_sigset):
8317         * nt.c (mswindows_sigrelse):
8318         * nt.c (mswindows_sigpause):
8319         * nt.c (mswindows_raise):
8320         * nt.c (timer_proc):
8321         * ntproc.c:
8322         * ntproc.c (find_child_console):
8323         * ntproc.c (sys_kill):
8324         * print.c:
8325         * print.c (std_handle_out_external):
8326         * process-nt.c (find_child_console):
8327         * process-nt.c (send_signal_the_95_way):
8328         * process-nt.c (ensure_console_window_exists):
8329         * process-nt.c (nt_create_process):
8330         * syssignal.h:
8331         rename msw_ to mswindows_ for consistency with general convention.
8332
8333         * emacs.c:
8334         * dumper.c:
8335         include nt.h, not syswindows.h.
8336
8337         * nt.c (mswindows_fstat):
8338         * nt.c (mswindows_stat):
8339         prefix mswindows_ instead of attempting to directly override the
8340         library functions.  fix declarations.
8341
8342         * nt.h:
8343         include syswindows.h.  move some sysdep.h stuff here.
8344
8345         * ntheap.h:
8346         include syswindows.h, not <windows.h>.
8347
8348         * ntplay.c:
8349         clean up headers.
8350
8351         * sysdep.c:
8352         clean up headers.
8353
8354         * sysdep.c (sys_fstat):
8355         * sysdep.c (sys_stat):
8356         call mswindows versions when appropriate.
8357
8358         * sysdep.h:
8359         move mswin decls to nt.h.
8360
8361         * syswindows.h:
8362         add long comment describing appropriate use of the various windows
8363         headers.
8364
8365 2000-06-11  Ben Wing  <ben@xemacs.org>
8366
8367         * device-x.c: Correct doc string for sixth arg of x-get-resource.
8368
8369 2000-06-10  Ben Wing  <ben@xemacs.org>
8370
8371         * Makefile.in.in (release):
8372         Correction to make sure xemacs.exe always dumped when correct.
8373
8374         * alloca.c:
8375         * balloon_help.c:
8376         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
8377
8378         * buffer.c (set_buffer_internal):
8379         [[[[2]]]]: Remove HAVE_FEP code.
8380
8381         * buffer.c (init_initial_directory):
8382         [3].
8383
8384         * bytecode.c:
8385         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
8386         individual files.
8387
8388         * callproc.c:
8389         * callproc.c (call_process_cleanup):
8390         * callproc.c (Fold_call_process_internal):
8391         * callproc.c (child_setup):
8392         * callproc.c (getenv_internal):
8393         * callproc.c (init_callproc):
8394         * callproc.c (vars_of_callproc):
8395         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
8396         __CYGWIN32__ -> CYGWIN.
8397         DOS_NT -> WIN32_NATIVE.
8398         Remove MSDOS support/references, converting to WIN32_NATIVE
8399           where correct.
8400         __MINGW32__ -> MINGW.
8401         Fix windows.h includes.
8402         Remove bogus HAVE_NTGUI.
8403
8404         * config.h.in:
8405         [2].
8406
8407         * console-msw.c:
8408         mswindows_message_outputted added for use in allowing startup
8409         errors on the console to be seen.
8410
8411         * console-msw.c (msw_ensure_console_allocated):
8412         * console-msw.c (msw_output_console_string):
8413         * console-msw.c (DHEADER):
8414         * console-msw.c (DOPAQUE_DATA):
8415         * console-msw.c (DEVENT):
8416         * console-msw.c (DCONS):
8417         * console-msw.c (DCONSCDR):
8418         * console-msw.c (DSTRING):
8419         * console-msw.c (DVECTOR):
8420         * console-msw.c (DSYMBOL):
8421         * console-msw.c (DSYMNAME):
8422         Fix warnings.
8423
8424         * console-stream.c (stream_init_console):
8425         Fix text/binary problems.
8426
8427         * device-msw.c:
8428         * device-msw.c (mswindows_finish_init_device):
8429         * device-msw.c (mswindows_delete_device):
8430         [1].
8431
8432         * device.c (handle_asynch_device_change):
8433         [3].
8434
8435         * dgif_lib.c:
8436         * dgif_lib.c (DGifOpenFileName):
8437         * dgif_lib.c (DGifOpenFileHandle):
8438         * dgif_lib.c (DGifGetLine):
8439         * dgif_lib.c (DGifGetPixel):
8440         Added config.h/lisp.h, fix up includes.
8441         [1].
8442
8443         * dired-msw.c:
8444         [4].
8445
8446         * dired.c:
8447         * dired.c (file_name_completion):
8448         * dired.c (Ffile_attributes):
8449         * dired.c (syms_of_dired):
8450         [1].
8451
8452         * dumper.c:
8453         * dumper.c (pdump_file_unmap):
8454         * dumper.c (pdump_load):
8455         [1].
8456
8457         * editfns.c:
8458         * editfns.c (Ftemp_directory):
8459         * editfns.c (user_login_name):
8460         * editfns.c (Fuser_real_login_name):
8461         * editfns.c (get_home_directory):
8462         [1].
8463
8464         * elhash.c (finish_marking_weak_hash_tables):
8465         [[[[5]]]]: Fix GCC warnings.
8466
8467         * emacs.c:
8468         * emacs.c (mswindows_handle_hardware_exceptions):
8469         * emacs.c (make_arg_list_1):
8470         * emacs.c (main_1):
8471         * emacs.c (Fkill_emacs):
8472         * emacs.c (Fdump_emacs):
8473         [1].
8474         Fix problems with nested crashes, add long comment.
8475
8476         * event-Xt.c (init_event_Xt_late):
8477         [1].
8478
8479         * event-msw.c:
8480         * event-msw.c (mswindows_dde_callback):
8481         * event-msw.c (mswindows_handle_sticky_modifiers):
8482         * event-msw.c (mswindows_wnd_proc):
8483         [1].
8484         [5].
8485
8486         * events.c (character_to_event):
8487         [1].
8488
8489         * fileio.c:
8490         * fileio.c (Ffile_name_directory):
8491         * fileio.c (Ffile_name_nondirectory):
8492         * fileio.c (directory_file_name):
8493         * fileio.c (Fexpand_file_name):
8494         * fileio.c (Fsubstitute_in_file_name):
8495         * fileio.c (Ffile_name_absolute_p):
8496         * fileio.c (check_executable):
8497         * fileio.c (Ffile_readable_p):
8498         * fileio.c (Ffile_accessible_directory_p):
8499         * fileio.c (Ffile_modes):
8500         * fileio.c (Funix_sync):
8501         * fileio.c (vars_of_fileio):
8502         [1]. [4].
8503
8504         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
8505
8506         Expand getdefdir defn.
8507         Fix bogus rename() comment.
8508
8509         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
8510         to use standard XEmacs include files, e.g. sysfile.h, rather
8511         than system-specific includes.
8512
8513         * fns.c:
8514         * fns.c (Fsubseq):
8515         [5]. [6].
8516
8517         * frame.c (vars_of_frame):
8518         [1].
8519
8520         * getloadavg.c:
8521         * getloadavg.c (getloadavg):
8522         [1]. [6].
8523         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
8524         (We don't use it elsewhere in the code; just add a comment.)
8525
8526         * gif_io.c:
8527         [6].
8528         Add config.h.
8529
8530         * glyphs-msw.c:
8531         * glyphs-msw.c (mswindows_resource_instantiate):
8532         [1].
8533
8534         * glyphs-x.c (x_native_layout_instantiate):
8535         [5].
8536
8537         * gui-msw.c (Fmswindows_shell_execute):
8538         [1].
8539
8540         * insdel.c:
8541         [4].
8542
8543         * lisp.h:
8544         [4]. [5].
8545
8546         * lread.c (locate_file_in_directory_mapper):
8547         [1].
8548
8549         * lstream.c:
8550         [4].
8551
8552         * mem-limits.h:
8553         * mem-limits.h (get_lim_data):
8554         [1].
8555
8556         * menubar-msw.c:
8557         [4].
8558
8559         * ndir.h:
8560         [1].
8561
8562         * nt.c:
8563         * nt.c (getwd):
8564         * nt.c (closedir):
8565         * nt.c (rva_to_section):
8566         * nt.c (mswindows_executable_type):
8567         [1]. [6].
8568         Fix closedir() defn.
8569
8570         * nt.h:
8571         [[[[8]]]]: *_OK defs moved to sysfile.h.
8572
8573         * ntproc.c:
8574         [6]. [7].
8575
8576         * objects-x.c:
8577         [4].
8578
8579         * print.c:
8580         * print.c (std_handle_out_external):
8581         [1]. [4].
8582
8583         * process-nt.c:
8584         * process-nt.c (nt_create_process):
8585         [6].
8586         try to fix process quoting somewhat.
8587
8588         * process-unix.c (unix_create_process):
8589         [1].
8590
8591         * process.c:
8592         * process.c (vars_of_process):
8593         Add Vnull_device.
8594
8595         * process.h:
8596         [1].
8597
8598         * realpath.c:
8599         * realpath.c (xrealpath):
8600         [1].
8601
8602         * redisplay-tty.c (init_tty_for_redisplay):
8603         [3].
8604
8605         * redisplay.c:
8606         [4]. [6].
8607
8608         * scrollbar-msw.c:
8609         [4].
8610
8611         * sheap.c:
8612         * sheap.c (more_static_core):
8613         * sheap.c (report_sheap_usage):
8614         [5]. [6].
8615
8616         * signal.c:
8617         * signal.c (alarm_signal):
8618         [1]. [6].
8619
8620         * sound.c:
8621         [6].
8622
8623         * strftime.c:
8624         * strftime.c (zone_name):
8625         [1]. [5].
8626
8627         * symsinit.h (init_sunpro):
8628         [1].
8629
8630         * syscommctrl.h:
8631         commctrl.h not in Cygwin b20.1.
8632
8633         * sysdep.c:
8634         * sysdep.c (endif):
8635         * sysdep.c (sys_subshell):
8636         * sysdep.c (init_baud_rate):
8637         * sysdep.c (emacs_get_tty):
8638         * sysdep.c (emacs_set_tty):
8639         * sysdep.c (tty_init_sys_modes_on_device):
8640         * sysdep.c (init_system_name):
8641         * sysdep.c (sys_open):
8642         * sysdep.c (interruptible_open):
8643         * sysdep.c (sys_fopen):
8644         * sysdep.c (sys_mkdir):
8645         * sysdep.c (sys_rename):
8646         * sysdep.c (get_process_times_1):
8647         [1]. [6].
8648
8649         * sysdep.h:
8650         [1].
8651
8652         * sysdir.h:
8653         * sysdir.h (DIRENTRY_NONEMPTY):
8654         [1]. [6].
8655
8656         * sysdll.c (dll_init):
8657         * sysdll.h:
8658         [1].
8659
8660         * sysfile.h:
8661         [1]. [6]. [8].
8662         added text/binary defs.
8663
8664         * sysfloat.h:
8665         [1].
8666
8667         * sysproc.h:
8668         * sysproc.h (EDESTADDRREQ):
8669         * sysproc.h (poll_fds_for_input):
8670         [1]. [6].
8671
8672         * syspwd.h:
8673         [6].
8674
8675         * syssignal.h:
8676         [1].
8677
8678         * systime.h:
8679         [1]. [6].
8680
8681         * systty.h:
8682         [1].
8683
8684         * syswindows.h:
8685         [1].
8686         Always define WIN32_LEAN_AND_MEAN.
8687
8688         * unexcw.c (unexec):
8689         [5].
8690
8691         * unexec.c:
8692         * unexec.c (copy_text_and_data):
8693         * unexec.c (adjust_lnnoptrs):
8694         [1].
8695
8696         * unexnt.c:
8697         * unexnt.c (_start):
8698         [1].
8699
8700 2000-06-07  Ben Wing  <ben@xemacs.org>
8701
8702         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
8703         was used only as a model.  We've long since extracted any useful
8704         logic or code out of this. (I just did an exhaustive search.)
8705
8706         * s\msdos.h: Removed.
8707
8708         * s\windows95.h: Removed.
8709
8710 2000-06-10  Ben Wing  <ben@xemacs.org>
8711
8712         * s\cygwin32.h:
8713         [1]. [5].
8714         Don't use extern with fun defs.
8715
8716         * s\mingw32.h:
8717         [1]. [7].
8718         Remove nt\inc include.
8719         Remove getdisk, getdefdir. (The former is unused, the latter
8720         expanded in fileio.h.)
8721
8722         * s\windowsnt.h:
8723         * s\windowsnt.h (WIN32_NATIVE):
8724         * s\windowsnt.h (HAVE_STRCASECMP):
8725         [1]. [7].
8726         Add long comment about preprocessor changes.
8727         Remove getdisk, getdefdir. (The former is unused, the latter
8728         expanded in fileio.h.)
8729
8730 2000-06-10  Ben Wing  <ben@xemacs.org>
8731
8732         * m\arm.h:
8733         * m\delta.h:
8734         * m\intel386.h:
8735         * m\sequent.h:
8736         * m\template.h:
8737         * m\windowsnt.h:
8738         [1].
8739         Remove bogus/unused NO_SOCK_SIGIO.
8740
8741 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
8742
8743         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
8744         not an Emchar.
8745
8746 2000-06-04  Mike Sperber <mike@xemacs.org>
8747
8748         * casetab.c (set_case_table): For `set-standard-case-table',
8749         actually deposit the new case tables where the rest of XEmacs can
8750         see them.
8751
8752 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
8753
8754         * data.c (Faset): Don't cast XCHAR() to unsigned char.
8755
8756 2000-06-05  Ben Wing  <ben@xemacs.org>
8757
8758         * callproc.c (child_setup): Don't do close_load_descs() under
8759         MS Windows.  Put in a comment explaining why.
8760
8761 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
8762
8763         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
8764         Toolkit shell" which breaks `kill-compilation' on Windows NT
8765         native, retaining STDERR handling improvements.
8766
8767 2000-06-01  Andreas Jaeger  <aj@suse.de>
8768
8769         * s/s390.h: Support for S390, based on a patch by Martin
8770         Schwidefsky <schwidefsky@de.ibm.com>.
8771
8772 2000-05-30  Andy Piper  <andy@xemacs.org>
8773
8774         * window.c (allocate_window):
8775         (make_dummy_parent):
8776         (Fset_window_configuration): use new hashtable type.
8777
8778         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
8779         (struct image_instantiator_methods):
8780         (struct Lisp_Image_Instance): make instance geometry signed.
8781
8782         * glyphs.c (instantiate_image_instantiator):
8783         (image_instance_query_geometry):
8784         (image_instance_layout):
8785         (image_instance_layout):
8786         (query_string_geometry):
8787         (text_query_geometry):
8788         (image_instantiate):
8789         (image_instantiate):
8790         (cache_subwindow_instance_in_frame_maybe):
8791         (subwindow_query_geometry): make instance geometry signed.
8792
8793         * glyphs-widget.c (widget_query_geometry):
8794         (widget_layout):
8795         (button_query_geometry):
8796         (tree_view_query_geometry):
8797         (tab_control_query_geometry):
8798         (layout_query_geometry):
8799         (layout_layout):
8800         (native_layout_layout): make instance geometry signed.
8801
8802 2000-05-29  Olivier Galibert  <galibert@pobox.com>
8803
8804         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
8805         constant.
8806
8807         * general.c (syms_of_general): Add Qfull_assoc symbol.
8808
8809         * data.c (finish_marking_weak_lists): Mark full-assoc lists
8810         correctly.
8811         (decode_weak_list_type): Decode full-assoc type.
8812         (encode_weak_list_type): Encode full-assoc type.
8813         (Fmake_weak_list): Update doc string.
8814
8815 2000-05-30  Andy Piper  <andy@xemacs.org>
8816
8817         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
8818
8819         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
8820         (decode_hash_table_weakness): ditto.
8821         (Fhash_table_weakness): ditto.
8822         (Fhash_table_type): ditto.
8823         (finish_marking_weak_hash_tables): ditto.
8824         (hash_table_weakness_validate): ditto.
8825         (syms_of_elhash): ditto.
8826
8827 2000-05-28  Martin Buchholz <martin@xemacs.org>
8828
8829         * XEmacs 21.2.34 is released.
8830
8831 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8832
8833         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
8834         start cache.
8835         (updating_line_start_cache): Gone.
8836         (regenerate_window): Replace resetting of VERTICAL_CLIP by
8837         generic code to force a minimum of 1 line laid out in the
8838         CMOTION_DISP case.
8839
8840 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
8841
8842         * glyphs.c (instantiate_image_instantiator): Check for initialized
8843         height & width no longer special cases IMAGE_NOTHING.
8844         (nothing_instantiate): Set height and width of instance.
8845
8846 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8847
8848         * unexelf.c (unexec): Search for ".data" section.
8849         Initialize new_data2_offset from old_data_index.
8850         Remove redundant check for ElfW.
8851
8852 2000-05-23  Andy Piper  <andy@xemacs.org>
8853
8854         * glyphs.c (get_image_instantiator_governing_domain): allow more
8855         specific domains as the governing domain rather than expecting an
8856         exact match. This fixes problems with layouts.
8857
8858 2000-05-22  Andy Piper  <andy@xemacs.org>
8859
8860         * redisplay-output.c (compare_runes): check for non-images
8861
8862         * glyphs.c (set_glyph_dirty_p): ditto.
8863         (update_glyph_cachel_data): ditto.
8864
8865         * glyphs-widget.c (layout_post_instantiate): ditto.
8866         (layout_post_instantiate): ditto.
8867
8868         * event-msw.c (mswindows_wnd_proc): warning removal.
8869
8870 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
8871
8872         * s\mingw32.h: Added #undef for CLASH_DETECTION.
8873
8874         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
8875
8876         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
8877
8878         * nt.c (rva_to_section): mingw32 needs rva_to_section.
8879         (mswindows_executable_type): mingw32 now has enough headers for
8880         this to work.
8881
8882 2000-05-20  Andy Piper  <andy@xemacs.org>
8883
8884         * console-msw.c (mswindows_output_last_error): ; -> ,
8885
8886 2000-05-12  Andy Piper  <andy@xemacs.org>
8887
8888         * console-msw.c (FROB): compare ints with ints.
8889
8890 2000-05-11  Andy Piper  <andy@xemacs.org>
8891
8892         * glyphs-x.c (x_finalize_image_instance): make minimal build
8893         happy.
8894
8895 2000-05-20  Ben Wing  <ben@xemacs.org>
8896
8897         * event-Xt.c:
8898         * event-Xt.c (vars_of_event_Xt):
8899         move modifier-keys-are-sticky to event-stream.c.
8900
8901         * event-msw.c:
8902         * event-msw.c (mswindows_enqueue_mouse_button_event):
8903         * event-msw.c (key_needs_default_processing_p):
8904         * event-msw.c (XEMSW_LCONTROL):
8905         * event-msw.c (mswindows_handle_sticky_modifiers):
8906         * event-msw.c (FROB):
8907         * event-msw.c (clear_sticky_modifiers):
8908         * event-msw.c (output_modifier_keyboard_state):
8909         * event-msw.c (output_alt_keyboard_state):
8910         * event-msw.c (mswindows_wnd_proc):
8911         * event-msw.c (mswindows_modifier_state):
8912         * event-msw.c (emacs_mswindows_handle_magic_event):
8913         implement sticky modifiers.
8914
8915         * event-stream.c:
8916         * event-stream.c (vars_of_event_stream):
8917         move modifier-keys-are-sticky here.
8918
8919         * lisp.h:
8920         add CHECK_FUNCTION.
8921
8922         * rangetab.c:
8923         implement map-range-table.
8924
8925
8926 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
8927
8928         * redisplay-tty.c (reset_tty_modes):
8929         (tty_redisplay_shutdown): Adjust argument type to
8930         tty_frame_output_end.
8931
8932 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8933
8934         * eval.c (Fbacktrace): Don't output a line with only right
8935         parenthesis.
8936
8937 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8938
8939         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8940         (Fpq_reset_poll): Ditto.
8941
8942 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8943
8944         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8945
8946 2000-05-16  Ben Wing  <ben@xemacs.org>
8947
8948         * buffer.c:
8949         * buffer.c (dfc_convert_to/from_internal_format):
8950         * buffer.c (reinit_vars_of_buffer):
8951         Fix conversion functions to allow reentrancy.
8952
8953         * console-msw.c:
8954         * console-msw.c (mswindows_output_last_error):
8955         New fun, generally useful -- output a human-readable
8956         version of GetLastError() on the console.
8957
8958         * console-msw.h:
8959         * console-msw.h (struct mswindows_frame):
8960         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8961
8962         * console-stream.c (stream_output_begin):
8963         * console-stream.c (stream_output_end):
8964         * console-stream.c (stream_output_vertical_divider):
8965         * console-stream.c (stream_clear_region):
8966         * console-stream.c (stream_flash):
8967         * console-stream.c (console_type_create_stream):
8968         Delete blank stream methods, not needed.
8969
8970         * console.h (struct console_methods):
8971         Split begin/end methods into window and frame.
8972
8973         * event-msw.c:
8974         * event-msw.c (mswindows_handle_paint):
8975         * event-msw.c (output_alt_keyboard_state):
8976         * event-msw.c (mswindows_wnd_proc):
8977         * event-msw.c (vars_of_event_mswindows):
8978         Comment about problems with ignored-expose.
8979         Define mswindows-debug-events; not really implemented.
8980
8981         * frame-msw.c (mswindows_init_frame_1):
8982         random cleanups.
8983
8984         * glyphs-msw.c:
8985         * glyphs-msw.c (begin_defer_window_pos):
8986         * glyphs-msw.c (mswindows_unmap_subwindow):
8987         * glyphs-msw.c (mswindows_map_subwindow):
8988         * glyphs-msw.c (mswindows_resize_subwindow):
8989         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8990
8991         * glyphs.c (make_image_instance_1):
8992         Fix crash.
8993
8994         * gutter.c (Fredisplay_gutter_area):
8995         Use new begin/end methods.
8996
8997         * lisp.h (Dynarr_new2):
8998         New creation fun.
8999
9000         * redisplay-msw.c:
9001         * redisplay-msw.c (mswindows_frame_output_begin):
9002         * redisplay-msw.c (mswindows_frame_output_end):
9003         * redisplay-msw.c (console_type_create_redisplay_mswindows):
9004         New begin/end methods -- handle DeferWindowPos.
9005
9006         * redisplay-output.c (redisplay_move_cursor):
9007         * redisplay-output.c (redraw_cursor_in_window):
9008         * redisplay-output.c (redisplay_update_line):
9009         * redisplay-output.c (redisplay_output_window):
9010         New begin/end methods.
9011
9012         * redisplay-tty.c:
9013         * redisplay-tty.c (tty_frame_output_begin):
9014         * redisplay-tty.c (tty_frame_output_end):
9015         * redisplay-tty.c (console_type_create_redisplay_tty):
9016         New begin/end methods.
9017
9018         * redisplay-x.c:
9019         * redisplay-x.c (x_window_output_begin):
9020         * redisplay-x.c (x_window_output_end):
9021         * redisplay-x.c (console_type_create_redisplay_x):
9022         New begin/end methods.
9023
9024         * redisplay.c (redisplay_frame):
9025         * redisplay.c (Fredisplay_echo_area):
9026         New begin/end methods.
9027         use MAYBE_DEVMETH for clear_frame; it may not exist.
9028
9029         * window.h (WINDOW_XFRAME):
9030         WINDOW_XFOO macros -- get locale and decode struct pointer.
9031
9032
9033 2000-05-12  Ben Wing  <ben@xemacs.org>
9034
9035         * emacs.c:
9036         * emacs.c (ensure_no_quitting_from_now_on):
9037         * emacs.c (fatal_error_signal):
9038         * emacs.c (mswindows_handle_hardware_exceptions):
9039         * emacs.c (main):
9040         * emacs.c (Fkill_emacs):
9041         * emacs.c (shut_down_emacs):
9042         * emacs.c (assert_failed):
9043         various improvements in fatal error handling.
9044
9045         * eval.c:
9046         move preparing_for_armageddon to emacs.c.
9047
9048         * lisp.h:
9049         declare fatal_error_in_progress.
9050
9051         * print.c:
9052         * print.c (std_handle_out_external):
9053         * print.c (std_handle_out_va):
9054         * print.c (stderr_out):
9055         * print.c (stdout_out):
9056         use console under mswin when no standard output.
9057         don't do code conversion during fatal error.
9058
9059         * scrollbar.c (Fscrollbar_page_up):
9060         * scrollbar.c (Fscrollbar_page_down):
9061         fix missing else.  reindent.
9062
9063 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
9064
9065         Emergency fix.
9066
9067         * glyphs.h (GLYPH_CACHEL_DESCENT):
9068         (GLYPH_CACHEL_DESCENT):
9069         (GLYPH_CACHEL_DESCENT):
9070         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
9071         used in case these are inline functions.
9072         Use more absurd values to error check.
9073
9074         include window.h for error check functions.
9075
9076 2000-05-11  Ben Wing  <ben@xemacs.org>
9077
9078         * cmdloop.c (Freally_early_error_handler):
9079         Display message box under windows; otherwise, message will disappear
9080         before it can be viewed.
9081
9082         * console-msw.c:
9083         * console-msw.c (Fmswindows_message_box):
9084         * console-msw.c (FROB):
9085         * console-msw.c (syms_of_console_mswindows):
9086         Define new fun `mswindows-message-box'.
9087         #### I will merge this into `popup-dialog-box'; just give me
9088         a bit of time.
9089
9090         * general.c:
9091         * general.c (syms_of_general):
9092         Some new symbols used in `mswindows-message-box'.
9093
9094         * glyphs.c:
9095         * glyphs.c (Fset_image_instance_property):
9096         put warning in this fun.
9097
9098         * glyphs.h:
9099         * glyphs.h (GLYPH_CACHEL_WIDTH):
9100         * glyphs.h (GLYPH_CACHEL_ASCENT):
9101         * glyphs.h (GLYPH_CACHEL):
9102         * glyphs.h (GLYPH_CACHEL_GLYPH):
9103         define error-checking versions to try to catch a bug i've seen --
9104         redisplay gets in an infinite loop because the glyph width of the
9105         continuation glyph is 65535.
9106
9107         * lisp.h:
9108         Extern message-box stuff.
9109
9110         * window.c (allocate_window):
9111         * window.c (make_dummy_parent):
9112         * window.c (Fset_window_configuration):
9113         Use EQUAL not EQ for subwindow caches to make them work a bit
9114         better. (Something is still very broken.)
9115
9116
9117 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
9118
9119         * glyphs.c (image_instantiate): Suppress gcc warnings.
9120         (Fmake_image_instance): Fix doc string.
9121         * specifier.c (Fmake_specifier): Ditto.
9122
9123 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
9124
9125         * paths.h.in (PATH_LOCK): Removed.
9126         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
9127         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
9128
9129 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9130
9131         * fns.c (Ffeaturep): Update e-mail address in doc-string.
9132         Document (featurep '(and xemacs 21.02)).
9133
9134 2000-05-09  Ben Wing  <ben@xemacs.org>
9135
9136         * buffer.c (complex_vars_of_buffer):
9137         update modeline-format doc.
9138
9139         * device.h:
9140         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
9141
9142         * emacs.c:
9143         timeline of all released versions of Emacs, for use in creating
9144         authorship comments and in synching up.
9145
9146         * glyphs-widget.c (image_instantiator_buttons):
9147         * glyphs-widget.c (image_instantiator_edit_fields):
9148         * glyphs-widget.c (image_instantiator_combo_box):
9149         * glyphs-widget.c (image_instantiator_scrollbar):
9150         * glyphs-widget.c (image_instantiator_progress_guage):
9151         * glyphs-widget.c (image_instantiator_tree_view):
9152         * glyphs-widget.c (image_instantiator_tab_control):
9153         * glyphs-widget.c (image_instantiator_labels):
9154         * glyphs-widget.c (image_instantiator_layout):
9155         * glyphs-widget.c (image_instantiator_native_layout):
9156         rename decode_domain method to governing_domain.
9157
9158         * glyphs.c:
9159         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
9160         * glyphs.c (add_entry_to_device_ii_format_list):
9161         make sure we don't put an entry more than once into the list.
9162         * glyphs.c (check_instance_cache_mapper):
9163         *************************************************************
9164         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9165         HAVE BEEN GETTING.
9166         *************************************************************
9167         * glyphs.c (get_image_instantiator_governing_domain):
9168         clean up, expand on new concept of governing domain.
9169         * glyphs.c (instantiate_image_instantiator):
9170         * glyphs.c (allocate_image_instance):
9171         use governing_domain instead of cache_domain in naming.
9172         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
9173         * glyphs.c (make_image_instance_1):
9174         * glyphs.c (Fmake_image_instance):
9175         allow for any domain (not just device), and process the
9176         governing domain correctly.  very big doc fix.
9177         * glyphs.c (Fimage_instance_domain):
9178         new primitive, to retrieve the governing domain of an image instance.
9179         * glyphs.c (image_instantiate):
9180         use new governing_domain stuff.  this fixes a crash you could get
9181         by instantiating certain widget glyphs in frame locales. (should
9182         signal an error instead of crashing.)
9183         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
9184         * glyphs.c (Fglyphp): clean up doc.
9185         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
9186         * glyphs.c (syms_of_glyphs):
9187         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
9188         * glyphs.c (image_instantiator_format_create): add some comments about
9189         bogus code.
9190         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
9191         for current-display-table. (Apparently Hrjove implemented in 1998 a
9192         design I wrote up in 1996, but didn't update the doc string.)
9193
9194         * glyphs.h: clean up a doc string.
9195         * glyphs.h (governing_domain):
9196         * glyphs.h (struct image_instantiator_methods):
9197         changes for governing_domain stuff.
9198
9199         * gutter.c:
9200         * gutter.c (Fgutter_specifier_p):
9201         * gutter.c (Fgutter_size_specifier_p):
9202         * gutter.c (Fgutter_visible_specifier_p):
9203         * objects.c:
9204         * objects.c (Fcolor_specifier_p):
9205         * objects.c (Ffont_specifier_p):
9206         * objects.c (Fface_boolean_specifier_p):
9207         doc strings moved to make-*-specifier.
9208
9209         * redisplay.c (add_disp_table_entry_runes_1):
9210         * redisplay.c (generate_fstring_runes):
9211         * redisplay.c (screen):
9212         add random comments and doc strings.
9213
9214         * specifier.c:
9215         * specifier.c (Fmake_specifier):
9216         major overhaul of this doc string.
9217
9218         * specifier.c (Fvalid_specifier_domain_p):
9219         comment about the bogosity of image instances being domains.
9220         * specifier.c (decode_domain):
9221         now non-static, used in glyphs.c.
9222         * specifier.c (specifier_instance):
9223         comment about the bogosity of image instances being domains.
9224         * specifier.c (Fgeneric_specifier_p):
9225         move doc string to make-generic-specifier.
9226         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
9227         rebackslashify.
9228
9229         * specifier.h:
9230         * specifier.h (DOMAIN_FRAME):
9231         * specifier.h (DOMAIN_LIVE_P):
9232         * specifier.h (DOMAIN_XDEVICE):
9233         rebackslashify.
9234         add comments about problems with these macros.
9235         prototype for decode_domain.
9236
9237         * toolbar.c:
9238         * toolbar.c (Ftoolbar_specifier_p):
9239         move doc string to `make-toolbar-specifier'.
9240
9241         * window.c (window_unmap_subwindows_cache_mapper):
9242         *************************************************************
9243         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
9244         HAVE BEEN GETTING.
9245         *************************************************************
9246
9247 2000-05-09  Andy Piper  <andy@xemacs.org>
9248
9249         * glyphs.h: declare reset_frame_subwindow_instance_cache.
9250
9251         * window.c (Fset_window_configuration): reset the frame subwindow
9252         cache and re-initialize the window subwindow caches.
9253
9254         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
9255
9256 2000-05-09  Ben Wing  <ben@xemacs.org>
9257
9258         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
9259         DWORD.
9260
9261 2000-04-26  Mike Woolley  <mike@bulsara.com>
9262
9263         * ntheap.c: Changed recreate_heap to limit the amount reserved
9264         for the heap to that which is actually available. Also now
9265         displays a message box (with some dignostics) in the event that
9266         it still can't start.
9267
9268 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
9269
9270         * callproc.c (Fold_call_process_internal): GCPRO path
9271
9272 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
9273
9274         Patch by Bill Perry.
9275
9276         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
9277         back data instead of #ifdef.
9278         (Fscrollbar_page_down): ditto.
9279
9280 2000-05-07  Ben Wing  <ben@xemacs.org>
9281
9282         * buffer.h:
9283         Kludge for defining Qmswindows_tstr.
9284
9285         * nt.c:
9286         * nt.c (open_input_file):
9287         * nt.c (open_output_file):
9288         * nt.c (rva_to_section):
9289         * nt.c (mswindows_executable_type):
9290         Move all memory-mapped-file routines here (some were in unexnt.c,
9291         which is bad because they are used by process-nt.c, and unexnt
9292         won't be around when portable dumping).  Synched the above routines
9293         with FSF 20.6.
9294
9295         * nt.h:
9296         Removed ifdef'd out bogus code.
9297         Fixed some prototypes.
9298
9299         * nt.h (file_data):
9300         * nt.h (OFFSET_TO_RVA):
9301         * nt.h (RVA_TO_OFFSET):
9302         * nt.h (RVA_TO_PTR):
9303         Moved the memory-mapped-file structures, macros and prototypes
9304         here, to parallel nt.c.  ntheap.h should really be removed
9305         entirely, and it's a non-portable-dumper specific file.
9306
9307         * ntheap.h (round_to_next):
9308         Moved the memory-mapped-file structures, macros and prototypes
9309         to nt.h.
9310
9311         * ntproc.c (compare_env):
9312         Moved rva_to_section and mswindows_executable_type to nt.c.
9313         Moved compare_env to process-nt.c.
9314         ntproc.c will die, one day.
9315
9316         * ntproc.c (sys_spawnve):
9317         Account for win32_ -> mswindows_.
9318
9319         * process-nt.c:
9320         * process-nt.c (struct nt_process_data):
9321         * process-nt.c (ensure_console_window_exists):
9322         * process-nt.c (compare_env):
9323         * process-nt.c (nt_create_process):
9324         * process-nt.c (nt_kill_process_by_pid):
9325         * process-nt.c (syms_of_process_nt):
9326         * process-nt.c (vars_of_process_nt):
9327         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
9328         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
9329         changes).  Eliminate our old `nt-quote-process-args' mechanism.
9330         Synch up nt_create_process with FSF 20.6 sys_spawnve.
9331         Move compare_env here from ntproc.c.
9332
9333         * process.c (Fprocess_send_region):
9334         Takes an optional fourth argument, BUFFER, which should fix some
9335         problems with call-process.
9336
9337         * syscommctrl.h:
9338         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
9339
9340         * syswindows.h:
9341         Move ICC_BAR_CLASSES to syscommctrl.h.
9342         Add preliminary macros for MSWindows/Mule.  More to come.
9343
9344         * unexnt.c:
9345         * unexnt.c (unexec):
9346         open_output_file moved to nt.c.
9347
9348
9349 2000-05-05  Andy Piper  <andy@xemacs.org>
9350
9351         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
9352         instance from the frame cache also since GC may catch up too late
9353         to make frame deletion sane.
9354
9355 2000-05-04  Andy Piper  <andy@xemacs.org>
9356
9357         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
9358         (x_finalize_image_instance): ungcpro on deletion.
9359
9360         * glyphs.c (image_instantiator_format_create): give pointers a
9361         query geometry method so that the geometry is at least set.
9362
9363         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
9364         initialize layouts if using widgets.
9365
9366 2000-05-03  Andy Piper  <andy@xemacs.org>
9367
9368         * nt.c: remove bogus reference to sysmmsystem.h
9369
9370         * gui-x.c (popup_selection_callback): fix no selection abort.
9371
9372 2000-05-02  Andy Piper  <andy@xemacs.org>
9373
9374         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
9375         (mswindows_widget_instantiate): ditto.
9376
9377         * glyphs-widget.c (initialize_widget_image_instance): initialize
9378         children correctly.
9379         (widget_instantiate): cope with children and items in the same
9380         instance.
9381
9382         * glyphs.c (mark_image_instance): cope with children as a first
9383         class member.
9384         (image_instance_equal): ditto.
9385         (image_instance_hash): ditto.
9386         (image_instance_changed): ditto.
9387
9388 2000-04-30  Andy Piper  <andy@xemacs.org>
9389
9390         * glyphs.c (subwindow_query_geometry): new function. Return some
9391         defaults.
9392         (subwindow_instantiate): don't assign dimensions if none have been
9393         given.
9394         (image_instantiator_format_create): add subwindow_query_geometry.
9395         (print_image_instance): cope with layouts as widgets.
9396
9397 2000-04-29  Andy Piper  <andy@xemacs.org>
9398
9399         * frame.c (delete_frame_internal): call
9400         free_frame_subwindow_instance_cache so that all subwindows are
9401         finalized before their parent.
9402         (mark_frame): remove subwindow_cachels.
9403         (Fmake_frame): remove subwindow_cachel manipulation.
9404         (allocate_frame_core): subwindow_instance_cache is a weak list.
9405         (delete_frame_internal): set subwindow_instance_cache to nil.
9406
9407         * glyphs-msw.c (mswindows_finalize_image_instance): make double
9408         finalization safe.
9409         (mswindows_finalize_image_instance): use the device
9410         not the domain as the domain may have died already.
9411
9412         * glyphs-x.c (x_finalize_image_instance): ditto.
9413         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
9414         HEIGHT.
9415
9416         * redisplay-output.c (redisplay_unmap_subwindows): update for
9417         subwindow instance cache as a weak list.
9418         (redisplay_unmap_subwindows_maybe): ditto.
9419         (redisplay_unmap_subwindows_except_us): ditto.
9420
9421         * glyphs.c (unmap_subwindow): error checking will check the domain
9422         so don't deal with it here. Don't use cachels anymore.
9423         (map_subwindow): ditto.
9424         (update_subwindow_cachel_data): remove old accessor names.
9425         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
9426         (Fresize_subwindow): don't update cachel.
9427         (mark_subwindow_cachels):
9428         (update_subwindow_cachel_data):
9429         (add_subwindow_cachel):
9430         (get_subwindow_cachel_index):
9431         (update_subwindow_cachel):
9432         (reset_subwindow_cachels):
9433         (mark_subwindow_cachels_as_not_updated): deleted.
9434         (cache_subwindow_instance_in_frame_maybe): new function. Add a
9435         subwindow instance to the frame cache.
9436         (find_matching_subwindow): update for subwindow instance cache as
9437         a weak list.
9438         (update_widget_instances): ditto.
9439         (image_instance_type_to_mask):inlined.
9440         (free_frame_subwindow_instance_cache): new function. finalize all
9441         subwindows that are instantiated.
9442
9443         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
9444         of cachel information.
9445         (IMAGE_INSTANCE_DISPLAY_X):
9446         (IMAGE_INSTANCE_DISPLAY_Y):
9447         (IMAGE_INSTANCE_DISPLAY_WIDTH):
9448         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
9449         (XIMAGE_INSTANCE_DISPLAY_X):
9450         (XIMAGE_INSTANCE_DISPLAY_Y):
9451         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
9452         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
9453         remove subwindow_cachel structure and function references.
9454         (image_instance_type_to_mask): inline from glyphs.c
9455
9456         * redisplay.c (redisplay_frame): remove subwindow_cachel
9457         references.
9458
9459         * frame.h (struct frame): remove subwindow_cachels.
9460         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
9461
9462         * frameslots.h: add subwindow_instance_cache.
9463
9464         * window.c (replace_window): check subwindow cache of replacement.
9465         (window_unmap_subwindows_cache_mapper):
9466         (window_unmap_subwindows): new functions. Unmap all subwindows
9467         cached on this window.
9468         (mark_window_as_deleted): unmap all subwindows.
9469
9470 2000-04-27  Andy Piper  <andy@xemacs.org>
9471
9472         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
9473
9474         * glyphs-widget.c (widget_layout): return something.
9475         (layout_layout): return something. Fail if not initialized.
9476         (layout_query_geometry): ditto.
9477         (image_instantiator_native_layout): new function. Initialized the
9478         native layout type.
9479         (widget_instantiate): don't do layout stuff here.
9480
9481         * glyphs.c (instantiate_image_instantiator): reorded calling or
9482         instantiate and post_instantiate with layout in between.
9483         (image_instance_layout): be more selective about deciding whether
9484         the layout has been done or not.
9485
9486         * glyphs.h (struct image_instantiator_methods): return a value
9487         from layout_method.
9488
9489 2000-04-26  Andy Piper  <andy@xemacs.org>
9490
9491         * glyphs.c (allocate_image_instance): make initial width and
9492         height unspecified. Set initialized to 0.
9493
9494         * syscommctrl.h new file. Encapsulates commctrl.h.
9495
9496         * syswindows.h new file. Encapsulates windows.h.
9497
9498         * ntplay.c: use new syswindows.h and syscommctrl.h header.
9499         * nt.c: ditto.
9500         * console-msw.h: ditto.
9501
9502         * redisplay-tty.c (tty_output_display_block): remove layout references.
9503
9504         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
9505         window handle rather than just the frame.
9506
9507         * glyphs.c (mark_image_instance): remove layout references.
9508         (print_image_instance): ditto.
9509         (image_instance_equal): ditto.
9510         (image_instance_hash): ditto.
9511         (decode_image_instance_type): ditto.
9512         (encode_image_instance_type): ditto.
9513         (image_instantiate): ditto.
9514         (allocate_glyph): ditto.
9515         (Fimage_instance_height): ditto.
9516         (Fimage_instance_width): ditto.
9517         (update_subwindow): ditto.
9518
9519         * redisplay-x.c (x_output_display_block): recode for layouts as
9520         widgets.
9521
9522         * redisplay-output.c (redisplay_output_layout): recode for layouts
9523         as widgets.
9524         (compare_runes): remove layout references.
9525
9526         * redisplay-msw.c (mswindows_output_display_block): recode for
9527         layouts as widgets.
9528
9529         * glyphs-widget.c (image_instantiator_layout): remove
9530         layout_possible_dest_types.
9531         (layout_possible_dest_types): deleted.
9532
9533         * glyphs.h (image_instance_type): remove layout references.
9534         (struct Lisp_Image_Instance): ditto. Add initialized flag.
9535         (IMAGE_INSTANCE_INITIALIZED): new accessor.
9536         (XIMAGE_INSTANCE_INITIALIZED): ditto.
9537
9538 2000-04-25  Andy Piper  <andy@xemacs.org>
9539
9540         * glyphs-widget.c (image_instantiator_buttons):
9541         (image_instantiator_edit_fields):
9542         (image_instantiator_combo_box):
9543         (image_instantiator_scrollbar):
9544         (image_instantiator_progress_guage):
9545         (image_instantiator_tree_view):
9546         (image_instantiator_tab_control):
9547         (image_instantiator_labels):
9548         (image_instantiator_layout): call default post_instantiate method.
9549         (widget_post_instantiate): new function. Simply lays out the
9550         widgets.
9551
9552         * glyphs.h (struct image_instantiator_methods): add
9553         post_instantiate method.
9554
9555         * glyphs.c (instantiate_image_instantiator): add post_instantiate
9556         method calls.
9557
9558 2000-04-23  Andy Piper  <andy@xemacs.org>
9559
9560         * glyphs.h (struct image_instantiator_methods): add
9561         decode_domain_method.
9562         (struct Lisp_Image_Instance): remove subwindow frame - it can be
9563         derived from the domain.
9564         (IMAGE_INSTANCE_FRAME): new accessor.
9565         (XIMAGE_INSTANCE_FRAME): ditto.
9566
9567         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
9568         instead of _SUBWINDOW_FRAME.
9569         (finalize_image_instance): ditto.
9570         (Fimage_instance_foreground): ditto.
9571         (Fimage_instance_background): ditto.
9572         (image_instantiate): ditto.
9573         (update_subwindow_cachel): ditto.
9574         (update_subwindow): ditto.
9575         (unmap_subwindow): ditto.
9576         (map_subwindow): ditto
9577         (subwindow_instantiate): ditto.
9578         * glyphs-msw.c (mswindows_update_widget): ditto.
9579         (mswindows_progress_gauge_instantiate): ditto.
9580         (mswindows_tab_control_update): ditto.
9581         * glyphs-x.c (x_update_widget): ditto.
9582         (x_widget_instantiate): ditto.
9583         (x_tab_control_instantiate): ditto.
9584         (x_tab_control_update): ditto.
9585         * event-msw.c (mswindows_wnd_proc): ditto
9586
9587         * glyphs-widget.c (image_instantiator_layout): use
9588         subwindow_decode_domain.
9589         (image_instantiator_buttons): ditto.
9590         (image_instantiator_edit_fields): ditto.
9591         (image_instantiator_combo_box): ditto.
9592         (image_instantiator_scrollbar): ditto.
9593         (image_instantiator_progress_guage): ditto.
9594         (image_instantiator_tree_view): ditto.
9595         (image_instantiator_tab_control): ditto.
9596         (image_instantiator_labels): ditto.
9597         (image_instantiator_layout): ditto.
9598
9599         * glyphs.c: add instance error checking to many functions.
9600         (instantiate_image_instantiator): decode device from cache_domain.
9601         (image_instantiate): partially rewrite by using
9602         decode_image_instantiator_domain to determine what domain the
9603         instance needs to be cached in.
9604         (decode_image_instantiator_domain): new function. Determine what
9605         domain the image needs to be cached in.
9606         (check_window_subwindow_cache): new error checking function.
9607         (check_instance_cache_mapper): ditto.
9608         (check_image_instance_structure): ditto.
9609         (subwindow_decode_domain): new function. Encodes a window as a
9610         subwindow's cache domain.
9611         (image_instantiator_format_create): use it for text and
9612         subwindows.
9613
9614 2000-04-21  Andy Piper  <andy@xemacs.org>
9615
9616         * glyphs.c (image_instance_device): new function.
9617         (image_instance_frame): new function.
9618         (image_instance_window): new function.
9619         (image_instance_live_p): new function.
9620
9621         * window.c (mark_window_as_deleted): reset the subwindow_instance_
9622         cache to nil.
9623
9624         * glyphs.h (struct Lisp_Image_Instance): device->domain.
9625         (IMAGE_INSTANCE_DOMAIN): new accessor.
9626         (XIMAGE_INSTANCE_DOMAIN): ditto.
9627
9628         * glyphs-x.c (x_finalize_image_instance): device->domain.
9629
9630         * glyphs-msw.c (init_image_instance_geometry): device->domain.
9631         (mswindows_finalize_image_instance): ditto.
9632
9633         * glyphs-eimage.c (jpeg_instantiate): device->domain.
9634         (gif_instantiate): ditto.
9635         (png_instantiate): ditto.
9636         (tiff_instantiate): ditto.
9637
9638         * glyphs.c (instantiate_image_instantiator): use domain rather
9639         than device.
9640         (mark_image_instance): device -> domain.
9641         (print_image_instance): ditto.
9642         (finalize_image_instance): ditto.
9643         (image_instance_equal): ditto.
9644         (allocate_image_instance): ditto.
9645         (Fcolorize_image_instance): ditto.
9646         (query_string_geometry): ditto.
9647         (image_instantiate): ditto
9648         (query_string_font): ditto.
9649         (image_instantiate): ditto.
9650         (update_subwindow): ditto.
9651         (unmap_subwindow): ditto.
9652         (map_subwindow): ditto.
9653         (subwindow_instantiate): ditto.
9654
9655         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
9656         (DOMAIN_FRAME): ditto.
9657         (DOMAIN_WINDOW): ditto.
9658         (DOMAIN_LIVE_P): ditto.
9659         (XDOMAIN_DEVICE): ditto.
9660         (XDOMAIN_FRAME): ditto.
9661         (XDOMAIN_WINDOW): ditto.
9662
9663         * specifier.c (Fvalid_specifier_domain_p): add image instances as
9664         a valid specifier domain.
9665
9666 2000-04-19  Andy Piper  <andy@xemacs.org>
9667
9668         * glyphs-widget.c (syms_of_glyphs_widget): remove
9669         widget-callback-current-channel.
9670         (vars_of_glyphs_widget): ditto.
9671         * glyphs.h: ditto
9672
9673         * gui.c (get_gui_callback): revert to previous behaviour.
9674
9675 2000-04-18  Andy Piper  <andy@xemacs.org>
9676
9677         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
9678         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
9679         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
9680
9681         * glyphs.c (image_instance_equal): add margin_width.
9682         (image_instance_hash): ditto.
9683
9684         * glyphs-widget.c (widget_instantiate): deal with margin-width.
9685         (layout_query_geometry): ditto.
9686         (layout_layout): ditto.
9687         (syms_of_glyphs_widget): add margin-width.
9688         (image_instantiator_layout): allow margin-width.
9689
9690         * glyphs.c (update_widget_instances): make a normal function.
9691         (syms_of_glyphs): remove Qupdate_widget_instances.
9692         * glyphs.h: ditto.
9693
9694         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
9695         so that we don't corrupt ideas about the last event or
9696         command. Remove widget-callback-current-channel fiddling.
9697         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9698
9699 2000-05-01  Martin Buchholz <martin@xemacs.org>
9700
9701         * XEmacs 21.2.33 is released.
9702
9703 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
9704
9705         * make-src-depend: Allow dots in header file name.
9706
9707 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
9708
9709         * mule-charset.h (struct charset_lookup): Add
9710         next_allocated_1_byte_leading_byte and
9711         next_allocated_2_byte_leading_byte.
9712         * mule-charset.c: Move above two variables so that those values
9713         will be dumped.
9714
9715 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
9716
9717         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
9718         when string length is zero.
9719         (find_charsets_in_emchar_string): Ditto.
9720
9721 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
9722
9723         * lisp.h: extern Qdialog and Qmenubar.
9724
9725         * gui-x.c: added events.h.
9726                 also fixed typo which made the file uncompilable.
9727
9728         * general.c: Added Qmenubar and Qdialog
9729
9730 2000-04-28  Ben Wing  <ben@xemacs.org>
9731
9732         * frame-msw.c (mswindows_init_frame_1):
9733         * frame-msw.c (mswindows_mark_frame):
9734         * event-msw.c (mswindows_enqueue_dispatch_event):
9735         * console-msw.h:
9736         * console-msw.h (struct mswindows_frame):
9737         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
9738         there are now three hash tables for callbacks.
9739         mswindows_enqueue_dispatch_event is no longer static.
9740
9741         * dialog-x.c (maybe_run_dbox_text_callback):
9742         * dialog-x.c (dbox_descriptor_to_widget_value):
9743         switch to new cons3 form for callbacks.
9744
9745         * glyphs-msw.c (mswindows_register_gui_item):
9746         * glyphs-msw.c (mswindows_widget_instantiate):
9747         * glyphs-msw.c (add_tree_item):
9748         * glyphs-msw.c (add_tab_item):
9749         new image instance parameter, so it can be passed to callback-ex.
9750         respect :callback-ex as well as :callback.
9751
9752         * glyphs-widget.c (VALID_GUI_KEYWORDS):
9753         add :callback-ex.
9754
9755         * glyphs.c (print_image_instance):
9756         prettify, e.g. now prints widget type.
9757
9758         * gui-x.h:
9759         certain funs have new image instance parameter.
9760
9761         * gui.c:
9762         * gui.c (get_gui_callback):
9763         * gui.c (gui_item_add_keyval_pair):
9764         * gui.c (gui_item_init):
9765         * gui.c (gui_add_item_keywords_to_plist):
9766         * gui.c (mark_gui_item):
9767         * gui.c (gui_item_hash):
9768         * gui.c (gui_item_equal):
9769         * gui.c (copy_gui_item):
9770         * gui.c (syms_of_gui):
9771         recognize callback-ex in a number of places.
9772         also, fix the annoying "can't get out of yes-no dialog" bug.
9773
9774         * gui.h:
9775         * gui.h (struct Lisp_Gui_Item):
9776         recognize callback-ex in a number of places.
9777
9778         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9779         new parameter in button_item_to_widget_value.
9780
9781         * glyphs-x.c (x_update_widget):
9782         * glyphs-x.c (x_button_instantiate):
9783         * glyphs-x.c (x_button_update):
9784         * glyphs-x.c (x_progress_gauge_instantiate):
9785         * glyphs-x.c (x_edit_field_instantiate):
9786         * glyphs-x.c (x_combo_box_instantiate):
9787         * glyphs-x.c (x_tab_control_instantiate):
9788         * glyphs-x.c (x_label_instantiate):
9789         new image instance parameter in various places.
9790
9791         * event-Xt.c:
9792         * event-Xt.c (enqueue_Xt_dispatch_event):
9793         this fun gets exported.
9794
9795         * gui-msw.c:
9796         * gui-msw.c (mswindows_handle_gui_wm_command):
9797         handle both :callback and :callback-ex, and generate our own
9798         event because it's one of the callback-ex arguments.
9799
9800         * gui-x.c:
9801         * gui-x.c (popup_selection_callback):
9802         handle both :callback and :callback-ex, and generate our own
9803         event because it's one of the callback-ex arguments.
9804         * gui-x.c (button_item_to_widget_value):
9805         * gui-x.c (gui_items_to_widget_values_1):
9806         * gui-x.c (gui_item_children_to_widget_values):
9807         * gui-x.c (gui_items_to_widget_values):
9808         new image instance parameter in various places.
9809
9810         * fns.c (Freplace_list):
9811         fix small typo in doc string.
9812
9813         * lisp.h:
9814         declare enqueue_Xt_dispatch_event.
9815
9816 2000-04-28  Ben Wing  <ben@xemacs.org>
9817
9818         * buffer.c:
9819         * buffer.c (Frecord_buffer):
9820         * buffer.c (syms_of_buffer):
9821         delete record-buffer-hook.
9822
9823         * fns.c:
9824         * fns.c (Freplace_list):
9825         * fns.c (syms_of_fns):
9826         new primitive replace-list.
9827
9828         * frameslots.h:
9829         slot for old buffer-alist.
9830
9831         * lisp.h:
9832         exfun replace-list.
9833
9834         * redisplay.c:
9835         * redisplay.c (redisplay_frame):
9836         * redisplay.c (syms_of_redisplay):
9837         * redisplay.c (vars_of_redisplay):
9838         new hook buffer-list-changed-hook.
9839         call it.
9840
9841 2000-04-27  Ben Wing  <ben@xemacs.org>
9842
9843         * extents.h: extern in_modeline_generation.
9844
9845         * redisplay.c (generate_formatted_string_db): set
9846         in_modeline_generation.
9847
9848         * extents.c (extent_changed_for_redisplay): don't mark redisplay
9849         flags if in modeline generation.  otherwise frame-modified-tick
9850         is ticked far too often.
9851         Declare in_modeline_generation.
9852
9853 2000-04-26  Ben Wing  <ben@xemacs.org>
9854
9855         * emacs.c (vars_of_emacs): document quick-build "error-checking"
9856         option.
9857         (vars_of_emacs): add quick-build as an error-checking option.
9858         A bit kludgy, but there doesn't seem much point in creating
9859         a real var for this.
9860
9861         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
9862
9863 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9864
9865         * redisplay.h (struct display_line): Add a new variable,
9866         line_continuation.
9867
9868         * redisplay.c (create_text_block): Set dl->line_continuation if
9869         the line continues.
9870         (create_string_text_block): Ditto.
9871         (regenerate_window_incrementally): Use line_continuation instead
9872         of searching continuation glyph.
9873         (add_margin_runes): Call add_glyph_rune.
9874         (add_glyph_rune): Handle margin glyph.
9875
9876 2000-04-20  Martin Buchholz  <martin@xemacs.org>
9877
9878         * filelock.c (fill_in_lock_file_name):
9879         ANSIfy.
9880         Check for IS_ANY_SEP instead of '/'.
9881         (lock_file_1):
9882         Avoid generating gratuitous garbage.  Call user_login_name() directly.
9883         Never check errno without first seeing that system call failed.
9884         (unlock_file): Add GCPRO.
9885         (Flock_buffer): Fix docstring.
9886         (Ffile_locked_p): Fix docstring.  Add GCPRO.
9887
9888 2000-04-19  Martin Buchholz  <martin@xemacs.org>
9889
9890         * sysdep.c (get_pty_max_bytes):
9891         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
9892         strings longer than 252 bytes.
9893
9894         * md5.c: Unconditionally include ANSI header <limits.h>
9895
9896         * glyphs-x.c (convert_EImage_to_XImage):
9897         * lisp-union.h (union Lisp_Object):
9898         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
9899
9900 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9901
9902         * filelock.c (current_lock_owner): Remove unused variable o, p.
9903
9904 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
9905
9906         * callint.c: Remove multiply defined symbol Qlet
9907         (syms_of_callint): ditto.
9908
9909 2000-04-14  Andy Piper  <andy@xemacs.org>
9910
9911         * general.c (syms_of_general): add last-command, this-command, let
9912         and funcall.
9913
9914         * lisp.h: declare various symbols.
9915
9916         * glyphs.h: declare Qwidget_callback_current_channel;
9917
9918         * glyphs-widget.c (syms_of_glyphs_widget): add
9919         Qgui_callback_current_channel.
9920         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
9921
9922         * gui-msw.c (mswindows_handle_gui_wm_command): bind
9923         widget-callback-current-channel when invoking the interactive
9924         arg. Also bind last-command and next-command when invoking the
9925         widget updates.
9926         * gui-x.c (popup_selection_callback): ditto.
9927
9928         * gui.c (get_gui_callback): massage args so that we are always
9929         calling eval. This allows us to add our own variable bindings
9930         outside.
9931
9932         * glyphs-x.c (x_button_instantiate): use
9933         gui_items_to_widget_values since this is GC safe.
9934         (x_progress_gauge_instantiate): ditto.
9935         (x_edit_field_instantiate): ditto.
9936         (x_label_instantiate): ditto.
9937
9938         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9939         (emacs_Xt_event_widget_focus_out): new function
9940         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9941         focus.
9942         (emacs_Xt_event_add_widget_actions): new function. add focus
9943         functions as actions.
9944         (init_event_Xt_late): use it.
9945
9946 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9947
9948         * event-stream.c (Fdispatch_event): Doc fix.
9949
9950 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9951
9952         * postgresql.c: Remove all references to PQsetenv*.
9953
9954         * postgresql.h: Remove references to PGsetenvHandler object.
9955         * lrecord.h (lrecord_type): Ditto.
9956
9957 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9958
9959         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9960         real_heigh and real_width members, and accessor macros for these.
9961
9962         * glyphs-msw.c (init_image_instance_geometry): New function.
9963         (init_image_instance_from_dibitmap): Use it.
9964         (mswindows_resource_instantiate): Use it.
9965         (init_image_instance_from_xbm_inline): Use it.
9966         (mswindows_initialize_image_instance_mask): Use real bitmap
9967         geometry.
9968         (mswindows_create_resized_bitmap): Ditto.
9969         (mswindows_create_resized_mask): Ditto.
9970
9971         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9972         and bitmap to their surface size.
9973
9974 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9975
9976         * process-unix.c (unix_send_process): Guard against process MIA
9977         after Faccept_process_output.
9978
9979 2000-04-11  Ben Wing  <ben@xemacs.org>
9980
9981         * eval.c (unbind_to_hairy): fix brokenness introduced by
9982         nanosecond speed improvements.
9983
9984 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9985
9986         * sunplay.c (init_device): To play sounds correctly, the device
9987         apparently needs to be initialized at least once by XEmacs.  Make
9988         it so.
9989
9990 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9991
9992         * redisplay.c (add_margin_runes): Add text image glyph
9993           handling.
9994
9995 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9996
9997         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9998         gcc is newer than 2.5.
9999
10000 2000-04-06  Colin Rafferty  <colin@xemacs.org>
10001
10002         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
10003
10004         * fns.c (size_bit_vector):
10005         * alloc.c (size_vector):
10006         (make_vector_internal):
10007         (make_bit_vector_internal):
10008         (sweep_bit_vectors_1):
10009         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
10010
10011 2000-04-06  Andy Piper  <andy@xemacs.org>
10012
10013         * gmalloc.c (malloc): undo previous change.
10014         (malloc): ditto.
10015         (free): ditto.
10016         (realloc): ditto.
10017
10018 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
10019
10020         * line-number.c (buffer_line_number): Revert to former version.
10021
10022 2000-04-06  Andy Piper  <andy@xemacs.org>
10023
10024         * gmalloc.c (malloc): add error checking.
10025         (malloc): ditto.
10026         (free): ditto.
10027         (realloc): ditto.
10028
10029         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
10030         button_item_to_widget_value arg.
10031
10032         * glyphs-x.c (x_button_instantiate): add extra
10033         button_item_to_widget_value arg.
10034         (x_progress_gauge_instantiate): ditto.
10035         (x_edit_field_instantiate): ditto.
10036         (x_label_instantiate): ditto.
10037
10038         * gui-x.c (gui_items_to_widget_values_1): add extra
10039         button_item_to_widget_value arg.
10040         (button_item_to_widget_value): add extra menu_item_p arg.
10041
10042         * gui-x.h: change signature of button_item_to_widget_value.
10043
10044         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
10045         button_item_to_widget_value arg.
10046
10047 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10048
10049         * buffer.h (struct buffer): auto_save_modified should be long.
10050
10051 2000-04-05  Andy Piper  <andy@xemacs.org>
10052
10053         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
10054         type.
10055         (button_query_geometry): give a little more room so that athena
10056         buttons fit.
10057
10058 2000-04-05  Andy Piper  <andy@xemacs.org>
10059
10060         * faces.c (complex_vars_of_faces): The widget face should inherit
10061         the font of the gui-element face.
10062
10063 2000-04-04  Andy Piper  <andy@xemacs.org>
10064
10065         * glyphs-x.c (x_button_update): new function. unconditionally
10066         update a button's state when the instance is dirty.
10067         (image_instantiator_format_create_glyphs_x): add x_button_update.
10068         (x_widget_instantiate): remove old resize cruft.
10069
10070 2000-04-02  Andy Piper  <andy@xemacs.org>
10071
10072         * frame.c (change_frame_size_1): The introduction of gutters means
10073         that we need to allow 0 as a potential frame dimension.
10074
10075 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10076
10077         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
10078         image glyph if allow_cursor.
10079         (add_hscroll_rune): Don't allow cursor to border glyph.
10080         (create_text_block): Ditto.
10081
10082         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
10083         text not in buffer.
10084         (redisplay_output_layout): Call ensure_face_cachel_complete for
10085         text image glyph.
10086
10087
10088 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10089
10090         * redisplay.c (add_glyph_rune): Adding text image as text runes.
10091
10092         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
10093         not in buffer
10094
10095         * redisplay-tty.c (tty_output_display_block): Delete the routine
10096         for text image glyph
10097         * redisplay-x.c (x_output_display_block): ditto
10098         * redisplay-msw.c (mswindows_output_display_block): ditto
10099
10100 2000-02-02  Mike Alexander  <mta@arbortext.com>
10101
10102         Note: Some of these were committed by accident as part of other
10103         patches.
10104
10105         * regex.c (regex_compile): Avoid compiler warnings.
10106
10107         * ntproc.c (sys_spawnve): Avoid compiler warnings.
10108
10109         * nt.h: Declare term_ntproc correctly.
10110
10111         * nt.c: Remove incorrect declaration of get_home_directory which
10112         is declared correctly in lisp.h.
10113
10114         * keymap.c (get_keyelt): Avoid compiler warnings.
10115         (raw_lookup_key_mapper): Avoid compiler warnings.
10116
10117         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
10118
10119         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
10120
10121         * filemode.c (mode_string): Avoid compiler warnings.
10122
10123         * file-coding.c (Fcoding_system_aliasee): Add return statement to
10124         avoid warning.
10125
10126         * events-mod.h: Undef some things that winuser.h defines differently.
10127
10128         * data.c (Faset): Avoid compiler warnings.
10129
10130         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
10131
10132 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10133
10134         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
10135         Fall through to simple beep on error.
10136         Replace "extern" by real header file.
10137
10138         * linuxplay.c: Use nativesound.h
10139         (play_sound_data): Return error code. Be less verbose on error.
10140
10141         * sunplay.c: Use nativesound.h
10142         (play_sound_data): Return error code. Be less verbose on error.
10143
10144         * ntplay.c: Use nativesound.h
10145         (play_sound_data): Return fake error code
10146
10147         * sgiplay.c: Use nativesound.h
10148         (play_sound_data): Return error code
10149
10150         * hpplay.c: Use nativesound.h, partially implement
10151         new error code. Break compilation until finished.
10152         (play_sound_data): error code.
10153
10154         * nativesound.h (play_sound_file):
10155           (play_sound_data): Prototype in new header.
10156
10157 2000-03-31  Andy Piper  <andy@xemacs.org>
10158
10159         * glyphs-widget.c: (button_query_geometry): new function. Adjust
10160         for toggle and radio buttons.
10161         (image_instantiator_buttons): use it.
10162
10163 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10164
10165         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
10166         (x_update_horizontal_scrollbar_callback): Return if no mirror was
10167         found. Scrollbar event probably belonged to some old config.
10168
10169 2000-03-31  Andy Piper  <andy@xemacs.org>
10170
10171         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
10172         than 1.
10173         (initialize_widget_image_instance): default layout to
10174         LAYOUT_HORIZONTAL rather than 0.
10175         (widget_instantiate): reverse the item list at the end rather than
10176         every iteration.
10177         (layout_layout): re-code for the border text at the front of the
10178         item list rather than at the end.
10179         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
10180         provided by the user.
10181         (widget_query_geometry): comment.
10182
10183 2000-03-30  Andy Piper  <andy@xemacs.org>
10184
10185         * glyphs-widget.c (image_instantiator_layout): allow standard
10186         widget keywords in layouts.
10187
10188         * gutter.c (output_gutter): cope with nil gutter contents.
10189
10190         * frame.c (Fset_frame_properties): add gutter docs.
10191
10192 2000-03-29  Andy Piper  <andy@xemacs.org>
10193
10194         * toolbar-msw.c (TBSTYLE_FLAT): add.
10195         (mswindows_output_toolbar): minor fiddling.
10196
10197 2000-03-29  Andy Piper  <andy@xemacs.org>
10198
10199         * gutter.c (output_gutter): force gutter size recalculation if
10200         what we are trying to display won't fit.
10201         (update_gutter_geometry): new function. A per-gutter version of
10202         update_frame_gutter_geometry.
10203         (update_frame_gutter_geometry): use it.
10204         (redraw_exposed_gutter): add extra debugging output.
10205
10206 2000-03-28  Mike Alexander  <mta@arbortext.com>
10207
10208         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
10209         (pdump_file_unmap): Implement it on Windows
10210         (pdump_file_get): Save alocated handles for pdump_file_unmap
10211
10212 2000-03-28  Andy Piper  <andy@xemacs.org>
10213
10214         * gui.c (get_gui_callback): treat Quit specially.
10215
10216 2000-03-27  Andy Piper  <andy@xemacs.org>
10217
10218         * glyphs.c (image_instantiate): be careful to check in the same
10219         way we assigned.
10220
10221 2000-03-27  Didier Verna  <didier@xemacs.org>
10222
10223         * config.h.in: define the proper SMART_INCLUDE macro.
10224         handle renaming of `foo_h_path' to `foo_h_file'.
10225
10226         * database.c: ditto.
10227
10228         * emacs.c: ditto.
10229
10230         * linuxplay.c: ditto.
10231
10232         * terminfo.c: ditto.
10233
10234         * tooltalk.h: ditto.
10235
10236 2000-03-27  Andy Piper  <andy@xemacs.org>
10237
10238         * glyphs-msw.c (mswindows_update_widget): make sure the widget
10239         gets updated whenever the face might have changed.
10240
10241 2000-03-26  Mike Alexander  <mta@arbortext.com>
10242
10243         * dumper.c (pdump_resource_free): Fix the comment.
10244
10245 2000-03-21  Olivier Galibert  <galibert@pobox.com>
10246
10247         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
10248
10249 2000-03-22  Mike Alexander  <mta@arbortext.com>
10250
10251         * dumper.c: Include Windows headers on Windows
10252         (pdump_resource_free): Add a body to the function
10253         (pdump_load): exe_name -> exe_path and add some comments.
10254
10255 2000-03-25  Mike Alexander  <mta@arbortext.com>
10256
10257         * gui.c (copy_gui_item_tree): Return a value in all cases
10258
10259 2000-03-21  Didier Verna  <didier@xemacs.org>
10260
10261         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
10262         lwlib/config.h.in.
10263         (SMART_INCLUDE): new macro.
10264         (POSTGRES_INCLUDE): new macro to include postgresql headers from
10265         the proper location.
10266
10267         * postgresql.c: use it.
10268
10269         * inline.c: ditto.
10270
10271 2000-03-24  Andy Piper  <andy@xemacs.org>
10272
10273         * gutter.c (redraw_exposed_gutters): must be "in display" when we
10274         do this.
10275
10276 2000-03-24  Andy Piper  <andy@xemacs.org>
10277
10278         * redisplay-output.c (compare_runes): use image_instance_changed
10279         to detect changes. Do not depend on glyphs_changed, only depend on
10280         dirtiness.
10281          (redisplay_output_layout): add debug messages.
10282         (compare_runes): ditto.
10283
10284         * glyphs.h: declare new functions.
10285         (struct Lisp_Image_Instance): remove percent and associated
10286         accessors.
10287
10288         * gui.h: declare new copying functions.
10289
10290         * gui.c (copy_gui_item_tree): new function.
10291         (copy_gui_item): new function.
10292         (gui_item_id_hash): revert to standard hash.
10293         (gui_item_hash): ditto.
10294         (gui_item_hash_internal): deleted.
10295         (mark_gui_item): mark value.
10296         (gui_item_add_keyval_pair): add value.
10297         (gui_item_init): ditto.
10298         (gui_add_item_keywords_to_plist): ditto.
10299         (gui_item_equal): ditto.
10300         (syms_of_gui): add Q_value.
10301
10302         * glyphs-x.c (x_progress_gauge_update): use pending items and
10303         value for setting the state.
10304         (x_update_widget): don't set items from pending here.
10305
10306         * glyphs-widget.c (update_widget): update items here.
10307         (progress_gauge_set_property): use items for storing value. Put
10308         new value in pending items.
10309
10310         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
10311         items for new value. Convert percent -> value.
10312         (mswindows_tab_control_update): don't update items here.
10313
10314         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
10315         (update_subwindow): ditto.
10316         (image_instance_changed): new function. Compare hash values and
10317         past and present widget items.
10318         (image_instantiate): We more careful about where we instantiate
10319         things.
10320         (image_instantiate): add error checking.
10321
10322         * gutter.c (syms_of_gutter): use -hook.
10323
10324 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
10325
10326         * console-tty.c (Fset_console_tty_input_coding_system): Use
10327         Qkeyboard.
10328         (Fset_console_tty_output_coding_system): Use Qterminal.
10329         (tty_init_console): Use Qkeyboard and Qterminal.
10330
10331 2000-03-21  Ben Wing  <ben@xemacs.org>
10332
10333         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
10334         From Mike Alexander <mta@arbortext.com>.
10335
10336 2000-03-21  Ben Wing  <ben@xemacs.org>
10337
10338         * event-msw.c (mswindows_need_event): Horrible kludge to fix
10339         process brokenness.  Proper implementation to come.
10340         * callproc.c:
10341         Rename call-process-internal to old-call-process-internal.
10342         New impl. in process.el.
10343
10344 2000-03-21  Martin Buchholz  <martin@xemacs.org>
10345
10346         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
10347
10348 2000-03-20  Andy Piper  <andy@xemacs.org>
10349
10350         * glyphs.c (full_list_hash): make hashes of the same elements in
10351         different orders return different values.
10352
10353 2000-03-20  Martin Buchholz <martin@xemacs.org>
10354
10355         * XEmacs 21.2.32 is released.
10356
10357 2000-03-20  Martin Buchholz  <martin@xemacs.org>
10358
10359         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
10360         (DFC_MALLOC_USE_CONVERTED_DATA):
10361         Add aliasing-safe casts to allow use with char* or unsigned char*
10362         lvalues.
10363
10364         * eldap.c (Fldap_open):
10365         (Fldap_search_basic):
10366         (Fldap_add):
10367         (Fldap_modify):
10368         Make C++-compilable.
10369         Make sure GCPRO'ed variables are initialized.
10370         Use temp variables to avoid repeated calls to Flength.
10371
10372 2000-03-16  Martin Buchholz  <martin@xemacs.org>
10373
10374         * sysfile.h:
10375         Make sure PATH_MAX is always defined.
10376         Include limits.h for PATH_MAX.
10377         Deprecate use of MAXPATHLEN.
10378
10379 2000-03-10  Martin Buchholz  <martin@xemacs.org>
10380
10381         * emacs.c: Add reinit_vars_of_fileio.
10382         * symsinit.h: Add reinit_vars_of_fileio.
10383         * fileio.c (reinit_vars_of_fileio): New.
10384         * fileio.c (Fmake_temp_name):
10385         Initialize temp_name random number from microseconds to make
10386         collisions even less likely.  Initialize always at process startup
10387         time.  (make-temp-name) used to return the same file name twice in
10388         a row when PDUMP.
10389         Random stylistic fiddling.
10390         Comment fixes.
10391
10392 2000-03-20  Andy Piper  <andy@xemacs.org>
10393
10394         * glyphs.c (image_instantiate): allow text glyphs to be
10395         instantiated in the minibuffer window.
10396
10397 2000-03-19  Andy Piper  <andy@xemacs.org>
10398
10399         * glyphs.c (image_instance_hash): be careful about which items we
10400         hash on.
10401
10402         * glyphs-widget.c (tab_control_set_property): record into pending
10403         items rather than the actual items.
10404
10405         * glyphs-x.c (x_update_widget): use pending items to update with.
10406
10407         * glyphs-msw.c (mswindows_tab_control_update): use pending items
10408         to update with.
10409
10410         * glyphs.c (mark_image_instance): mark pending items.
10411
10412         * window.c (Fset_window_configuration): record the buffer.
10413         (Fselect_window): totally revert previous change which breaks many
10414         things.
10415
10416 2000-03-18  Andy Piper  <andy@xemacs.org>
10417
10418         * glyphs-msw.c (mswindows_tab_control_update): force selected
10419         item.
10420
10421         * glyphs.c (image_instantiate): don't allow the minibuffer as a
10422         window domain cache, otherwise we get inconsistencies at
10423         startup. There is something fishy at startup which can lead to the
10424         minibuffer being the selected window when the gutter content is
10425         instantiated.
10426
10427         * gui.c (parse_gui_item_tree_list): add probably unnecessary
10428         gcpros.
10429         (parse_gui_item_tree_children): ditto.
10430         (parse_gui_item_tree_item): ditto.
10431
10432         * glyphs.c (Fupdate_widget_instances): return something.
10433
10434 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
10435
10436         * window.c (Fselect_window): Undo 2000-03-17 change.
10437
10438 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
10439
10440         * postgresql.c (Fpq_setenv): Remove this turkey when linking
10441         against v7.0 libraries.  Insta-coredump city until the postgres
10442         folks fix it.
10443
10444 2000-03-17  Andy Piper  <andy@xemacs.org>
10445
10446         * faces.c (complex_vars_of_faces): don't give the widget face an
10447         inherited background pixmap.
10448
10449         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
10450         selected item.
10451
10452         * event-stream.c (Fdispatch_non_command_events): return something.
10453
10454         * gutter.c (output_gutter): use widget face.
10455         (clear_gutter): ditto.
10456
10457         * NEWS: adjust again.
10458
10459         * window.c (Fselect_window): make sure this runs to completion to
10460         avoid oddities with Fset_window_configuration.
10461         (Fcurrent_window_configuration): in general do not save the
10462         minibuffer as the selected window.
10463
10464         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
10465
10466 2000-03-16  Olivier Galibert  <galibert@pobox.com>
10467
10468         * emacs.c (Frunning_temacs_p): Revert previous patch.
10469         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
10470
10471 2000-03-16  Andy Piper  <andy@xemacs.org>
10472
10473         * glyphs-x.c (x_tab_control_update): if no widget values then
10474         return.
10475
10476         * NEWS: update for new features.
10477
10478         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
10479         synthetic event to the native system.
10480         (reinit_vars_of_event_Xt): set force_event_pending to
10481         emacs_Xt_force_event_pending.
10482
10483         * events.h (struct event_stream): add force_event_pending.
10484
10485         * specifier.c (recompute_one_cached_specifier_in_window): add
10486         comment.
10487
10488         * redisplay.c (redisplay_frame): don't call
10489         update_frame_subwindows. Reset subwindow cachels when
10490         subwindows_changed, removing this was an optimization too far.
10491
10492         * redisplay-output.c (compare_runes): reorganize so that we catch
10493         glyph changes when we want them. Set optimize_output when this
10494         would help layouts.
10495         (redisplay_output_layout): remove frame_really_changed, use
10496         optimize_output instead.
10497
10498         * redisplay-msw.c (mswindows_output_display_block): reset
10499         optimize_output after outputting a glyph.
10500         * redisplay-x.c (x_output_display_block): ditto.
10501         * redisplay-tty.c (tty_output_display_block): ditto.
10502
10503         * gutter.c: (specifier_vars_of_gutter): use new spec changed
10504         functions.
10505         (gutter_specs_changed): do specific gutter positions.
10506         (top_gutter_specs_changed): new function. Only update the
10507         specified gutter specs.
10508         (bottom_gutter_specs_changed): ditto.
10509         (left_gutter_specs_changed): ditto.
10510         (right_gutter_specs_changed): ditto.
10511
10512         * gui.c (gui_item_hash_internal): new function, does a real hash.
10513         (gui_item_id_hash): use it.
10514         (gui_item_hash): hash the eval'ed gui_item.
10515
10516         * gui-x.c (popup_selection_callback): send an eval event to call
10517         Fupdate_widget_instances.
10518
10519         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
10520         to call Fupdate_widget_instances.
10521
10522         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
10523         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
10524
10525         * glyphs.c: (update_frame_subwindows): deleted.
10526         (Fupdate_widget_instances): new function for updating the dirty
10527         state of widgets that might have changed.
10528         (syms_of_glyphs): add Qupdate_widget_instances.
10529         (full_list_hash): hash a list completely.
10530         (image_instance_hash): use it for items and properties.
10531
10532         * frame-msw.c (mswindows_size_frame_internal): remove unused
10533         variable.
10534
10535         * faces.h (struct face_cachel): fix comment.
10536
10537         * event-stream.c (Fdispatch_non_command_events): new
10538         function. Process non-command events, forcing an event cycle
10539         beforehand.
10540         (syms_of_event_stream): declare.
10541         (event_stream_force_event_pending): new function. Force an event
10542         on the native event queue so that an event cycle will occur next
10543         time we check.
10544
10545         * event-msw.c:
10546         (struct ntpipe_shove_stream):
10547         (mswindows_enqueue_dispatch_event):
10548         (mswindows_dequeue_dispatch_event):
10549         (mswindows_cancel_dispatch_event):
10550         (mswindows_pump_outstanding_events):
10551         (mswindows_drain_windows_queue):
10552         (mswindows_handle_paint):
10553         (mswindows_wnd_proc):
10554         (mswindows_key_to_emacs_keysym):
10555         (get_process_input_waitable):
10556         (emacs_mswindows_delete_stream_pair): re-indent file.
10557         (mswindows_need_event): do not process further fds if the windows
10558         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
10559         fixes the 100% cpu problem.
10560         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
10561
10562 2000-03-15  Olivier Galibert  <galibert@pobox.com>
10563
10564         * alloc.h: New.
10565         * dumper.h: New.
10566         * dumper.c: New.
10567
10568         * emacs.c: Moved dump file searching to dumper.c.
10569         (Frunning_temacs_p): Fixed.
10570
10571         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
10572         last_lrecord_type_index_assigned.
10573
10574 2000-02-20  Olivier Galibert  <galibert@pobox.com>
10575
10576         * symsinit.h: Added reinit parameter to init_console_stream
10577         declaration.
10578
10579         * lisp.h: Added file parameter to pdump_load declaration.
10580
10581         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
10582         support.  Added dump file searching.
10583
10584         * config.h.in: Added EMACS_PROGNAME.
10585
10586         * console-stream.c (init_console_stream): Fix reinitialisation
10587         when running from temacs.
10588
10589         * alloc.c (pdump): Add id support.
10590         (pdump_load): Add file parameter and signature/id support.
10591
10592         * Makefile.in.in: Add full pdump support.
10593
10594 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
10595
10596         * postgresql.c: Update documentation to reflect latest code
10597         status.
10598         (print_result): Show tuple counts in printed representation when
10599         appropriate.
10600         (Fpq_put_nbytes): MULE-ize.
10601         (Fpq_get_line_async): Ditto.
10602
10603 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10604
10605         * postgresql.c (Fpq_lo_import): Fix return value.
10606         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
10607
10608 2000-03-13  Ben Wing  <ben@xemacs.org>
10609
10610         * alloc.c (pdump_load):
10611         Fix compile warning under mswin.
10612
10613 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
10614
10615         * postgresql.c: Mule-ization, bug fixes.
10616         Use PG_CODING to encapsulate coding system name changes.
10617         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
10618         (pg-coding-system): Create.
10619
10620         (Fpq_conn_defaults): Mule-ize.
10621         (Fpq_connectdb): Mule-ize & bug fix.
10622         (Fpq_connect_start): Mule-ize.
10623         (Fpq_set_client_encoding): Mule-ize.
10624         (Fpq_finish): Document `DEAD' connection status.
10625         (Fpq_clear): Ditto.
10626         (Fpq_pgconn): Mule-ize.
10627         (Fpq_exec): Mule-ize & bug fix.
10628         (Fpq_send_query): Ditto.
10629         (Fpq_get_result): Ditto.
10630         (Fpq_res_status): Mule-ize.
10631         (Fpq_result_error_message): Mule-ize.
10632         (Fpq_ntuples): fix comments.
10633         (Fpq_fname): Mule-ize.
10634         (Fpq_fnumber): Mule-ize.
10635         (Fpq_ftype): fix comments.
10636         (Fpq_get_value): Mule-ize.
10637         (Fpq_cmd_status): Ditto.
10638         (Fpq_cmd_tuples): Ditto.
10639         (Fpq_oid_value): Ditto.
10640         (Fpq_notifies): Ditto.
10641         (Fpq_lo_import): Ditto.
10642         (Fpq_lo_export): Ditto.
10643         (Fpq_get_line): Ditto.
10644         (Fpq_put_line): Mule-ize and bug fix.
10645         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
10646
10647 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10648
10649         * postgresql.c (vars_of_postgresql): Mule-ize.
10650         (Fpq_conn_defaults): Ditto.
10651
10652 2000-03-12  Ben Wing  <ben@xemacs.org>
10653
10654         * alloc.c (Fmake_byte_code):
10655         * alloc.c (debug_string_purity_print):
10656         * alloc.c (pdump_backtrace):
10657         * alloc.c (pdump_get_indirect_count):
10658         * alloc.c (pdump_register_sub):
10659         * alloc.c (pdump_register_object):
10660         * alloc.c (pdump_register_struct):
10661         * alloc.c (pdump_dump_data):
10662         * alloc.c (pdump_reloc_one):
10663         Minor cleanups.
10664
10665         * console-msw.c:
10666         * console-msw.c (GetConsoleHwnd):
10667         * console-msw.c (msw_hide_console):
10668         * console-msw.c (msw_show_console):
10669         * console-msw.c (msw_ensure_console_buffered):
10670         * console-msw.c (msw_output_console_string):
10671         * console-msw.c (console_type_create_mswindows):
10672
10673         a) Added functions to manipulate the console window for use with
10674         shell support.
10675
10676         b) Added support for writing text to the console, which is now
10677         used under Windows when xemacs is not being run non-interactively,
10678         to write text that would otherwise be destined for stdout because
10679         under these circumstances, text written to stdout tends to
10680         disappear and not be seen.
10681
10682         * console-msw.h:
10683         * event-Xt.c:
10684         * event-Xt.c (x_event_to_emacs_event):
10685         * event-Xt.c (describe_event_window):
10686         * events-mod.h (XEMACS_MOD_CONTROL):
10687         * events.c:
10688         * events.c (Fmake_event):
10689         * events.c (character_to_event):
10690         * events.c (event_to_character):
10691         * events.c (format_event_object):
10692         * events.c (Fevent_modifiers):
10693         * events.h:
10694         * events.h (struct key_data):
10695         * events.h (struct button_data):
10696         * events.h (struct misc_user_data):
10697         * frame-x.c (Fcde_start_drag_internal):
10698         * frame-x.c (Foffix_start_drag_internal):
10699         * gpmevent.c (Freceive_gpm_event):
10700         * keymap.c:
10701         * keymap.c (bucky_sym_to_bucky_bit):
10702         * keymap.c (control_meta_superify):
10703         * keymap.c (make_key_description):
10704         * keymap.c (keymap_lookup_directly):
10705         * keymap.c (create_bucky_submap):
10706         * keymap.c (keymap_store):
10707         * keymap.c (define_key_check_and_coerce_keysym):
10708         * keymap.c (define_key_parser):
10709         * keymap.c (define_key_alternate_name):
10710         * keymap.c (Fdefine_key):
10711         * keymap.c (raw_lookup_key_mapper):
10712         * keymap.c (struct map_keymap_unsorted_closure):
10713         * keymap.c (map_keymap_unsorted_mapper):
10714         * keymap.c (map_keymap_sort_predicate):
10715         * keymap.c (map_keymap_sorted):
10716         * keymap.c (accessible_keymaps_mapper_1):
10717         * keymap.c (where_is_recursive_mapper):
10718         * keymap.c (describe_map_mapper):
10719         * keymap.c (describe_map_sort_predicate):
10720         * keymap.c (describe_map):
10721         * keymap.c (complex_vars_of_keymap):
10722         And a number of other files, the key modifier preprocessor
10723         constants that xemacs uses have names that conflict with constants
10724         defined under MS Windows for other purposes, so they were renamed
10725         to begin with the prefix XEMACS_. The variables that hold such
10726         modifiers were changed to consistently be of type int to fix
10727         various compile warnings.
10728
10729         * console.c (complex_vars_of_console):
10730         * device.c:
10731         * device-msw.c:
10732         * device-msw.c (mswindows_finish_init_device):
10733         * device-msw.c (msw_get_workspace_coords):
10734         * device-msw.c (mswindows_device_system_metrics):
10735         and various other files, added support for a new
10736         device property called offset-workspace which returns the position
10737         of the upper left corner of the workspace area and goes along with
10738         the existing size-workspace property.
10739
10740         * dialog-msw.c:
10741         * dialog-msw.c (push_bufbyte_string_as_unicode):
10742         * dialog-msw.c (mswindows_popup_dialog_box):
10743         Added support for XEmacs-style accelerator specifications in
10744         button text.  Note: I didn't add support for this under X Windows,
10745         and somebody needs to do this.
10746
10747         * dialog.c:
10748         * dialog.c (Fpopup_dialog_box):
10749         Documented the support for accelerators that was just mentioned.
10750
10751         editfns.c (get_home_directory): Changed behavior under Windows
10752         when HOME not defined; former behavior was irretrievably broken.
10753
10754         * emacs.c:
10755         * emacs.c (main_1):
10756         * emacs.c (main):
10757         * minibuf.c (clear_echo_area_internal):
10758         * minibuf.c (echo_area_append):
10759         * print.c:
10760         * print.c (std_handle_out_external):
10761         * print.c (std_handle_out_va):
10762         * print.c (fatal):
10763         * print.c (write_string_to_stdio_stream):
10764         * print.c (output_string):
10765         * print.c (debug_print):
10766         * print.c (debug_backtrace):
10767         * print.c (debug_short_backtrace):
10768         Cleaned up the code that prints text to stdout so that this can be
10769         changed to output into a console window instead under MS Windows,
10770         as described above.
10771
10772         * eval.c:
10773         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
10774         * eval.c (internal_catch):
10775         * eval.c (unwind_to_catch):
10776         * eval.c (throw_or_bomb_out):
10777         * eval.c (condition_case_1):
10778         * eval.c (signal_1):
10779         * eval.c (check_error_state_sanity):
10780         * eval.c (call_with_suspended_errors_1):
10781         * eval.c (call_with_suspended_errors):
10782         * eval.c (reinit_vars_of_eval):
10783         Added code to catch throw loops and check for a pesky bug that may
10784         be gone now.
10785
10786         * event-msw.c:
10787         * event-msw.c (key_needs_default_processing_p):
10788         * event-msw.c (mswindows_wnd_proc):
10789         * event-msw.c (mswindows_modifier_state):
10790         * event-msw.c (emacs_mswindows_quit_p):
10791         * event-msw.c (vars_of_event_mswindows):
10792         a) Added support for using the alt key to select menu items as is
10793         standard under MS Windows.  This is controlled using the variable
10794         menu-accelerator-enabled, just like under X Windows.  There is an
10795         option on the options menu to turn this support on.  I really
10796         think that it should be on by default under Windows, but I'm not
10797         going to make this change yet.
10798
10799         b)  Added support for dynamic display size changes under Windows.
10800
10801         * event-stream.c:
10802         * event-stream.c (maybe_echo_keys):
10803         * event-stream.c (Fnext_event):
10804         * event-stream.c (command_builder_find_leaf):
10805         * event-stream.c (lookup_command_event):
10806         * event-stream.c (execute_command_event):
10807         * event-stream.c (pre_command_hook):
10808         * event-stream.c (post_command_hook):
10809         * event-stream.c (syms_of_event_stream):
10810         * event-stream.c (vars_of_event_stream):
10811         * event-stream.c (complex_vars_of_event_stream):
10812         * events.h (struct command_builder):
10813
10814         a) Tried to clean up a little bit the horribly written x-specific
10815         accelerator code that crept into this file.  I moved this code
10816         into menubar-x.c where it belongs. I also needed to move the
10817         command builder structure into the file events.h because it is
10818         accessed directly by this accelerator code.  What I didn't do, but
10819         which should be done at some point, is to properly abstract this
10820         code using device methods instead of the kludgy way that it
10821         currently hooks into the event code.
10822
10823         b) Added the lisp variables this-command-properties and
10824         last-command- properties, which should be used to synchronize two
10825         adjacent commands in preference to playing games with the variable
10826         this-command, which is typically what happens.
10827
10828         c) Added some slightly nasty code to hook into the lisp support
10829         for shifted- motion-key selection.  This is actually necessary for
10830         somewhat complicated reasons, which are described in
10831         simple.el. (NB: I think the proper thing would be to have the code
10832         that calls the pre and post command hooks also call out to generic
10833         lisp functions in simple.el, where all built-in stuff could be
10834         added.  I will think about this more.)
10835
10836         * event-unixoid.c (poll_fds_for_input):
10837         * lread.c (readchar):
10838         * redisplay-tty.c (tty_clear_frame):
10839         * redisplay-x.c (x_get_gc):
10840         * signal.c (interrupt_signal):
10841         And a whole bunch of other files: fixed up places that printed
10842         directly to stderr to instead call the function stderr_out so that
10843         the changes I made under Windows work correctly.
10844
10845         * filemode.c (mode_string):
10846         Warning fixes.
10847
10848         * frame-msw.c:
10849         * frame-msw.c (mswindows_size_frame_internal):
10850         Fixed the computation of frame size and position to keep the frame
10851         within the workspace area, rather than within the physical
10852         dimensions of the screen, so that the frame doesn't overlap window
10853         manager decorations, such as the start menu and toolbar, typically
10854         at the bottom of the screen.
10855
10856         * frame.c (vars_of_frame):
10857         Changed the default frame title format under MS Windows to consist
10858         of buffername-XEmacs, which is standard under MS Windows.  I think
10859         it might be a good idea to change this everywhere because I think
10860         it is superior to the current frame title format, but this is the
10861         kind of change that is likely to cause some people to get annoyed,
10862         so I'm not making it.
10863
10864         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
10865
10866         * gui-msw.c (mswindows_handle_gui_wm_command):
10867         Fixed compile warnings.
10868
10869         * gui-x.c:
10870         * gui-x.c (strdup_and_add_accel):
10871         * gui-x.c (button_item_to_widget_value):
10872         * gui-x.h:
10873         Added code to automatically put an accelerator onto the beginning
10874         of menu items that don't have one as is now the standard, and is
10875         described more later.  Also fixed things so that the menu item
10876         name can be an evaluated expression, again a new standard.
10877
10878         * gui.c:
10879         * gui.c (gui_item_add_keyval_pair):
10880         * gui.c (make_gui_item_from_keywords_internal):
10881         * gui.c (gui_add_item_keywords_to_plist):
10882         * gui.c (gui_item_accelerator):
10883         * gui.c (gui_name_accelerator):
10884         * gui.c (gui_item_included_p):
10885         * gui.c (gui_item_display_flush_left):
10886         * gui.c (gui_item_display_flush_right):
10887         * gui.c (parse_gui_item_tree_item):
10888         * gui.c (parse_gui_item_tree_children):
10889         * gui.c (parse_gui_item_tree_list):
10890         Mule-ized.  Cleanup.  GCPRO addition.
10891
10892         * line-number.c (buffer_line_number):
10893         * lisp.h:
10894         * lisp.h (EMACS_INT_MAX):
10895         Added the manifest constant EMACS_INT_MIN corresponding to the
10896         existing constant EMACS_INT_MAX.  This is partially to fix compile
10897         warnings under Windows, and partly for cleanliness.
10898
10899         * menubar-msw.c:
10900         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
10901         * menubar-msw.c (msw_translate_menu_or_dialog_item):
10902         * menubar-msw.c (displayable_menu_item):
10903         * menubar-msw.c (populate_menu_add_item):
10904         * menubar-msw.c (populate_or_checksum_helper):
10905         * menubar-msw.c (populate_menu):
10906         * menubar-msw.c (update_frame_menubar_maybe):
10907         * menubar-msw.c (prune_menubar):
10908         * menubar-msw.c (msw_char_is_accelerator):
10909         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
10910         * menubar-msw.c (mswindows_handle_wm_command):
10911         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
10912         * menubar-msw.c (mswindows_handle_wm_initmenu):
10913         * menubar-msw.c (mswindows_update_frame_menubars):
10914         * menubar-msw.c (mswindows_free_frame_menubars):
10915         * menubar-msw.c (mswindows_popup_menu):
10916         Fixed a bug in handling accelerators where an extra character
10917         would be displayed in the menu item.  Also generalized the
10918         function displayable_menu_item because it is now used by the
10919         dialog box code as well.  And finally, added code in the functions
10920         that create the menubar to extract a list of accelerators for the
10921         top level menubar, which is used in the event code to determine
10922         whether a particular alt-key combination should be used to invoke
10923         a menu item, or should be passed through to access the standard
10924         XEmacs keymap binding for this key combination.
10925
10926         Much needed GCPROing.
10927
10928         * menubar-x.c:
10929         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10930         * menubar-x.c (menu_item_descriptor_to_widget_value):
10931         * menubar-x.c (restore_in_menu_callback):
10932         * menubar-x.c (x_popup_menu):
10933         * menubar-x.c (menu_move_up):
10934         * menubar-x.c (menu_move_down):
10935         * menubar-x.c (menu_move_left):
10936         * menubar-x.c (menu_move_right):
10937         * menubar-x.c (menu_select_item):
10938         * menubar-x.c (command_builder_operate_menu_accelerator):
10939         * menubar-x.c (menu_accelerator_junk_on_error):
10940         * menubar-x.c (command_builder_find_menu_accelerator):
10941         * menubar-x.c (Faccelerate_menu):
10942         * menubar.h:
10943         Moved a whole bunch of code here that was previously in
10944         event-stream.c as described above.  There is also code connected
10945         to the new standard of adding an accelerator to the beginning of
10946         menu items that don't have one as described above and below.
10947
10948         * menubar.c:
10949         * menubar.c (menu_parse_submenu_keywords):
10950         * menubar.c (Fmenu_find_real_submenu):
10951         * menubar.c (Fnormalize_menu_item_name):
10952         * menubar.c (syms_of_menubar):
10953         * menubar.c (vars_of_menubar):
10954         * menubar.c (complex_vars_of_menubar):
10955
10956         a) Cleaned up a bunch of documentation and improved it.
10957
10958         b) XEmacs now automatically adds an accelerator onto the beginning
10959         of any menu items that don't have one.  I did this because there
10960         will inevitably be some menu items on the main menubar that don't
10961         have accelerators on them because the package that adds that
10962         particular menu item hasn't yet been fixed up to have accelerators
10963         in them and it looked rather strange to have some items with and
10964         some items without accelerators, especially since even in items
10965         without accelerators, you can, at least under windows, still
10966         access the item through an accelerator corresponding to the first
10967         character in the item's name.  If people don't like this behavior,
10968         I can add a variable to turn it off optionally, but I'm not sure
10969         this is a good idea because we really do need to have accelerators
10970         on all of the menu items, and if a package doesn't like the
10971         accelerators being put on the first character, then it should put
10972         the accelerators where they belong.
10973
10974         c) I made a behavior change, which is that the descriptor that
10975         specifies the text of the menu item, which formerly was just a
10976         string, can now also be an evaluated expression.  This makes this
10977         descriptor parallel with all of the others, which could also be
10978         evaluated expressions.  This also obviates the need for the
10979         keyword :label, which was previously listed in the documentation
10980         as unimplemented, and which was for the same purpose.
10981
10982         d) GCPROing.
10983
10984         * ntproc.c:
10985         * ntproc.c (new_child):
10986         * ntproc.c (sys_spawnve):
10987         * ntproc.c (find_child_console):
10988         * ntproc.c (sys_kill):
10989         Fixed compile warnings.  By the way, this file should really go
10990         away entirely, and this will happen as soon as Kirill makes his
10991         final round of process cleanups, which affect the function
10992         call-process.
10993
10994         * process-nt.c:
10995         * process-nt.c (struct nt_process_data):
10996         * process-nt.c (find_process_from_pid):
10997         * process-nt.c (send_signal_the_nt_way):
10998         * process-nt.c (enable_child_signals):
10999         * process-nt.c (find_child_console):
11000         * process-nt.c (send_signal_the_95_way):
11001         * process-nt.c (nt_finalize_process_data):
11002         * process-nt.c (ensure_console_window_exists):
11003         * process-nt.c (nt_create_process):
11004         * process-nt.c (nt_kill_child_process):
11005         * process-nt.c (nt_kill_process_by_pid):
11006         * process-nt.c (nt_open_network_stream):
11007         * process-nt.c (vars_of_process_nt):
11008         Copied over code from Emacs 20.5 to correctly send signals to sub-
11009         processes under Windows 95.  Also added code to automatically
11010         create and hide console window when a sub-process is created under
11011         Windows 95, which obviates the need for the separate runemacs.exe
11012         executable, and finally implemented some variables that were
11013         implemented in Emacs 20.5, but previously not in XEmacs.  These
11014         include mswindows- start-process-share-console and
11015         mswindows-start-process-inherit-error-mode. (Both of these only
11016         apply to Windows 95.)
11017
11018         * regex.c (regex_compile): Fixed a compile warning.
11019
11020         * select-msw.c:
11021         * select-msw.c (mswindows_own_selection):
11022         * select-msw.c (mswindows_get_foreign_selection):
11023         * select-msw.c (mswindows_disown_selection):
11024         * select-msw.c (console_type_create_select_mswindows):
11025         * select-msw.c (syms_of_select_mswindows):
11026         Cleaned up the file and implemented the device method
11027         selection_exists_p, which had accidentally been left out.  Also
11028         removed four lisp functions that were remnants from before the
11029         time when the selection code was properly device abstracted.
11030         These functions are no longer needed because there are generic
11031         equivalents, and because they were added recently and don't exist
11032         in FSF Emacs, I don't think there's any problem with just deleting
11033         them.
11034
11035         * sysdep.c:
11036         * sysdep.c (sys_subshell):
11037         Fixed a compile warning, although in this case there's probably
11038         something wrong with this code, and it ought to be looked into
11039         more thoroughly by somebody who understands it.
11040
11041         * window.c:
11042         * window.c (Fwindow_text_area_height):
11043         * window.c (Fwindow_width):
11044         * window.c (Fwindow_full_width):
11045         * window.c (Fwindow_pixel_width):
11046         * window.c (debug_print_window):
11047         * window.c (syms_of_window):
11048         Added functions window-text-area-height and window-full-width,
11049         which are functions for returning various width and height
11050         characteristics of a window. (One of these functions is necessary
11051         for making the file dialog box work correctly, and the other one
11052         was added for completeness.)  Also added a table to the
11053         documentation for window-height which describes the entire scheme
11054         for accessing width and height characteristics of a window.
11055
11056 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11057
11058         * nt.c (fstat): Added a comment for another problem with
11059         non-encapsulated [f]stat(), reported by Adrian Aichner
11060         <aichner@ecf.teradyne.com>.
11061
11062 2000-03-11  Andy Piper  <andy@xemacs.org>
11063
11064         * window.c (make_dummy_parent): initialize subwindow instance
11065         cache.
11066         (Fset_window_configuration): zero extent_modiff.
11067
11068 2000-03-10  Andy Piper  <andy@xemacs.org>
11069
11070         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
11071         more changes can be triggered.
11072         (Fredisplay_frame): ditto.
11073         (Fredraw_device): ditto.
11074         (Fredisplay_device): ditto.
11075         (redisplay_frame): make non-static.
11076         (redisplay_frame): call update_frame_gutter_geometry outside of
11077         display proper.
11078
11079         * gutter.h: declare update_frame_gutter_geometry.
11080
11081         * redisplay.h: declare redisplay_frame.
11082
11083         * gutter.c (update_frame_gutter_geometry): move geometry changes
11084         in update_frame_gutters here. Geometry changes can only occur
11085         outside of redisplay.
11086         (update_frame_gutters): remove geometry change code.
11087         (Fredisplay_gutter_area): make sure that we are in display when we
11088         update and that we have flushed any size changes.
11089
11090 2000-03-11  Andy Piper  <andy@xemacs.org>
11091
11092         * alloc.c (pdump_dump_data): remove i & count shadows.
11093
11094 2000-02-27  Mike Alexander  <mta@arbortext.com>
11095
11096         * sysdep.h: Declare pdump_read_file
11097
11098         * sysdep.c (pdump_read_file): New function
11099
11100         * alloc.c (pdump_load): Call pdump_read_file to get the portable
11101         dump data
11102
11103 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
11104
11105         * lrecord.h: add `lrecord_type_pgsetenv'.
11106
11107 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
11108
11109         * symsinit.h: declare (vars|syms)_of* functions.
11110         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
11111
11112 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
11113
11114         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
11115
11116         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
11117         GCCs.
11118
11119         * emacs.c (main_1): Call postgres initialization code.
11120
11121         * postgresql.h: New file.  PostgreSQL RDBMS support.
11122         * postgresql.c: New file.
11123
11124 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11125
11126         * redisplay-output.c (redisplay_output_display_block): Disable
11127         redundant code.
11128
11129 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11130
11131         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
11132         (Fcanna_henkan_next): Ditto.
11133         (Fcanna_bunsetu_henkou): Ditto.
11134         (Fcanna_henkan_kakutei): Ditto.
11135         (Fcanna_henkan_end): Ditto.
11136         (Fcanna_henkan_quit): Ditto.
11137         (Fcanna_henkan_next): Set retun value correctly.
11138         (c2mu): Use unsigned char instead of signed char.
11139
11140 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11141
11142         * emacs.c (main_1): Always call syms_of_gui.
11143         * inline.c: include gui.h
11144
11145 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11146
11147         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
11148         converted to Lisp_Object.
11149         (Qtop_bottom): New variable.
11150         (syms_of_redisplay): Initialize it.
11151         * redisplay.h (Vvisible_bell): Ditto.
11152         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
11153         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
11154         only flash top and bottom.
11155
11156 2000-03-08  Andy Piper  <andy@xemacs.org>
11157
11158         * buffer.c (Frename_buffer): record new buffer name the right way.
11159
11160 2000-03-08  Andy Piper  <andy@xemacs.org>
11161
11162         * glyphs.c (update_subwindow): increase hash depth so that widget
11163         items get picked up properly.
11164
11165         * redisplay-output.c (compare_runes): increase hash depth so that
11166         widget items get picked up properly.
11167
11168 2000-03-08  Andy Piper  <andy@xemacs.org>
11169
11170         * gutter.c (output_gutter): add some debug.
11171
11172         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
11173         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
11174         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
11175
11176         * redisplay-output.c (compare_runes): use display_hash to
11177         determine if glyphs really are not the same.
11178
11179         * glyphs.c (update_subwindow): check display_hash to see if
11180         anything really needs to be updated. If not then do
11181         nothing. Record the display_hash after updating.
11182         (image_instance_equal): compare the image_instance face also.
11183
11184 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
11185
11186         * redisplay.h: Fix comment style.
11187
11188 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11189
11190         * consle-msw.h (struct mswindows_frame):
11191         Added new member paint_pending to indicate whether a WM_PAINT
11192         magic event has been queued for this frame.
11193
11194         * event-msw.c (mswindows_drain_windows_queue):
11195         Don't queue a WM_PAINT magic event if one is already queued.
11196         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
11197
11198         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
11199
11200 2000-03-07  Didier Verna  <didier@xemacs.org>
11201
11202         * dired.c: #include `regex.h' after `sysfile.h'.
11203
11204 2000-03-06  Martin Buchholz  <martin@xemacs.org>
11205
11206         * sound.c (init_nas_sound): Fix compiler warning.
11207
11208         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
11209         (FREE_STRUCT_P):
11210         (MARK_STRUCT_AS_FREE):
11211         (MARK_STRUCT_AS_NOT_FREE):
11212         Make `gcc -fstrict-aliasing' work properly.
11213
11214 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11215
11216         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
11217         (mswindows_delete_device): Call CoUnnitialize().
11218
11219         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
11220
11221 2000-02-25    <CraigL@DyCon.com>
11222
11223         * process-nt.c: MinGW now has <shellapi.h>, but still needs
11224         <errno.h>.
11225
11226         * sysdep.c: This extern declaration for environ prevents MinGW
11227         from finding the variable in CRTDLL.DLL.
11228
11229         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
11230         windows headers.
11231         (SHGFI_EXETYPE): ..
11232         (WM_MOUSEWHEEL): ..
11233         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
11234         definitions.
11235         (MMRESULT): Removed, now defined in cygwin's windows headers.
11236         (TIMECAPS): ..
11237         (uid_t,gid_t,pid_t,ssize_t): ..
11238         (_timeb): Removed, MinGW defines both _timeb and timeb.
11239         (HAVE_H_ERRNO): Added.
11240         (HAVE_TZNAME): Added, configure is not detecting this.
11241
11242 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
11243
11244         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
11245         * syntax.c (syntax_match): Use it.
11246
11247         * cmds.c: Import auto-fill-chars from FSF Emacs.
11248         (Vauto_fill_chars): New variables.
11249         (internal_self_insert): Check Vauto_fill_chars.
11250         (vars_of_cmds):
11251         Declare auto-fill-chars as a Lisp variable and initialize it.
11252
11253 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11254
11255         * fileio.c (Fmake_symbolic_link):
11256         (Ffile_symlink_p):
11257         Run handlers even if local machine doesn't have symlinks.
11258
11259 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11260
11261         * event-msw.c (mswindows_drain_windows_queue):
11262         Don't generate paint magic events for non-XEmacs frames.
11263
11264 2000-03-05  Andy Piper  <andy@xemacs.org>
11265
11266         * redisplay.c (redisplay_frame): generate_displayable_area and
11267         friends assumes that we are not in GC, we therefore have to make
11268         sure that this doesn't happen.
11269
11270         * gutter.c (calculate_gutter_size): generate_displayable_area
11271         assumes that we are not in GC, we therefore have to make sure that
11272         this doesn't happen.
11273
11274 2000-03-05  Martin Buchholz  <martin@xemacs.org>
11275
11276         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
11277
11278 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11279
11280         * redisplay.c (regenerate_window): Make sure we set a sane value
11281         for end_pos even if we jump out of the loop.
11282         (regenerate_window): Answer Ben's question :-).
11283         (start_end_of_last_line): Add may_error argument.
11284         (start_of_last_line):
11285         (end_of_last_line): Pass may_error = 0.
11286         (end_of_last_line_may_error): New function.
11287         (pixel_to_glyph_translation): Use it, so we don't crash in
11288         event_to_glyph.
11289
11290 2000-03-04  Andy Piper  <andy@xemacs.org>
11291
11292         * window.h (struct window): add gutter_extent_modiff.
11293
11294         * window.c (allocate_window): zero out gutter_extent_modiff.
11295
11296         * redisplay.h: declare sync_display_line_structs.
11297
11298         * redisplay.c (add_glyph_rune): add a better comment.
11299
11300         * redisplay-output.c (sync_display_line_structs): made non-static.
11301         (compare_runes): remove unneccesary glyph cachel access.
11302
11303         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
11304
11305         * gutter.c (output_gutter): don't output the gutter if extent
11306         changes only involve extents in buffers. use 4 sets of display
11307         lines.
11308         (gutter_extent_signal_changed_region_maybe): new function. Mark
11309         extents in gutters as changed.
11310         (update_frame_gutters): use 4 sets of display lines.
11311         (reset_gutter_display_lines): ditto.
11312         (free_frame_gutters): ditto.
11313         (redraw_exposed_gutter): force output of gutters.
11314
11315         * frame.h (struct frame): add 4 sets of gutter display lines.
11316
11317         * extents.c: (extent_changed_for_redisplay): signal changes to
11318         extents in strings in the gutter as well as extents in buffers.
11319
11320 2000-03-02  Andy Piper  <andy@xemacs.org>
11321
11322         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
11323
11324         * frame.c (Fmake_frame): make sure the gutters get initialized
11325         after the frame is visible.
11326         (set_frame_selected_window): re-arrange compilation macros a
11327         little.
11328         (change_frame_size_1): mark gutters changed.
11329
11330         * device.c (Fset_device_class): mark gutters changed.
11331
11332 2000-03-01  Andy Piper  <andy@xemacs.org>
11333
11334         * window.c (window_top_frame_gutter_height): deleted.
11335         (window_bottom_frame_gutter_height): ditto.
11336         (window_left_frame_gutter_height): ditto.
11337         (window_right_frame_gutter_height): ditto.
11338         (window_top_gutter_height): don't use them.
11339         (window_bottom_gutter_height): ditto.
11340         (window_left_gutter_width): ditto.
11341         (window_right_gutter_width): ditto.
11342         (Fsplit_window): ditto.
11343         (Fwindow_pixel_edges): don't use border dimensions here.
11344
11345         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
11346         (update_scrollbar_instance): ditto.
11347
11348         * redisplay.c (generate_modeline): don't take gutters into account.
11349         (generate_modeline): ditto.
11350         (redisplay_frame): small gutter display optimization.
11351
11352         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
11353
11354         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
11355         gutters into account.
11356
11357         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
11358         for window position and type.
11359
11360         * gutter.c (get_gutter_coords): fix for frame gutters.
11361         (update_frame_gutters): update frame geometry if the gutters have
11362         changed.
11363         (init_frame_gutters): record current gutter geometries.
11364
11365         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
11366         var.
11367         (mswindows_widget_instantiate): ditto.
11368
11369         * frame.h (struct frame): add current_gutter_bounds.
11370
11371         * frame.c (change_frame_size_1): position window and minibuffer
11372         appropriately taking into account the frame gutters.
11373
11374         * frame-x.c: (x_initialize_frame_size): take into account the
11375         frame gutters.
11376
11377 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11378
11379         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
11380
11381 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
11382
11383         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
11384
11385 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11386
11387         * file-coding.c (reset_decoding_stream): Clear previous
11388         detection state when autodetect.
11389
11390 2000-02-29  Didier Verna  <didier@xemacs.org>
11391
11392         * extents.c (set_extent_glyph_1): don't require extents to be
11393         attached.
11394
11395 2000-02-27  Andy Piper  <andy@xemacs.org>
11396
11397         * gutter.c (Fset_default_gutter_position): don't default left and
11398         right gutter visibility to t.
11399         (Fset_default_gutter_position): run
11400         default-gutter-position-changed-hook.
11401         (syms_of_gutter): add default-gutter-position-changed-hook.
11402
11403 2000-02-26  Andy Piper  <andy@xemacs.org>
11404
11405         * specifier.c (Fmake_specifier): add gutter references.
11406
11407         * gutter.h (RAW_WINDOW_GUTTER): new macro.
11408
11409         * lisp.h: declare Fvalid_plist_p.
11410
11411         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
11412         as changed.
11413         (default_gutter_visible_p_changed_in_window): invalidate gutter as
11414         well as its visibility so that it gets reconstructed.
11415         (construct_window_gutter_spec): new function. Construct a string
11416         to be displayed in the gutter from a plist of strings. Take care
11417         to only use elements that are declared as visible.
11418         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
11419         WINDOW_GUTTER.
11420         (gutter_validate): allow plists of strings in the specifier.
11421         (gutter_specs_changed): construct the real_gutter from the gutter
11422         specs using construct_window_gutter_spec.
11423         (gutter_visible_validate): gutter-visible is a new specifier type.
11424         (Fgutter_visible_specifier_p): new function for the new specifier.
11425         (syms_of_gutter): declare gutter-visible and
11426         Fgutter_visible_specifier_p.
11427         (specifier_type_create_gutter): intitalize new gutter-visible
11428         specifier.
11429         (reinit_specifier_type_create_gutter): ditto.
11430         (specifier_vars_of_gutter): use new specifier type for gutter
11431         visibility.
11432         (init_frame_gutters): construct real_gutter correctly.
11433         (Fgutter_specifier_p): beef up documentation.
11434         (Fgutter_size_specifier_p): ditto.
11435
11436         * winslots.h: add real_gutter slots.
11437
11438 2000-02-25  Andy Piper  <andy@xemacs.org>
11439
11440         * device-msw.c: Be kind to older cygwin versions. From Raymond
11441         Toy <toy@rtp.ericsson.se>.
11442
11443         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
11444         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
11445
11446 2000-02-25  Martin Buchholz  <martin@xemacs.org>
11447
11448         * elhash.c (MARK_OBJ): Practice macro hygiene.
11449
11450 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11451
11452         * miscplay.c: s/__inline__/inline/g;
11453         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
11454         (get_device_compdc): INLINE ==> static inline
11455         * *.[ch]: Change INLINE to INLINE_HEADER globally.
11456         find -name '*.h' | \
11457         xargs global-replace \
11458         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
11459
11460 2000-02-25  Andy Piper  <andy@xemacs.org>
11461
11462         * window.c (window_top_frame_gutter_height): new function.
11463         (window_top_window_gutter_height): ditto.
11464         (window_top_gutter_height): use them.
11465         (window_bottom_frame_gutter_height): new function.
11466         (window_bottom_window_gutter_height): ditto.
11467         (window_bottom_gutter_height): use them.
11468         (window_left_window_gutter_width): new function.
11469         (window_left_frame_gutter_width): ditto.
11470         (window_left_gutter_width): use them.
11471         (window_right_window_gutter_width): new function.
11472         (window_right_frame_gutter_width): ditto.
11473         (window_right_gutter_width): use them.
11474         (window_pixel_height): new function. calulate window pixel height
11475         with frame gutter involvement.
11476         (Fsplit_window): calculate new sizes taking frame gutters into
11477         account.
11478         (window_char_height_to_pixel_height): don't include frame gutters.
11479         (window_char_height): use window_pixel_height.
11480         (window_pixheight): rename from window_pixel_height.
11481         (change_window_height): use it.
11482         (window_pixel_height_to_char_height): don't include frame gutters.
11483         (window_char_width_to_pixel_width): ditto.
11484
11485 2000-02-25  Andy Piper  <andy@xemacs.org>
11486
11487         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
11488         if it is.
11489
11490 2000-02-24  Martin Buchholz  <martin@xemacs.org>
11491
11492         * alloc.c (staticpro):
11493         (staticpro_nodump):
11494         (dumpstruct):
11495         (dumpopaque):
11496         (pdump_wire):
11497         (pdump_wire_list):
11498         (compact_string_chars):
11499         (pdump_dump_wired):
11500         Convert:  if (foo) abort();  ==>  assert (! foo);
11501
11502         * eldap.c (Fldap_search_basic):
11503         (Fldap_add):
11504         (Fldap_modify):
11505         (Fldap_delete):
11506         Fix compiler warnings, and possible crashes if (random) return
11507         value were to be used.
11508
11509 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11510
11511         * device-msw.c: Workaround ResetDC failure.
11512
11513         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
11514         applying a devmode.
11515
11516         * redisplay-msw.c (get_frame_dc): Added start_page_p.
11517         (mswindows_text_width): Do not start printer page.
11518
11519         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
11520
11521         * glyphs-msw.c: Added image methods to msprinter console and
11522         msprinter-specific image instantiation.
11523
11524 2000-02-20  Mike Alexander  <mta@arbortext.com>
11525
11526         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
11527         to avoid crashes when selection-sets-clipboard is on
11528         (mswindows_own_selection): ditto
11529
11530 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11531
11532         * glyphs-msw.c:
11533         * redisplay-msw.c (get_frame_dc):
11534         (get_frame_compdc):
11535         * console-msw.h:
11536         * device-msw.c (mswindows_init_device):
11537         (mswindows_delete_device):
11538         (msprinter_init_device):
11539         (msprinter_delete_device):
11540         * frame-msw.c (mswindows_init_frame_1):
11541         (mswindows_delete_frame):
11542         (msprinter_init_frame_3):
11543         (msprinter_delete_frame): Move compatible DC to device object from
11544         frame object, for both mswindows and msprinter. Only one at a time
11545         is needed, it is a real waste to have one per frame!
11546
11547 2000-02-23  Andy Piper  <andy@xemacs.org>
11548
11549         * glyphs.c: add dynamic width and height elements.
11550         (image_instance_equal): ditto.
11551
11552         * glyphs-widget.c (widget_query_geometry): calculate width and
11553         height dynamically if required.
11554         (initialize_widget_image_instance): initialize dynamic dimensions.
11555         (widget_instantiate): pick-up dynamic dimensions.
11556
11557         * glyphs.h (struct Lisp_Image_Instance): add width and height for
11558         dynamic determination. Add appropriate macros.
11559
11560         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
11561         dimensions safe.
11562         (WINDOW_GUTTER_SIZE): ditto.
11563         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
11564
11565         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
11566         inline.
11567         (get_frame_dc): ditto.
11568
11569         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
11570         here.
11571
11572 2000-02-23  Martin Buchholz <martin@xemacs.org>
11573
11574         * XEmacs 21.2.31 is released.
11575
11576 2000-02-22  Ben Wing <ben@xemacs.org>
11577
11578         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
11579
11580 2000-02-22  Andy Piper  <andy@xemacs.org>
11581
11582         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
11583
11584 2000-02-21  Mike Sperber <mike@xemacs.org>
11585
11586         * .dbxrc:
11587         * .gdbinit:
11588         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
11589         variables.
11590
11591 2000-02-21  Mike Sperber <mike@xemacs.org>
11592
11593         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
11594
11595 2000-02-21  Martin Buchholz <martin@xemacs.org>
11596
11597         * XEmacs 21.2.30 is released.
11598
11599 2000-02-20  Martin Buchholz  <martin@xemacs.org>
11600
11601         Performance hacking.
11602         * *.c (syms_of_*):
11603         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
11604         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
11605         * emacs.c (main_1):
11606         * lisp.h (DEFUN):
11607         * console.c (DEFVAR_CONSOLE_LOCAL_1):
11608         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
11609         * symeval.h (DEFVAR_SYMVAL_FWD):
11610         * symbols.c (guts_of_unbound_marker):
11611         Make all c_readonly objects also lisp_readonly and marked for life.
11612         * lrecord.h (struct lrecord_implementation):
11613         Document flags better.
11614         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
11615         * lrecord.h (DECLARE_LRECORD):
11616         * lrecord.h (XSETRECORD):
11617         * lrecord.h (RECORDP):
11618         * lrecord.h (RECORD_TYPEP):
11619         * lrecord.h (RECORD_MARKER): New.
11620         * lrecord.h (error_check_*):
11621         * lrecord.h (CONCHECK_NONRECORD):
11622         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
11623         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
11624         * lrecord.h (set_lheader_implementation):
11625         * lrecord.h (enum lrecord_type): New.
11626         * symeval.h (SYMBOL_VALUE_MAGIC_P):
11627         * alloc.c (disksave_object_finalization_1):
11628         * alloc.c (mark_object):
11629         * alloc.c (lrecord_type_index):
11630         * alloc.c (tick_lcrecord_stats):
11631         * alloc.c (Fgarbage_collect):
11632         * alloc.c (init_alloc_once_early):
11633         * alloc.c (pdump_load):
11634         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
11635         * alloc.c (lrecord_type_index): Delete.
11636         Make lisp object type indexes be constant.
11637           Makes (byte-compile) 5% faster.
11638         Put all marker functions into their own array.
11639           Makes (garbage-collect) 5% faster.
11640         Optimize SYMBOL_VALUE_MAGIC_P.
11641           Makes (byte-compile) 2-3% faster.
11642         * config.h.in (gc_checking_assert): New.
11643         * alloc.c: Use gc_checking_assert().
11644         * .dbxrc: Make compatible with new object type implementation.
11645         * .gdbinit: Make compatible with new object type implementation.
11646         * alloc.c: Delete all symbols defined only for debugging, such as
11647         Lisp_Type_Vector and lrecord_charset.
11648
11649 2000-02-21  Andy Piper  <andy@xemacs.org>
11650
11651         * gui-msw.c (Fmswindows_shell_execute): fix file location
11652         problems.
11653
11654         * buffer.c (Fkill_buffer): remove buffer from alist buffer
11655         unshowing so that set_window_buffer doesn't undo
11656         kill_buffer_hook's hard work.
11657
11658         * glyphs-widget.c (tab_control_query_geometry): don't count the
11659         first item when calculating geometry.
11660
11661         * glyphs.c (map_subwindow): remove redundant code.
11662         (update_frame_subwindows): be more circumspect about when to
11663         update subwindows.
11664
11665         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
11666         when items haven't changed. Update faces if faces have changed as
11667         well as just the widget face.
11668         (x_tab_control_update): Update faces if faces have changed as well
11669         as just the widget face.
11670
11671 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11672
11673         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
11674         registration.
11675         (build_syscolor_string): Use mswindows_color_to_string to try to
11676         get a named color.
11677         (mswindows_device_system_metrics): Reverse the foreground and
11678         background colors so that they match the documentation.
11679
11680         * objects-msw.c: (mswindows_X_color_map): tweak some values so
11681         they match the default Windows palette.
11682         (mswindows_color_to_string): New function.
11683
11684 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11685
11686         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
11687
11688 2000-02-18  Olivier Galibert  <galibert@pobox.com>
11689
11690         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
11691         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
11692
11693         * symbols.c (init_symbols_once_early): Removed obsolete
11694         DATA_SEG_BITS related kludge.
11695         (defvar_magic): Ditto.
11696
11697         * malloc.c: Removed obsolete DATA_SEG_BITS
11698         * ralloc.c: Ditto.
11699         * mem-limits.h: Ditto.
11700
11701         * Makefile.in.in: Removed obsolete HAVE_SHM
11702         * emacs.c: Ditto.
11703
11704 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11705
11706         *  device-msw.c (mswindows_delete_device): Free DDE string
11707         handles.
11708
11709 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11710
11711         * keymap.c (get_keyelt):
11712         * unexnt.c (unexec):
11713         * vm-limit.c (memory_warnings):
11714         * ntheap.c (recreate_heap):
11715         * ntheap.h (UNINIT_PTR):
11716         * select-msw.c (Fmswindows_get_clipboard):
11717         (Fmswindows_set_clipboard):
11718         * objects-msw.h (MSWINDOWS_BAD_HFONT):
11719         * objects-msw.c:
11720         * menubar-msw.c (displayable_menu_item):
11721         * glyphs-msw.c:
11722         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
11723         * sysdep.c (sys_subshell):
11724         * process-nt.c (nt_create_process):
11725         * nt.c (normalize_filename):
11726         (dostounix_filename):
11727         (unixtodos_filename):
11728         * ntproc.c (win32_executable_type):
11729         * ntplay.c (play_sound_data_1):
11730         (play_sound_file):
11731         * editfns.c (get_home_directory):
11732         * event-msw.c (struct winsock_stream):
11733         (mswindows_dde_callback):
11734         * device-msw.c (msprinter_init_device):
11735         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
11736
11737         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
11738         mswindows_clear_toolbar were swapped!
11739
11740         * objects-msw.c:(colormap_t):
11741         (fontmap_t):
11742         * emacs.c (struct standard_args): Fixed const jumble.
11743
11744         * glyphs-widget.c (update_widget): Fixed comparison notation.
11745
11746         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
11747
11748         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
11749         __declspec(noreturn) syntax.
11750
11751 2000-02-19  Martin Buchholz  <martin@xemacs.org>
11752
11753         * eldap.c (Fldap_open):
11754         (Fldap_search_basic):
11755         (Fldap_add):
11756         (Fldap_modify):
11757         Use new coding system conversion macros.
11758
11759 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11760
11761         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
11762
11763 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
11764
11765         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
11766         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11767
11768         * eldap.c (Qadd, Qreplace): New constant symbols
11769         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
11770         interruptions by XEmacs signals
11771         Remove unnecessary calls to slow_down_interrupts and
11772         speed_up_interrupts
11773         (Fldap_search_basic): Renamed from Fldap_search_internal
11774         Added new optional parameter VERBOSE that triggers the
11775         display of progress messages
11776         Remove unnecessary calls to slow_down_interrupts and
11777         speed_up_interrupts
11778         LDAP result code analysis rewritten
11779         (Fldap_add, Fldap_modify, Fldap_delete): New functions
11780         (syms_of_eldap): Define the new symbols and functions
11781
11782
11783 2000-02-17  Martin Buchholz  <martin@xemacs.org>
11784
11785         * realpath.c: Determine PATH_MAX maximally portably.
11786
11787         * insdel.c (bytecount_to_charcount): Optimize.
11788         The function used to be optimized for entirely ASCII sequences.
11789         Now it is optimized for successive characters from the same
11790         charset.  This also wins big for _mostly_ ASCII sequences.
11791
11792         * fileio.c (Ffile_truename): convert return from realpath() using
11793         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
11794         - Rewrite GCPROing slightly.
11795
11796         * sysdep.c (sys_open): Do filename conversion, like all other
11797         sys_* functions.  Fixes bug:
11798         (let ((file-name-coding-system 'iso-8859-2))
11799            (write-region x y latin2-name))
11800         ==> writes filename using internal encoding.
11801
11802 2000-02-18  Martin Buchholz  <martin@xemacs.org>
11803
11804         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
11805         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
11806         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
11807         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
11808         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
11809         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
11810         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
11811         (CONST_IF_NOT_DEBUG): Delete.
11812         * alloc.c (this_one_is_unmarkable): Delete.
11813         (mark_object): Don't check for this_one_is_unmarkable. Use the
11814         c_readonly flag instead.
11815         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
11816
11817 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11818
11819         * event-msw.c (mswindows_drain_windows_queue):
11820         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
11821         away redundant repaint events.
11822
11823 2000-02-17  Andy Piper  <andy@xemacs.org>
11824
11825         * redisplay.h: declare mark_redisplay_structs.
11826
11827         * redisplay.c (redisplay_window):
11828         (redisplay_frame): don't check subwindows_state_changed.
11829         (mark_redisplay): mark gutters here.
11830
11831         * glyphs.c: (instantiate_image_instantiator): always layout if we
11832         haven't done so already.
11833         (allocate_image_instance): don't mark as dirty.
11834         (update_subwindow): bind inhibit_quit.
11835
11836         * gutter.c (mark_gutters): new function.
11837
11838         * glyphs-x.c (x_update_widget): Always resize to get round a
11839         widget bug.
11840
11841         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
11842         breaking absolutely everything.
11843
11844         * gutter.h: declare mark_gutters.
11845
11846 2000-02-16  Martin Buchholz <martin@xemacs.org>
11847
11848         * XEmacs 21.2.29 is released.
11849
11850 2000-02-15  Olivier Galibert  <galibert@pobox.com>
11851
11852         * fns.c (size_bit_vector): Fix computation of the size.
11853
11854 2000-02-15  Martin Buchholz  <martin@xemacs.org>
11855
11856         * *.[ch]: Change CONST to const globally.
11857         find -name '*.[ch]' | \
11858         xargs global-replace \
11859         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
11860         - Remove vestigial references to CONST_IS_LOSING
11861
11862 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11863
11864         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
11865         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
11866         events instead of dispatching them directly.
11867         (mswindows_handle_paint): New function to do repainting.
11868         (mswindows_wnd_proc):
11869         (emacs_mswindows_handle_magic_event): Call above function.
11870
11871 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11872
11873         * objects-msw.c (mswindows_create_font_variant): Return the new
11874         font handle.
11875         (initialize_font_instance): Get font metrics from the underlined
11876         variant of the font to cope with the case where the underlined
11877         font has a bigger descent.
11878
11879 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11880
11881         * gui.c (gui_item_accelerator): Return the first underlined
11882         character in item name.
11883
11884 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11885
11886         * lisp.h: Added Qprinter.
11887
11888         * general.c (syms_of_general): Initialized it.
11889
11890         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
11891         (get_frame_dc):
11892         (get_frame_compdc): Made inline.
11893
11894         * console.h (struct console_methods): Added eject_page method.
11895
11896         * frame.h: Added FRAME_DISPLAY_P and friends.
11897         Aligned backslahes in many macros in more readable fashion.
11898         Added page_number to struct frame, and an accessor macro
11899         for it.
11900
11901         * defice.h: Added DEVICE_DISPLAY_P and friends.
11902
11903         * device.c (Fdevice_printer_p): Used these.
11904
11905         * frame.c (allocate_frame_core): Initialize page number.
11906         (Fprint_job_page_number):
11907         (Fprint_job_eject_page): Implemented.
11908
11909         * frame-msw.c (msprinter_eject_page): Added method.
11910         (msprinter_start_page): Added.
11911
11912         * window.c (Fwindow_truncated_p): Fixed docstring.
11913         (Fwindow_last_line_visible_height): Implemented.
11914
11915 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
11916
11917         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
11918
11919 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11920
11921         * syntax.c (scan_words): Always advance at least one character.
11922
11923 2000-02-13  Andy Piper  <andy@xemacs.org>
11924
11925         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
11926         to make sure the glyph is in the cachels.
11927
11928         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11929         global image instance flag.
11930         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11931         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11932
11933         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11934         (Fset_image_instance_property): mark layout as changed.
11935         (invalidate_glyph_geometry_maybe): mark layout as changed.
11936         (glyph_width): use new NEEDS_LAYOUT macro.
11937         (glyph_ascent): ditto.
11938         (glyph_descent): ditto.
11939         (glyph_height): ditto.
11940         (image_instance_layout): mark layout as clean after laying out.
11941         (update_subwindow): don't mark layout as clean here.
11942
11943         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11944         should no longer be needed.
11945
11946         * glyphs-x.c (x_update_widget): sanitize asserts.
11947         (x_finalize_image_instance): sanitize assignment to widgets.
11948
11949         * glyphs-widget.c (widget_instantiate): don't need to clear the
11950         layout flag here.
11951
11952 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11953
11954         * sysdep.c (getcwd): Use standard prototype.
11955         * sysdep.h (getcwd): Use standard prototype.
11956
11957         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11958         (sequence, start, end).
11959         Remove redundant type checking.
11960         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11961         view of `caller-protects') to avoid a crash where the real fix was
11962         found elsewhere.
11963
11964 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11965
11966         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11967
11968         * s/sol2.h: Remove feature macro initialization.
11969
11970         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11971         (vector_hash): New.  Code from internal_hash.
11972         * lrecord.h:
11973         Fix up allocation subsystem comments.
11974
11975         * config.h.in: Add __EXTENSIONS__ for Solaris.
11976
11977         * systime.h (EMACS_GETTIMEOFDAY): New.
11978         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11979         Remove Solaris-specific code.
11980         Use void* for the (ignored) second arg for gettimeofday().
11981
11982         * elhash.c (hash_table_hash): Implement it, finally.
11983         * elhash.c:  Use hashcode_t.
11984
11985         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11986         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11987
11988         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11989         * fns.c (size_bit_vector):
11990         * alloc.c (size_vector):
11991         (make_vector_internal):
11992         (make_bit_vector_internal):
11993         (sweep_bit_vectors_1):
11994         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11995
11996 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11997
11998         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11999         Include strings.h to avoid warnings for bzero and strcasecmp.
12000
12001 2000-02-10  Olivier Galibert  <galibert@pobox.com>
12002
12003         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
12004         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
12005
12006         * fns.c (size_bit_vector): New.  Declare bit vectors as a
12007         sequence.
12008
12009 2000-02-10  Olivier Galibert  <galibert@pobox.com>
12010
12011         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
12012         use a value field instead.
12013         (symbol_value_forward_forward): Use value field.
12014         (DEFVAR_SYMVAL_FWD): Use value field.
12015         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
12016         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
12017         (DEFVAR_CONST_INT): Ditto.
12018         (DEFVAR_BOOL): Ditto.
12019         (DEFVAR_CONST_BOOL): Ditto.
12020         (DEFVAR_INT_MAGIC): Ditto.
12021         (DEFVAR_BOOL_MAGIC): Ditto.
12022
12023         * symbols.c (guts_of_unbound_marker): Use value field.
12024         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
12025         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
12026
12027         * lisp.h: Declare dumpopaque and noninteractive1.
12028
12029         * alloc.c (dumpopaque): Added.
12030         (pdump_dump_opaquevec): Added.
12031         (pdump): Call pdump_dump_opaquevec to dump opaque data.
12032         (pdump_load): Reload opaque data.  Sync noninteractive1 with
12033         noninteractive.
12034
12035 2000-02-10  Andy Piper  <andy@xemacs.org>
12036
12037         * glyphs.c (image_instance_layout): if the size changes, mark it
12038         as such.
12039
12040         * redisplay-output.c (redisplay_output_layout): Update the
12041         subwindow here.
12042         (redisplay_output_subwindow): ditto.
12043
12044         * glyphs.c (update_subwindow): make sure we reset flags for
12045         layouts as well as everything else.
12046
12047         * glyphs-widget.c (layout_layout): don't need to set the instances
12048         dimensions here.
12049
12050 2000-02-09  Martin Buchholz  <martin@xemacs.org>
12051
12052         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
12053         not HAVE_DLOPEN, which is a lower-level thing.
12054
12055         * .cvsignore: Ignore gmon.out
12056
12057 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
12058
12059         * .cvsignore: Ignore portable dumper xemacs.dmp file
12060
12061 2000-02-09  Andy Piper  <andy@xemacs.org>
12062
12063         * redisplay-output.c (redisplay_output_layout): be more clever
12064         about when we output based on the changed flags.
12065
12066         * glyphs.h (struct image_instantiator_methods): add update_method.
12067         (struct Lisp_Image_Instance): add changed flags. Declare new
12068         macros for manipulating them.
12069
12070         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
12071         (image_instance_parent_glyph): find an image_instance's parent
12072         glyph or image_instance.
12073         (image_instance_layout): mark the size as changed.
12074         (set_image_instance_dirty_p): new function. mark an image
12075         instance, plus all of its parents, as dirty.
12076         (Fset_image_instance_property): use it.
12077         (Fglyph_animated_timeout_handler): use it.
12078         (update_subwindow): call update_widget and device methods for
12079         update_subwindow. Mark all changed flags as clean.
12080         (Fresize_subwindow): mark size as changed.
12081
12082         * glyphs-x.c (x_finalize_image_instance): try and detect gc
12083         failures.
12084         (x_update_subwindow): only resize subwindows here.
12085         (x_update_widget): new function. Update all changed properties of
12086         a widget.
12087         (x_resize_subwindow): deleted.
12088         (x_widget_set_property): deleted.
12089         (x_progress_gauge_set_property): deleted.
12090         (x_progress_gauge_update): new function. Implement recorded
12091         changes.
12092         (x_tab_control_update): ditto.
12093         (x_tab_control_set_property): deleted.
12094         (console_type_create_glyphs_x): declare new functions.
12095         (image_instantiator_format_create_glyphs_x): ditto.
12096
12097         * glyphs-widget.c (widget_set_property): mark text changed.
12098         (update_widget): new function. Update properties of a widget.
12099         (widget_instantiate): for layouts make sure we set their
12100         children's parent correctly.
12101         (tab_control_set_property): new function. Record changes that will
12102         take place under redisplay's control.
12103         (progress_gauge_set_property): ditto.
12104         (image_instantiator_progress_guage): declare new functions.
12105         (image_instantiator_tab_control): ditto.
12106
12107         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
12108         now.
12109         (mswindows_update_widget): new function. Update all properties on
12110         a widget that have changed.
12111         (mswindows_button_update): new function. Update a button's set
12112         state.
12113         (mswindows_tab_control_update): new function. Update the items in
12114         a tab.
12115         (mswindows_tab_control_set_property): deleted.
12116         (mswindows_progress_gauge_update): new function. Update the
12117         progress gauge's progress.
12118         (mswindows_widget_set_property): deleted. This is all done
12119         asynchronously now.
12120         (mswindows_progress_gauge_set_property): ditto.
12121         (console_type_create_glyphs_mswindows): declare new methods.
12122         (image_instantiator_format_create_glyphs_mswindows): ditto.
12123
12124         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
12125         (msprinter_set_frame_properties): ditto.
12126
12127         * console.h (struct console_methods): Add update_widget_method.
12128
12129 2000-02-09  Andy Piper  <andy@xemacs.org>
12130
12131         * gui-msw.c (Fmswindows_shell_execute): Make
12132         mswindows-shell-execute industrial strength.
12133
12134 2000-02-08  Martin Buchholz  <martin@xemacs.org>
12135
12136         * lrecord.h: Make macro argument `props' match member function `plist'.
12137         * fns.c (Fget):
12138         * fns.c (Fput):
12139         * fns.c (Fremprop):
12140         * fns.c (Fobject_plist):
12141         * alloc.c:
12142         * symbols.c:
12143         Object property list frobbing cleanup.
12144         - Allow any lisp object (compared with `eq'), not just symbols, as
12145           keys in object plists.
12146         - Move symbol plist frobbing into symbols.c, where it belongs.
12147         - Move string plist frobbing into alloc.c, where it belongs.
12148         - Everything's an lrecord now, so no need to test for symbolp, etc.
12149         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
12150
12151         * extents.c: Reorder code to remove declarations.
12152
12153         * frame.h (store_in_alist): Remove useless declaration.
12154
12155 2000-02-07  Martin Buchholz  <martin@xemacs.org>
12156
12157         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
12158         * config.h.in: Add HAVE_XCONVERTCASE.
12159
12160 2000-02-07  Andy Piper  <andy@xemacs.org>
12161
12162         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
12163         it breaks many things.
12164
12165 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12166
12167         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
12168         actually can start a common comment type.
12169         * src/syntax.h (SYNTAX_END_P): ditto for end.
12170
12171 2000-02-07  Martin Buchholz <martin@xemacs.org>
12172
12173         * XEmacs 21.2.28 is released.
12174
12175 2000-02-06  Martin Buchholz  <martin@xemacs.org>
12176
12177         * event-Xt.c (x_keysym_to_character): New.
12178         (maybe_define_x_key_as_self_inserting_character): New.
12179         (x_has_keysym): New.
12180         Auto-define all keys on the keyboard as self-insert-key.
12181
12182 2000-02-02  Martin Buchholz  <martin@xemacs.org>
12183
12184         * menubar.c (vars_of_menubar): A small code simplification.
12185
12186         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
12187
12188         * ExternalShell.c:
12189         * ExternalClient.c:
12190         * EmacsShell-sub.c:
12191         * EmacsManager.c:
12192         * EmacsFrame.c:
12193         Use consistent style for specifying X resources.
12194
12195         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
12196         This makes (dontusethis-set-symbol-value-handler) actually usable.
12197
12198         * lrecord.h (lrecord_decription_type):
12199         * alloc.c (pdump_register_sub):
12200         (pdump_dump_data):
12201         (pdump_reloc_one):
12202         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
12203         Comply with XEmacs coding style.
12204         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
12205         args, and XD_LISP_OBJECT_ARRAY with 3 args.
12206
12207         * keymap.c (Faccessible_keymaps):
12208         Make (accessible-keymaps map "\C-h") do the Right Thing.
12209         Make (accessible-keymaps map []) do the Right Thing.
12210         Make (accessible-keymaps map "") do the Right Thing.
12211         (check_keymap_definition_loop): New function.
12212         (keymap_store_internal): Keep luser from shooting self in foot,
12213           via (define-key ctl-x-4-map "p" global-map).
12214         Remove fullness slot from struct Lisp_Keymap, since hash tables
12215         are now reliable.
12216         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
12217
12218 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12219
12220         * redisplay.c (init_redisplay): Fix small memory leak.
12221         * elhash.h:
12222         * elhash.c (pdump_reorganize_hash_table):
12223         Rename from reorganize_hash_table. Change prototype.
12224         Reuse the original memory for hentries.  Save 100k.
12225         * alloc.c (PDUMP_READ): new macro.
12226         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
12227         * alloc.c: No need to #ifndef before #undef.
12228
12229         * print.c: Allow debug_print() to print readably by modifying
12230         debug_print_readably.  Use consistent variable names.
12231
12232         * .dbxrc: Try to get things to work even if stopped in a function
12233         without source available by explicitly specifying source files.
12234 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12235
12236         * unexnt.c (_start): Removed bogus code which caused loading heap
12237         from differrent executable file.
12238         Removed bogus assignment to _fmode, which caused inconsistencies.
12239
12240 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12241
12242         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
12243         Have spawnve encapsulation regard DONT_ENCAPSULATE.
12244         Do not preliminary `#define signal sigset'.
12245
12246         * systime.h: Do not prototype environ on windows nt and cygwin,
12247         this conflicts with system header.
12248
12249         * syssignal.h: Use correct define for WINDOWSNT
12250
12251         * sysdep.h: Do not prototype environ on windows nt, this conflicts
12252         with system header.
12253
12254         * sysdep.c (near start of file): Fixed commentary and rearranged
12255         ifdefs in readable order.
12256         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
12257         (start_of_text):
12258         (end_of_text):
12259         (end_of_data): Do not compile in if using PDUMP.
12260
12261         * symsinit.h: Prototyped vars_of_nt().
12262
12263         * ntproc.c (windows9x_p): Added, instead of os_subtype.
12264         (find_child_console): Use it.
12265         (sys_kill): Use it.
12266
12267         * ntheap.h: Do not extern os_subtype.
12268
12269         * ntheap.c (cache_system_info): Do not cache unneeded:
12270         nt_major_version, nt_minor_version and os_subtype.
12271         (recreate_heap): Do not compile in when PDUMPing.
12272
12273         * nt.c (geteuid and friends): Use the new varibale
12274         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
12275         (init_user_info): Removed the above mentioned hackery.
12276         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
12277         stat has been fixed in the C runtime.
12278         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
12279
12280         * file-coding.c (struct file_coding_dump): Do not define
12281         ucs_to_mule_table in the struct if not MULE.
12282         (struct struct lrecord_description fcd_description_1): Do not dump
12283         the above.
12284
12285         * emacs.c (main_1): Call vars_of_nt().
12286         (right before Fdump_emacs_data): Don't need lastfile if using both
12287         portabe dumper and system malloc.
12288
12289         * alloc.c (Fmemory_limit): Conditionalized out.
12290         (pdump): Use OPEN_BINARY for the portable dump file.
12291         (pdump_load): Ditto.
12292
12293 2000-02-02  Mike Alexander  <mta@arbortext.com>
12294
12295         * nt.c (convert_time): Set tm_isdst before calling mktime and
12296         avoid calling it at all if the compiler supports 64 bit integers.
12297         Also initialize utc_base_ft before using it.
12298
12299 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
12300
12301         * frame.c (change_frame_size_1): Take f->internal_border_width
12302         into consideration when calculating the width of the frame.
12303
12304 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12305
12306         * window.c (frame_min_height):
12307         (frame_size_valid_p):
12308         (frame_pixsize_valid_p): Added.
12309         (check_frame_size): Generalized.
12310
12311         * window.h: Prototyped the above.
12312
12313         * lisp.h:
12314         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
12315         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
12316         Deleted Vwin32_* and Vbinary_process_* unused variables.
12317
12318         * device-msw.c (msprinter_init_device): Do not get printer font
12319         list; Added DEVMODE functions.
12320
12321         * frame-msw.c: Added lots of printer code.
12322
12323         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
12324         general.c.
12325
12326         * console-msw.h: Added more msprinter device private slots.
12327
12328 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12329
12330         * event-msw.c (key_needs_default_processing_p): Added.
12331         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
12332
12333 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12334
12335         * glyphs.c (image_instance_layout): Mark image instance as clean
12336         after layout.
12337         (glyph_dirty_p): Removed redundant function.
12338         (invalidate_glyph_geometry_maybe): Added.
12339         (update_glyph_cachel_data): Call it.
12340
12341         * glyphs.h: Prototyped it.
12342
12343         * redisplay.c (add_glyph_rune): Call it.
12344         (redisplay_window): Reset glyphs cachels when frame faces have
12345         changed, thus forcing recomputation of built-in border glyphs.
12346
12347 2000-01-30  Martin Buchholz  <martin@xemacs.org>
12348
12349         * Makefile.in.in: Make portable dumper and purify play well together.
12350         Add imperfect, but better than nothing, support for pdump.
12351         Remove xemacs.dmp when temacs is re-generated.
12352         Don't ignore errors when dumping xemacs.
12353
12354         * symbols.c (maybe_call_magic_handler): Remove one magic number.
12355
12356 2000-01-28  Andy Piper  <andy@xemacs.org>
12357
12358         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
12359         (setup_normal_frame): ditto.
12360         (setup_frame_without_minibuffer): ditto.
12361         (setup_minibuffer_frame): ditto.
12362         (delete_frame_internal): ditto.
12363         (Fmake_frame_invisible): ditto.
12364         (Ficonify_frame): ditto.
12365
12366         * window.h: change Fset_window_buffer signature.
12367
12368         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
12369         (Fset_window_buffer): allow recording of buffer if the window is
12370         the selected window.
12371         (window_loop): Use new Fset_window signature.
12372
12373 2000-01-23  Daniel Pittman  <daniel@danann.net>
12374
12375         * config.h.in: Added template for `HAVE_ATHENA_3D'
12376
12377 2000-01-29  Andy Piper  <andy@xemacs.org>
12378
12379         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
12380
12381         * gutter.c (output_gutter): Don't output if the window isn't live.
12382
12383 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12384
12385         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
12386         of 01/12/00: Moved SetFocus back here where it belongs.
12387
12388 2000-01-23  Andy Piper  <andy@xemacs.org>
12389
12390         * s/cygwin32.h: declare printer things.
12391
12392 2000-01-26  Andy Piper  <andy@xemacs.org>
12393
12394         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
12395         Alexander.
12396
12397 2000-01-24  Andy Piper  <andy@xemacs.org>
12398
12399         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
12400         (mswindows_button_instantiate): Make sure glyph is a pixmap.
12401
12402         * glyphs-widget.c (widget_instantiate): Avoid shadows.
12403
12404         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
12405
12406         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
12407
12408         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
12409         (mswindows_output_display_block): Avoid local shadows.
12410
12411         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
12412         (mswindows_enqueue_mouse_button_event): ditto.
12413         (mswindows_handle_gui_wm_command): remove declaration.
12414
12415         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
12416         warnings.
12417
12418         * console-msw.h: Avoid shadows.
12419         (mswindows_get_toolbar_button_text):
12420         (emacs_mswindows_create_stream_pair):
12421         (emacs_mswindows_delete_stream_pair):
12422         (mswindows_handle_toolbar_wm_command): declare.
12423
12424         * device-msw.c (build_syscolor_string): Avoid shadows.
12425
12426 2000-01-23  Andy Piper  <andy@xemacs.org>
12427
12428         * glyphs-widget.c (widget_instantiate): reverse the items for
12429         layouts so that children are in the expected order.
12430
12431 2000-01-28  Martin Buchholz  <martin@xemacs.org>
12432
12433         * ralloc.c: safe_bcopy ==> memmove
12434         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
12435         * s/msdos.h: Remove BCOPY macros.
12436         * insdel.c (gap_right): Remove BCOPY conditional code.
12437         * insdel.c (gap_left): Remove BCOPY conditional code.
12438         XEmacs demands a working ANSI C compiler - hence memmove.
12439
12440         * regex.c (regex_compile): Remove accidental use of trigraphs.
12441
12442 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12443
12444         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
12445         event timestamp.
12446
12447 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12448
12449         * event-msw.c (mswindows_drain_windows_queue): Added the
12450         parameter.
12451         (mswindows_need_event): Commented the call to
12452         mswindows_drain_windows_queue().
12453         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
12454         only.
12455
12456         * console-msw.h: Moved a few function prototypes here from
12457         event-msw.c.
12458
12459         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
12460         parameter from unsigned short to unsigned long.
12461         (Fmswindows_shell_execute): Added return value.
12462
12463 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12464
12465         * sysdep.c (init_system_name):
12466           process-unix.c (unix_canonicalized_host_name):
12467         Don't call freeaddrinfo() if getaddrinfo() fails.
12468
12469         * process-unix.c (unix_open_unix_network_stream):
12470         Moved the code to get a port # into address loop.
12471
12472 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12473
12474         * buffer.c (reinit_vars_of_buffer):
12475         The right place to initialize conversion_in_dynarr and
12476         conversion_out_dynarr.
12477
12478         * alloc.c (pdump): Use the real open() till sys_open() is functional.
12479
12480         * process-unix.c (unix_canonicalize_host_name): Muleize.
12481         (unix_open_network_stream): Muleize.
12482
12483         * buffer.h: Fix up prototypes for ralloc.c functions.
12484
12485 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
12486         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
12487         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
12488                 instead of gethostbyname()
12489         * process-unix.c: In unix_canonicalize_host_name() and
12490                 unix_open_network_stream(), add code to use getaddrinfo()
12491                 instead of gethostbyname().
12492
12493 2000-01-27  Daniel Pittman <daniel@danann.net>
12494
12495         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
12496         libs when built with flat Athena.
12497
12498 2000-01-27  Martin Buchholz  <martin@xemacs.org>
12499
12500         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
12501         Use coding standards for function prototypes.
12502
12503 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12504
12505         * dialog-msw.c (push_lisp_string_as_unicode):
12506         * doc.c (unparesseuxify_doc_string):
12507         * dired.c (Fuser_name_completion_1):
12508         * dired.c (Fuser_name_all_completions):
12509         * dired.c (free_user_cache):
12510         * dired.c (user_name_completion):
12511         * console-x.c (get_display_arg_connection):
12512         * minibuf.c (clear_echo_area_internal):
12513         * minibuf.c (echo_area_append):
12514         * eldap.c (Fldap_open):
12515         * eldap.c (Fldap_search_internal):
12516         * frame-x.c (x_set_frame_text_value):
12517         * frame-x.c (x_set_frame_properties):
12518         * frame-x.c (x_create_widgets):
12519         * redisplay-tty.c (term_get_fkeys_1):
12520         * objects-x.c (x_parse_nearest_color):
12521         * objects-x.c (x_valid_color_name_p):
12522         * objects-x.c (x_initialize_font_instance):
12523         * objects-x.c (x_list_fonts):
12524         * objects-x.c (x_find_charset_font):
12525         * tooltalk.c (Fadd_tooltalk_message_arg):
12526         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12527         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12528         * process-unix.c (unix_create_process):
12529         * ntproc.c (sys_spawnve):
12530         * sound.c (Fplay_sound_file):
12531         * sound.c (Fplay_sound):
12532         * buffer.c (init_initial_directory):
12533         * buffer.c (init_buffer):
12534         * editfns.c (init_editfns):
12535         * editfns.c (Ftemp_directory):
12536         * editfns.c (Fuser_full_name):
12537         * editfns.c (uncache_home_directory):
12538         * editfns.c (get_home_directory):
12539         * editfns.c (Fuser_home_directory):
12540         * editfns.c (Fformat_time_string):
12541         * editfns.c (Fcurrent_time_string):
12542         * gui-x.c (button_item_to_widget_value):
12543         * database.c (Fopen_database):
12544         * event-Xt.c (x_to_emacs_keysym):
12545         * event-Xt.c (x_event_to_emacs_event):
12546         * event-Xt.c (describe_event_window):
12547         * event-msw.c (mswindows_wnd_proc):
12548         * glyphs-eimage.c (jpeg_instantiate):
12549         * glyphs-eimage.c (gif_instantiate):
12550         * glyphs-eimage.c (png_instantiate):
12551         * glyphs-eimage.c (tiff_instantiate):
12552         * glyphs-x.c (xbm_instantiate_1):
12553         * glyphs-x.c (x_xbm_instantiate):
12554         * glyphs-x.c (x_xface_instantiate):
12555         * glyphs-x.c (autodetect_instantiate):
12556         * glyphs-x.c (cursor_font_instantiate):
12557         * glyphs-x.c (x_widget_instantiate):
12558         * glyphs-x.c (x_widget_set_property):
12559         * glyphs-x.c (x_widget_property):
12560         * glyphs-x.c (BUILD_GLYPH_INST):
12561         * print.c (write_string_to_stdio_stream):
12562         * print.c (output_string):
12563         * print.c (Falternate_debugging_output):
12564         * print.c (Fexternal_debugging_output):
12565         * glyphs-msw.c (extract_xpm_color_names):
12566         * glyphs-msw.c (mswindows_xpm_instantiate):
12567         * glyphs-msw.c (bmp_instantiate):
12568         * glyphs-msw.c (resource_name_to_resource):
12569         * glyphs-msw.c (mswindows_resource_instantiate):
12570         * glyphs-msw.c (xbm_instantiate_1):
12571         * glyphs-msw.c (mswindows_xbm_instantiate):
12572         * glyphs-msw.c (mswindows_xface_instantiate):
12573         * glyphs-msw.c (mswindows_widget_instantiate):
12574         * glyphs-msw.c (add_tree_item):
12575         * glyphs-msw.c (add_tab_item):
12576         * glyphs-msw.c (mswindows_combo_box_instantiate):
12577         * glyphs-msw.c (mswindows_widget_property):
12578         * glyphs-msw.c (mswindows_combo_box_property):
12579         * glyphs-msw.c (mswindows_widget_set_property):
12580         * console.c (stuff_buffered_input):
12581         * objects-msw.c (mswindows_initialize_color_instance):
12582         * objects-msw.c (mswindows_valid_color_name_p):
12583         * objects-msw.c (mswindows_list_fonts):
12584         * objects-msw.c (mswindows_font_instance_truename):
12585         * bytecode.c (optimize_compiled_function):
12586         * select-x.c (symbol_to_x_atom):
12587         * select-x.c (x_atom_to_symbol):
12588         * select-x.c (hack_motif_clipboard_selection):
12589         * select-x.c (selection_data_to_lisp_data):
12590         * select-x.c (lisp_data_to_selection_data):
12591         * select-x.c (Fx_get_cutbuffer_internal):
12592         * select-x.c (Fx_store_cutbuffer_internal):
12593         * buffer.h (TO_EXTERNAL_FORMAT): New function.
12594         * buffer.h (TO_INTERNAL_FORMAT): New function.
12595         * emacs.c (make_arg_list_1):
12596         * emacs.c (make_argc_argv):
12597         * emacs.c (main_1):
12598         * emacs.c (Fdump_emacs):
12599         * emacs.c (split_string_by_emchar_1):
12600         * file-coding.h:
12601         * lisp.h:
12602         * lstream.h:
12603         * symsinit.h:
12604         * device-x.c (x_init_device):
12605         * device-x.c (Fx_valid_keysym_name_p):
12606         * device-x.c (Fx_get_font_path):
12607         * device-x.c (Fx_set_font_path):
12608         * glyphs.c (bitmap_to_lisp_data):
12609         * glyphs.c (pixmap_to_lisp_data):
12610         * alloc.c (make_ext_string): Use coding system arguments.  Update
12611         all callers.
12612         * alloc.c (build_string):
12613         * callproc.c (child_setup):
12614         * callproc.c (init_callproc):
12615         * fileio.c (lisp_strerror):
12616         * fileio.c (directory_file_name):
12617         * fileio.c (Fexpand_file_name):
12618         * fileio.c (Ffile_truename):
12619         * fileio.c (Fsysnetunam):
12620         * fileio.c (Fdo_auto_save):
12621         * sysdep.c (sys_readdir):
12622         * tests.c: New file.  Allow adding C tests.
12623         Replace GET_* macros with a more comprehensible and flexible
12624         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
12625         Modify all calls.
12626         Any coding system can be used to do format conversion.
12627         Eliminate enum external_data_format.
12628         Eliminate convert_to_external_format.
12629         Eliminate convert_to_internal_format.
12630         Make sure file-name, keyboard, terminal, and ctext are always
12631         defined as coding systems or aliases.  Make
12632         file-name-coding-system, terminal-coding-system, and
12633         keyboard-coding-system magical variables that are equivalent to
12634         defining the corresponding coding system aliases.
12635
12636         * file-coding.c (Fcoding_system_canonical_name_p): New function.
12637         * file-coding.c (Fcoding_system_alias_p): New function.
12638         * file-coding.c (Fcoding_system_aliasee): New function.
12639         * file-coding.c (append_suffix_to_symbol): New function.
12640         * file-coding.c (dangling_coding_system_alias_p): New function.
12641         * file-coding.c (Ffind_coding_system):
12642         * file-coding.c (Fcopy_coding_system):
12643         * file-coding.c (encode_coding_no_conversion):
12644         * file-coding.c (syms_of_file_coding):
12645         * file-coding.c (vars_of_file_coding):
12646         Rewrite coding system alias code.
12647         Allow nested aliases, like symbolic links.
12648         Allow redefinition of coding system aliases.
12649         Prevent existence of dangling coding system aliases.
12650
12651         * dired.c (Fuser_name_completion_1):
12652         * dired.c (Fuser_name_all_completions):
12653         A crash would happen if user did QUIT in the middle of building
12654         user_name_cache.  Remove redundant code in mainline and unwind_protect.
12655
12656         * lisp.h:
12657         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
12658
12659         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
12660         an unsigned char *.  Update all callers.
12661
12662 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12663
12664         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
12665
12666 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12667
12668         * elhash.c (hentry_description): Use more portable definition.
12669         (resize_hash_table): Initialize new hentries using
12670         xnew_array_and_zero, thereby simplifying the code.
12671
12672         * mule-charset.c (make_charset): Make sure entire object is
12673         initialized, to avoid Purify warnings.
12674
12675         * alloc.c (resize_string): Fix unlikely crash with big strings.
12676
12677 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12678
12679         * realpath.c (xrealpath):
12680         Don't call getwd().
12681
12682 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12683
12684         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
12685
12686 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
12687
12688         * unexelfsgi.c (unexec): Change the way we decide which segment
12689         should be extended.
12690
12691         Assumption that .bss section should be outside the PT_LOADable
12692         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
12693         it's present) is inside the 'data' segment. This would fail the
12694         test which was used to find a segment to grow and cover new
12695         heap. Instead of this assumption, I created another one - on IRIX
12696         the segment to grow should start below .bss and it's address
12697         should extent above the end of .bss. Once this segment is
12698         identified, it's grown to accommodate the new heap and new
12699         zero-length .bss section is added at the end of .data2.
12700
12701 2000-01-25  Martin Buchholz  <martin@xemacs.org>
12702
12703         * eval.c (Feval): Wrong number of arguments should use original
12704         function, not the indirect_function version of it.
12705
12706 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12707
12708         * glyphs-x.c (x_button_instantiate): Don't add image if
12709         it is not a pixmap.
12710         (x_locate_pixmap_file): Call Fexpand_file_name when file name
12711         is relative.
12712
12713 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
12714
12715         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
12716         declaration.
12717         (DEFVAR_INT_MAGIC): Ditto.
12718         (DEFVAR_BOOL_MAGIC): Ditto.
12719         * glyphs.h: Reindent backslash.
12720
12721 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12722
12723         * glyphs-widget.c (layout_query_geometry):
12724         (layout_layout): Use correct types for gheight, gwidth.
12725
12726 2000-01-24  Martin Buchholz  <martin@xemacs.org>
12727
12728         * EmacsManager.c (QueryGeometry): Purified.
12729
12730 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12731
12732         * alloc.c (make_float): Make sure entire object is initialized, to
12733         avoid Purify warnings.
12734         (pdump_register_sub): Remove useless assignment.
12735         (pdump): Use xmalloc, not malloc.
12736         (pdump_load): Use xmalloc, not malloc.
12737
12738 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12739
12740         * callproc.c:
12741         * dired-msw.c:
12742         * fileio.c:
12743         * process-nt.c:
12744         * redisplay-msw.c:
12745         * sysdep.c: Removed redundant #include <windows.h>
12746
12747 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12748
12749         * frame.c (delete_frame_internal): Do not delete device when its
12750         implementation so declares.
12751         (delete_frame_internal): Set device selected frame to nil when
12752         last frame goes away.
12753
12754         * device-msw.c (msprinter_device_system_metrics): Implemented.
12755         (mswindows_device_system_metrics): Added 'device-dpi property.
12756
12757         * device.c: (Fdevice_printer_p): Added.
12758         Added 'offset-workspace device metric.
12759
12760         * console.h (device_metrics): Declared DM_offset_workspace.
12761
12762 2000-01-23  Martin Buchholz  <martin@xemacs.org>
12763
12764         * fileio.c (Ffile_truename): Remove pointless and confusing
12765         initialization of elen.
12766
12767         * glyphs-widget.c: Compiler warning fixes.
12768
12769 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
12770
12771         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
12772         instead of a Lisp_Object as argument to make it consistent with
12773         the other LIVE_P macros.
12774         (CHECK_LIVE_PROCESS): New macro.
12775
12776         * process.c: Declare Qprocess_live_p.
12777         (Fprocess_live_p): New function.
12778         (create_process): Use PROCESS_LIVE_P.
12779         (read_process_output): Ditto.
12780         (set_process_filter): Ditto.
12781         (Fdelete_process): Ditto.
12782         (kill_buffer_processes): Ditto
12783         (process_send_signal): Use CHECK_LIVE_PROCESS.
12784         (Fprocess_input_coding_system): Check whether process is still
12785         alive (fix PR#1061).
12786         (Fprocess_output_coding_system): Ditto.
12787         (Fprocess_coding_system): Ditto.
12788         (Fset_process_input_coding_system): Ditto.
12789         (Fset_process_output_coding_system): Ditto.
12790
12791 2000-01-23  Andy Piper  <andy@xemacs.org>
12792
12793         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
12794         layout and widget.
12795
12796         * glyphs.c (mark_image_instance): take into account changed
12797         image_instance format.
12798         (image_instance_equal): ditto.
12799         (image_instance_hash): ditto.
12800
12801         * glyphs-widget.c (widget_instantiate): Incorporate layout
12802         instantiation here. Delay layout of the layout until later.
12803         (layout_instantiate): deleted.
12804         (layout_query_geometry): new function. get the geometry of a
12805         layout.
12806         (layout_layout): layout a layout dynamically.
12807         (image_instantiator_widget): New function - splitting up
12808         image_instantiator_format_create_glyphs_widget for netwinder
12809         compilation.
12810         (image_instantiator_buttons):
12811         (image_instantiator_edit_fields):
12812         (image_instantiator_combo_box):
12813         (image_instantiator_scrollbar):
12814         (image_instantiator_progress_guage):
12815         (image_instantiator_tree_view):
12816         (image_instantiator_tab_control):
12817         (image_instantiator_labels):
12818         (image_instantiator_layout): ditto.
12819         (image_instantiator_format_create_glyphs_widget): Call preceding
12820         functions.
12821
12822 2000-01-22  Martin Buchholz  <martin@xemacs.org>
12823
12824         * process.c (Fset_process_coding_system):
12825         * device-x.c (Fx_keysym_hash_table):
12826         Docstring fixes.
12827
12828         * lstream.c (Lstream_write): Return documented value, not 0.
12829
12830         * fileio.c (directory_file_name):
12831         (Fsubstitute_in_file_name):
12832         (Fsubstitute_insert_file_contents_internal):
12833         (Fwrite_region_internal):
12834         * emacs.c:
12835         * sysdep.c:
12836         * getloadavg.c:
12837         * systty.h:
12838         Remove vestigial APOLLO-conditional code.
12839
12840 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12841
12842         * getpagesize.h: Add guard macros.
12843         * libsst.h: Add guard macros.
12844         * libst.h: Add guard macros.
12845         * line-number.h: Add guard macros.
12846         * ndir.h: Add guard macros.
12847         * sysfloat.h: Add guard macros.
12848         * sysfile.h: Add guard macros.
12849         * sysproc.h: Add guard macros.
12850         * syswait.h: Add guard macros.
12851         * xintrinsic.h: Add guard macros.
12852         * xintrinsicp.h: Add guard macros.
12853         * xmmanager.h: Add guard macros.
12854         * xmmanagerp.h: Add guard macros.
12855         * xmprimitive.h: Add guard macros.
12856         * xmu.h: Add guard macros.
12857         * gpmevent.h: Add copyright statement. Add guard macros.
12858         * miscplay.h: Add guard macros.
12859         * *.h: Use consistent C-standards-approved guard macro names.
12860
12861         * opaque.c (make_opaque): Switch parameter order.
12862         * opaque.h (make_opaque): Switch parameter order.
12863         Update all callers.
12864         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
12865
12866         * config.h.in (type_checking_assert): Added.
12867         (bufpos_checking_assert): Added.
12868
12869 2000-01-21  Martin Buchholz  <martin@xemacs.org>
12870
12871         * alloc.c: Harmless pdump changes.
12872         - Use countof().
12873         - spell alignment correctly.
12874         * sysdep.c: Use countof()
12875
12876 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12877
12878         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
12879         initially_selected_for_input() console method, default to 0.
12880         (semi_canonicalize_console_connection): Try to delegate to
12881         canonicalize_console_connection if no such console method.
12882         (canonicalize_console_connection): Vice versa.
12883         (print_console): Do not print nil connection.
12884
12885         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
12886         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
12887         (XDEVIMPF_FRAMELESS_OK): Added.
12888         (CONSOLE_INHERITS_METHOD): Added.
12889
12890         * console-msw.c (mswindows_canonicalize_console_connection):
12891         Added.
12892         (mswindows_canonicalize_device_connection): Added.
12893
12894         * console-msw.h (struct msprinter_device): Added this struct and
12895         accessor macros.
12896         (mswindows_device): Made fontlist a lisp object.
12897
12898         * device.c (semi_canonicalize_device_connection):  Try to delegate
12899         to canonicalize_device_connection if no such console method.
12900         (canonicalize_device_connection): Vice versa.
12901         (print_device): Do not print nil connection.
12902
12903         * device-msw.c (mswindows_init_device): Call InitCommonControls
12904         when have widgets.
12905         (mswindows_delete_device): Removed fontlist deallocation.
12906         (mswindows_mark_device): Added.
12907
12908         * events.c (event_equal): Added abort() at unreached code.
12909         (event_hash): Ditto.
12910
12911         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
12912         fallback tags of Windows devices.
12913
12914         * general.c (syms_of_general): Initialized Qmsprinter.
12915
12916         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
12917         of fallback tags of Windows devices.
12918
12919         * lisp.h: Declared Qmsprinter.
12920
12921         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
12922         of strings.
12923         (mswindows_list_fonts): Ditto.
12924         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
12925         that it can be used by both mswindows and msprinter devices.
12926         (initialize_font_instance): Added.
12927         (mswindows_initialize_font_instance): Use it.
12928         (msprinter_initialize_font_instance): Added.
12929
12930         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12931         and implementation flags check.
12932         (redisplay_without_hooks): Changed the call to the above.
12933         (Fredraw_device): Ditto.
12934         (Fredisplay_device): Ditto.
12935
12936         * redisplay-msw.c (get_frame_dc): Implemented.
12937         (get_frame_compdc): Implemented.
12938         (many functions): Use the two functions above to get device
12939         contexts, ether for a window or a printer.
12940
12941 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12942
12943         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12944         initialization here.
12945         (init_symbols_once_early): Call it.
12946         * emacs.c (main_1): Call it.
12947         * symsinit.h: Declare it.
12948
12949 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12950
12951         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12952         Lisp_Object.
12953         (pdump_backtrace): Ditto.
12954         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12955         (pdump_get_entry): Abort if trying to register a null pointer.
12956         (pdump_dump_data): Cleanup types when relocating.
12957         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12958         (pdump_dump_rtables): Remove bad casts.
12959         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12960         Lisp_Object instead of a EMACS_INT for the hashtable
12961         reorganization.
12962
12963 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12964
12965         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12966
12967         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12968
12969         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12970
12971         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12972
12973 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12974
12975         * faces.h (FACE_STRIKETHRU_P): Added.
12976
12977         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12978         of font variants.
12979
12980         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12981         (mswindows_set_dc_font): New function, aware of font variants,
12982         separated from mswindows_update_dc.
12983
12984         * objects-msw.h (struct mswindows_font_instance_data): Added
12985         definition.
12986
12987         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12988         cached fonts and the data structure.
12989         (mswindows_initialize_font_instance): Added creation of font data
12990         structure.
12991         (mswindows_print_font_instance): Print at least something.
12992         (mswindows_create_font_variant): Implemented.
12993         (mswindows_get_hfont): Implemented.
12994
12995 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12996
12997         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12998         prototyping problem with msvc.
12999
13000         * emacs.c (main_1): added syms_of_gui_mswindows() call
13001
13002         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
13003         syms_of_gui_mswindows() function
13004
13005         * symsinit.h: added the prototype for syms_of_gui_mswindows()
13006
13007 2000-01-18  Martin Buchholz <martin@xemacs.org>
13008
13009         * XEmacs 21.2.27 is released.
13010
13011 2000-01-18  Martin Buchholz  <martin@xemacs.org>
13012
13013         * glyphs-eimage.c (struct tiff_error_struct):
13014         (tiff_error_func):
13015         (tiff_warning_func):
13016         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
13017
13018         * unexmips.c:
13019         * unexhp9k3.c:
13020         * unexfreebsd.c:
13021         * unexec.c: Remove vestigial Lucid C code.
13022         * unexalpha.c:
13023         * unexaix.c:
13024         * termcap.c:
13025         * libsst.c: Ansify.
13026         Remove declarations of errno and strerror().
13027
13028         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
13029
13030         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
13031
13032 2000-01-16  Martin Buchholz  <martin@xemacs.org>
13033
13034         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
13035         Optimize.
13036
13037 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13038
13039         * md5.c:
13040         * file-coding.c:
13041         * file-coding.h:
13042         Change enum eol_type to eol_type_t.
13043
13044 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13045
13046         * gui.c (get_gui_callback): Check cons before accessing car.
13047
13048 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13049
13050         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
13051         (XSETSPECIFIER_TYPE): Ditto.
13052
13053 2000-01-17  Didier Verna  <didier@xemacs.org>
13054
13055         * redisplay.c (generate_fstring_runes): compute string size in
13056         characters, not bytes.
13057
13058 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13059
13060         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
13061
13062 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
13063
13064         * print.c (print_error_message): Call print_prepare().
13065
13066 2000-01-14  Martin Buchholz  <martin@xemacs.org>
13067
13068         * .dbxrc: Renamed from dbxrc.
13069
13070         * events.c (event_to_character):
13071         Use `assert (foo)' instead of `if (!foo) abort()'
13072
13073         * .gdbinit (xtype): Add documentation.
13074         * .gdbinit (check-temacs): New function.
13075         * .gdbinit (check-xemacs): New function.
13076         * dbxrc (check-xemacs): New function.
13077         * dbxrc (check-xemacs): New function.
13078
13079 2000-01-14  Andy Piper  <andy@xemacs.org>
13080
13081         * glyphs-widget.c (widget_query_geometry): Make sure that we
13082         calculate default dimensions correctly.
13083
13084 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13085
13086         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
13087
13088         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
13089         pdump_wire'd variable.
13090
13091         * emacs.c: (main_1): Conditionalized calls to
13092         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
13093
13094 2000-01-13  Martin Buchholz  <martin@xemacs.org>
13095
13096         * window.c (Fset_window_configuration):
13097         * sysdep.c (_start):
13098         * input-method-motif.c (res):
13099         * event-Xt.c (Xt_process_to_emacs_event):
13100         Simple compiler warning fixes.
13101
13102         * bytecode.c (funcall_compiled_function): Use the original
13103         function symbol on the backtrace list in preference to the
13104         compiled_function object in error messages.
13105
13106 2000-01-13  Andy Piper  <andy@xemacs.org>
13107
13108         * glyphs-x.c (update_widget_face): Make sure we update the widget
13109         background as well as foreground.
13110
13111 2000-01-13  Andy Piper  <andy@xemacs.org>
13112
13113         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
13114         fields to subwindow.
13115         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
13116         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
13117         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13118         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
13119
13120         * glyphs-widget.c (check_valid_tab_orientation): new function.
13121         (initialize_widget_image_instance): zero orientation and
13122         justification.
13123         (widget_instantiate): pick up orientation.
13124         (tab_control_query_geometry): return appropriate values for
13125         vertical tabs.
13126
13127         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
13128         appropriate creation flags for left, right and bottom tabs.
13129
13130         * s/cygwin32.h: add tab definitions.
13131
13132 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13133
13134         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
13135         frame upon hiding a subwindow.
13136         (mswindows_button_instantiate): Changed the push button style to
13137         BS_PUSHBUTTON.
13138         (mswindows_button_instantiate): Removed button BS_NOTIFY
13139         style.
13140         (mswindows_button_instantiate): Removed redundant check for
13141         a disabled gui item.
13142         (mswindows_button_instantiate): Made use of WS_TABSTOP
13143         consistent: "operable" controls (edit, button, tree, scroll) have
13144         this style, "display-only" ones (static, progress gauge) do
13145         not. This style is currently ignored by XEmacs though. Also,
13146         removed the WS_EX_CONTROLPARENT style - it is not for children,
13147         it is for their parents!
13148         (mswindows_edit_field_instantiate): Ditto.
13149         (mswindows_progress_gauge_instantiate): Ditto.
13150         (mswindows_tree_view_instantiate): Ditto.
13151         (mswindows_tab_control_instantiate): Ditto.
13152         (mswindows_scrollbar_instantiate): Ditto.
13153         (mswindows_combo_box_instantiate): Ditto.
13154         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
13155         style to the "clip" window.
13156         (mswindows_button_instantiate): Removed compilation warning by
13157         equally typing terms of the ?: operator.
13158
13159 2000-01-12  Didier Verna  <didier@xemacs.org>
13160
13161         * redisplay.c (generate_fstring_runes): new parameter holding the
13162         last modeline-format extent.
13163         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
13164         extent, fill the glyph block with it.
13165         (generate_fstring_runes): handle these parameters.
13166         (generate_formatted_string_db): ditto.
13167
13168         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
13169         glyphs'extents in the modeline.
13170
13171 1999-01-11  Mike Woolley  <mike@bulsara.com>
13172
13173         * ntheap.c: Reduced the reserved heap space from 1Gb down to
13174         256Mb, as a workaround for the non-starting problem many people
13175         have experienced.
13176
13177 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13178
13179         * console-tty.c (Fset_console_tty_output_coding_system):
13180         Force redrawing tty frame.
13181
13182 2000-01-10  Didier Verna  <didier@xemacs.org>
13183
13184         * redisplay.c (generate_fstring_runes): fix size computation bug.
13185
13186 2000-01-09  William M. Perry <wmperry@aventail.com>
13187
13188         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
13189
13190 2000-01-09  Andy Piper  <andy@xemacs.org>
13191
13192         * glyphs-msw.c: index -> i to avoid shadows.
13193         (xbm_create_bitmap_from_data): make static.
13194         (check_valid_string_or_int): deleted.
13195         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
13196
13197         * glyphs-x.c (x_update_subwindow): remove unused args.
13198
13199         * glyphs.c (glyph_image_instance): return the thing. Don't set the
13200         back pointer - this is done in allocate_image_instance.
13201         (query_string_font): return Qnil to make the compiler happy.
13202         (unmap_subwindow): set to ~0 to make the compiler happy.
13203         (glyph_query_geometry): comment out until used.
13204         (glyph_layout): ditto.
13205
13206 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
13207
13208         * insdel.c (signal_after_change): Remove extraneous unbind_to().