update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (decode_defined_char): Don't refer external
4         database if Qunbound or Qnil are found.
5         (Fsave_charset_mapping_table): Don't define it if
6         HAVE_CHISE_CLIENT is not defined.
7         (Freset_charset_mapping_table): New function.
8         (load_char_decoding_entry_maybe): Store Qnil if a character is not
9         found in external database.
10         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
11         if HAVE_CHISE_CLIENT is not defined; add new builtin function
12         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
13
14 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
15
16         * text-coding.c (decode_coding_utf8): Check CCS is specified or
17         not.
18
19 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
20
21         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
22         Q_lowercase, Q_uppercase in UTF-2000.
23
24         * chartab.c (get_char_table): Add special code for the standard
25         case table to use character attribute `->downcase' and
26         `->uppercase' for case operations in UTF-2000.
27
28         * casetab.c (Qflippedcase): New variable in UTF-2000.
29         (Q_lowercase): Likewise.
30         (Q_uppercase): Likewise.
31         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
32         and `->uppercase' in UTF-2000.
33         (complex_vars_of_casetab): Assign attribute name `downcase' to
34         downcase and CANON table of Vstandard_case_table in UTF-2000;
35         assign attribute name `flippedcase' to upcase and EQV table of
36         Vstandard_case_table in UTF-2000.
37
38 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
39
40         * text-coding.c (decode_add_er_char): Support isolated-chars.
41         (char_encode_as_entity_reference): Likewise.
42
43 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
44
45         * emacs.c (Vutf_2000_lisp_directory): New variable.
46         (Vconfigure_utf_2000_lisp_directory): Likewise.
47         (complex_vars_of_emacs): Add new variable
48         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
49
50 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
51
52         * char-ucs.h (DECODE_CHAR): Delete special code for
53         `chinese-big5-1' and `chinese-big5-2'.
54
55         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
56         (Qbig5_2): Likewise.
57         (decode_defined_char): Support CONVERSION_BIG5_1 and
58         CONVERSION_BIG5_2.
59         (decode_builtin_char): Likewise.
60         (charset_code_point): Likewise.
61         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
62         'conversion in UTF-2000.
63         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
64         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
65         `chinese-big5-2' as children of `chinese-big5'.
66
67         * char-ucs.h (CONVERSION_BIG5_1): New macro.
68         (CONVERSION_BIG5_2): New macro.
69
70 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
71
72         * text-coding.c (char_encode_big5): Support entity-reference.
73
74 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
75
76         * text-coding.c (char_encode_as_entity_reference): New function.
77         (char_encode_utf8): Use `char_encode_as_entity_reference'.
78
79 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
80
81         * text-coding.c (decode_coding_big5): Support entity-reference
82         decoding feature.
83
84 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
85
86         * text-coding.c (allocate_coding_system): Initialize initial
87         charsets for CODESYS_UTF8.
88         (Fmake_coding_system): Accept charset-g0, charset-g1 and
89         charset-g2 for CODESYS_UTF8.
90         (decode_coding_utf8): Use charset-g0.
91         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
92         to force variants to map to UCS.
93
94 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
95
96         * text-coding.c (Qutf_8_mcs): New variable.
97         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
98         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
99         instead of `utf-8' in UTF-2000.
100
101 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
102
103         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
104         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
105         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
106         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
107         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
108         CONVERSION_96x96x96x96 are introduced.
109         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
110         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
111         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
112
113         * char-ucs.h (CONVERSION_94): New macro.
114         (CONVERSION_96): New macro.
115         (CONVERSION_94x94): New macro.
116         (CONVERSION_96x96): New macro.
117         (CONVERSION_94x94x94): New macro.
118         (CONVERSION_96x96x96): New macro.
119         (CONVERSION_94x94x94x60): New macro.
120         (CONVERSION_94x94x94x94): New macro.
121         (CONVERSION_96x96x96x96): New macro.
122
123 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
124
125         * chartab.c (Vcharacter_variant_table): Deleted.
126         (Fchar_variants): Use character-attribute `->ucs-variants' instead
127         of `Vcharacter_variant_table'.
128         (Fput_char_attribute): Likewise.
129         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
130         (complex_vars_of_chartab): Likewise.
131
132 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
133
134         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
135
136         * fns.c (Qideographic_structure): New variable.
137         (Qkeyword_char): New variable.
138         (ids_format_unit): New function.
139         (Fideographic_structure_to_ids): New function.
140         (syms_of_fns): Add new symbols `ideographic-structure' and
141         `:char'; add new builtin function `ideographic-structure-to-ids'.
142
143         * data.c (Fchar_ref_p): New function.
144         (syms_of_data): Add new builtin function `char-ref-p'.
145
146         * chartab.h: Add an EXFUN for `Ffind_char'.
147
148 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
149
150         * text-coding.c (Vcharacter_composition_table): Deleted.
151         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
152         in every UTF-2000.
153
154         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
155         UTF-2000.
156         (Vcharacter_composition_table): Deleted.
157         (Fget_composite_char): Use the implementation for external-DB
158         support in every UTF-2000.
159         (Fput_char_attribute): Likewise.
160         (char_attribute_system_db_file): Don't define if external-DB
161         feature is not available.
162         (Fsave_char_attribute_table): Likewise.
163         (Fmount_char_attribute_table): Likewise.
164         (Fclose_char_attribute_table): Likewise.
165         (Freset_char_attribute_table): Likewise.
166         (Fload_char_attribute_table): Likewise.
167         (syms_of_chartab): Don't define `save-char-attribute-table',
168         `mount-char-attribute-table', `reset-char-attribute-table',
169         `close-char-attribute-table' and `load-char-attribute-table' if
170         external-DB feature is not available.
171         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
172
173 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
174
175         * text-coding.c (Qcomposition): Add extern if external-DB feature
176         is supported.
177         (Vcharacter_composition_table): Don't add extern if external-DB
178         feature is supported.
179         (COMPOSE_ADD_CHAR): Modify for new data-representation of
180         character composition rule if external-DB feature is supported.
181
182         * chartab.c (Vcharacter_composition_table): Don't define if
183         external-DB feature is supported.
184         (Qcomposition): New variable.
185         (Fget_composite_char): New implementation for external-DB support.
186         (Fput_char_attribute): Use `composition' property of each
187         character instead of `Vcharacter_composition_table' to store
188         character-composition rules if external-DB feature is supported.
189         (syms_of_chartab): Add new symbol `composition'.
190         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
191         external-DB feature is supported.
192
193 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
194
195         * chartab.c (Vchar_db_stingy_mode): New variable.
196         (load_char_attribute_maybe): Close database if
197         Vchar_db_stingy_mode is not NIL.
198         (Fload_char_attribute_table_map_function): Use
199         `get_char_id_table_0' instead of `get_char_id_table'.
200         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
201
202         * chartab.h (get_char_id_table_0): New inline function.
203         (get_char_id_table): Use `get_char_id_table_0'.
204
205 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
206
207         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
208         and `COMPOSE_ADD_CHAR'.
209         (decode_coding_iso2022): Use `decode_flush_er_chars'.
210
211 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
212
213         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
214         instead of `DECODE_ADD_UCS_CHAR'.
215         (COMPOSE_ADD_CHAR): Likewise.
216
217 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
218
219         * text-coding.c (decode_flush_er_chars): New inline function.
220         (decode_add_er_char): New function.
221         (decode_coding_utf8): Use `decode_flush_er_chars' and
222         `decode_add_er_char'.
223
224 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
225
226         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
227         done before `decode_output_utf8_partial_char'.
228
229         * mule-charset.c (complex_vars_of_mule_charset): Specify
230         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
231         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
232
233 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
234
235         * mule-charset.c (decode_defined_char): New function; search
236         mother.
237         (decode_builtin_char): Don't search mother if
238         XCHARSET_MAX_CODE(charset) == 0.
239         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
240         == 0 even if code >= XCHARSET_MAX_CODE(charset).
241         (Fdecode_char): Use `decode_defined_char' instead of
242         `DECODE_DEFINED_CHAR'.
243         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
244         mother of `Vcharset_ucs_jis'.
245
246         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
247         instead of `DECODE_DEFINED_CHAR'.
248
249         * char-ucs.h (decode_defined_char): Renamed from
250         `DECODE_DEFINED_CHAR'; changed to normal function.
251         (DECODE_CHAR): Use `decode_defined_char' instead of
252         `DECODE_DEFINED_CHAR'.
253
254         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
255
256 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
259
260         * text-coding.c (Vcoded_charset_entity_reference_alist): New
261         variable.
262         (Quse_entity_reference): New variable.
263         (Qd): New variable.
264         (Qx): New variable.
265         (QX): New variable.
266         (coding_system_description): Add description for
267         `ccs_priority_list'.
268         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
269         (allocate_coding_system): Initialize `ccs_priority_list' in
270         UTF-2000.
271         (Fmake_coding_system): Add description about
272         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
273         (codesys).
274         (Fcoding_system_property): Accept `disable-composition' and
275         `use-entity-reference' in UTF-2000.
276         (struct decoding_stream): Add new member `er_counter' and `er_buf'
277         in UTF-2000.
278         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
279         (decode_coding_utf8): Decode entity-reference if
280         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
281         (char_encode_utf8): Encode non-Unicode characters as
282         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
283         (str->codesys).
284         (syms_of_file_coding): Add new symbols `use-entity-reference',
285         `d', `x', `X'.
286         (vars_of_file_coding): Add new variable
287         `coded-charset-entity-reference-alist'.
288         (complex_vars_of_file_coding): Declare `disable-composition' and
289         `use-entity-reference' to be coding-system-properties in UTF-2000.
290
291         * file-coding.h (struct Lisp_Coding_System): Add new member
292         `use_entity_reference' and `ccs_priority_list'.
293         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
294         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
295         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
296
297 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
298
299         * chartab.c (save_uint8_byte_table): Don't clear the table.
300         (save_uint16_byte_table): Likewise.
301         (save_byte_table): Likewise.
302         (Fmount_char_attribute_table): New function.
303         (syms_of_chartab): Add new builtin function
304         `mount-char-attribute-table'.
305
306 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
307
308         * mule-charset.c (Fsave_charset_mapping_table): Open database as
309         "w+" mode.
310         (load_char_decoding_entry_maybe): Open database as read-only mode.
311
312         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
313         open database as "w+" mode.
314         (load_char_attribute_maybe): Open database as read-only mode.
315         (Fload_char_attribute_table): Likewise.
316
317 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
318
319         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
320         (char_table_description): Delete member `db_file'.
321         (Fmake_char_table): Don't refer `ct->db_file'.
322         (Fcopy_char_table): Likewise.
323         (Fsave_char_attribute_table): Likewise.
324         (Fclose_char_attribute_table): Likewise.
325         (Freset_char_attribute_table): Likewise.
326         (load_char_attribute_maybe): Likewise.
327         (Fload_char_attribute_table): Likewise.
328
329         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
330
331 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
332
333         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
334         (Fsave_char_attribute_table): Don't check `ct->db_file' if
335         `ct->db' is living.
336         (load_char_attribute_maybe): Likewise.
337         (Fload_char_attribute_table): Likewise.
338
339 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
340
341         * chartab.c (Fclose_char_attribute_table): Set Qnil on
342         `ct->db_file' unconditionally.
343
344 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
345
346         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
347         UTF-2000.
348         (char_table_description): Add description for `db_file' and `db'
349         in UTF-2000.
350         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
351         UTF-2000.
352         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
353         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
354         (Fclose_char_attribute_table): New function.
355         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
356         (load_char_attribute_maybe): Change interface; use `cit->db_file'
357         and `cit->db'.
358         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
359         (syms_of_chartab): Add new builtin function
360         `Fclose_char_attribute_table'.
361
362 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
363
364         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
365         `db' in UTF-2000.
366         (load_char_attribute_maybe): Change interface.
367         (get_char_id_table): Modify for `load_char_attribute_maybe'.
368
369 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
370
371         * database.h: Add an EXFUN for `Fdatabase_live_p'.
372
373 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
376         instead of `DECODE_CHAR' for mother; don't use special code for
377         chinese-big5 to use code space of chinese-big5-1 and
378         chinese-big5-2.
379         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
380         `MAX_CHAR_BIG5_CDP' for chinese-big5.
381
382         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
383         (MAX_CHAR_BIG5_CDP): Revival.
384
385 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
386
387         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
388         the XLFD registry-encoding name of `chinese-big5'.
389
390 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
391
392         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
393         (Qchinese_big5_cdp): Deleted.
394         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
395         (complex_vars_of_mule_charset): Delete coded-charset
396         `chinese-big5-cdp'.
397
398         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
399         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
400         `CHARSET_ID_OFFSET - n' for private CCS.
401         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
402         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
403         of `MIN_LEADING_BYTE'.
404         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
405         `(CHARSET_ID_OFFSET - 97)'.
406         (MIN_CHAR_BIG5_CDP): Deleted.
407         (MAX_CHAR_BIG5_CDP): Deleted.
408
409 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
410
411         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
412
413 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
414
415         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
416         (vars_of_mule): Add new variable `utf-2000-version' [moved from
417         chartab.c].
418
419         * chartab.c (Vutf_2000_version): Moved to mule.c.
420         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
421
422 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
423
424         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
425         when HAVE_CHISE_CLIENT is not defined.
426
427         * mule.c (vars_of_mule): Provide feature `chise' when
428         HAVE_CHISE_CLIENT is defined.
429
430 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
431
432         * config.h.in (UTF2000): Add comment.
433         (HAVE_CHISE_CLIENT): New macro.
434
435 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
436
437         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
438         CONSP.
439         (Fput_char_attribute): Likewise.
440         (char_attribute_system_db_file): Encode file-name of attribute.
441         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
442         the initial value.
443
444 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
445
446         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
447         (Fsave_charset_mapping_table): Use
448         `char_attribute_system_db_file'.
449         (load_char_decoding_entry_maybe): Likewise.
450
451         * chartab.h (Qsystem_char_id): New external variable.
452         (char_attribute_system_db_file): New prototype.
453
454         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
455         (char_attribute_system_db_file): New function.
456         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
457         (Freset_char_attribute_table): Likewise.
458         (load_char_attribute_maybe): Likewise.
459         (Fload_char_attribute_table): Likewise.
460         (syms_of_chartab): Add new symbol `system-char-id'.
461
462 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
463
464         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
465         `XCHARSET_GRAPHIC(ccs)'.
466
467 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
468
469         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
470
471 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
472
473         * chartab.c (Q_ucs_variants): New variable.
474         (syms_of_chartab): Add new symbol `->ucs-variants'.
475         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
476         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
477         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
478
479         * mule-charset.c (load_char_decoding_entry_maybe): New function.
480
481         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
482         `HAVE_DATABASE' is defined.
483         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
484         `HAVE_DATABASE' is defined.
485
486 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
487
488         * chartab.c (Fsave_char_attribute_table): Don't clear internal
489         attribute-table.
490         (Freset_char_attribute_table): New function.
491         (syms_of_chartab): Add new builtin function
492         `reset-char-attribute-table'.
493
494 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
495
496         * chartab.c (load_char_attribute_maybe): Don't make directories.
497
498 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
499
500         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
501
502         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
503         for decoding-table.
504
505 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
506
507         * mule-charset.c (Fsave_charset_mapping_table): Use
508         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
509
510         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
511         instead of `XCHARSET_CHARS'.
512
513 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
514
515         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
516         (XCHARSET_BYTE_SIZE): Likewise.
517
518         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
519         mule-charset.c].
520         (XCHARSET_BYTE_SIZE): Likewise.
521
522 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
523
524         * chartab.c (Fput_char_attribute): Use exec-directory instead of
525         data-directory to store database.
526         (Fsave_char_attribute_table): Likewise.
527         (load_char_attribute_maybe): Likewise.
528         (Fload_char_attribute_table): Likewise.
529
530 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
531
532         * mule-charset.c (Fsave_charset_mapping_table): New function.
533         (syms_of_mule_charset): Add new builtin function
534         `save-charset-mapping-table'.
535
536 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
537
538         * char-ucs.h (decoding_table_check_elements): Delete prototype.
539         (get_ccs_octet_table): New inline function.
540         (put_ccs_octet_table): Likewise.
541         (decoding_table_put_char): Use `get_ccs_octet_table' and
542         `put_ccs_octet_table'.
543         (decoding_table_remove_char): Use `decoding_table_put_char'.
544         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
545
546         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
547         into encoding_table.
548         (make_charset): Use Qunbound instead Qnil as initial value of
549         decoding_table.
550
551 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
552
553         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
554         element is Qunloaded.
555         (map_over_uint16_byte_table): Likewise.
556         (map_over_byte_table): Likewise.
557         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
558         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
559         database support, load encoding-table of the specified
560         coded-charset if it is not loaded yet.
561         (save_uint8_byte_table): New function of UTF-2000 with external
562         database support.
563         (save_uint16_byte_table): Likewise.
564         (save_byte_table): Likewise.
565         (Fput_char_attribute): Don't store value into external database
566         even if the external database feature is supported in UTF-2000;
567         set `attribute' as name of char-table if the external database
568         feature is supported.
569         (Fsave_char_attribute_table): New function in UTF-2000.
570         (syms_of_chartab): Add new builtin function
571         `save-char-attribute-table' in UTF-2000.
572
573 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
574
575         * chartab.c (char_attribute_table_to_put): New variable in
576         UTF-2000.
577         (Qput_char_table_map_function): Likewise.
578         (value_to_put): Likewise.
579         (Fput_char_table_map_function): New function in UTF-2000.
580         (put_char_table): Use `Fmap_char_attribute' for
581         CHARTAB_RANGE_CHARSET in UTF-2000.
582         (Fput_char_attribute): Store symbol instead of string in
583         `XCHAR_TABLE_NAME (table)'.
584         (load_char_attribute_maybe): Likewise.
585         (syms_of_chartab): Add new symbol/function
586         `put-char-table-map-function'.
587
588 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
589
590         * database.h: Add new EXFUN for `Fmap_database'.
591
592         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
593         (syms_of_database): Likewise.
594
595         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
596         UTF-2000.
597         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
598         (XCHAR_TABLE_UNLOADED): Likewise.
599
600         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
601         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
602         HAVE_DATABASE is defined.
603         (char_attribute_table_to_load): New variable of UTF-2000 with
604         external database support.
605         (Qload_char_attribute_table_map_function): Likewise.
606         (Fload_char_attribute_table_map_function): New function of
607         UTF-2000 with external database support.
608         (Fload_char_attribute_table): New function of UTF-2000.
609         (Fmap_char_attribute): Call Fload_char_attribute_table if
610         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
611         (syms_of_chartab): Add new symbol and function
612         `load-char-attribute-table-map-function' in UTF-2000 with external
613         database support; add new function `load-char-attribute-table' in
614         UTF-2000.
615
616 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
617
618         * chartab.h (load_char_attribute_maybe): New prototype for
619         UTF-2000 with DATABASE support.
620         (get_char_id_table): Use `load_char_attribute_maybe' if
621         HAVE_DATABASE is defined.
622
623         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
624         with DATABASE support.
625
626 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
627
628         * chartab.c (Fput_char_attribute): Use S-expression as key of
629         external database.
630
631         * chartab.h (get_char_id_table): Use S-expression as key of
632         external database.
633
634 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
635
636         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
637         if an element is not loaded, load the corresponding attributes
638         from an external database.
639         (map_over_uint16_byte_table): Likewise.
640         (map_over_byte_table): Likewise.
641         (map_char_table): Modify for `map_over_uint8_byte_table',
642         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
643         element is not loaded, load the corresponding attributes from an
644         external database.
645         (Fput_char_attribute): Change initial values to Qunloaded.
646
647         * chartab.h (get_char_id_table): If a character attribute is not
648         loaded and the attribute value is not found in an external
649         database, store Qunbound as the attribute value.
650
651 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
652
653         * chartab.c (BT_UINT8_unloaded): New macro.
654         (UINT8_VALUE_P): Accept Qunloaded.
655         (UINT8_ENCODE): Likewise.
656         (UINT8_DECODE): Likewise.
657         (BT_UINT16_unloaded): New macro.
658         (UINT16_VALUE_P): Accept Qunloaded.
659         (UINT16_ENCODE): Likewise.
660         (UINT16_DECODE): Likewise.
661         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
662         BT_UINT16_unloaded.
663         (mark_char_table): Mark `ct->name' in UTF-2000.
664         (char_table_description): Add `name' in UTF-2000.
665         (Fmake_char_table): Initialize `ct->name'.
666         (Fcopy_char_table): Copy `ct->name'.
667         (Fput_char_attribute): Store value into an external database if
668         HAVE_DATABASE is defined.
669
670         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
671         UTF-2000.
672         (CHAR_TABLE_NAME): New macro in UTF-2000.
673         (XCHAR_TABLE_NAME): New macro in UTF-2000.
674         (get_char_id_table): Try to read an external database if Qunloaded
675         is stored in a table.
676
677         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
678         Qunloaded.
679
680 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
681
682         * database.h: Add EXFUN definitions for Fopen_database,
683         Fput_database, Fget_database and Fclose_database.
684
685         * data.c (Qunloaded): New variable in UTF-2000.
686
687         * lisp.h (Qunloaded): New variable in UTF-2000.
688
689 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
690
691         * mule-charset.c (put_char_ccs_code_point): Modify for
692         `decoding_table_remove_char' and `decoding_table_put_char'.
693         (remove_char_ccs): Modify for `decoding_table_remove_char'.
694
695         * char-ucs.h (decoding_table_remove_char): Change arguments to
696         hide decoding_table vector.
697         (decoding_table_put_char): Likewise.
698
699 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * mule-charset.c (decoding_table_remove_char): Moved to
702         char-ucs.h.
703         (decoding_table_put_char): Likewise.
704
705         * char-ucs.h (decoding_table_check_elements): New prototype [moved
706         from mule-charset.c].
707         (decoding_table_remove_char): New inline function [moved from
708         mule-charset.c].
709         (decoding_table_put_char): Likewise.
710
711 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
712
713         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
714         extension.
715
716 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
717
718         * mule-charset.c (decode_builtin_char): Support mother charsets.
719
720 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
721
722         * mule-charset.c (Q94x94x60): New variable.
723         (charset_code_point): Support conversion `94x94x60'.
724         (Fmake_charset): Likewise.
725         (syms_of_mule_charset): Add new symbol `94x94x60'.
726
727         * char-ucs.h (CONVERSION_94x94x60): New macro.
728
729 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
730
731         * mule-charset.c (charset_code_point): Unify code about
732         `code-offset'.
733
734 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
735
736         * mule-charset.c (charset_code_point): Merge code about builtin
737         characters into code about mother charsets; don't use
738         `range_charset_code_point'.
739         (range_charset_code_point): Deleted.
740
741 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
742
743         * mule-charset.c (Qcode_offset): New variable.
744         (Fmake_charset): Use `XUINT' to get value of `min-code' and
745         `max-code'; accept new property `code-offset'.
746         (syms_of_mule_charset): Add new symbol `code-offset'.
747
748 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
749
750         * mule-charset.c (range_charset_code_point): Fixed.
751
752 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
753
754         * mule-charset.c (decode_builtin_char): Change semantics of
755         code-offset of coded-charset.
756         (charset_code_point): Likewise.
757         (range_charset_code_point): Likewise.
758         (complex_vars_of_mule_charset): Modify for the change.
759
760 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
761
762         * mule-charset.c (Fencode_char): Reverse arguments.
763
764         * mule-charset.c (charset_code_point): Fixed.
765
766 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
767
768         * mule-charset.c (Vcharset_mojikyo): Deleted.
769         (Vcharset_mojikyo_2022_1): Deleted.
770         (Vcharset_mojikyo_pj_{1..21}): Deleted.
771         (Qmin_code): New variable in UTF-2000.
772         (Qmax_code): Likewise.
773         (Qmother): Likewise.
774         (Qconversion): Likewise.
775         (Q94x60): Likewise.
776         (Qmojikyo): Deleted.
777         (Qmojikyo_2022_1): Deleted.
778         (Qmojikyo_pj_{1..22}): Deleted.
779         (mark_charset): Mark `cs->mother'.
780         (charset_description): Add description for `mother'.
781         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
782         new arguments `mother' and `conversion'; use
783         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
784         (charset_code_point): Moved from char-ucs.h; support `mother'
785         charset feature.
786         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
787         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
788         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
789         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
790         allow 2 as the value of `graphic' in UTF-2000; add new properties
791         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
792         require `final' in UTF-2000; modify for `make_charset'.
793         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
794         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
795         (Fcharset_property): Support `mother', `min-code' and `max-code'.
796         (Fencode_char): New function.
797         (syms_of_mule_charset): Add new builtin function `encode-char' in
798         UTF-2000; add new symbols `min-code', `max-code', `mother',
799         `conversion' and `94x60'; delete symbols `mojikyo',
800         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
801         (complex_vars_of_mule_charset): Modify for `make_charset' change;
802         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
803         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
804
805         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
806         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
807
808         * char-ucs.h (Vcharset_mojikyo): Deleted.
809         (Vcharset_mojikyo_2022_1): Deleted.
810         (LEADING_BYTE_MOJIKYO): Deleted.
811         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
812         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
813         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
814         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
815         add new member `mother'; add new member `conversion'.
816         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
817         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
818         (CHARSET_MOTHER): New macro.
819         (CHARSET_CONVERSION): New macro.
820         (CONVERSION_IDENTICAL): New macro.
821         (CONVERSION_94x60): New macro.
822         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
823         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
824         (XCHARSET_MOTHER): New macro.
825         (XCHARSET_CONVERSION): New macro.
826         (MIN_CHAR_MOJIKYO): Deleted.
827         (MAX_CHAR_MOJIKYO): Deleted.
828         (DECODE_MOJIKYO_2022): Deleted.
829         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
830         (charset_code_point): Changed to non-inline function.
831         (encode_char_1): Use `charset_code_point'.
832         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
833
834 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
835
836         * lread.c (read_compiled_function): Fix prototype.
837         (read_vector): Likewise.
838
839 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
840
841         * lrecord.h (struct lrecord_header): Delete `older'.
842         (set_lheader_implementation): Delete code for `older'.
843         (set_lheader_older_implementation): Deleted.
844         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
845         (OLDER_RECORD_P): Deleted.
846         (OLDER_RECORD_HEADER_P): Deleted.
847         (alloc_older_lcrecord): Deleted.
848         (alloc_older_lcrecord_type): Deleted.
849
850         * alloc.c (all_older_lcrecords): Deleted.
851         (alloc_older_lcrecord): Deleted.
852         (disksave_object_finalization_1): Delete code for older objects.
853         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
854         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
855
856 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
857
858         * mule-charset.c (decoding_table_put_char): Use `make_vector'
859         instead of `make_older_vector'.
860         (put_char_ccs_code_point): Likewise.
861         (mark_charset): Mark `cs->decoding_table'.
862         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
863
864         * lisp.h (make_older_vector): Deleted.
865         (make_vector_newer): Deleted.
866
867         * config.h.in (HAVE_GGC): Deleted.
868
869         * alloc.c (make_older_vector): Deleted.
870         (make_vector_newer_1): Deleted.
871         (make_vector_newer): Deleted.
872
873 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
874
875         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
876         (Qideograph_daikanwa_2): New variable.
877         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
878         (complex_vars_of_mule_charset): Add new coded-charset
879         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
880         `LEADING_BYTE_DAIKANWA'.
881
882         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
883         (LEADING_BYTE_DAIKANWA_1): New macro.
884         (LEADING_BYTE_DAIKANWA_2): New macro.
885         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
886
887 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
888
889         * mule-charset.c (complex_vars_of_mule_charset): Change
890         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
891         the second revised version.
892
893 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * mule-charset.c (Vcharset_ucs_smp): New variable.
896         (Vcharset_ucs_sip): New variable.
897         (Qucs_smp): New variable.
898         (Qucs_sip): New variable.
899         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
900         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
901         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
902         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
903         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
904         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
905
906         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
907         (LEADING_BYTE_UCS_SIP): New macro.
908         (MIN_CHAR_SMP): New macro.
909         (MAX_CHAR_SMP): New macro.
910         (MIN_CHAR_SIP): New macro.
911         (MAX_CHAR_SIP): New macro.
912
913 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
914
915         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
916         utf-2000.
917
918 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
919
920         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
921         value; don't store value into `encoding_table' of `Lisp_Charset'.
922         (mark_charset): `encoding_table' was deleted.
923         (charset_description): Likewise.
924         (make_charset): Likewise.
925         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
926         `put_char_ccs_code_point'.
927
928         * chartab.h (Fput_char_attribute): New EXFUN.
929
930         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
931         is unified with normal symbol space.
932         (Fget_char_attribute): Likewise.
933         (Fput_char_attribute): Likewise; behavior of
934         `put_char_ccs_code_point' is changed.
935
936         * char-ucs.h: Include "elhash.h".
937         (Vchar_attribute_hash_table): New external variable.
938         (struct Lisp_Charset): Delete `encoding_table'.
939         (CHARSET_ENCODING_TABLE): New implementation; refer
940         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
941         `Lisp_Charset'.
942
943 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
944
945         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
946         (cs) == 0.
947
948 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
949
950         * text-coding.c (char_encode_big5): Prefer charset-g1 than
951         `chinese-big5'.
952
953 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
954
955         * chartab.c (uint8_byte_table_description): New constant.
956         (uint8-byte-table): Use `uint8_byte_table_description'.
957         (uint16_byte_table_description): New constant.
958         (uint16-byte-table): Use `uint16_byte_table_description'.
959
960 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
961
962         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
963         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
964
965 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * mule-charset.c (Vcharset_ucs_ks): New variable.
968         (Qucs_ks): New variable.
969         (syms_of_mule_charset): Add new symbol `ucs-ks'.
970         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
971
972         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
973
974 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
975
976         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
977         (Fdecode_char): Likewise.
978
979         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
980         chartab.h.
981         (Fdefine_char): Modify for Fdecode_char.
982         (Ffind_char): Likewise.
983
984         * mule-charset.c (Fdecode_char): Add new optional argument
985         `defined-only'.
986         (Fdecode_builtin_char): Modify for `Fdecode_char'.
987
988 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
989
990         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
991         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
992         (allocate_coding_system): Initialize initial-charsets of
993         CODESYS_BIG5 in XEmacs UTF-2000.
994         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
995         CODESYS_BIG5 in XEmacs UTF-2000.
996         (decode_coding_big5): Use initial-charset-g0 and -g1 of
997         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
998
999         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1000         variables.
1001         (Qideograph_hanziku_{1 .. 12}): Likewise.
1002         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1003         .. 12}'.
1004         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1005         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1006         `ideograph-hanziku-{1 .. 12}'.
1007
1008         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1009         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1010         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1011         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1012         (DECODE_DEFINED_CHAR): New inline function.
1013         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1014
1015 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1016
1017         * mule-charset.c (Vcharset_china3_jef): Renamed from
1018         `Vcharset_japanese_jef_china3'.
1019         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1020         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1021         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1022         (syms_of_mule_charset): Rename `china3-jef' from
1023         `japanese-jef-china3'.
1024         (complex_vars_of_mule_charset): Likewise; rename
1025         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1026
1027         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1028         `LEADING_BYTE_JEF_CHINA3'.
1029         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1030         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1031
1032 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1033
1034         * mule-charset.c (encode_builtin_char_1): Comment out special code
1035         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1036
1037         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1038         (MAX_CHAR_MOJIKYO_0): Comment out.
1039         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1040         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1041         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1042         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1043
1044 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1045
1046         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1047         (Qideograph_cbeta): New variable.
1048         (encode_builtin_char_1): Comment out special code for
1049         coded-charset `mojikyo' and `japanese-jef-china3'.
1050         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1051         (complex_vars_of_mule_charset): Add new coded-charset
1052         `ideograph-cbeta'.
1053
1054         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1055         (MIN_CHAR_CBETA): New macro.
1056         (MAX_CHAR_CBETA): New macro.
1057
1058 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1059
1060         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1061         (LEADING_BYTE_JEF_CHINA3): New macro.
1062         (MIN_CHAR_JEF_CHINA3): New macro.
1063         (MAX_CHAR_JEF_CHINA3): Likewise.
1064         (DECODE_CHAR): Fixed.
1065
1066 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1067
1068         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1069         (Qjapanese_jef_china3): New variable.
1070         (encode_builtin_char_1): Support `japanese-jef-china3'.
1071         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1072         (complex_vars_of_mule_charset): Add new coded-charset
1073         `japanese-jef-china3'.
1074
1075 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1076
1077         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1078         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1079         94^4, 96^3, 96^4, 128^n and 256^n set.
1080         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1081         (map_char_table): Likewise.
1082
1083 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1084
1085         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1086         UTF-2000.
1087
1088 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1089
1090         * chartab.h (get_char_id_table): New inline function.
1091
1092         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1093         function.
1094
1095 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1096
1097         * chartab.h (decode_char_table_range): New prototype in XEmacs
1098         UTF-2000.
1099         (put_char_id_table): New inline function in XEmacs UTF-2000.
1100
1101         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1102         function.
1103         (decode_char_table_range): Delete static declaration in XEmacs
1104         UTF-2000.
1105
1106 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1107
1108         * chartab.c (put_char_id_table): Use `put_char_table'.
1109
1110 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1111
1112         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1113         (map_over_uint16_byte_table): Likewise.
1114         (map_over_byte_table): Likewise.
1115         (map_char_table): Modify for `map_over_uint8_byte_table',
1116         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1117         UTF-2000.
1118
1119 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1120
1121         * chartab.c (struct map_char_table_for_charset_arg): New
1122         structure.
1123         (map_char_table_for_charset_fun): New function.
1124         (map_char_table): Use `map_char_table' for encoding_table of
1125         `range->charset'.
1126
1127 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1128
1129         * chartab.c (map_char_table): Check a character is found in
1130         range->charset instead of non default value is defined in
1131         char-table when range is CHARTAB_RANGE_ROW.
1132
1133 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1134
1135         * chartab.c (map_char_id_table): Deleted.
1136         (Fmap_char_attribute): Use `map_char_table' instead of
1137         `map_char_id_table'.
1138
1139 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1140
1141         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1142         UTF-2000.
1143         (update_syntax_table): Deleted in XEmacs UTF-2000.
1144
1145         * syntax.c (find_defun_start): Use `syntax_table' instead of
1146         `mirror_syntax_table' in XEmacs UTF-2000.
1147         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1148         UTF-2000.
1149         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1150         XEmacs UTF-2000.
1151         (Fmatching_paren): Likewise.
1152         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1153         in XEmacs UTF-2000.
1154         (find_start_of_comment): Likewise.
1155         (find_end_of_comment): Likewise.
1156         (Fforward_comment): Likewise.
1157         (scan_lists): Likewise.
1158         (char_quoted): Likewise.
1159         (Fbackward_prefix_chars): Likewise.
1160         (scan_sexps_forward): Likewise.
1161         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1162         (update_syntax_table): Likewise.
1163
1164         * search.c (skip_chars): Use `syntax_table' instead of
1165         `mirror_syntax_table' in XEmacs UTF-2000.
1166         (wordify): Likewise.
1167         (Freplace_match): Likewise.
1168
1169         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1170         `mirror_syntax_table' in XEmacs UTF-2000.
1171         (WORDCHAR_P_UNSAFE): Likewise.
1172         (re_match_2_internal): Likewise.
1173
1174         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1175         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1176
1177         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1178         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1179
1180         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1181         XEmacs UTF-2000.
1182
1183         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1184         UTF-2000.
1185         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1186         (char_table_description): Delete `mirror_table' in XEmacs
1187         UTF-2000.
1188         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1189         UTF-2000.
1190         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1191         (Fcopy_char_table): Likewise.
1192         (put_char_table): Don't call `update_syntax_table' in XEmacs
1193         UTF-2000.
1194
1195         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1196         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1197         (casify_region_internal): Likewise.
1198
1199         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1200
1201         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1202         `mirror_syntax_table' in XEmacs UTF-2000.
1203
1204         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1205         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1206         (Fexpand_abbrev): Likewise.
1207
1208 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1209
1210         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1211
1212 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1213
1214         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1215         (map_over_uint16_byte_table): Likewise.
1216         (map_over_byte_table): Likewise.
1217         (get_char_id_table): Refer `cit->default_value'.
1218         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1219         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1220         of character-id ranges.
1221         (mark_char_table): Mark `ct->default_value'.
1222         (char_table_description): Add `default_value'.
1223         (fill_char_table): Use `default_value'.
1224         (decode_char_table_range): Decode `nil' as
1225         `CHARTAB_RANGE_DEFAULT'.
1226         (get_char_id_table): Refer `cit->default_value'.
1227         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1228         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1229         temporary hack; check value of char-table is bound or not.
1230         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1231
1232         * chartab.h (struct Lisp_Char_Table): Add new member
1233         `default_value' in XEmacs UTF-2000.
1234         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1235         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1236         UTF-2000.
1237
1238 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1239
1240         * chartab.h (Lisp_Char_ID_Table): Deleted.
1241
1242         * chartab.c (char_table_description): Fix typo.
1243         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1244         `Lisp_Char_ID_Table'.
1245
1246 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1247
1248         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1249         `CHAR_ID_TABLE_P'.
1250
1251         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1252         `CHAR_ID_TABLE_P'.
1253
1254         * chartab.h (XCHAR_ID_TABLE): Deleted.
1255         (XSETCHAR_ID_TABLE): Deleted.
1256         (CHAR_ID_TABLE_P): Deleted.
1257
1258         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1259         `CHAR_ID_TABLE_P'.
1260         (Fget_composite_char): Likewise.
1261         (put_char_table): Likewise.
1262         (add_char_attribute_alist_mapper): Fixed.
1263         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1264         `CHAR_ID_TABLE_P'.
1265         (Fget_char_attribute): Likewise.
1266         (Fget_char_attribute): Likewise.
1267         (Fmap_char_attribute): Likewise.
1268
1269         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1270         `CHAR_ID_TABLE_P'.
1271         (encode_char_1): Likewise.
1272
1273 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1274
1275         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1276         `XCHAR_ID_TABLE'.
1277
1278         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1279         instead of `XCHAR_ID_TABLE'.
1280         (remove_char_ccs): Likewise.
1281
1282         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1283         `XCHAR_ID_TABLE'.
1284         (Fget_composite_char): Likewise.
1285         (Fchar_variants): Likewise.
1286         (put_char_table): Likewise.
1287         (add_char_attribute_alist_mapper): Likewise.
1288         (Fchar_attribute_alist): Likewise.
1289         (Fget_char_attribute): Likewise.
1290         (Fput_char_attribute): Likewise.
1291         (Fmap_char_attribute): Likewise.
1292         (Fmap_char_attribute): Likewise.
1293
1294         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1295         `XCHAR_ID_TABLE'.
1296         (encode_char_1): Likewise.
1297
1298 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1299
1300         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1301         `Lisp_Char_ID_Table'.
1302         (mark_char_id_table): Deleted.
1303         (print_char_id_table): Likewise.
1304         (char_id_table_equal): Likewise.
1305         (char_id_table_hash): Likewise.
1306         (char_id_table_description): Likewise.
1307         (char_id_table): Likewise.
1308         (make_char_id_table): Use `Fmake_char_table' and
1309         `fill_char_table'.
1310         (get_char_id_table): Use `Lisp_Char_Table' instead of
1311         `Lisp_Char_ID_Table'.
1312         (put_char_id_table): Likewise.
1313         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1314         `XCHAR_ID_TABLE'.
1315         (Fremove_char_attribute): Likewise.
1316         (syms_of_chartab): Don't define type `char-id-table'.
1317
1318         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1319         (char_id_table): Likewise.
1320         (GC_CHAR_ID_TABLE_P): Likewise.
1321         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1322         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1323         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1324         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1325         (get_char_id_table): Use `Lisp_Char_Table' instead of
1326         `Lisp_Char_ID_Table'.
1327         (put_char_id_table_0): Likewise.
1328         (put_char_id_table): Likewise.
1329
1330 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1331
1332         * chartab.h: Lisp_Byte_Table related codes are moved from
1333         chartab.h.
1334
1335         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1336
1337 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1338
1339         * chartab.h: Don't include "chartab.h".
1340         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1341         (Lisp_Char_ID_Table): Likewise.
1342         (char_id_table): Likewise.
1343         (XCHAR_ID_TABLE): Likewise.
1344         (XSETCHAR_ID_TABLE): Likewise.
1345         (CHAR_ID_TABLE_P): Likewise.
1346         (GC_CHAR_ID_TABLE_P): Likewise.
1347         (get_char_id_table): Likewise.
1348
1349         * char-ucs.h: Include "chartab.h".
1350         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1351         (Lisp_Char_ID_Table): Likewise.
1352         (char_id_table): Likewise.
1353         (XCHAR_ID_TABLE): Likewise.
1354         (XSETCHAR_ID_TABLE): Likewise.
1355         (CHAR_ID_TABLE_P): Likewise.
1356         (GC_CHAR_ID_TABLE_P): Likewise.
1357         (get_char_id_table): Likewise.
1358
1359 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1360
1361         * chartab.c (copy_uint8_byte_table): New function.
1362         (copy_uint16_byte_table): New function.
1363         (copy_byte_table): New function.
1364         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1365         characters to call.
1366         (map_over_uint16_byte_table): Likewise.
1367         (map_over_byte_table): Likewise.
1368         (get_byte_table): Move prototype to chartab.h.
1369         (put_byte_table): Likewise.
1370         (put_char_id_table_0): Moved to chartab.h.
1371         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1372         (char_table_entry_equal): Likewise.
1373         (char_table_entry_hash): Likewise.
1374         (char_table_entry_description): Likewise.
1375         (char_table_entry): Likewise.
1376         (make_char_table_entry): Likewise.
1377         (copy_char_table_entry): Likewise.
1378         (get_non_ascii_char_table_value): Likewise.
1379         (map_over_charset_ascii): Likewise.
1380         (map_over_charset_control_1): Likewise.
1381         (map_over_charset_row): Likewise.
1382         (map_over_other_charset): Likewise.
1383         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1384         (print_char_table): Likewise.
1385         (char_table_equal): Likewise.
1386         (char_table_hash): Likewise.
1387         (char_table_description): Likewise.
1388         (fill_char_table): Likewise.
1389         (Fcopy_char_table): Likewise.
1390         (get_char_table): Likewise.
1391         (Fget_range_char_table): Likewise.
1392         (put_char_table): Likewise.
1393         (map_char_table): Likewise.
1394         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1395         UTF-2000.
1396
1397 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1398
1399         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1400         `Vauto_fill_chars' in XEmacs UTF-2000.
1401
1402         * chartab.h (get_byte_table): New prototype [moved from
1403         chartab.c].
1404         (put_byte_table): Likewise [moved from chartab.c].
1405         (put_char_id_table_0): New inline function [moved from chartab.c].
1406         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1407         (Lisp_Char_Table_Entry): Likewise.
1408         (char_table_entry): Likewise.
1409         (XCHAR_TABLE_ENTRY): Likewise.
1410         (XSETCHAR_TABLE_ENTRY): Likewise.
1411         (CHAR_TABLE_ENTRYP): Likewise.
1412         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1413         (NUM_ASCII_CHARS): Likewise.
1414         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1415         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1416
1417 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1418
1419         * chartab.c (get_char_id_table): Change interface.
1420         (put_char_id_table_0): New function.
1421         (put_char_id_table): Change interface; new implementation.
1422         (Fget_composite_char): Modify for interface change of
1423         `get_char_id_table'.
1424         (Fchar_variants): Likewise.
1425         (add_char_attribute_alist_mapper): Likewise.
1426         (Fchar_attribute_alist): Likewise.
1427         (Fget_char_attribute): Likewise.
1428         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1429         as same as character as the first argument like `put-char-table';
1430         modify for interface change of `put_char_id_table'.
1431         (Fremove_char_attribute): Modify for interface change of
1432         `put_char_id_table'.
1433
1434 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1435
1436         * text-coding.c: Sync up with XEmacs 21.2.41.
1437         (COMPOSE_ADD_CHAR): Modify for interface change of
1438         `get_char_id_table'.
1439
1440         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1441         change of `put_char_id_table'.
1442         (remove_char_ccs): Likewise.
1443
1444         * chartab.h (put_char_id_table): Change interface.
1445
1446         * char-ucs.h (get_char_id_table): Change interface.
1447         (charset_code_point): Modify for interface change of
1448         `get_char_id_table'.
1449         (encode_char_1): Likewise.
1450
1451 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1452
1453         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1454         argument `ccs'.
1455         (map_over_uint16_byte_table): Likewise.
1456         (map_over_byte_table): Likewise.
1457         (map_char_id_table): Add new argument `range' like
1458         `map_char_table'.
1459         (Fmap_char_attribute): Add new argument `range' like
1460         `Fmap_char_table'.
1461
1462 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1463
1464         * chartab.c (map_over_uint8_byte_table): Change interface of
1465         mapping function to use struct chartab_range instead of Emchar.
1466         (map_over_uint16_byte_table): Likewise.
1467         (map_over_byte_table): Likewise.
1468         (map_char_id_table): Likewise.
1469         (struct slow_map_char_id_table_arg): Deleted.
1470         (slow_map_char_id_table_fun): Deleted.
1471         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1472         function `slow_map_char_table_fun' instead of struct
1473         `slow_map_char_id_table_arg' and function
1474         `slow_map_char_id_table_fun'.
1475
1476 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1477
1478         * mule-charset.c: Move char-it-table related codes to chartab.c.
1479         (Vutf_2000_version): Moved to chartab.c.
1480         (Fdefine_char): Likewise.
1481         (Ffind_char): Likewise.
1482         (syms_of_mule_charset): Move types `uint8-byte-table',
1483         `uint16-byte-table', `byte-table' and `char-id-table' to
1484         chartab.c; move functions `char_attribute_list,
1485         `find_char_attribute_table, `char_attribute_alist,
1486         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1487         `map_char_attribute, `define_char, `find_char, `char_variants and
1488         `get_composite_char to chartab.c; move symbols `=>ucs',
1489         `->decomposition', `compat', `isolated', `initial', `medial',
1490         `final', `vertical', `noBreak', `fraction', `super', `sub',
1491         `circle', `square', `wide', `narrow', `small' and `font' to
1492         chartab.c.
1493         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1494         setting codes for `Vcharacter_composition_table' and
1495         `Vcharacter_variant_table' to chartab.c.
1496         (complex_vars_of_mule_charset): Move setting code for
1497         `Vchar_attribute_hash_table' to chartab.c.
1498
1499         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1500         (make_char_id_table): New prototype.
1501         (put_char_id_table): Likewise.
1502         (Fget_char_attribute): Likewise.
1503
1504         * chartab.c: Move char-id-table related code from mule-charset.c.
1505         (Vutf_2000_version): Moved from mule-charset.c.
1506
1507         * char-ucs.h (Qucs): New external variable.
1508         (put_char_ccs_code_point): New prototype.
1509         (remove_char_ccs): Likewise.
1510
1511 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1512
1513         * mule-charset.c (Vcharset_ucs_jis): New variable.
1514         (Qucs_jis): Likewise.
1515         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1516         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1517
1518         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1519
1520 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1521
1522         * mule-charset.c (map_over_uint8_byte_table): New function.
1523         (map_over_uint16_byte_table): Likewise.
1524         (map_over_byte_table): Likewise.
1525         (map_char_id_table): Likewise.
1526         (slow_map_char_id_table_fun): Likewise.
1527         (Fmap_char_attribute): Likewise.
1528         (syms_of_mule_charset): Add new function `map-char-attribute'.
1529
1530 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1531
1532         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1533         (syms_of_mule_charset): Add new function `find-char'.
1534
1535 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1536
1537         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1538         XEmacs UTF-2000.
1539         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1540         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1541         XEmacs UTF-2000.
1542         (complex_vars_of_mule_charset): Add new coded-charset
1543         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1544         `ideograph-gt-pj-*'.
1545
1546         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1547
1548 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1549
1550         * mule-charset.c (encode_builtin_char_1): Purge codes about
1551         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1552         {MIN|MAX}_CHAR_HEBREW.
1553         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1554         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1555
1556         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1557         (MAX_CHAR_GREEK): Purged.
1558         (MIN_CHAR_CYRILLIC): Purged.
1559         (MAX_CHAR_CYRILLIC): Purged.
1560         (MIN_CHAR_HEBREW): Commented out.
1561         (MAX_CHAR_HEBREW): Likewise.
1562
1563 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1564
1565         * mule-charset.c (Qto_ucs): New variable.
1566         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1567         (Fdefine_char): Likewise.
1568         (syms_of_mule_charset): Add new symbol `=>ucs'.
1569
1570 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1571
1572         * mule-charset.c (Fdecode_char): Fixed.
1573
1574 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1575
1576         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1577         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1578         "tcvn5712-1".
1579
1580 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1581
1582         * mule-charset.c (Vcharset_ucs_big5): New variable.
1583         (Qucs_big5): Likewise.
1584         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1585         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1586
1587         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1588
1589 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1590
1591         * mule-charset.c (decode_builtin_char): Check Big5 code range
1592         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1593
1594 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1595
1596         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1597         (Qchinese_gb12345): Likewise.
1598         (Fdecode_builtin_char): Fixed.
1599         (syms_of_mule_charset): Add `chinese-gb12345'.
1600         (complex_vars_of_mule_charset): Add coded-charset
1601         `chinese-gb12345'.
1602
1603         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1604         (LEADING_BYTE_CHINESE_GB12345): New macro.
1605
1606 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1607
1608         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1609         and `latin-viscii-upper' for `latin-viscii'.
1610
1611 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1612
1613         * mule-charset.c (Fdecode_builtin_char): Comment out
1614         regularization code for ISO-IR GR representation.
1615
1616 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1617
1618         * mule-charset.c (decode_builtin_char): New function; renamed from
1619         `make_builtin_char'; return -1 instead of signal.
1620         (Fdecode_builtin_char): Use `decode_builtin_char'.
1621
1622         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1623         `make_builtin_char'.
1624         (DECODE_CHAR): Use `decode_builtin_char' instead of
1625         `make_builtin_char'; use mapping table of `chinese-big5' for
1626         `chinese-big5-{1,2}'.
1627
1628 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1629
1630         * text-coding.c (char_encode_big5): New function.
1631         (char_finish_big5): Likewise.
1632         (reset_encoding_stream): Use `char_encode_big5' and
1633         `char_finish_big5' for CODESYS_BIG5.
1634         (mule_encode): Don't use `encode_coding_big5'.
1635         (encode_coding_big5): Deleted.
1636
1637 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1638
1639         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1640         0x81- in XEmacs UTF-2000.
1641         (detect_coding_big5): Likewise.
1642
1643 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1644
1645         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1646         generate character-id if the CCS property does not have
1647         corresponding predefined character.
1648         (make_builtin_char): Return -1 if corresponding predefined
1649         character is not found.
1650         (Fdecode_char): Return nil if corresponding character is not
1651         found.
1652         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1653         don't map to builtin ucs space.
1654
1655 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1656
1657         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1658         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1659
1660 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1661
1662         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1663         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1664         (Qideograph_gt): Likewise.
1665         (Qideograph_gt_pj_{1..11}): Likewise.
1666         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1667         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1668         `ideograph-gt-pj-11'.
1669         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1670         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1671         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1672
1673         * char-ucs.h (LEADING_BYTE_GT): New macro.
1674         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1675         (MIN_CHAR_GT): Likewise.
1676         (MAX_CHAR_GT): Likewise.
1677
1678 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1679
1680         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1681         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1682
1683         * doprnt.c (unsigned_int_converters): Add `c'.
1684         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1685
1686         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1687         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1688         `MIN_CHAR_MOJIKYO'.
1689         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1690         (MAX_CHAR_MOJIKYO_0): New macro.
1691         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1692
1693 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1694
1695         * mule-charset.c (Fdefine_char): Delete cemented out code.
1696         (encode_builtin_char_1): Modify for new allocation of builtin
1697         Mojikyo characters.
1698
1699         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1700
1701 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1702
1703         * mule-charset.c (Vcharset_ucs_cns): New variable.
1704         (Qucs_cns): New variable.
1705         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1706         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1707
1708 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1709
1710         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1711
1712 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1713
1714         * search.c (search_buffer): Make `charset_base_code' as
1715         character-id >> 6 to eliminate the corresponding last byte in
1716         UTF-8 representation [I'm not sure it is right thing].
1717         (boyer_moore): Likewise.
1718
1719 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1720
1721         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1722         representation in MULE.
1723
1724 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1725
1726         * text-coding.c (Fmake_coding_system): Use
1727         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1728         `EXTERNAL_PROPERTY_LIST_LOOP'.
1729
1730 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1731
1732         * text-coding.c (decode_output_utf8_partial_char): New function.
1733         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1734
1735 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1736
1737         * text-coding.c (decode_coding_utf8): Output original byte
1738         sequence if it is broken; change order of conditions.
1739
1740         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1741         of conditions.
1742
1743         * mb-multibyte.h (BYTE_ASCII_P):
1744         Use bit ops for char-signedness safety.
1745         (BYTE_C0_P): Use bit ops for char-signedness safety.
1746         (BYTE_C1_P): Use bit ops for char-signedness safety.
1747
1748         * character.h: (XCHAR_OR_CHAR_INT):
1749         Always use inline function.
1750         Remove redundant type checking assert() - XINT will abort quite
1751         nicely.
1752
1753 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1754
1755         * text-coding.c: (Fencode_shift_jis_char):
1756         (Fencode_big5_char):
1757         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1758         Replace 0 with '\0' when working with bytes.
1759         Replace initial "(" with "\(" in docstrings.
1760
1761         (Fmake_coding_system):
1762         When type is ccl and value is vector, register it with a proper
1763         symbol.  And checks whether the given ccl program is valid.
1764         (mule_decode): When calling ccl_driver, if src indicates
1765         NULL pointer, set an empty string instead.
1766         (mule_encode): Likewise.
1767
1768         (detect_eol_type):
1769         (detect_coding_sjis):
1770         (decode_coding_sjis):
1771         (detect_coding_big5):
1772         (decode_coding_big5):
1773         (detect_coding_ucs4):
1774         (decode_coding_ucs4):
1775         (detect_coding_utf8):
1776         (decode_coding_utf8):
1777         (detect_coding_iso2022):
1778         (decode_coding_iso2022):
1779         (decode_coding_no_conversion):
1780         (mule_decode):
1781         Make all detecting and decoding functions take an Extbyte * arg.
1782         (text_encode_generic):
1783         (encode_coding_big5):
1784         (encode_coding_no_conversion):
1785         (mule_encode):
1786         Make all encoding functions take a Bufbyte * arg.
1787         Use size_t instead of unsigned int for memory sizes.
1788         Only cast to unsigned char whenever dereferencing Extbyte *.
1789
1790         (struct lrecord_description fcd_description_1): Use countof.
1791         (complex_vars_of_file_coding):
1792         Use countof instead of sizeof.
1793         Use CHECK_NATNUM instead of CHECK_INT.
1794
1795 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1796
1797         * mule-charset.c (Fget_char_attribute): Add new optional argument
1798         `default-value'.
1799         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1800         (remove_char_ccs): Likewise.
1801
1802 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * text-coding.c (char_encode_shift_jis): New implementation in
1805         UTF-2000.
1806         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1807         ...)'.
1808
1809         * mule-charset.c (Vcharset_chinese_big5): New variable in
1810         UTF-2000.
1811         (Qchinese_big5): New variable in UTF-2000.
1812         (BIG5_SAME_ROW): New macro in UTF-2000.
1813         (make_builtin_char): Use builtin characters of
1814         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1815         characters of `Vcharset_chinese_big5'.
1816         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1817         (complex_vars_of_mule_charset): Add new coded-charset
1818         `chinese-big5' in UTF-2000.
1819
1820         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1821         (Vcharset_chinese_big5): New external variable declaration.
1822         (Vcharset_japanese_jisx0208_1990): Likewise.
1823
1824 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1825
1826         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1827         function.
1828         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1829
1830 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1831
1832         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1833         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1834         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1835         `mojikyo-pj-*'.
1836
1837 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1838
1839         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1840
1841 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1842
1843         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1844         to 0.17.
1845
1846 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1847
1848         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1849         for `CHARSET_BY_ATTRIBUTES'.
1850         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1851         `CHARSET_BY_ATTRIBUTES'.
1852
1853         * text-coding.c (struct decoding_stream): Rename member `CH' to
1854         `CPOS'.
1855         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1856         (decode_coding_sjis): Likewise.
1857         (decode_coding_big5): Likewise.
1858         (decode_coding_ucs4): Likewise.
1859         (decode_coding_utf8): Likewise.
1860         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1861         `CHARSET_BY_ATTRIBUTES'.
1862         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1863         `str->counter'; decode 3, 4 bytes sets.
1864         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1865         sets.
1866         (decode_coding_no_conversion): Use `str->cpos' instead of
1867         `str->ch'.
1868
1869         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1870         (Qmojikyo_2022_1): New variable.
1871         (make_charset): Don't use `CHARSET_TYPE_*'.
1872         (range_charset_code_point): Support coded-charset
1873         `mojikyo-2022-1'.
1874         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1875         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1876         `CHARSET_BY_ATTRIBUTES'.
1877         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1878         `CHARSET_BY_ATTRIBUTES'.
1879         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1880         (complex_vars_of_mule_charset): Add new coded-charset
1881         `mojikyo-2022-1'.
1882
1883         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1884         interface; changed to inline function.
1885
1886         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1887         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1888         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1889         (CHARSET_TYPE_94): Deleted.
1890         (CHARSET_TYPE_94X94): Deleted.
1891         (CHARSET_TYPE_96): Deleted.
1892         (CHARSET_TYPE_96X96): Deleted.
1893         (CHARSET_TYPE_128): Deleted.
1894         (CHARSET_TYPE_128X128): Deleted.
1895         (CHARSET_TYPE_256): Deleted.
1896         (CHARSET_TYPE_256X256): Deleted.
1897         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1898         to inline function.
1899         (DECODE_MOJIKYO_2022): New inline function.
1900         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1901         `Vcharset_mojikyo_2022_1'.
1902
1903 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1906         instead of `EQ'.
1907         (put_byte_table): Likewise.
1908         (char_id_table_equal): Use `get_byte_table' [new implementation].
1909
1910 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1911
1912         * mule-charset.c: Include <limits.h> in UTF-2000.
1913         (BT_UINT8_MIN): New macro in UTF-2000.
1914         (BT_UINT8_MAX): New macro in UTF-2000.
1915         (BT_UINT8_t): New macro in UTF-2000.
1916         (BT_UINT8_nil): New macro in UTF-2000.
1917         (BT_UINT8_unbound): New macro in UTF-2000.
1918         (INT_UINT8_P): New inline function in UTF-2000.
1919         (UINT8_VALUE_P): New inline function in UTF-2000.
1920         (UINT8_ENCODE): New inline function in UTF-2000.
1921         (UINT8_DECODE): New inline function in UTF-2000.
1922         (mark_uint8_byte_table): New function in UTF-2000.
1923         (print_uint8_byte_table): New function in UTF-2000.
1924         (uint8_byte_table_equal): New function in UTF-2000.
1925         (uint8_byte_table_hash): New function in UTF-2000.
1926         (make_uint8_byte_table): New function in UTF-2000.
1927         (uint8_byte_table_same_value_p): New function in UTF-2000.
1928         (BT_UINT16_MIN): New macro in UTF-2000.
1929         (BT_UINT16_MAX): New macro in UTF-2000.
1930         (BT_UINT16_t): New macro in UTF-2000.
1931         (BT_UINT16_nil): New macro in UTF-2000.
1932         (BT_UINT16_unbound): New macro in UTF-2000.
1933         (INT_UINT16_P): New inline function in UTF-2000.
1934         (UINT16_VALUE_P): New inline function in UTF-2000.
1935         (UINT16_ENCODE): New inline function in UTF-2000.
1936         (UINT16_DECODE): New inline function in UTF-2000.
1937         (UINT8_TO_UINT16): New inline function in UTF-2000.
1938         (mark_uint16_byte_table): New function in UTF-2000.
1939         (print_uint16_byte_table): New function in UTF-2000.
1940         (uint16_byte_table_equal): New function in UTF-2000.
1941         (uint16_byte_table_hash): New function in UTF-2000.
1942         (make_uint16_byte_table): New function in UTF-2000.
1943         (uint16_byte_table_same_value_p): New function in UTF-2000.
1944         (print_byte_table): New function in UTF-2000.
1945         (byte-table): Use `print_byte_table' as printer.
1946         (make_byte_table): Delete second argument `older'.
1947         (byte_table_same_value_p): New function in UTF-2000.
1948         (copy_byte_table): Deleted.
1949         (get_byte_table): New function in UTF-2000.
1950         (put_byte_table): New function in UTF-2000.
1951         (print_char_id_table): New function in UTF-2000.
1952         (char-id-table): Use `print_char_id_table' as printer.
1953         (make_char_id_table): Delete second argument `older'.
1954         (get_char_id_table): Use `get_byte_table [new implementation].
1955         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1956         implementation].
1957         (Ffind_char_attribute_table): New function in UTF-2000.
1958         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1959         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1960         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1961         (syms_of_mule_charset): Add new function
1962         `find-char-attribute-table' in UTF-2000.
1963
1964         * lrecord.h (enum lrecord_type): Add
1965         `lrecord_type_uint16_byte_table' and
1966         `lrecord_type_uint8_byte_table'.
1967
1968         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1969         (Lisp_Uint8_Byte_Table): New type.
1970         (XUINT8_BYTE_TABLE): New macro.
1971         (XSETUINT8_BYTE_TABLE): New macro.
1972         (UINT8_BYTE_TABLE_P): New macro.
1973         (GC_UINT8_BYTE_TABLE_P): New macro.
1974         (struct Lisp_Uint16_Byte_Table): New structure.
1975         (Lisp_Uint16_Byte_Table): New type.
1976         (XUINT16_BYTE_TABLE): New macro.
1977         (XSETUINT16_BYTE_TABLE): New macro.
1978         (UINT16_BYTE_TABLE_P): New macro.
1979         (GC_UINT16_BYTE_TABLE_P): New macro.
1980
1981 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1982
1983         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1984         (Vcharacter_ideographic_strokes_table): Deleted.
1985         (Vcharacter_total_strokes_table): Deleted.
1986         (Vcharacter_morohashi_daikanwa_table): Deleted.
1987         (Vcharacter_decomposition_table): Deleted.
1988         (Qname): Deleted because it is duplicated.
1989         (Qideographic_radical): Deleted.
1990         (Qideographic_strokes): Deleted.
1991         (Qtotal_strokes): Deleted.
1992         (Qmorohashi_daikanwa): Deleted.
1993         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1994         `ideographic-radical', `ideographic-strokes', `total-strokes',
1995         `morohashi-daikanwa' and `->decomposition'.
1996         (Fget_char_attribute): Likewise.
1997         (Fput_char_attribute): Likewise; use `make-vector' instead of
1998         `make_older_vector' for `->decomposition' value.
1999         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2000         `ideograph-daikanwa'.
2001         (syms_of_mule_charset): Delete builtin symbols `name',
2002         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2003         `morohashi-daikanwa'.
2004         (vars_of_mule_charset): Don't setup
2005         `Vcharacter_ideographic_radical_table',
2006         `Vcharacter_ideographic_strokes_table',
2007         `Vcharacter_total_strokes_table',
2008         `Vcharacter_morohashi_daikanwa_table' and
2009         `Vcharacter_decomposition_table'.
2010
2011 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2012
2013         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2014         `make_older_vector', `make_vector_newer_1' and
2015         `make_vector_newer'.
2016
2017         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2018         `make_older_vector' and `make_vector_newer'.
2019
2020         * config.h.in (HAVE_GGC): New macro.
2021
2022 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2023
2024         * mule-charset.c (struct char_attribute_list_closure): New
2025         structure in UTF-2000.
2026         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2027         (Fchar_attribute_list): Likewise.
2028         (Fset_charset_mapping_table): Use `make_vector_newer'.
2029         (Fdecode_builtin_char): New function in UTF-2000.
2030         (syms_of_mule_charset): Add new function `char-attribute-list' and
2031         `decode-builtin-char' in UTF-2000.
2032
2033         * lisp.h (make_vector_newer): New prototype.
2034
2035         * alloc.c (make_vector_newer_1): New function.
2036         (make_vector_newer): New function.
2037
2038 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2039
2040         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2041         50100)'.
2042
2043 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2044
2045         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2046         (Vcharacter_attribute_table): Deleted.
2047         (Vcharacter_name_table): Deleted.
2048         (put_char_attribute): Deleted.
2049         (remove_char_attribute): Deleted.
2050         (struct char_attribute_alist_closure): New structure.
2051         (add_char_attribute_alist_mapper): New function.
2052         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2053         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2054         (Fget_char_attribute): Likewise.
2055         (Fput_char_attribute): Likewise.
2056         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2057         of `remove_char_attribute'.
2058         (Fdefine_char): Return character.
2059         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2060         and `Vcharacter_name_table'.
2061         (complex_vars_of_mule_charset): Likewise
2062         `Vchar_attribute_hash_table'.
2063
2064 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2065
2066         * character.h (CHARC_CHARSET): New macro.
2067         (CHARC_CHARSET_ID): New macro.
2068         (CHARC_CODE_POINT): New macro.
2069         (CHARC_COLUMNS): New macro.
2070         (CHARC_TO_CHAR): New inline function.
2071         (CHARC_EQ): New inline function.
2072         (CHARC_ASCII_EQ): New inline function.
2073         (CHARC_IS_SPACE): New inline function.
2074         (ASCII_TO_CHARC): New inline function.
2075
2076         * char-ucs.h (encode_char_2): Deleted.
2077         (ENCODE_CHAR): Use `encode_char_1' again.
2078         (breakup_char_1): Likewise.
2079         (CHAR_TO_CHARC): New inline function.
2080
2081         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2082
2083 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2084
2085         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2086         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2087         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2088         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2089         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2090         `CHARC_IS_SPACE'.
2091         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2092
2093         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2094         `CHARC_CODE_POINT'.
2095         (x_output_display_block): Use `CHARC_CHARSET' and
2096         `CHARC_ASCII_EQ'.
2097
2098         * redisplay-tty.c (tty_output_display_block): Use
2099         `CHARC_ASCII_EQ'.
2100         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2101
2102         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2103
2104         * insdel.c (find_charsets_in_charc_string): Use
2105         `CHARC_CHARSET_ID'.
2106         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2107         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2108         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2109         (convert_charc_string_into_malloced_string): Likewise.
2110
2111 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2112
2113         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2114         instead of <Emchar_dynarr *> for buf; use
2115         `convert_bufbyte_string_into_charc_dynarr' instead of
2116         `convert_bufbyte_string_into_emchar_dynarr'; use
2117         `find_charsets_in_charc_string' instead of
2118         `find_charsets_in_emchar_string'.
2119
2120         * redisplay.h:
2121         - Include "character.h".
2122         (struct rune): New member `cglyph'; delete member `chr'.
2123
2124         * redisplay.c (redisplay_text_width_charc_string): New function;
2125         delete `redisplay_text_width_emchar_string'.
2126         (rtw_charc_dynarr): New variable; renamed from
2127         `rtw_emchar_dynarr'.
2128         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2129         `rtw_emchar_dynarr'; use
2130         `convert_bufbyte_string_into_charc_dynarr' instead of
2131         `convert_bufbyte_string_into_emchar_dynarr'; use
2132         `redisplay_text_width_charc_string' instead of
2133         `redisplay_text_width_emchar_string'.
2134         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2135         instead of `rtw_emchar_dynarr'; use
2136         `convert_bufbyte_string_into_charc_dynarr' instead of
2137         `convert_bufbyte_string_into_emchar_dynarr'.
2138         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2139         `redisplay_text_width_charc_string' instead of
2140         `redisplay_text_width_emchar_string'.
2141         (create_text_block): Modify for <struct rune> change.
2142         (generate_formatted_string_db): Likewise.
2143         (create_string_text_block): Likewise.
2144         (pixel_to_glyph_translation): Likewise.
2145
2146         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2147         instead of <const Emchar *>.
2148         (x_text_width): Likewise.
2149         (x_output_display_block): Use <Charc_dynarr *> instead
2150         <Emchar_dynarr *>; modify for <structure rune> change.
2151         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2152         *>.
2153
2154         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2155         <const Emchar *>; use `charc_string_displayed_columns' instead of
2156         `emchar_string_displayed_columns'.
2157         (tty_output_display_block): Use <Charc_dynarr *> instead of
2158         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2159         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2160         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2161         `tty_output_emchar_dynarr_dynarr'.
2162         (tty_output_charc_dynarr): New function; delete
2163         `tty_output_charc_dynarr'.
2164
2165         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2166         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2167         <Emchar_dynarr *> for buf; use
2168         `convert_bufbyte_string_into_charc_dynarr' instead of
2169         `convert_bufbyte_string_into_emchar_dynarr'.
2170
2171         * frame.c (title_string_charc_dynarr): New variable; renamed from
2172         `title_string_emchar_dynarr'.
2173         (generate_title_string): Use `title_string_charc_dynarr' instead
2174         of `title_string_emchar_dynarr'; use
2175         `convert_charc_string_into_malloced_string' instead of
2176         `convert_emchar_string_into_malloced_string'.
2177         (init_frame): Use `title_string_charc_dynarr' instead of
2178         `title_string_emchar_dynarr'.
2179
2180         * console.h:
2181         - Include "character.h".
2182         (struct console_methods): Use <const Charc *> instead of <const
2183         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2184         <Emchar_dynarr *> in output_string_method.
2185
2186         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2187         <Emchar_dynarr *>.
2188
2189         * console-stream.c (stream_text_width): Use <const Charc *>
2190         instead of <const Emchar *>.
2191
2192         * character.h (Charc_dynarr): New type.
2193
2194         * char-ucs.h (structure Charc): New structure; define new type
2195         `Charc'.
2196
2197         * char-lb.h (DECODE_CHAR): New inline function.
2198         (encode_char_1): New inline function.
2199         (ENCODE_CHAR): New macro.
2200         (structure Charc): New structure; define new type `Charc'.
2201
2202         * char-1byte.h (Vcharset_control_1): New macro.
2203         (Vcharset_latin_iso8859_1): New macro.
2204         (DECODE_CHAR): New inline function.
2205         (encode_char_1): New inline function.
2206         (ENCODE_CHAR): New macro.
2207         (structure Charc): New structure; define new type `Charc'.
2208
2209         * insdel.c (find_charsets_in_charc_string): New function; delete
2210         `find_charsets_in_emchar_string'.
2211         (charc_string_displayed_columns): New function; delete
2212         `emchar_string_displayed_columns'.
2213         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2214         `convert_bufbyte_string_into_emchar_dynarr'.
2215         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2216         `convert_charc_string_into_bufbyte_dynarr'.
2217         (convert_charc_string_into_malloced_string): New function; delete
2218         `convert_charc_string_into_malloced_string'.
2219
2220         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2221         `find_charsets_in_emchar_string'.
2222         (charc_string_displayed_columns): New prototype; delete
2223         `emchar_string_displayed_columns'.
2224         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2225         `convert_charc_string_into_bufbyte_dynarr'.
2226         (convert_charc_string_into_malloced_string): New prototype; delete
2227         `convert_charc_string_into_malloced_string'.
2228
2229 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2230
2231         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2232
2233 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2234
2235         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2236
2237         * char-ucs.h: Use <short> for <Charset_ID>.
2238
2239         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2240         <Charset_ID>.
2241
2242 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2243
2244         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2245         to 0.16.
2246
2247 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2248
2249         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2250         variable.
2251         (Qmorohashi_daikanwa): New variable.
2252         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2253         for `morohashi-daikanwa' attribute.
2254         (Fget_char_attribute): Likewise.
2255         (Fput_char_attribute): Likewise.
2256         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2257         has the same value of `ideograph-daikanwa'.
2258         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2259         (vars_of_mule_charset): Setup
2260         `Vcharacter_morohashi_daikanwa_table'.
2261
2262 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2263
2264         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2265         attributes.
2266         (add_charset_to_list_mapper): Add `key' instead of
2267         `XCHARSET_NAME (value)' to return aliases.
2268
2269 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2270
2271         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2272         variable.
2273         (Vcharacter_ideographic_strokes_table): New variable.
2274         (Qideographic_radical): New variable.
2275         (Qideographic_strokes): New variable.
2276         (Fchar_attribute_alist): Use
2277         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2278         attribute; use `Vcharacter_ideographic_strokes_table' for
2279         `ideographic-strokes' attribute.
2280         (Fget_char_attribute): Likewise.
2281         (Fput_char_attribute): Likewise.
2282         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2283         `ideographic-strokes'.
2284         (vars_of_mule_charset): Setup
2285         `Vcharacter_ideographic_radical_table' and
2286         `Vcharacter_ideographic_strokes_table'.
2287
2288 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2289
2290         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2291         (Qtotal_strokes): New variable.
2292         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2293         `total-strokes' attribute.
2294         (Fget_char_attribute): Likewise.
2295         (Fput_char_attribute): Likewise.
2296         (syms_of_mule_charset): Add new symbol `total-strokes'.
2297         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2298
2299 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2300
2301         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2302         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2303         are found.
2304         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2305         `->decomposition' attribute.
2306         (Fput_char_attribute): Likewise.
2307         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2308
2309 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2310
2311         * mule-charset.c (decoding_table_check_elements): New function.
2312         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2313
2314 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2315
2316         * mule-charset.c (Fset_charset_mapping_table): Use
2317         `put_char_ccs_code_point'.
2318
2319 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2320
2321         * mule-charset.c (decoding_table_put_char): New inline function.
2322         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2323
2324 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2325
2326         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2327         (XCHARSET_BYTE_SIZE): New macro.
2328         (decoding_table_remove_char): New inline function.
2329         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2330         `decoding_table_remove_char'.
2331         (remove_char_ccs): Use `decoding_table_remove_char'.
2332         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2333
2334 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2335
2336         * mule-charset.c (Vcharacter_name_table): New variable.
2337         (Qname): New variable.
2338         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2339         attribute.
2340         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2341         `Vcharacter_name_table' for `name' attribute.
2342         (Fremove_char_attribute): Use function `remove_char_ccs'.
2343         (put_char_ccs_code_point): New function.
2344         (remove_char_ccs): New function.
2345         (syms_of_mule_charset): Add new symbol `name'.
2346         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2347
2348 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2349
2350         * mule-charset.c (make_byte_table): Add new argument `older'.
2351         (make_char_id_table): Likewise.
2352         (copy_char_id_table): Comment out because it is not used.
2353         (put_char_id_table): Modify for `make_byte_table'.
2354         (Fput_char_attribute): Make encoding_table as older object;
2355         inherit older bit of `Vcharacter_composition_table'.
2356         (mark_charset): Don't mark `cs->encoding_table'.
2357         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2358         normal object; make `Vcharacter_composition_table' as an older
2359         object; delete staticpro for `Vcharacter_composition_table'; make
2360         `Vcharacter_variant_table' as a normal object.
2361
2362         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2363         (mark_object): Don't check older object in UTF-2000.
2364
2365         * lrecord.h (struct lrecord_header): Add new member `older' in
2366         UTF-2000.
2367         (set_lheader_implementation): Setup `SLI_header->older' in
2368         UTF-2000.
2369         (set_lheader_older_implementation): New macro in UTF-2000.
2370         (OLDER_RECORD_P): New macro in UTF-2000.
2371         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2372         (alloc_older_lcrecord): New prototype in UTF-2000.
2373         (alloc_older_lcrecord_type): New macro in UTF-2000.
2374
2375 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2376
2377         * mule-charset.c (byte_table_description): Use
2378         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2379         (char_id_table_description): Delete bogus `, 1'.
2380         (Fget_char_attribute): Refer encoding_table of each coded-charset
2381         to get value of coded-charset attribute of a character.
2382         (Fput_char_attribute): Use `make_older_vector' instead of
2383         `make_vector'; use encoding_table of each coded-charset to store
2384         value of coded-charset attribute of a character.
2385         (Fremove_char_attribute): Use encoding_table of each coded-charset
2386         to store value of coded-charset attribute of a character.
2387         (mark_charset): Mark `cs->encoding_table'; don't mark
2388         `cs->decoding_table'.
2389         (charset_description): Add description of new member
2390         `encoding_table'.
2391         (make_charset): Initialize `encoding_table'.
2392
2393         * char-ucs.h (struct Lisp_Charset): Add new member
2394         `encoding_table'.
2395         (CHARSET_ENCODING_TABLE): New macro.
2396         (XCHARSET_ENCODING_TABLE): New macro.
2397         (charset_code_point): New implementation.
2398         (encode_char_1): Likewise.
2399
2400         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2401         (disksave_object_finalization_1): Call finalizers of
2402         `all_older_lcrecords' in UTF-2000.
2403         (make_older_vector): New function in UTF-2000.
2404         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2405         UTF-2000.
2406
2407         * lisp.h (make_older_vector): New prototype in UTF-2000.
2408
2409 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2410
2411         * lrecord.h (enum lrecord_type): Rename
2412         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2413
2414         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2415         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2416         `get_char_code_table'.
2417
2418         * mule-charset.c (mark_char_id_table): Renamed from
2419         `mark_char_code_table'.
2420         (char_id_table_equal): Renamed from `char_code_table_equal'.
2421         (char_id_table_hash): Renamed from `char_code_table_hash'.
2422         (make_char_id_table): Renamed from `make_char_code_table'.
2423         (copy_char_id_table): Renamed from `copy_char_code_table'.
2424         (get_char_id_table): Renamed from `get_char_code_table'.
2425         (put_char_id_table): Renamed from `put_char_code_table'.
2426         (to_char_id): Renamed from `to_char_code'.
2427
2428         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2429         `Lisp_Char_Code_Table'.
2430         (char_id_table): Renamed from `char_code_table'.
2431         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2432         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2433         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2434         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2435         (get_char_id_table): Renamed from `get_char_code_table'.
2436
2437 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2438
2439         * lrecord.h (enum lrecord_type): Rename
2440         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2441
2442         * mule-charset.c (mark_byte_table): Renamed from
2443         `mark_char_byte_table'.
2444         (byte_table_equal): Renamed from `char_byte_table_equal'.
2445         (byte_table_hash): Renamed from `byte_table_hash'.
2446         (make_byte_table): Renamed from `make_byte_table'.
2447         (copy_byte_table): Renamed from `copy_char_byte_table'.
2448
2449         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2450         `Lisp_Char_Byte_Table'.
2451         (byte_table): Renamed from `char_byte_table'.
2452         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2453         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2454         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2455         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2456
2457 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2458
2459         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2460         (dfc_convert_to_internal_format): Likewise.
2461         
2462         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2463         * text-coding.c (Fcoding_system_alias_p): New function.
2464         * text-coding.c (Fcoding_system_aliasee): New function.
2465         * text-coding.c (append_suffix_to_symbol): New function.
2466         * text-coding.c (dangling_coding_system_alias_p): New function.
2467         * text-coding.c (Ffind_coding_system):
2468         * text-coding.c (Fcopy_coding_system):
2469         * text-coding.c (encode_coding_no_conversion):
2470         * text-coding.c (syms_of_file_coding):
2471         * text-coding.c (vars_of_file_coding):
2472         Rewrite coding system alias code.
2473         Allow nested aliases, like symbolic links.
2474         Allow redefinition of coding system aliases.
2475         Prevent existence of dangling coding system aliases.
2476         Eliminate convert_to_external_format.
2477         Eliminate convert_to_internal_format.
2478         
2479         * text-coding.c: Change enum eol_type to eol_type_t.
2480
2481 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2482
2483         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2484         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2485
2486         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2487         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2488
2489 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2490
2491         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2492         `ideograph-daikanwa'.
2493
2494         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2495         (Vcharset_ucs_bmp): Likewise.
2496         (Vcharset_mojikyo): Add new extern variable definition.
2497         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2498         (Vcharset_latin_iso8859_3): Likewise.
2499         (Vcharset_latin_iso8859_4): Likewise.
2500         (Vcharset_latin_iso8859_9): Likewise.
2501         (Vcharset_latin_viscii_lower): Likewise.
2502         (Vcharset_latin_viscii_upper): Likewise.
2503         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2504         `mojikyo' code-point is used to decode.
2505         (encode_char_2): New function [to convert `mojikyo' code-point to
2506         Mojikyo font encoding].
2507         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2508         (breakup_char_1): Likewise.
2509         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2510
2511 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2512
2513         * text-coding.c (Fmake_coding_system): Add document about
2514         `disable-composition' property.
2515
2516 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2517
2518         * text-coding.c (Qdisable_composition): New variable; delete
2519         `Qcomposite'.
2520         (Fmake_coding_system): Add new property `disable-composite';
2521         delete property `composite'.
2522         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2523         instead of `!CODING_SYSTEM_COMPOSITE'.
2524         (syms_of_file_coding): Add new symbol `disable-composition';
2525         delete symbol `composite'.
2526
2527         * file-coding.h (struct Lisp_Coding_System): Add
2528         `disable_composition'; delete `enable_composition'.
2529         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2530         `CODING_SYSTEM_COMPOSITE'.
2531         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2532         `XCODING_SYSTEM_COMPOSITE'.
2533
2534 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2535
2536         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2537         to 0.15.
2538
2539 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2540
2541         * text-coding.c (Qcomposite): New variable.
2542         (Fmake_coding_system): Add new property `composite'.
2543         (struct decoding_stream): Add `combined_char_count',
2544         `combined_chars' and `combining_table' in UTF-2000.
2545         (COMPOSE_FLUSH_CHARS): New macro.
2546         (COMPOSE_ADD_CHAR): New macro.
2547         (reset_decoding_stream): Reset `str->combined_char_count' and
2548         `str->combining_table' in UTF-2000.
2549         (decode_coding_iso2022): Modify for character-decomposition.
2550         (syms_of_file_coding): Add new symbol `composite'.
2551
2552 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2555         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2556         of `Vcharacter_composition_table' if `->decomposition' property
2557         has only 1 element.
2558         (Qlatin_tcvn5712): New variable.
2559         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2560         (complex_vars_of_mule_charset): Add new coded-charset
2561         `latin-tcvn5712'.
2562
2563         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2564
2565 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2566
2567         * file-coding.h (struct Lisp_Coding_System): Add
2568         `enable_composition'.
2569         (CODING_SYSTEM_COMPOSITE): New macro.
2570         (XCODING_SYSTEM_COMPOSITE): New macro.
2571
2572 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2573
2574         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2575
2576 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2577
2578         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2579         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2580
2581 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2582
2583         * mule-charset.c (Vcharset_mojikyo): New variable.
2584         (Fdefine_char): Don't use coded-charset which does not have
2585         non-builtin character range to allocate character-id.
2586         (Qmojikyo): New variable.
2587         (syms_of_mule_charset): Add new symbol `mojikyo'.
2588         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2589
2590         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2591         (LEADING_BYTE_MOJIKYO): New macro.
2592         (MIN_CHAR_MOJIKYO): New macro.
2593         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2594         (MAX_CHAR_MOJIKYO): New macro.
2595
2596 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2597
2598         * mule-charset.c (remove_char_attribute): Fixed.
2599
2600 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2601
2602         * mule-charset.c (remove_char_attribute): New function.
2603         (Fremove_char_attribute): New function.
2604         (encode_builtin_char_1): Comment out builtin-support for
2605         greek-iso8859-7 and cyrillic-iso8859-5.
2606         (Fdecode_char): Check `code' is an integer.
2607         (syms_of_mule_charset): Add `remove-char-attribute'.
2608         (MIN_CHAR_GREEK): Deleted.
2609         (MAX_CHAR_GREEK): Likewise.
2610         (MIN_CHAR_CYRILLIC): Likewise.
2611         (MAX_CHAR_CYRILLIC): Likewise.
2612         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2613         MAX_CHAR_GREEK for `greek-iso8859-7'.
2614
2615         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2616         (MAX_CHAR_GREEK): Likewise.
2617         (MIN_CHAR_CYRILLIC): Likewise.
2618         (MAX_CHAR_CYRILLIC): Likewise.
2619
2620 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2621
2622         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2623         format is used without `ucs' property.
2624         (Fdecode_char): Fix problem with GR representation.
2625         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2626         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2627
2628 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2629
2630         * mule-charset.c (make_builtin_char): New function.
2631         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2632         (Fset_charset_mapping_table): Modify for new representation of
2633         code-point.
2634         (Fdecode_char): New function.
2635         (syms_of_mule_charset): Add new builtin function `decode-char' in
2636         UTF-2000.
2637
2638         * char-ucs.h (make_builtin_char): New prototype.
2639         (DECODE_CHAR): New inline function.
2640         (MAKE_CHAR): Use `DECODE_CHAR'.
2641
2642 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2643
2644         * text-coding.c (parse_charset_conversion_specs): Use
2645         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2646         `XCHARSET_TYPE'.
2647         (iso2022_designate): Likewise.
2648
2649         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2650         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2651
2652         * mule-charset.c (Vcharset_ucs): New variable.
2653         (print_charset): Change design; use `CHARSET_CHARS' and
2654         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2655         (make_charset): Change signature to specify `chars' and
2656         `dimension' instead of `type'.
2657         (range_charset_code_point): Modify for 256^n-set.
2658         (encode_builtin_char_1): Encode as `ucs' in default.
2659         (Fmake_charset): Modify for `make_charset'.
2660         (Fmake_reverse_direction_charset): Likewise.
2661         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2662         UTF-2000.
2663         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2664         for `make_charset'.
2665
2666         * char-ucs.h (Vcharset_ucs): New variable.
2667         (LEADING_BYTE_UCS): New macro.
2668         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2669         and `chars' to `unsigned short' from `unsigned int'.
2670         (CHARSET_TYPE): Deleted.
2671         (XCHARSET_TYPE): Deleted.
2672
2673 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2674
2675         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2676
2677         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2678         (ENCODE_CHAR): New macro.
2679
2680 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2681
2682         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2683         to 0.14 (Kawachi-Katakami).
2684
2685 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2686
2687         * text-coding.c (char_encode_shift_jis): Modify for
2688         `charset_code_point'.
2689         (char_encode_iso2022): Likewise.
2690
2691         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2692         (integer) instead of list of <Lisp_Object>s (integers) as the
2693         format of code-point of a coded-charset.
2694         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2695         (encode_builtin_char_1): New function; delete
2696         `split_builtin_char'.
2697         (charset_code_point): Return <int> instead of <Lisp_Object>.
2698         (Fsplit_char): Don't use `SPLIT_CHAR'.
2699
2700         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2701         prototype for `split_builtin_char'.
2702         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2703         (charset_code_point): Likewise.
2704         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2705         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2706
2707 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2708
2709         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2710         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2711
2712 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2713
2714         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2715
2716         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2717         (MAX_CHAR_OBS_94x94): Deleted.
2718
2719 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2720
2721         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2722
2723         * char-ucs.h (MAX_CHAR_BMP): New macro.
2724
2725 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2726
2727         * text-coding.c: Sync with r21-2-24.
2728
2729 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2730
2731         * file-coding.c: Modify for UTF-2000.
2732
2733 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2734
2735         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2736         to 0.13 (Takaida).
2737
2738 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2739
2740         * mule-charset.c (split_builtin_char): Delete builtin support for
2741         `katakana-jisx0201'.
2742         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2743         BMP area in builtin representation.
2744
2745         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2746         `Vcharset_katakana_jisx0201'.
2747
2748 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2749
2750         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2751         (Qisolated): New variable.
2752         (Qinitial): New variable.
2753         (Qmedial): New variable.
2754         (Qfinal): New variable.
2755         (Qvertical): New variable.
2756         (Qsmall): New variable.
2757         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2758         `Qvertical' and `Qsmall'.
2759         (Qmojikyo_pj_[1 .. 21]): New variable.
2760         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2761         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2762         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2763         .. 21]'.
2764
2765 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2766
2767         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2768         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2769         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2770
2771 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2772
2773         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2774         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2775         BMP.
2776         (Qjapanese_jisx0208_1990): New variable.
2777         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2778         (complex_vars_of_mule_charset): Add new coded-charset
2779         `japanese-jisx0208-1990'.
2780
2781         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2782         (MIN_CHAR_JIS_X0208_1990): New macro.
2783         (MAX_CHAR_JIS_X0208_1990): New macro.
2784
2785 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2786
2787         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2788         coded-charset is not found.
2789
2790 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2791
2792         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2793         (Fdefine_char): Use `Fmake_char'.
2794
2795 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2796
2797         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2798         (Vcharset_hiragana_jisx0208): Deleted.
2799         (Vcharset_katakana_jisx0208): Deleted.
2800         (Qideograph_daikanwa): New variable.
2801         (Qhiragana_jisx0208): Deleted.
2802         (Qkatakana_jisx0208): Deleted.
2803         (split_builtin_char): Split `ideograph-daikanwa'.
2804         (Fsplit_char): New implementation for UTF-2000.
2805         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2806         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2807         (complex_vars_of_mule_charset): Add new coded-charset
2808         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2809         `katakana-jisx0208'.
2810
2811         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2812         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2813         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2814         (MIN_CHAR_DAIKANWA): New macro.
2815         (MAX_CHAR_DAIKANWA): New macro.
2816
2817 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2818
2819         * data.c (Fstring_to_number): Don't recognize floating point if
2820         base is not 10.
2821
2822 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2823
2824         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2825
2826 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2827
2828         * mule-charset.c (Qsquare): New variable.
2829         (to_char_code): Add `Qsquare'.
2830         (syms_of_mule_charset): Add new symbol `square'.
2831
2832 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2833
2834         * mule-charset.c (Qcircle): New variable.
2835         (to_char_code): Add `Qcircle'.
2836         (syms_of_mule_charset): Add new symbol `circle'.
2837
2838 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2839
2840         * mule-charset.c (Qfont): New variable.
2841         (to_char_code): Add `Qfont'.
2842         (syms_of_mule_charset): Add new symbol `font'.
2843
2844 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2845
2846         * mule-charset.c (Qsub): New variable.
2847         (to_char_code): Add `Qsub'.
2848         (syms_of_mule_charset): Add new symbol `sub'.
2849
2850 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2851
2852         * mule-charset.c (Fput_char_attribute): Convert each element of
2853         VALUE to GL position if ATTRIBUTE is a GR-set,
2854
2855 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2856
2857         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2858         coded-charset is a GR-set.
2859
2860 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2861
2862         * mule-charset.c (Fput_char_attribute): Check each element of
2863         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2864
2865 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2866
2867         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2868         UTF-2000.
2869         (Qethiopic_ucs): New variable in UTF-2000.
2870         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2871         (complex_vars_of_mule_charset): Add new coded-charset
2872         `ethiopic-ucs' in UTF-2000.
2873
2874         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2875         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2876         9)'.
2877         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2878         10)'.
2879         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2880
2881 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2882
2883         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2884         `ascii'.
2885
2886 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2887
2888         * mule-charset.c (Vcharacter_variant_table): New variable.
2889         (Q_ucs): New variable.
2890         (Fchar_variants): New function.
2891         (Fput_char_attribute): Register `->ucs' value to
2892         `Vcharacter_variant_table'.
2893         (syms_of_mule_charset): Add new function `char-variants' and new
2894         symbol `->ucs'.
2895         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2896
2897 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2898
2899         * mule-charset.c (get_char_code_table): Allow negative character
2900         code.
2901         (put_char_code_table): Likewise.
2902         (Vcharacter_composition_table): New variable.
2903         (Q_decomposition): New variable.
2904         (Qwide): New variable.
2905         (Qnarrow): New variable.
2906         (Qcompat): New variable.
2907         (QnoBreak): New variable.
2908         (Qsuper): New variable.
2909         (Qfraction): New variable.
2910         (to_char_code): New function.
2911         (Fget_composite_char): New function.
2912         (Fput_char_attribute): Register `->decomposition' value to
2913         `Vcharacter_composition_table'.
2914         (syms_of_mule_charset): Add new function `get-composite-char', new
2915         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2916         `super' and `fraction'.
2917         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2918
2919 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2920
2921         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2922         character; copy the return value.
2923
2924 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2925
2926         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2927
2928         * mule-charset.c (range_charset_code_point): Must use make_int.
2929         (split_builtin_char): New function.
2930
2931 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2932
2933         * mule-charset.c (char_byte_table): Change name from
2934         "char-code-table" to "char-byte-table".
2935         (mark_char_code_table): New function.
2936         (char_code_table_equal): New function.
2937         (char_code_table_hash): New function.
2938         (char_code_table_description): New constant.
2939         (char_code_table): New type.
2940         (make_char_code_table): New function.
2941         (copy_char_code_table): New function.
2942         (get_char_code_table): Modify for `char_code_table' type.
2943         (put_char_code_table): Likewise.
2944         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2945         (Kashiwara).
2946
2947         * char-ucs.h (char_code_table): New type.
2948         (XCHAR_CODE_TABLE): New macro.
2949         (XSETCHAR_CODE_TABLE): New macro.
2950         (CHAR_CODE_TABLE_P): New macro.
2951         (GC_CHAR_CODE_TABLE_P): New macro.
2952         (struct Lisp_Char_Code_Table): New structure.
2953
2954 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2955
2956         * mule-charset.c (Fmake_charset): Setup byte_offset for
2957         {94|96}^n-set.
2958
2959 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2960
2961         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2962         character.
2963
2964 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2965
2966         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2967         is found.
2968
2969 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2970
2971         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2972         charset, it is regarded as a charset.
2973         (put_char_attribute): New function in UTF-2000.
2974         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2975         charset, mapping-table of the charset is modified.
2976         (Fdefine_char): New function in UTF-2000.
2977         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2978         `Fput_char_attribute'.
2979         (syms_of_mule_charset): Add new function `define-char' and new
2980         symbol `ucs' in UTF-2000.
2981         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2982
2983 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2984
2985         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2986         non-UTF-2000 configuration.
2987
2988 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2989
2990         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2991         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2992
2993         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2994         deleted.
2995         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2996         (Fset_charset_mapping_table): Likewise.
2997
2998         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2999         (CHARSET_ENCODING_TABLE): Delete.
3000         (XCHARSET_ENCODING_TABLE): Delete.
3001         (charset_code_point): New interface.
3002
3003 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3004
3005         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3006         instead of `charset_get_byte1' and `charset_get_byte2'.
3007
3008         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3009         (charset_get_byte2): Deleted.
3010
3011 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3012
3013         * char-ucs.h (SPLIT_CHAR): New inline function.
3014         (breakup_char_1): Use `SPLIT_CHAR'.
3015
3016         * mule-charset.c (range_charset_code_point): New function.
3017         (charset_code_point): New function.
3018
3019         * char-ucs.h (range_charset_code_point): New interface.
3020         (breakup_char_1): Use `range_charset_code_point'.
3021
3022 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3023
3024         * mule-charset.c (Fmake_charset): Delete unused local variable
3025         `code_offset'.
3026
3027         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3028         (breakup_char_1): Find a charset and code-point in
3029         `Vcharacter_attribute_table'.
3030
3031 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3032
3033         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3034         to 0.10 (Yao).
3035
3036 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3037
3038         * mule-charset.c (Vcharacter_attribute_table): New variable.
3039         (Fchar_attribute_alist): New function.
3040         (Fget_char_attribute): New function.
3041         (Fput_char_attribute): New function.
3042         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3043         too.
3044         (syms_of_mule_charset): Add new function `char-attribute-alist',
3045         `get-char-attribute' and `put-char-attribute'.
3046         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3047
3048 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3049
3050         * mule-charset.c (Fmake_charset): Just use
3051         `get_unallocated_leading_byte'.
3052
3053         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3054         sets; don't use final-byte based number for private sets.
3055
3056 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3057
3058         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3059         integer.
3060
3061 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3062
3063         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3064         to 0.9.
3065
3066 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3067
3068         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3069         of `CHAR_LEADING_BYTE' in UTF-2000.
3070
3071         * insdel.c (find_charsets_in_bufbyte_string): Use
3072         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3073         (find_charsets_in_emchar_string): Likewise.
3074
3075         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3076         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3077
3078         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3079         (CHAR_CHARSET_ID): New macro.
3080
3081 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3082
3083         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3084         charset-id - MIN_LEADING_BYTE.
3085         (put_char_table): Likewise.
3086
3087 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3088
3089         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3090         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3091         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3092         (CHARSET_ID_OFFSET): New macro.
3093         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3094         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3095         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3096         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3097         4).
3098         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3099         5).
3100         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3101         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3102         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3103         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3104         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3105
3106 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3107
3108         * mule-charset.c (next_allocated_leading_byte): New variable in
3109         UTF-2000.
3110         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3111         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3112         (get_unallocated_leading_byte): Simply use
3113         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3114         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3115         UTF-2000.
3116
3117         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3118         (MAX_LEADING_BYTE_PRIVATE): New macro.
3119         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3120         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3121
3122 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3123
3124         * mule-charset.c (Fmake_charset): Allocate final-byte based
3125         charset-id for 94-set, 96-set and 94x94-set.
3126
3127 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3128
3129         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3130         ambiguous `else'.
3131         (Fmake_charset): Likewise.
3132         (complex_vars_of_mule_charset): Modify the font registry of
3133         `ucs-bmp' not to match `Ethiopic-Unicode'.
3134
3135 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3136
3137         * mule-charset.c (complex_vars_of_mule_charset): Add font
3138         registory of `ucs-bmp'.
3139
3140 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3141
3142         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3143         coded-charsets in `default-coded-charset-priority-list' when
3144         breaking up a character.
3145
3146         * mule-charset.c (Vcharset_latin_viscii): New variable.
3147         (Qlatin_viscii): New variable.
3148         (make_charset): Don't use `decoding_table'.
3149         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3150         byte_offset.
3151         (Fset_charset_mapping_table): New implementation.
3152         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3153         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3154         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3155         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3156         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3157         charset `latin_viscii'.
3158
3159         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3160         (CHARSET_TYPE_94X94): Change to 1 from 2.
3161         (CHARSET_TYPE_96): Change to 2 from 1.
3162         (CHARSET_TYPE_128): New macro.
3163         (CHARSET_TYPE_128X128): Change to 5 from 4.
3164         (CHARSET_TYPE_256): New macro.
3165         (CHARSET_TYPE_256X256): Change to 7 from 5.
3166         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3167
3168 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3169
3170         * text-coding.c (char_encode_shift_jis): Refer
3171         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3172         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3173
3174         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3175         (char_byte_table_equal): New function in UTF-2000.
3176         (char_byte_table_hash): New function in UTF-2000.
3177         (char_byte_table_description): New constant in UTF-2000.
3178         (char_byte_table): New type in UTF-2000.
3179         (make_char_byte_table): New function in UTF-2000.
3180         (copy_char_byte_table): New function in UTF-2000.
3181         (make_char_code_table): New macro in UTF-2000.
3182         (get_char_code_table): New function in UTF-2000.
3183         (put_char_code_table): New function in UTF-2000.
3184         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3185         (charset_description): Add setting in UTF-2000.
3186         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3187         `CHARSET_TO_BYTE1_TABLE(cs)'.
3188         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3189         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3190         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3191         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3192         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3193         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3194         `CHARSET_TO_BYTE2_TABLE(cs)'.
3195
3196         * char-ucs.h (char_byte_table): New type.
3197         (XCHAR_BYTE_TABLE): New macro.
3198         (XSETCHAR_BYTE_TABLE): New macro.
3199         (CHAR_BYTE_TABLE_P): New macro.
3200         (GC_CHAR_BYTE_TABLE_P): New macro.
3201         (struct Lisp_Char_Byte_Table): New structure.
3202         (get_char_code_table): New interface.
3203         (Emchar_to_byte_table): Deleted.
3204         (get_byte_from_character_table): Deleted.
3205         (struct Lisp_Charset): Add `encoding_table'; delete
3206         `to_byte1_table' and `to_byte2_table'.
3207         (CHARSET_ENCODING_TABLE): New macro.
3208         (CHARSET_TO_BYTE1_TABLE): Deleted.
3209         (CHARSET_TO_BYTE2_TABLE): Deleted.
3210         (XCHARSET_ENCODING_TABLE): New macro.
3211         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3212         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3213
3214 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3215
3216         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3217         `vietnamese-viscii-*'.
3218
3219 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3220
3221         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3222         (Qvietnamese_viscii_upper): New variable.
3223         (Fdefine_charset_alias): New function.
3224         (syms_of_mule_charset): Add new function `define-charset-alias'.
3225         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3226         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3227         `latin-viscii-*'.
3228
3229 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3230
3231         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3232         (MAX_CHAR_OBS_94x94): New macro.
3233         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3234         for 94x94 sets.
3235
3236         * mule-charset.c (put_byte_from_character_table): Change unit size
3237         from 128 to 256.
3238         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3239         not defined.
3240         (Fmake_reverse_direction_charset): Modify dummy argument of
3241         `make_charset' for non-UTF-2000 environment.
3242
3243 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3244
3245         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3246
3247         * mule-charset.c (destroy_byte_from_character_table): New macro.
3248         (latin_jisx0201_to_ucs): Deleted.
3249         (latin_iso8859_2_to_ucs): Deleted.
3250         (latin_iso8859_3_to_ucs): Deleted.
3251         (latin_iso8859_4_to_ucs): Deleted.
3252         (latin_iso8859_9_to_ucs): Deleted.
3253         (latin_viscii_lower_to_ucs): Deleted.
3254         (latin_viscii_upper_to_ucs): Deleted.
3255         (mark_charset): Mark `cs->decoding_table'.
3256         (Fcharset_mapping_table): Fix DOC-string.
3257         (Fset_charset_mapping_table): New function.
3258         (syms_of_mule_charset): Add nwe function
3259         `set-charset-mapping-table'.
3260         (complex_vars_of_mule_charset): Don't setup and use
3261         `latin_*_to_ucs'.
3262
3263 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3264
3265         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3266         charset.
3267
3268 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3269
3270         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3271         (Vcharset_katakana_jisx0208): New variable.
3272         (Qhiragana_jisx0208): New variable.
3273         (Qkatakana_jisx0208): New variable.
3274         (make_charset): Add new argument `byte_offset'.
3275         (charset_get_byte1): Modify for new coded-charset definition; use
3276         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3277         `XCHARSET_BYTE_OFFSET'.
3278         (Fmake_charset): Modify for `make_charset'.
3279         (Fmake_reverse_direction_charset): Likewise.
3280         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3281         `katakana-jisx0208'.
3282         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3283         `.'  in font registry of charset `katakana-jisx0201',
3284         `latin-jisx0201', `vietnamese-viscii-lower' and
3285         `vietnamese-viscii-upper'; modify DOC-string of charset
3286         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3287         registry of charset `japanese-jisx0208' not to use font for JIS
3288         X0208:1990; add new charset `hiragana-jisx0208' and
3289         `katakana-jisx0208'.
3290
3291         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3292         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3293         (struct Lisp_Charset): Add `byte_offset'.
3294         (CHARSET_BYTE_OFFSET): New macro.
3295         (XCHARSET_UCS_MIN): New macro.
3296         (XCHARSET_UCS_MAX): New macro.
3297         (XCHARSET_CODE_OFFSET): New macro.
3298         (XCHARSET_BYTE_OFFSET): New macro.
3299         (MIN_CHAR_HIRAGANA): New macro.
3300         (MAX_CHAR_HIRAGANA): New macro.
3301         (MIN_CHAR_KATAKANA): New macro.
3302         (MAX_CHAR_KATAKANA): New macro.
3303         (MAKE_CHAR): Modify for new coded-charset definition; use
3304         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3305         `XCHARSET_BYTE_OFFSET'.
3306
3307 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3308
3309         * mule-charset.c (CHAR96): Deleted.
3310         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3311         <Lisp_Object>.
3312         (latin_iso8859_2_to_ucs): Likewise.
3313         (latin_iso8859_3_to_ucs): Likewise.
3314         (latin_iso8859_4_to_ucs): Likewise.
3315         (latin_iso8859_9_to_ucs): Likewise.
3316         (latin_viscii_lower_to_ucs): Likewise.
3317         (latin_viscii_upper_to_ucs): Likewise.
3318         (latin_tcvn5712_to_ucs): Commented out.
3319         (make_charset): Change type of argument `decoding_table' from
3320         <Emchar*> to <Lisp_Object> [vector of characters].
3321         (Fmake_charset): Modify for `make_charset'.
3322         (Fmake_reverse_direction_charset): Likewise.
3323         (Fcharset_mapping_table): New function in UTF-2000.
3324         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3325         UTF-2000.
3326         (complex_vars_of_mule_charset): Modify for type change of
3327         `*_to_ucs'; modify for `make_charset'.
3328
3329         * char-ucs.h (struct Lisp_Charset): Change type of
3330         `decoding_table' from <Emchar*> to <Lisp_Object>.
3331         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3332
3333 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3334
3335         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3336         error with non-UTF-2000-Mule.
3337
3338 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3339
3340         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3341         in lisp again].
3342         (Vcharset_chinese_cns11643_4): Likewise.
3343         (Vcharset_chinese_cns11643_5): Likewise.
3344         (Vcharset_chinese_cns11643_6): Likewise.
3345         (Vcharset_chinese_cns11643_7): Likewise.
3346         (Qchinese_cns11643_3): Likewise.
3347         (Qchinese_cns11643_4): Likewise.
3348         (Qchinese_cns11643_5): Likewise.
3349         (Qchinese_cns11643_6): Likewise.
3350         (Qchinese_cns11643_7): Likewise.
3351         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3352         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3353         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3354         (complex_vars_of_mule_charset): Likewise.
3355
3356 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3357
3358         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3359         96-set.
3360         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3361         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3362
3363 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3364
3365         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3366         0xFF60.
3367         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3368         (breakup_char_1): Likewise.
3369
3370         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3371         one of them includes the specified character.
3372
3373 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3374
3375         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3376
3377 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3378
3379         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3380
3381 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3382
3383         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3384         definition for non-UTF-2000 Mule.
3385         (latin_iso8859_3_to_ucs): Likewise.
3386         (latin_iso8859_4_to_ucs): Likewise.
3387         (latin_iso8859_9_to_ucs): Likewise.
3388         (latin_jisx0201_to_ucs): Likewise.
3389         (MIN_CHAR_THAI): Likewise.
3390         (MAX_CHAR_THAI): Likewise.
3391         (MIN_CHAR_GREEK): Likewise.
3392         (MAX_CHAR_GREEK): Likewise.
3393         (MIN_CHAR_HEBREW): Likewise.
3394         (MAX_CHAR_HEBREW): Likewise.
3395         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3396         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3397         (MIN_CHAR_CYRILLIC): Likewise.
3398         (MAX_CHAR_CYRILLIC): Likewise.
3399
3400 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3401
3402         * char-ucs.h (breakup_char_1): Use
3403         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3404         thai-tis620 and katakana-jisx0201 area.
3405
3406 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3407
3408         * char-ucs.h (breakup_char_1): Use
3409         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3410         area.
3411
3412         * text-coding.c (reset_encoding_stream): Fixed.
3413         (char_encode_ucs4): Delete `& 255'.
3414
3415         * char-ucs.h (breakup_char_1): Use
3416         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3417
3418 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3419
3420         * file-coding.c (Fmake_coding_system): Don't set up
3421         `codesys->fixed.size'.
3422         (encode_coding_no_conversion): Don't refer
3423         `str->codesys->fixed.size'.
3424
3425 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3426
3427         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3428         (latin_a_char_to_byte1): Deleted.
3429         (latin_a_char_to_byte2): Deleted.
3430
3431 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3432
3433         * mule-charset.c (make_charset): Add new argument `ucs_min',
3434         `ucs_max' and `code_offset'.
3435         (charset_get_byte1): New implementation [delete specific charset
3436         depended implementations].
3437         (Fmake_charset): Modify for `make_charset'.
3438         (Fmake_reverse_direction_charset): Likewise.
3439         (complex_vars_of_mule_charset): Likewise.
3440
3441         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3442         `code_offset'.
3443         (CHARSET_UCS_MIN): New macro.
3444         (CHARSET_UCS_MAX): New macro.
3445         (CHARSET_CODE_OFFSET): New macro.
3446         (MAKE_CHAR): Delete charset depended definitions [except
3447         katakana-jisx0201].
3448
3449 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3450
3451         * char-ucs.h (breakup_char_1): Use
3452         `Vdefault_coded_charset_priority_list' for C0-Controls,
3453         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3454
3455 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3456
3457         * char-ucs.h (charset_get_byte1): New function.
3458         (XCHARSET_GET_BYTE1): Deleted.
3459         (charset_get_byte2): New function.
3460         (XCHARSET_GET_BYTE2): Deleted.
3461         (Vdefault_coded_charset_priority_list): New external variable.
3462         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3463         `Vdefault_preferred_coded_charset_list'.
3464
3465         * mule-charset.c (charset_get_byte1): New function.
3466         (charset_get_byte2): New function.
3467         (Vdefault_coded_charset_priority_list): New variable.
3468         (vars_of_mule_charset): Add new variable
3469         `default-coded-charset-priority-list'.
3470
3471 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3472
3473         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3474         (XCHARSET_GET_BYTE2): New inline function.
3475         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3476         `XCHARSET_GET_BYTE2'.
3477
3478 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3479
3480         * mule-charset.c (make_charset): Initialize
3481         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3482         NULL if table is not defined.
3483
3484 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3485
3486         * text-coding.c (char_encode_shift_jis): Use
3487         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3488         `ucs_to_latin_jisx0201'.
3489
3490         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3491         (ucs_to_latin_iso8859_2): Deleted.
3492         (ucs_to_latin_iso8859_3): Deleted.
3493         (ucs_to_latin_iso8859_4): Deleted.
3494         (ucs_to_latin_iso8859_9): Deleted.
3495         (ucs_to_latin_viscii_lower): Deleted.
3496         (ucs_to_latin_viscii_upper): Deleted.
3497         (ucs_to_latin_tcvn5712): Deleted.
3498         (make_charset): Add new argument `decoding_table'; set up
3499         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3500         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3501         `decoding_table' is defined in UTF-2000.
3502         (Fmake_charset): Modify for `make_charset'.
3503         (Fmake_reverse_direction_charset): Likewise.
3504         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3505         and `GENERATE_96_SET'.
3506
3507         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3508         (ucs_to_latin_jisx0201): Deleted.
3509         (latin_iso8859_2_to_ucs): Deleted.
3510         (ucs_to_latin_iso8859_2): Deleted.
3511         (latin_iso8859_3_to_ucs): Deleted.
3512         (ucs_to_latin_iso8859_3): Deleted.
3513         (latin_iso8859_4_to_ucs): Deleted.
3514         (ucs_to_latin_iso8859_4): Deleted.
3515         (latin_iso8859_9_to_ucs): Deleted.
3516         (ucs_to_latin_iso8859_9): Deleted.
3517         (latin_viscii_lower_to_ucs): Deleted.
3518         (ucs_to_latin_viscii_lower): Deleted.
3519         (latin_viscii_upper_to_ucs): Deleted.
3520         (ucs_to_latin_viscii_upper): Deleted.
3521         (struct Lisp_Charset): Renamed `encoding_table' to
3522         `to_byte1_table'; add `to_byte2_table'.
3523         (CHARSET_DECODING_TABLE): New macro.
3524         (CHARSET_TO_BYTE1_TABLE): New macro.
3525         (CHARSET_TO_BYTE2_TABLE): New macro.
3526         (XCHARSET_DECODING_TABLE): New macro.
3527         (XCHARSET_TO_BYTE1_TABLE): New macro.
3528         (XCHARSET_TO_BYTE2_TABLE): New macro.
3529         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3530         tables.
3531         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3532         don't use `ucs_to_*' tables.
3533
3534 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3535
3536         * text-coding.c (Fmake_coding_system): Don't set up
3537         `codesys->fixed.size'.
3538         (encode_coding_no_conversion): Use `if' instead of `switch'.
3539
3540         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3541
3542 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3543
3544         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3545         (Fmake_charset): Modify for `make_charset'.
3546         (Fmake_reverse_direction_charset): Likewise.
3547         (complex_vars_of_mule_charset): Likewise.
3548
3549 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3550
3551         * text-coding.c (char_encode_shift_jis): Use table
3552         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3553
3554 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3555
3556         * text-coding.c (text_encode_generic): Use `if' instead of
3557         `switch'.
3558         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3559         decode JIS-Latin.
3560
3561 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3562
3563         * text-coding.c (encode_coding_sjis): Deleted.
3564         (char_encode_shift_jis): New function.
3565         (char_finish_shift_jis): New function.
3566         (reset_encoding_stream): Set up `encode_char' and `finish' for
3567         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3568         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3569         (char_encode_utf8): Treat `eol_type'.
3570
3571 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3572
3573         * file-coding.c (decode_coding_iso2022): Use
3574         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3575
3576 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3577
3578         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3579         to 0.7 (Hirano).
3580
3581 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3582
3583         * char-lb.h (CHAR_COLUMNS): New macro.
3584
3585 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3586
3587         * text-coding.c (char_encode_ucs4): New function.
3588         (char_finish_ucs4): New function.
3589         (encode_coding_ucs4): Deleted.
3590         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3591         (text_encode_generic): Delete local variable `charset' and `half'.
3592         (ucs_to_mule_table): Deleted.
3593         (mule_to_ucs_table): Deleted.
3594         (Fset_ucs_char): Deleted.
3595         (ucs_to_char): Deleted.
3596         (Fucs_char): Deleted.
3597         (Fset_char_ucs): Deleted.
3598         (Fchar_ucs): Deleted.
3599         (decode_ucs4): Deleted.
3600         (mule_char_to_ucs4): Deleted.
3601         (encode_ucs4): Deleted.
3602         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3603         (decode_coding_utf8): Likewise.
3604         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3605         (char_encode_iso2022): Fixed.
3606         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3607         `Fset_char_ucs' and `Fchar_ucs'.
3608         (complex_vars_of_file_coding): Don't initialize
3609         `ucs_to_mule_table'.
3610
3611         * objects-tty.c (tty_initialize_font_instance): Don't use
3612         `XCHARSET_COLUMNS'.
3613
3614         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3615         UTF-2000.
3616
3617         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3618         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3619
3620         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3621         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3622         (emchar_string_displayed_columns): Likewise.
3623
3624         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3625         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3626         (string_column_at_point): Likewise.
3627         (Fmove_to_column): Likewise.
3628
3629         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3630         `encoding_table' and `decoding_table'.
3631         (CHARSET_REP_BYTES): Deleted.
3632         (XCHARSET_REP_BYTES): Deleted.
3633         (XCHARSET_COLUMNS): Deleted.
3634         (CHAR_COLUMNS): New macro.
3635         (lookup_composite_char): Deleted unconditionally.
3636         (composite_char_string): Likewise.
3637
3638 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3639
3640         * char-ucs.h (Emchar_to_byte_table): New type.
3641         (get_byte_from_character_table): New function interface.
3642         (Vcharset_latin_jisx0201): New variable.
3643         (latin_jisx0201_to_ucs): New variable.
3644         (ucs_to_latin_jisx0201): New variable.
3645         (Vcharset_latin_iso8859_2): New variable.
3646         (latin_iso8859_2_to_ucs): New variable.
3647         (ucs_to_latin_iso8859_2): New variable.
3648         (Vcharset_latin_iso8859_3): New variable.
3649         (latin_iso8859_3_to_ucs): New variable.
3650         (ucs_to_latin_iso8859_3): New variable.
3651         (Vcharset_latin_iso8859_4): New variable.
3652         (latin_iso8859_4_to_ucs): New variable.
3653         (ucs_to_latin_iso8859_4): New variable.
3654         (Vcharset_latin_iso8859_9): New variable.
3655         (latin_iso8859_9_to_ucs): New variable.
3656         (ucs_to_latin_iso8859_9): New variable.
3657         (Vcharset_latin_viscii_lower): New variable.
3658         (latin_viscii_lower_to_ucs): New variable.
3659         (ucs_to_latin_viscii_lower): New variable.
3660         (Vcharset_latin_viscii_upper): New variable.
3661         (latin_viscii_upper_to_ucs): New variable.
3662         (ucs_to_latin_viscii_upper): New variable.
3663         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3664         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3665         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3666         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3667         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3668         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3669         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3670         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3671         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3672         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3673
3674         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3675         (Vcharset_latin_viscii_upper): New variable.
3676         (make_byte_from_character_table): New function.
3677         (put_byte_from_character_table): New function.
3678         (get_byte_from_character_table): New function.
3679         (CHAR96): New macro.
3680         (ucs_to_latin_jisx0201): New variable.
3681         (latin_jisx0201_to_ucs): New variable.
3682         (ucs_to_latin_iso8859_2): New variable.
3683         (latin_iso8859_2_to_ucs): New variable.
3684         (ucs_to_latin_iso8859_3): New variable.
3685         (latin_iso8859_3_to_ucs): New variable.
3686         (ucs_to_latin_iso8859_4): New variable.
3687         (latin_iso8859_4_to_ucs): New variable.
3688         (ucs_to_latin_iso8859_9): New variable.
3689         (latin_iso8859_9_to_ucs): New variable.
3690         (ucs_to_latin_viscii_lower): New variable.
3691         (latin_viscii_lower_to_ucs): New variable.
3692         (ucs_to_latin_viscii_upper): New variable.
3693         (latin_viscii_upper_to_ucs): New variable.
3694         (ucs_to_latin_tcvn5712): New variable.
3695         (latin_tcvn5712_to_ucs): New variable.
3696         (Qlatin_viscii_lower): New variable.
3697         (Qlatin_viscii_upper): New variable.
3698         (syms_of_mule_charset): Set up new symbol
3699         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3700         (complex_vars_of_mule_charset): Set up new charset
3701         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3702         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3703         `ucs_to_<CHARSET>' tables.
3704
3705 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3706
3707         * text-coding.c: New file.
3708
3709 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3710
3711         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3712
3713         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3714         (MAKE_CHAR): Modify for `ucs-bmp'.
3715         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3716         non-MULE characters of BMP.
3717
3718 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3719
3720         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3721         to 0.6.
3722
3723 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3724
3725         * lstream.h:
3726         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3727         - Include character.h for `CHAR_ASCII_P'.
3728
3729         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3730
3731         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3732         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3733
3734         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3735         (BYTE_C0_P): Likewise.
3736         (BYTE_C1_P): Likewise.
3737         (Lstream_get_emchar_1): Likewise.
3738         (Lstream_fput_emchar): Likewise.
3739         (Lstream_funget_emchar): Likewise.
3740         (copy_internal_to_external): Likewise.
3741         (copy_external_to_internal): Likewise.
3742
3743         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3744         (BYTE_C0_P): Likewise.
3745         (BYTE_C1_P): Likewise.
3746         (Lstream_get_emchar_1): Likewise.
3747         (Lstream_fput_emchar): Likewise.
3748         (Lstream_funget_emchar): Likewise.
3749         (copy_internal_to_external): Likewise.
3750         (copy_external_to_internal): Likewise.
3751
3752         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3753         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3754
3755         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3756         (BYTE_ASCII_P): Moved to mb-1byte.h.
3757
3758 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3759
3760         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3761
3762         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3763         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3764         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3765         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3766         (VALIDATE_CHARPTR_FORWARD): Likewise.
3767         (simple_charptr_emchar): Moved to mb-multibyte.h.
3768         (simple_set_charptr_emchar): Likewise.
3769         (simple_charptr_copy_char): Likewise.
3770         (non_ascii_charptr_emchar): Likewise.
3771         (non_ascii_set_charptr_emchar): Likewise.
3772         (non_ascii_charptr_copy_char): Likewise.
3773         (charptr_emchar): Moved to mb-*byte.h.
3774         (set_charptr_emchar): Likewise.
3775         (charptr_copy_char): Likewise.
3776
3777         * mb-1byte.h, mb-multibyte.h: New files.
3778
3779 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3780
3781         * mb-utf-8.h (MULTIBYTE): New macro.
3782         (MAX_EMCHAR_LEN): Moved from buffer.h.
3783         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3784
3785         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3786
3787         * mb-lb.h, multibyte.h: New files.
3788
3789         * char-1byte.h (Charset_ID): Moved from buffer.h.
3790         (MIN_LEADING_BYTE): Likewise.
3791         (LEADING_BYTE_ASCII): Likewise.
3792         (NUM_LEADING_BYTES): Likewise.
3793         (CHARSETP): Likewise.
3794         (CHARSET_BY_LEADING_BYTE): Likewise.
3795         (XCHARSET_LEADING_BYTE): Likewise.
3796         (XCHARSET_GRAPHIC): Likewise.
3797         (XCHARSET_COLUMNS): Likewise.
3798         (XCHARSET_DIMENSION): Likewise.
3799         (CHAR_CHARSET): Likewise.
3800         (CHAR_LEADING_BYTE): Likewise.
3801         (BREAKUP_CHAR): Likewise.
3802         (Vcharset_ascii): Likewise.
3803
3804         * buffer.h: Include multibyte.h unconditionally.
3805         (VALID_CHARPTR_P): Moved to multibyte.h.
3806         (ASSERT_VALID_CHARPTR): Likewise.
3807         (REAL_INC_CHARPTR): Likewise.
3808         (REAL_INC_CHARBYTIND): Likewise.
3809         (REAL_DEC_CHARPTR): Likewise.
3810         (INC_CHARPTR): Likewise.
3811         (INC_CHARBYTIND): Likewise.
3812         (DEC_CHARPTR): Likewise.
3813         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3814         (VALIDATE_CHARPTR_FORWARD): Likewise.
3815         (charptr_n_addr): Likewise.
3816         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3817         (simple_charptr_emchar): Moved to multibyte.h.
3818         (simple_set_charptr_emchar): Likewise.
3819         (simple_charptr_copy_char): Likewise.
3820         (non_ascii_charptr_emchar): Likewise.
3821         (non_ascii_set_charptr_emchar): Likewise.
3822         (non_ascii_charptr_copy_char): Likewise.
3823         (charptr_emchar): Likewise.
3824         (set_charptr_emchar): Likewise.
3825         (charptr_copy_char): Likewise.
3826         (charptr_emchar_n): Likewise.
3827         (Charset_ID): Moved to char-1byte.h.
3828         (Vcharset_ascii): Likewise.
3829         (CHAR_CHARSET): Likewise.
3830         (CHAR_LEADING_BYTE): Likewise.
3831         (LEADING_BYTE_ASCII): Likewise.
3832         (NUM_LEADING_BYTES): Likewise.
3833         (MIN_LEADING_BYTE): Likewise.
3834         (CHARSETP): Likewise.
3835         (CHARSET_BY_LEADING_BYTE): Likewise.
3836         (XCHARSET_LEADING_BYTE): Likewise.
3837         (XCHARSET_GRAPHIC): Likewise.
3838         (XCHARSET_COLUMNS): Likewise.
3839         (XCHARSET_DIMENSION): Likewise.
3840         (BREAKUP_CHAR): Likewise.
3841
3842 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3843
3844         * character.h: Add document about interface for characters.
3845
3846         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3847         (MAKE_CHAR): Delete comment about
3848         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3849         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3850         (BREAKUP_CHAR): Modify name of arguments.
3851         (CHAR_CHARSET): Modify name of argument.
3852
3853         * buffer.h: Delete document about Emchar accessors.
3854
3855 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3856
3857         * character.h (CHAR_INTP): Moved from buffer.h
3858         (CHAR_OR_CHAR_INTP): Likewise.
3859         (XCHAR_OR_CHAR_INT): Likewise.
3860         (CHECK_CHAR_COERCE_INT): Likewise.
3861
3862         * buffer.h (CHAR_INTP): Moved to character.h
3863         (CHAR_OR_CHAR_INTP): Likewise.
3864         (XCHAR_OR_CHAR_INT): Likewise.
3865         (CHECK_CHAR_COERCE_INT): Likewise.
3866
3867 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3868
3869         * character.h:
3870         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3871         - Include char-1byte.h, char-lb.h or char-ucs.h.
3872
3873         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3874
3875         * buffer.h: Include character unconditionally.
3876         (valid_char_p): Moved to char-*.h.
3877         (non_ascii_valid_char_p): Moved to char-lb.h.
3878
3879         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3880
3881 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3882
3883         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3884         in UTF-2000 because it is not ported yet and not to use
3885         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3886         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3887         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3888
3889         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3890         (CHAR_ASCII_P): Moved from character.h.
3891
3892         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3893         (CHAR_ASCII_P): Likewise.
3894         (CHAR_FIELD1_MASK): Deleted.
3895         (CHAR_FIELD2_MASK): Deleted.
3896         (CHAR_FIELD3_MASK): Deleted.
3897         (MAX_CHAR_BASIC_LATIN): New macro.
3898         (CHAR_FIELD1): Deleted.
3899         (CHAR_FIELD2_INTERNAL): Deleted.
3900         (CHAR_FIELD3_INTERNAL): Deleted.
3901         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3902         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3903         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3904         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3905         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3906         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3907         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3908         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3909         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3910         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3911         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3912         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3913         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3914         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3915         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3916         (MIN_CHAR_COMPOSITION): Deleted.
3917         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3918         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3919
3920 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3921
3922         * buffer.h: Include mb-utf-8.h in UTF-2000.
3923
3924         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3925
3926         * mb-utf-8.h: New file.
3927
3928 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3929
3930         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3931         instead of `int'.
3932
3933         * mule-charset.h, buffer.h (Charset_ID): New type.
3934
3935 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3936
3937         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3938         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3939         instead of `MULE_CHAR_PRIVATE_OFFSET',
3940         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3941         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3942         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3943
3944         * character.h (Vcharset_japanese_jisx0212): New variable
3945         definition.
3946
3947 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3948
3949         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3950         (charset_by_attributes): Delete array about direction.
3951         (latin_a_char_to_charset): New variable in UTF-2000.
3952         (latin_a_char_to_byte1): New variable in UTF-2000.
3953         (latin_a_char_to_byte2): New variable in UTF-2000.
3954         (Qucs_bmp): New variable.
3955         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3956         `Bufbyte'.
3957         (next_allocated_2_byte_leading_byte): Likewise.
3958         (non_ascii_set_charptr_emchar): Likewise.
3959         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3960         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3961         `charset_by_attributes'.
3962         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3963         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3964         and `CHARSET_BY_LEADING_BYTE'.
3965         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3966         `utf-2000-version' to `vars_of_mule_charset'.
3967         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3968         define `leading-code-private-11' in UTF-2000; move setting of
3969         `utf-2000-version' from `syms_of_mule_charset'.
3970         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3971         UTF-2000.
3972
3973         * character.h (Charset_ID): New type.
3974         (LEADING_BYTE_UCS_BMP): New macro.
3975         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3976         (CHARSET_ID_OFFSET_94): New macro.
3977         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3978         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3979         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3980         final-byte.
3981         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3982         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3983         (CHARSET_ID_OFFSET_96): New macro.
3984         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3985         CHARSET_ID_OFFSET_96 and final-byte.
3986         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3987         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3988         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3989         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3990         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3991         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3992         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3993         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3994         (LEADING_BYTE_THAI_TIS620): Likewise.
3995         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3996         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3997         (CHARSET_ID_OFFSET_94x94): New macro.
3998         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3999         CHARSET_ID_OFFSET_94x94 and final-byte.
4000         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4001         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4002         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4003         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4004         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4005         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4006         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4007         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4008         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4009         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4010         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4011         (CHARSET_TYPE_128X128): New macro.
4012         (CHARSET_TYPE_256X256): New macro.
4013         (XCHARSET_PRIVATE_P): Delete unconditionally.
4014         (charset_by_attributes): Delete array about direction.
4015         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4016         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4017         (MIN_CHAR_94): New macro.
4018         (MAX_CHAR_94): New macro.
4019         (MIN_CHAR_96): New macro.
4020         (MAX_CHAR_96): New macro.
4021         (MIN_CHAR_94x94): New macro.
4022         (MAX_CHAR_94x94): New macro.
4023         (MIN_CHAR_96x96): New macro.
4024         (MAX_CHAR_96x96): New macro.
4025         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4026         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4027         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4028         - 32)'.
4029         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4030         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4031         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4032         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4033         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4034         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4035         `XCHARSET_LEADING_BYTE' to make code-point.
4036         (latin_a_char_to_charset): New variable.
4037         (latin_a_char_to_byte1): New variable.
4038         (latin_a_char_to_byte2): New variable.
4039         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4040         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4041         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4042
4043         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4044         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4045         (find_charsets_in_emchar_string): Likewise.
4046         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4047
4048         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4049         `int'.
4050         (decode_coding_iso2022): Likewise.
4051
4052         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4053         of `unsigned char'.
4054
4055         * redisplay.c (redisplay_text_width_emchar_string): Use
4056         `Charset_ID' instead of `unsigned char'.
4057         (redisplay_frame_text_width_string): Likewise.
4058
4059         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4060         `unsigned char'.
4061
4062         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4063         instead of `unsigned char'.
4064         (face_cachel_charset_font_metric_info): Likewise.
4065
4066         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4067         (get_non_ascii_char_table_value): Likewise.
4068         (get_char_table): Likewise.
4069         (put_char_table): Likewise.
4070         (map_over_other_charset): Likewise.
4071         (map_char_table): Likewise.
4072
4073         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4074         instead of `unsigned char'.
4075
4076 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4077
4078         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4079         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4080
4081         * mule-charset.c (leading_code_private_11): Don't define in
4082         UTF-2000.
4083
4084         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4085         in UTF-2000 because it is not ported yet and not to use
4086         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4087
4088 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4089
4090         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4091
4092 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4093
4094         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4095         in UTF-2000.
4096
4097         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4098         of unsigned char to store leading-byte.
4099
4100         * chartab.c (get_non_ascii_char_table_value): Don't use
4101         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4102
4103         * file-coding.c (encode_coding_big5): Delete bogus implementation
4104         in UTF2000.
4105
4106         * character.h (LEADING_BYTE_*): Delete definition for
4107         non-UTF-2000.
4108         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4109         (LEADING_BYTE_PREFIX_P): Deleted.
4110         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4111         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4112         (BUFBYTE_LEADING_BYTE_P): Deleted.
4113         (CHARSET_PRIVATE_P): Deleted unconditionally.
4114         (rep_bytes_by_first_byte): Deleted unconditionally.
4115         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4116         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4117         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4118         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4119         (CHAR_FIELD2): Deleted.
4120         (CHAR_FIELD3): Deleted.
4121         (MAKE_CHAR): Delete definition for non-UTF-2000.
4122         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4123         (breakup_char_1): New implementation.
4124         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4125         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4126
4127 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4128
4129         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4130         condition.
4131
4132 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4133
4134         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4135         (CHARSET_PRIVATE_P): Likewise.
4136         (XCHARSET_PRIVATE_P): Likewise.
4137         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4138
4139         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4140         UTF2000.
4141         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4142
4143 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4144
4145         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4146         (NUM_LEADING_BYTES): Changed from 128 to 256.
4147         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4148         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4149         UTF2000.
4150         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4151
4152         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4153         UTF2000.
4154         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4155         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4156         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4157         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4158         (Qchinese_cns11643_3): New variable in UTF2000.
4159         (Qchinese_cns11643_4): New variable in UTF2000.
4160         (Qchinese_cns11643_5): New variable in UTF2000.
4161         (Qchinese_cns11643_6): New variable in UTF2000.
4162         (Qchinese_cns11643_7): New variable in UTF2000.
4163         (syms_of_mule_charset): Define `chinese-cns11643-3',
4164         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4165         and `chinese-cns11643-7' in UTF2000.
4166         (vars_of_mule_charset): Initialize
4167         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4168         + 1 in UTF2000.
4169         (complex_vars_of_mule_charset): Setup charset
4170         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4171         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4172
4173 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4174
4175         * mule-charset.c: Move setting for `leading-code-private-11' from
4176         `syms_of_mule_charset' to `vars_of_mule_charset'.
4177
4178 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4179
4180         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4181         and `NUM_LEADING_BYTES' in assert.
4182
4183 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4184
4185         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4186         instead of 128.
4187         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4188         `NUM_LEADING_BYTES' instead of 128.
4189
4190 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4191
4192         * mule-charset.h (charset_by_leading_byte): Use
4193         `NUM_LEADING_BYTES' instead of 128.
4194         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4195
4196         * mule-charset.c (charset_by_leading_byte): Use
4197         `NUM_LEADING_BYTES' instead of 128.
4198         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4199
4200         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4201         128.
4202
4203 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4204
4205         * mule-charset.c (syms_of_mule_charset): Update to
4206         0.4 (Shin-Imamiya).
4207
4208 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4209
4210         * file-coding.c (encode_coding_sjis): New implementation for
4211         UTF2000.  (decode_coding_sjis): Ditto.
4212
4213 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4214
4215         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4216         Don't define in UTF2000.
4217
4218         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4219         defined.
4220
4221         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4222         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4223         MULE.
4224
4225 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4226
4227         * config.h.in (CHAR_IS_UCS4): New macro.
4228
4229         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4230         conventional MULE representation.
4231         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4232
4233         * mule-charset.h: Reverted to original.
4234
4235         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4236         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4237         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4238
4239         * character.h: New file.
4240
4241         * file-coding.c (Fmake_coding_system): Set 1 to
4242         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4243         defined.
4244         (encode_coding_no_conversion): New implementation for UTF2000.
4245
4246         * file-coding.h (struct Lisp_Coding_System): Add new member
4247         `fixed.size'.
4248
4249 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4250
4251         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4252         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4253         (encode_coding_iso2022): New implementation for UTF2000.
4254
4255 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4256
4257         * mule-canna.c (c2mu): New implementation for UTF2000.
4258         (m2c): Likewise.
4259
4260 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4261
4262         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4263
4264 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4265
4266         * file-coding.c (reset_encoding_stream): Set 0 to
4267         `str->iso2022.current_char_boundary' in UTF2000.
4268         (encode_utf8): Don't define in UTF2000.
4269         (encode_coding_utf8): New implementation for UTF-8 representation
4270         of UTF2000.
4271         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4272
4273 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4274
4275         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4276
4277         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4278         UTF2000.
4279         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4280
4281         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4282
4283         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4284         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4285         as UTF-8 in UTF2000.
4286         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4287         (non_ascii_valid_char_p): Don't define in UTF2000.
4288         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4289         (Lstream_get_emchar_1): Likewise.
4290         (utf-2000-version): New variable in UTF2000.
4291
4292         * lread.c (read_escape): Add new reader `u'.
4293
4294         * insdel.c (three_to_one_table): Don't define in UTF2000.
4295         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4296         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4297         UTF2000.
4298         (bytind_to_bufpos_func): Likewise.
4299         (buffer_mule_signal_inserted_region): Likewise.
4300         (vars_of_insdel): Don't initialize `three_to_one_table'.
4301         (init_buffer_text): Use `buf->text->mule_size' instead of
4302         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4303         UTF2000.
4304
4305         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4306         UTF-8 representation in UTF2000.
4307         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4308         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4309         (decode_coding_iso2022): Don't define local variable `lb' in
4310         UTF2000; don't use LEADING_BYTE in UTF2000; use
4311         `DECODE_ADD_UCS_CHAR' in UTF2000.
4312         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4313
4314         * config.h.in (UTF2000): New macro.
4315
4316         * buffer.h (struct buffer_text): Add new member `mule_size' and
4317         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4318         (valid_char_p): Return always 1 in UTF2000.
4319         (MAX_EMCHAR_LEN): 6 in UTF2000.
4320         (three_to_one_table): Don't define in UTF2000.
4321         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4322         UTF2000.
4323         (real_bytind_to_bufpos): Likewise.
4324
4325         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4326
4327 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4328
4329         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4330         representation change.
4331         (Vutf_2000_version): New variable.
4332         (leading_code_private_11): New variable.
4333         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4334         `leading-code-private-11'.
4335
4336         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4337         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4338         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4339         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4340         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4341         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4342         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4343         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4344         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4345         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4346         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4347         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4348         (MIN_CHAR_GREEK): New macro.
4349         (MAX_CHAR_GREEK): New macro.
4350         (MIN_CHAR_CYRILLIC): New macro.
4351         (MAX_CHAR_CYRILLIC): New macro.
4352         (MIN_CHAR_HEBREW): New macro.
4353         (MAX_CHAR_HEBREW): New macro.
4354         (MIN_CHAR_THAI): New macro.
4355         (MAX_CHAR_THAI): New macro.
4356         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4357         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4358         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4359         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4360         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4361         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4362         (CHAR_FIELD2): New inline function.
4363         (CHAR_FIELD3): New inline function.
4364         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4365         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4366         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4367         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4368         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4369         (MIN_CHAR_COMPOSITION): Likewise.
4370         (CHAR_LEADING_BYTE): Modified for character representation change.
4371         (MAKE_CHAR): Likewise.
4372
4373         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4374         (Vcharset_greek_iso8859_7): Likewise.
4375         (Vcharset_cyrillic_iso8859_5): Likewise.
4376         (Vcharset_hebrew_iso8859_8): Likewise.
4377         (Vcharset_thai_tis620): Likewise.
4378         (Vcharset_katakana_jisx0201): Likewise.
4379
4380 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
4381
4382         * XEmacs 21.4.9 "Informed Management" is released.
4383
4384 2002-08-19  Andy Piper  <andy@xemacs.org>
4385
4386         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
4387         win32 format.
4388
4389         * realpath.c (xrealpath): normalize drive spec also so that dir
4390         sep chars are not mixed on cygwin.
4391
4392 2002-08-06  Jerry James  <james@xemacs.org>
4393
4394         * window.c (Fsplit_window): Count only half of the divider width
4395         against the left window when splitting horizontally. 
4396
4397 2002-06-24  Andy Piper  <andy@xemacs.org>
4398
4399         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
4400         toolbar was cleared.
4401
4402         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
4403         function. Split out from mswindows_output_frame_toolbars.
4404         (mswindows_output_frame_toolbars): move clear pieces to
4405         mswindows_output_frame_toolbars.
4406
4407         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
4408         out from gtk_output_frame_toolbars.
4409         (gtk_output_frame_toolbars): move clear pieces to
4410         gtk_clear_frame_toolbars.
4411
4412         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
4413         the frame is cleared. How this ever worked before is a mystery.
4414         (x_output_frame_toolbars): Only output toolbars.
4415         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
4416
4417         * gutter.c (update_gutter_geometry):
4418         Mark frame layout changed.
4419         (update_frame_gutter_geometry, update_frame_gutters):
4420         Respect frame_layout_changed.
4421
4422         * console.h (struct console_methods): add
4423         clear_frame_toolbars_method.
4424
4425         * redisplay.c (redisplay_frame): call
4426         update_frame_toolbars_geometry and re-order update_frame_toolbars.
4427
4428         * toolbar.h: declare update_frame_toolbars_geometry.
4429
4430         * toolbar.c (update_frame_toolbars_geometry): new function. Split
4431         out from update_frame_toolbars.  Call clear_frame_toolbars.
4432         (update_frame_toolbars): only output, do not change geometry.
4433
4434         * redisplay.c: add frame_layout_changed.
4435
4436         * redisplay.h: add frame_layout_changed.
4437         (CLASS_RESET_CHANGED_FLAGS): set it.
4438         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
4439         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
4440         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
4441
4442         * device.h (struct device): add frame_layout_changed.
4443         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
4444
4445         * frame.h (struct frame): add frame_layout_changed.
4446         (MARK_FRAME_LAYOUT_CHANGED): new.
4447
4448 2002-06-30  Mike Alexander  <mta@arbortext.com>
4449
4450         * event-msw.c (mswindows_need_event): Don't wait for a new message
4451         if the queue is not empty.  Suggested by Paul Moore.
4452
4453 2002-06-12  Andy Piper  <andy@xemacs.org>
4454
4455         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
4456         for printing on accurately.
4457
4458 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
4459
4460         * event-msw.c (mswindows_wnd_proc): Add a handler for the
4461         WM_ACTIVATE message. Make sure that the frame is visible if the
4462         window is visible. This seemss to fix the problem where XEmacs
4463         appears to freeze after switching desktops with certain virtual
4464         window managers.
4465         (debug_output_mswin_message): Added code to output message
4466         parameters for WM_WINDOWPOSCHANGED, 
4467         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
4468
4469 2002-05-25  Andy Piper  <andy@xemacs.org>
4470
4471         * select-x.c (vars_of_select_x): Fix docstring of
4472         x-selection-strict-motif-ownership
4473
4474 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4475
4476         * keymap.c (get_keymap):
4477         Add comment about do_autoload GCPROs own args.
4478
4479 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4480
4481         * bytecode.c (execute_optimized_program): check_opcode ifdef
4482         ERROR_CHECK_BYTE_CODE.
4483
4484 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4485
4486         Thanks to Ben Wing and Michael Sperber.
4487
4488         * eval.c (Fcommand_execute):
4489         (Feval):
4490         (Ffuncall):
4491         (Fmacroexpand_internal):
4492         (function_argcount):
4493         callint.c (Fcall_interactively):
4494         Add comment about do_autoload GCPROs own args.
4495
4496         * (do_autoload): GCPRO both args as well as local Lisp_Object.
4497
4498         * eval.c (Ffuncall): Extra braces to placate GCC.
4499
4500 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
4501
4502         * backtrace.h (grow_specpdl):
4503         (SPECPDL_RESERVE):
4504         * EmacsFrame.c (EmacsFrameSetValues):
4505         * eval.c (grow_specpdl):
4506         * ExternalShell.c (hack_event_masks_1):
4507         * glyphs-x.c (convert_EImage_to_XImage): 
4508         (x_finalize_image_instance):
4509         * ralloc.c (page_size):
4510         (r_alloc_sbrk):
4511         * xgccache.c (gc_cache_hash):
4512         Fix unsigned comparison warnings.
4513
4514 2002-07-29  Jerry James  <james@xemacs.org>
4515
4516         * lread.c (locate_file): Any nonnegative return value indicates
4517         success if MODE is nonnegative.
4518
4519 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
4520
4521         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
4522         argument. 
4523
4524 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
4525
4526         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
4527
4528         * dumper.c (pdump_get_indirect_count):
4529         (pdump_scan_by_alignment):
4530         (pdump_dump_root_struct_ptrs):
4531         (pdump_dump_rtables):
4532         (pdump_dump_root_objects):
4533         (pdump):
4534         * nas.c (WaveOpenDataForReading):
4535         * fns.c (print_bit_vector):
4536         * font-lock.c (SINGLE_SYNTAX_STYLE):
4537         * glyphs.c (check_for_ignored_expose):
4538         (find_matching_subwindow):
4539         * glyphs-eimage.c:
4540         * imgproc.c (get_histogram):
4541         * redisplay.c (point_in_line_start_cache):
4542         * redisplay-output.c (redisplay_unmap_subwindows):
4543         * symbols.c (defsymbol_massage_name_1):
4544         (defkeyword_massage_name):
4545         (deferror_massage_name_and_message):
4546         * redisplay-x.c (x_output_string): 
4547         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
4548         * frame.h (struct frame):
4549         * filelock.c (current_lock_owner):
4550         * doprnt.c (emacs_doprnt_1):
4551         * lisp.h (struct Lisp_Bit_Vector):
4552         (DO_REALLOC):
4553         Fix warnings.
4554
4555 2002-02-13  Ben Wing  <ben@xemacs.org>
4556
4557         * event-stream.c (reset_key_echo):
4558         * event-stream.c (reset_this_command_keys):
4559         * event-stream.c (execute_command_event):
4560         If console is dead as a result of C-x 5 0, then post-command stuff
4561         needs to be careful and do only non-console-specific stuff.
4562
4563 2002-07-01  Mike Sperber <mike@xemacs.org>
4564
4565         * process-unix.c (unix_send_process): Mark coding_outstream as
4566         non-open upon SIGPIPE.
4567
4568         * event-stream.c (Fnext_event): Reorder switch cases to something
4569         that makes sense.
4570
4571 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
4572
4573         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
4574         Don't bogusly reinitialize ascii_character property.
4575
4576 2002-07-08  Mike Sperber <mike@xemacs.org>
4577
4578         * process.c (Fstart_process_internal): Do error checking before we
4579         fork off the child, so the child can't muck with the state of the
4580         parent.
4581
4582 2002-07-08  Mike Sperber <mike@xemacs.org>
4583
4584         * ralloc.c (init_ralloc): Allocate properly for pdump.
4585
4586 2002-06-12  Andy Piper  <andy@xemacs.org>
4587
4588         * glyphs.c (query_string_geometry): check the string.
4589
4590         * glyphs-widget.c (widget_logical_unit_height): cope with nil
4591         widget names.
4592
4593 2002-06-17  Jerry James  <james@xemacs.org>
4594
4595         * sysdll.c: Remove RTLD_GLOBAL initialization.
4596         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
4597
4598 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
4599
4600         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
4601
4602 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
4603
4604         * sysdep.c (sys_rename): Make sys_rename work for the case where
4605         Windows rename sets errno to EACCES if target file exists.
4606
4607 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
4608
4609         * device-msw.c (mswindows_handle_page_setup_dialog_box):
4610         Fix detection of metric units to work on Win95
4611
4612 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
4613
4614         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
4615
4616 2002-04-25  Andy Piper  <andy@xemacs.org>
4617
4618         * redisplay.c (create_text_block): Remove extra comment trailer.
4619
4620 2002-04-24  Andy Piper  <andy@xemacs.org>
4621
4622         * redisplay.c (create_text_block): Don't actually add propagation
4623         data if the line ends after we have added a glyph.
4624
4625 2002-04-22  Andy Piper  <andy@xemacs.org>
4626
4627         * extents.c (extent_fragment_update): check for glyphs we have
4628         previously displayed.
4629         * extents.c (print_extent_1): warning removal.
4630         * extents.h: change prototype.
4631         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
4632         widths correctly for wide glyphs.
4633         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
4634         * redisplay.c (prop_type): add PROP_GLYPH.
4635         * redisplay.c (struct prop_block): add glyph type
4636         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
4637         to the propagation data.
4638         * redisplay.c (create_text_block): if there is a glyph in the
4639         propagation data use it to salt extent_fragment_update.
4640         * redisplay.c (create_string_text_block): ditto.
4641
4642 2002-04-13  Nix  <nix@esperi.demon.co.uk>
4643
4644         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
4645         * redisplay-output.c (compare_runes): Compare them.
4646         * redisplay.c: Update copyright date.
4647         * redisplay.c (pos_data): Add need_baseline_computation field.
4648         * redisplay.c (add_glyph_rune): Update ascent, descent, and
4649         need_baseline_computation; zero yoffset. Set max_pixmap_height
4650         for all pixmaps, not just automatically positioned ones.
4651         * redisplay.c (calculate_yoffset): New, compute yoffset values.
4652         * redisplay.c (calculate_baseline): New, compute textual baseline.
4653         * redisplay.c (add_glyph_rune): Call them.
4654         * redisplay.c (create_text_block): Likewise.
4655         * redisplay.c (create_overlay_glyph_block): Likewise.
4656         * redisplay.c (add_margin_runes): Likewise.
4657         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
4658
4659         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
4660         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
4661         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
4662         * redisplay-msw.c (mswindows_output_string): Likewise.
4663         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
4664         * redisplay-gtk.c (gtk_output_display_block): Likewise.
4665         * redisplay-x.c (x_output_display_block): Likewise.
4666
4667 2002-03-28  Ben Wing  <ben@xemacs.org>
4668
4669         * redisplay.c: Fixed bug in redisplay
4670         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
4671         and down of the lines, since they're bigger than the line
4672         size. (It was seen most obviously when there's a horizontal scroll
4673         bar, e.g. do C-h a glyph or something like that.) The problem was
4674         that the glyph-contrib-p setting on glyphs was ignored even if it
4675         was set properly, which it wasn't until now.
4676
4677 2002-04-24  Andy Piper  <andy@xemacs.org>
4678
4679         * lisp.h (Dynarr_end): Fix definition.
4680
4681 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
4682
4683         * redisplay.c (mark_redisplay): Remove call to
4684         update_frame_window_mirror.
4685
4686 2001-11-15  Andy Piper  <andy@xemacs.org>
4687
4688         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
4689         cygwin (again).
4690
4691 2002-02-13  Andy Piper  <andy@xemacs.org>
4692
4693         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
4694         we did in fact enqueue the XM_MAPFRAME event.
4695
4696 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
4697
4698         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
4699         to fix problem switching between virtual desktops under virtuawin
4700         virtual window manager.
4701
4702 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
4703
4704         * event-msw.c: Typo fix.
4705         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
4706         magic XM_MAPFRAME event has been sent.
4707
4708 2001-11-23  Andy Piper  <andy@xemacs.org>
4709
4710         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
4711
4712 2001-11-21  Andy Piper  <andy@xemacs.org>
4713
4714         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
4715         mouse events outside the frame.
4716
4717 2002-03-20  Andy Piper  <andy@xemacs.org>
4718
4719         * menubar-msw.c (mswindows_popup_menu): warning removal.
4720         * dialog-msw.c (dialog_popped_down): ditto.
4721
4722 2001-12-11  Andy Piper  <andy@xemacs.org>
4723
4724         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
4725         * dialog-msw.c (mswindows_make_dialog_box_internal): set
4726         popup_up_p.
4727         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
4728         * menubar-msw.c (mswindows_handle_wm_command): ditto.
4729         * menubar-msw.c (mswindows_popup_menu): ditto.
4730
4731 2001-10-29  Andy Piper  <andy@xemacs.org>
4732
4733         * dialog-msw.c (handle_directory_dialog_box): quit if the user
4734         cancels.
4735
4736 2002-01-03  Andy Piper  <andy@xemacs.org>
4737
4738         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
4739         letters.
4740         (xrealpath): ditto.
4741
4742 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
4743
4744         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
4745         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
4746         * device-msw.c (mswindows_handle_page_setup_dialog_box):
4747         Detect and handle case where machine is set up for metric units
4748
4749 2002-04-02  Andy Piper  <andy@xemacs.org>
4750
4751         * dired-msw.c (mswindows_get_files): 
4752         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
4753         completely handled by XEmacs. Suggested by Thomas Vogler
4754         <mail@thomas-vogler.de>.
4755
4756 2001-11-14  Andy Piper  <andy@xemacs.org>
4757
4758         * nt.c (REG_ROOT): change registry key to XEmacs.
4759
4760 2002-04-27  Andy Piper  <andy@xemacs.org>
4761
4762         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
4763
4764 2002-04-26  Andy Piper  <andy@xemacs.org>
4765
4766         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
4767         behavior.
4768
4769 2002-03-14  Mike Alexander  <mta@arbortext.com>
4770
4771         * event-msw.c (mswindows_unwait_process): New, remove process from
4772         wait list
4773         * process-nt.c (nt_finalize_process_data): Call
4774         mswindows_unwait_process
4775         * console-msw.h: Declare mswindows_unwait_process
4776
4777 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
4778
4779         * editfns.c (Fdecode_time):
4780         (Fformat_time_string):
4781         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
4782         (make_time): Warning elimination (change arg name).
4783
4784 2001-11-24  Andy Piper  <andy@xemacs.org>
4785
4786         * window.c (Fsplit_window): Doc return type.
4787
4788 2002-04-01  Andy Piper  <andy@xemacs.org>
4789
4790         * emacs.c (Fkill_emacs): Only output message box in interactive
4791         mode.
4792
4793 2002-04-26  Andy Piper  <andy@xemacs.org>
4794  
4795         * config.h.in: pull in 21.5.x change to stop alloca warnings under
4796         cygwin.
4797
4798 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
4799
4800         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
4801         bit platform.
4802
4803 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
4804
4805         * XEmacs 21.4.8 "Honest Recruiter" is released.
4806
4807 2002-05-07  Nix  <nix@esperi.demon.co.uk>
4808
4809         Supersedes 2002-04-17 patch.
4810
4811         * process.h (PROCESS_LIVE_P): Use the process status as
4812         evidence of health, not the state of the input stream.
4813         (PROCESS_READABLE_P): Say if the process is readable
4814         from. (It may be dead nonetheless.)
4815         (CHECK_READABLE_PROCESS): Test for that condition.
4816
4817         * process.c (create_process): Use PROCESS_READABLE_P.
4818         (read_process_output, set_process_filter): Likewise.
4819
4820         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
4821         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
4822
4823         This code is #if 0'd, this is not the time to add new functions:
4824
4825         * process.c (Fprocess_readable_p): Report readability status.
4826         * process.c (Qprocess_readable_p): New, associated symbol...
4827         * process.c (syms_of_process): ... initialize it.
4828
4829 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
4830
4831         * XEmacs 21.4.7 "Economic Science" is released.
4832
4833 2002-04-17  Nix  <nix@esperi.demon.co.uk>
4834
4835         * process.h (PROCESS_LIVE_P): Use the process status as
4836         evidence of health, not the state of the input stream.
4837
4838 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
4839
4840         * sysdep.c (sys_siglist): change "signum" to "signal"
4841
4842 2001-04-21  Martin Buchholz  <martin@xemacs.org>
4843
4844         * s/darwin.h: New file.
4845         Thanks to Greg Parker <gparker@cs.stanford.edu>.
4846         
4847 2002-04-23  Andreas Jaeger  <aj@suse.de>
4848
4849         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
4850         which use lib64 for 64-bit libs.
4851         (START_FILES): Likewise.
4852
4853 2002-02-11  Mike Sperber  <mike@xemacs.org>
4854
4855         * device-x.c: 
4856         (x_IO_error_handler):
4857         (x_init_device): Temporarily keep device in static variable
4858         `device_being_initialized' so we can recover gracefully from
4859         internal XOpenDevice failure.  (XOpenDevice is documented to
4860         return NULL on failure, but sometimes calls the IO error handler
4861         instead.)
4862
4863 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
4864
4865         * dired.c (Ffile_name_all_completions): Change documentation --
4866         remove reference to completion-ignored-extensions.
4867         * dired.c (vars_of_dired): Change documentation for
4868         completion-ignored-extensions -- remove reference to
4869         file-name-all-completions.
4870
4871 2002-03-06  Jerry James  <james@xemacs.org>
4872
4873         * emodules.c (emodules_load): Fix multiple loading of same module.
4874
4875 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
4876         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
4877         RTLD_LAZY to avoid incorrect symbol binding when using nested
4878         shared libraries on Solaris.
4879
4880 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
4881
4882         * fileio.c (Ffind_file_name_handler): Improve docstring.
4883
4884 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
4885
4886         * fns.c (Fmapconcat): Improve docstring.
4887
4888 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
4889
4890         * device-gtk.c: Add prototype for
4891         emacs_gtk_selection_clear_event_handle.
4892         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
4893         selection.  Setup signal handler for "selection_clear_event"
4894         (emacs_gtk_selection_clear_event_handle).
4895
4896         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
4897         other applications owning the clipboard (based on
4898         x_handle_selection_clear).
4899
4900 2001-12-23  William M. Perry  <wmperry@gnu.org>
4901
4902         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
4903         
4904 2002-01-04  Martin Buchholz  <martin@xemacs.org>
4905
4906         * keymap.c (define_key_alternate_name): Parenthesize EQ.
4907
4908 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
4909
4910         * XEmacs 21.4.6 "Common Lisp" is released.
4911
4912 2001-12-16  Torsten Duwe  <duwe@caldera.de>
4913
4914         * search.c (Freplace_match): Add missing sub-expression functionality.
4915
4916         * buffer.c (decode_buffer): Add a check for pointer type to
4917         decode_buffer, before gcc's CSE optimization reorders a
4918         dereference in front of the allow_string test.
4919
4920 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
4921
4922         * window.c (window_loop): Fix bug that sometimes prevented
4923         window_loop() from iterating across multiple devices.  Also, at
4924         Ben's request, changed infloop-detecting code to abort() instead
4925         of silently terminating window_loop().
4926
4927 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
4928
4929         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
4930         * editfns.c (make_time): New function.
4931         (Fencode_time): Use it instead of wasteful_word_to_lisp.
4932         * lisp.h (make_time): Prototype and comment it.
4933         * dired.c (wasteful_word_to_lisp): Deprecate.
4934         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
4935
4936 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
4937
4938         * fileio.c (auto_save_1): Use current coding system, not
4939         escape-quoted.
4940
4941 2001-11-13  Ben Wing  <ben@xemacs.org>
4942
4943         * window.c:
4944         * window.c (window_truncation_on):
4945         * window.c (syms_of_window):
4946         truncate-partial-width-windows should respect the buffer being
4947         displayed, like other redisplay vars.
4948
4949 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
4950
4951         * event-stream.c (Fread_key_sequence): save current buffer.
4952
4953 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4954
4955         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
4956
4957 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4958
4959         * alloc.c (lcrecord_stats): Add space for types defined in modules.
4960
4961 2001-10-26  Mike Alexander  <mta@arbortext.com>
4962
4963         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
4964
4965 2001-10-25  Andy Piper  <andy@xemacs.org>
4966
4967         * ChangeLog:
4968         * dialog-msw.c (handle_directory_proc): new function.
4969          (handle_directory_dialog_box): new fucntion.
4970          (handle_file_dialog_box): use new directory dialog support.
4971          (mswindows_make_dialog_box_internal): ditto.
4972         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
4973         handling.
4974         (mswindows_find_frame): make global.
4975         * fileio.c (Fexpand_file_name): build fix.
4976         * general-slots.h: add Qdirectory.
4977         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
4978         handling.
4979         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
4980         cygwin not leaving win32 paths unchanged.
4981         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
4982         cygwin runtime to do path conversion.
4983         (Fmswindows_shell_execute): fix cygwin handling of URLs.
4984         (syms_of_win32): add new function.
4985         * window.c (window_loop): build fix.
4986
4987 2001-10-15  Andy Piper  <andy@xemacs.org>
4988
4989         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
4990
4991 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
4992
4993         * XEmacs 21.4.5 "Civil Service" is released.
4994
4995 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
4996
4997         * glyphs-x.c: Force buffer-tab highlight update when moving the
4998         buffer, avoiding an ugly black border, used for keyboard focus
4999         indication, on a widget that can never have keyboard focus, the
5000         buffer tab.
5001
5002 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5003
5004         * process-unix.c (unix_open_multicast_group): Remove too much
5005         conversion between host and network byte order.
5006
5007 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5008
5009         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5010         before replacing them.
5011
5012         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5013         operation.
5014
5015         * src/window.c (undedicate_windows): Use it.
5016         * src/window.h: Add prototype.
5017
5018 2001-09-17  Ben Wing  <ben@xemacs.org>
5019
5020         * fileio.c (normalize_filename):
5021         * fileio.c (Fexpand_file_name):
5022         Fix various C++ compile errors in Andy's recent code.
5023         
5024         * callint.c (Fcall_interactively):
5025         * editfns.c (Ftemp_directory):
5026         * editfns.c (Fuser_full_name):
5027         * emacs.c (argmatch):
5028         * lread.c (locate_file_map_suffixes):
5029         * redisplay-x.c (x_ring_bell):
5030         Fix sign-compare warnings.
5031         
5032 2001-09-08  Andy Piper  <andy@xemacs.org>
5033
5034         * fileio.c (normalize_filename): copied from nt.c
5035         * (Ffile_name_directory): enable win32 paths under cygwin.
5036         * (Ffile_name_nondirectory): ditto.
5037         * (directory_file_name): ditto.
5038         * (Fexpand_file_name): ditto.
5039         * (Ffile_truename): ditto.
5040         * (Fsubstitute_in_file_name): ditto.
5041         * (Ffile_name_absolute_p): ditto.
5042         * (Ffile_readable_p): ditto.
5043
5044 2001-09-08  Andy Piper  <andy@xemacs.org>
5045
5046         * device-msw.c (mswindows_finish_init_device): remove dde
5047         initialization.
5048         * device-msw.c (mswindows_init_dde): factor out from
5049         mswindows_finish_init_device()
5050         * device-msw.c (init_mswindows_very_early): new function
5051         initialize but don't enable dde.
5052         * emacs.c (main_1): call init_mswindows_very_early.
5053         * event-msw.c:
5054         * event-msw.c (mswindows_dde_callback): only execute when we are
5055         ready.
5056         * symsinit.h: declare init_mswindows_very_early.
5057
5058 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5059
5060         [sjt: This has been in 21.5 for months with no complaints.]
5061
5062         * console.h (struct console_methods): Added flags member.
5063         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5064         (CONMETH_IMPL_FLAG):
5065         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5066         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5067
5068         * device.c (window_system_pixelated_geometry): Use the above macros.
5069
5070         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5071         implememntation flag.
5072         * device.h (DEVICE_DISPLAY_P): Use it.
5073
5074         * frame.c (delete_frame_internal): Use the above macro.
5075
5076         * redisplay.c (redisplay_device): Use it.
5077         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5078         (redisplay_frame): Ditto.
5079
5080         * device-msw.c (mswindows_device_implementation_flags): Removed.
5081         (msprinter_device_implementation_flags): Removed.
5082         (console_type_create_device_mswindows): Removed references to
5083         implementation_flags methods, set implementation flags here.
5084         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5085
5086         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5087         (console_type_create_device_gtk): Removed method declaration.
5088         Added commented out statement which semantically matches the
5089         commented out statement in the above removed method.
5090
5091 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5092
5093         The attached patch fixes a few warnings. 
5094
5095         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5096         * src/frame-gtk.c: guard against GNOME calls in GTK only
5097         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5098         * src/select-gtk.c: prototype lisp_to_time
5099
5100 2001-06-08  Ben Wing  <ben@xemacs.org>
5101
5102         ------ gc-in-window-procedure fixes ------
5103         
5104         * alloc.c:
5105         * alloc.c (struct post_gc_action):
5106         * alloc.c (register_post_gc_action):
5107         * alloc.c (run_post_gc_actions):
5108         * alloc.c (garbage_collect_1):
5109         Create "post-gc actions", to avoid those dreaded "GC during window
5110         procedure" problems.
5111
5112         * event-msw.c:
5113         Abort, clean and simple, when GC in window procedure.  We want
5114         to flush these puppies out.
5115
5116         * glyphs-msw.c:
5117         * glyphs-msw.c (finalize_destroy_window):
5118         * glyphs-msw.c (mswindows_finalize_image_instance):
5119         Use a post-gc action when destroying subwindows.
5120
5121         * lisp.h:
5122         Declare register_post_gc_action().
5123
5124         * scrollbar-msw.c:
5125         * scrollbar-msw.c (unshow_that_mofo):
5126         Use a post-gc action when unshowing scrollbar windows, if in gc.
5127
5128         * redisplay.c (mark_redisplay):
5129         Add comment about the utter evilness of what's going down here.
5130
5131         ------ cygwin setitimer fixes ------
5132         
5133         * Makefile.in.in (sheap_objs):
5134         * Makefile.in.in (profile_objs):
5135         * Makefile.in.in (objs):
5136         Compile profile.c only when HAVE_SETITIMER.
5137         
5138         * nt.c (mswindows_sigset):
5139         * nt.c (mswindows_sighold):
5140         * nt.c (mswindows_sigrelse):
5141         * nt.c (mswindows_sigpause):
5142         * nt.c (mswindows_raise):
5143         * nt.c (close_file_data):
5144         Style fixes.
5145         
5146         * nt.c:
5147         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5148         
5149         * profile.c:
5150         * profile.c (Fstart_profiling):
5151         * profile.c (Fstop_profiling):
5152         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5153         instead of just plain setitimer().
5154         
5155         * signal.c:
5156         * signal.c (set_one_shot_timer):
5157         * signal.c (alarm):
5158         Define qxe_setitimer() as an encapsulation around setitimer() --
5159         call setitimer() directly unless Cygwin or MS Win, in which case
5160         we use our simulated version in win32.c.
5161         
5162         * systime.h:
5163         * systime.h (struct itimerval):
5164         * systime.h (ITIMER_REAL):
5165         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5166         comment about "qxe" and the policy regarding encapsulation.
5167
5168         * win32.c:
5169         * win32.c (setitimer_helper_proc):
5170         * win32.c (setitimer_helper_period):
5171         * win32.c (setitimer_helper):
5172         * win32.c (mswindows_setitimer):
5173         Move setitimer() emulation here, so Cygwin can use it.
5174         Rename a couple of functions and variables to be longer and more
5175         descriptive.  In setitimer_helper_proc(), send the signal
5176         using either mswindows_raise() or (on Cygwin) kill().  If for
5177         some reason we are still getting lockups, we'll change the kill()
5178         to directly invoke the signal handlers.
5179
5180         ------ windows shell fixes ------
5181         
5182         * callproc.c:
5183         * ntproc.c:
5184         Comments about how these two files must die.
5185
5186         * callproc.c (init_callproc):
5187         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5188         not just COMSPEC. (more correct and closer to FSF.) Don't
5189         force a value for SHELL into the environment. (Comments added
5190         to explain why not.)
5191         
5192         * nt.c (init_user_info):
5193         Don't shove a fabricated SHELL into the environment.  See above.
5194
5195 2001-06-01  Ben Wing  <ben@xemacs.org>
5196
5197         * Makefile.in.in (ldflags):
5198         eliminate that pesky "defaulting to 00401000" warning.
5199         * nt.h:
5200         eliminate warnings.
5201
5202 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5203
5204         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5205         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5206
5207 2001-04-24  Jerry James <james@xemacs.org>
5208
5209         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5210         correct order.
5211
5212 2001-06-01  Ben Wing  <ben@xemacs.org>
5213
5214         * event-msw.c (debug_mswin_messages):
5215         conditionalize the messages that were causing compile errors.
5216         (if only macros could generate #ifdef statements ...)
5217
5218 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5219
5220         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5221
5222 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5223
5224         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5225
5226 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5227
5228         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5229         * process-unix.c (unix_canonicalize_host_name):
5230         sysdep.c (init_system_name):
5231         Use it to conditionally support IPv6 canonicalization.
5232
5233 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5234
5235         * event-msw.c:
5236         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5237
5238 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5239
5240         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5241         attempt is made to scroll when no scroll bar is available.
5242
5243 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5244
5245         * input-method-motif.c (XIM_delete_frame): New callback.
5246         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5247         got deleted from 21.4.3.)
5248
5249 2001-06-01  Ben Wing  <ben@xemacs.org>
5250
5251         * nt.c (mswindows_utime):
5252         * nt.c (close_file_data):
5253         fix off-by-one-indirection error.
5254
5255 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5256
5257         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5258         because set_file_times() now takes Lisp_Object path, instead of
5259         char*.
5260         * nt.c: Include buffer.h.
5261         * nt.c (convert_from_time_t): New.
5262         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5263         not set mtime correctly.
5264         * nt.h: Declare mswindows_utime().
5265         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5266         path, instead of char*.
5267         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5268
5269 2001-05-30  Ben Wing  <ben@xemacs.org>
5270
5271         For 21.4:
5272
5273         (Stephen, just take all event-msw.c patches.  This includes
5274         the "iconify" fix below.)
5275
5276         * event-msw.c:
5277         * event-msw.c (mswindows_dequeue_dispatch_event):
5278         * event-msw.c (assert):
5279         * event-msw.c (emacs_mswindows_quit_p):
5280         * event-msw.c (debug_mswin_messages):
5281         * event-msw.c (debug_output_mswin_message):
5282         * event-msw.c (vars_of_event_mswindows):
5283         Fix yet more problems with C-g handling.
5284         Implement debug-mswindows-events.
5285         
5286 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5287
5288         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5289         
5290 2001-05-23  Ben Wing  <ben@xemacs.org>
5291
5292         * event-msw.c (winsock_writer):
5293         * event-msw.c (winsock_closer):
5294         prior kludgy code was clobbering the buffer, thinking it was
5295         "unused" space to store an unneeded return value; instead, use
5296         the variable we've already got staring us in the face.
5297
5298 2001-05-17  Andy Piper  <andy@xemacs.org>
5299
5300         * sysfile.h: don't assume that file attributes are boolean
5301
5302 2001-05-23  Ben Wing  <ben@xemacs.org>
5303
5304         * device-msw.c (msprinter_init_device):
5305         signal an error rather than crash with an unavailable network
5306         printer (from Mike Alexander).
5307         
5308         * event-msw.c:
5309         * event-msw.c (struct winsock_stream):
5310         * event-msw.c (winsock_writer):
5311         * event-msw.c (winsock_closer):
5312         * event-msw.c (make_winsock_stream_1):
5313         cleanup headers.  fix (hopefully) an error with data corruption
5314         when sending to a network connection.
5315
5316         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5317         to handle the ~user prefix by (a) always assuming we're referencing
5318         ourselves and not even verifying the user -- hence any file with
5319         a tilde as its first char is invalid! (b) if there wasn't a slash
5320         following the filename, the pointer was set *past* the end of
5321         file and we started reading from uninitialized memory.  Now we
5322         simply treat these as files, always.
5323
5324         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5325         
5326 2001-05-19  Ben Wing  <ben@xemacs.org>
5327
5328         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5329
5330         * process-nt.c:
5331         * process-nt.c (vars_of_process_nt):
5332         remove unused mswindows-quote-process-args.  rec for 21.4.
5333         
5334 2001-05-12  Ben Wing  <ben@xemacs.org>
5335
5336         * event-msw.c (mswindows_dde_callback):
5337         * event-msw.c (mswindows_wnd_proc):
5338         eliminate cygwin warnings.
5339
5340 2001-05-06  Ben Wing  <ben@xemacs.org>
5341
5342         * console-msw.h:
5343         * device-msw.c:
5344         * device-msw.c (print_dialog_worker):
5345         * device-msw.c (mswindows_handle_print_dialog_box):
5346         * device-msw.c (syms_of_device_mswindows):
5347         * dialog-msw.c (mswindows_make_dialog_box_internal):
5348         * general-slots.h:
5349         implement printing the selection when it's selected.
5350
5351 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5352
5353         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5354
5355 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5356
5357         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5358         EMACS_INT is signed.
5359
5360 2001-04-15  Michael Lausch  <mla@1012surf.net>
5361
5362         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5363         gtk_widget_request_size() to give scrollbar >0 width for
5364         GTK >1.2.8.
5365
5366 2001-05-30  William M. Perry  <wmperry@gnu.org>
5367
5368         * event-gtk.c: Check for buttons as modifier keys.
5369
5370 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5371
5372         * s\mingw32.h:
5373         Properly find MinGW's <process.h> inside Cygwin's restructured
5374         include directories.  Don't try to include <cygwin/version.h>
5375         since we are dropping support for MinGW in versions of Cygwin
5376         earlier than b21.
5377         * nt.c:
5378         Drop support for MinGW in versions of Cygwin before b21.
5379         * sysdep.c:
5380         Properly find MinGW's <process.h> inside Cygwin's restructured
5381         include directories.
5382         * syswindows.h:
5383         Drop support for MinGW in versions of Cygwin before b21.
5384         * unexcw.c:
5385         Even though a.out.h is no longer detected by configure, allow
5386         MinGW to use it until we figure out how to do the job with Win32.
5387
5388 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
5389
5390         * syntax.c (find_start_of_comment):
5391         Fix `unbalanced parentheses' bug when dealing with mixed comment
5392         styles in c++/java/etc. mode
5393
5394 2001-05-29  Mike Alexander  <mta@arbortext.com>
5395
5396         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
5397         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
5398
5399 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
5400
5401         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
5402
5403 2001-03-31  Mike Sperber <mike@xemacs.org>
5404
5405         * search.c (Freplace_match): Support FSF-style specification of
5406         match subexpression when applied to a buffer.
5407
5408 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5409
5410         * event-stream.c (is_scrollbar_event): add missing semicolon
5411
5412 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
5413
5414         * Makefile.in.in: Use TAR macro instead of hardcoding
5415           tar.  Allows use of GNU tar instead of system tar
5416
5417 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5418
5419         * event-stream.c (is_scrollbar_event): add missing semicolon
5420
5421 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5422
5423         * XEmacs 21.4.3 "Academic Rigor" is released.
5424
5425 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5426
5427         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
5428
5429 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
5430
5431         * buffer.c (Vcase_fold_search): Remove obsolete
5432           comment about non ASCII case-fold-search.  This
5433           bug has been fixed by case-table changes.
5434
5435 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
5436
5437         * event-msw.c: Restore include of events-mod.h.
5438
5439 2001-04-22   zhaoway  <zw@debian.org>
5440
5441         * event-stream.c (is_scrollbar_event): Noop returning 0 if
5442         !HAVE_SCROLLBARS.
5443
5444 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
5445
5446         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
5447
5448 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
5449
5450         * mule-charset.c (Fmake_charset): Add missing else.
5451
5452 2001-04-23  Ben Wing  <ben@xemacs.org>
5453
5454         * event-msw.c (FAKE_MOD_QUIT):
5455         * event-msw.c (mswindows_dequeue_dispatch_event):
5456         * event-msw.c (mswindows_wnd_proc):
5457         * event-msw.c (emacs_mswindows_quit_p):
5458         Get critical quit working.
5459
5460 2001-05-05  Ben Wing  <ben@xemacs.org>
5461
5462         * console-msw.h:
5463         * device-msw.c:
5464         * device-msw.c (mswindows_get_default_margin):
5465         * frame-msw.c (mswindows_size_frame_internal):
5466         * frame-msw.c (msprinter_init_frame_1):
5467         * frame-msw.c (vars_of_frame_mswindows):
5468         Change top/bottom margin defaults to 0.5 inches.
5469
5470 2001-05-01  Martin Buchholz  <martin@xemacs.org>
5471
5472         Fix link error with gcc 3.0 on Linux.
5473         * terminfo.c (UP): Remove.
5474         * terminfo.c (BC): Remove.
5475         * terminfo.c (PC): Remove.
5476         They weren't used, and in any case, these symbols should be
5477         defined in the *library*.
5478
5479 2001-05-03  Martin Buchholz  <martin@xemacs.org>
5480
5481         * s/aix4.h: Fix crash with xlc -O3.
5482         Improve comment explaining how -O3 works.
5483
5484 2001-04-15  Ben Wing  <ben@xemacs.org>
5485
5486         * event-stream.c:
5487         * event-stream.c (Fnext_event):
5488         * event-stream.c (is_scrollbar_event):
5489         * event-stream.c (execute_command_event):
5490         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
5491         crash' problem.  His fix introduces other problems.  We filter
5492         out scrollbar events specifically, making them somewhat invisible
5493         to command-building, and not appearing in `this-command-keys'.
5494         More work is still needed (see comments in event-stream.c), but
5495         this fixes all the major problems.
5496
5497 2001-04-20  Ben Wing  <ben@xemacs.org>
5498
5499         * .cvsignore: Added stuff for Windows.
5500
5501 2001-04-28  Ben Wing  <ben@xemacs.org>
5502
5503         * buffer.c (Ferase_buffer):
5504         * editfns.c (buffer_insert1):
5505         * editfns.c (Finsert_before_markers):
5506         * editfns.c (Finsert_string):
5507         * editfns.c (Finsert_char):
5508         * editfns.c (Fdelete_region):
5509         * editfns.c (Fwiden):
5510         * editfns.c (Fnarrow_to_region):
5511         remove bogus lines setting zmacs_region_stays to 0.
5512         
5513 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5514
5515         * process-unix.c (unix_open_network_stream): If connect() fails
5516         invalidate file descriptor after closing it.
5517
5518 2001-03-08  Mike Alexander  <mta@arbortext.com>
5519
5520         * event-msw.c (mswindows_need_event_in_modal_loop):
5521         Don't dispatch a message if we didn't get one.
5522         (mswindows_need_event):
5523         Terminate the correct process when one exits instead of the first
5524         one on Vprocess_list and look for process termination when in
5525         mswindows_protect_modal_loop.
5526
5527 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
5528
5529         * XEmacs 21.4.1 "Copyleft" is released.
5530
5531 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5532
5533         * input-method-motif.c (XIM_delete_frame): New callback.
5534         (XIM_init_frame): Register it.
5535
5536 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5537
5538         * XEmacs 21.4.0 "Solid Vapor" is released.
5539
5540 2001-04-15  Ben Wing  <ben@xemacs.org>
5541
5542         * cmdloop.c (call_command_loop):
5543         Fix braino in bit-rotting code.
5544         
5545 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
5546
5547         * extents.c (Fset_extent_endpoints): Force creation of extent info
5548         in buffer_or_string.
5549
5550         * extents.c (process_extents_for_insertion_mapper): Correctly
5551         check for open-open zero-length extents.
5552
5553 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5554
5555         * lisp.h: New typedefs Memory_count, Element_count.
5556         * regex.c:
5557         * regex.h:
5558         Sign-compare warning elimination: several unsigned -> signed.
5559         Based on work by Ben Wing <ben@xemacs.org>.
5560
5561 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
5562
5563         * XEmacs 21.2.47 "Zephir" is released.
5564
5565 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
5566
5567         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
5568
5569 2001-04-03  Mike Sperber <mike@xemacs.org>
5570
5571         * search.c: Revert previous patch due because of release.
5572
5573 2001-03-30  Ben Wing  <ben@xemacs.org>
5574
5575         * s\cygwin32.h:
5576         Add missing killpg prototype.
5577
5578         * elhash.c:
5579         Add a comment about fixing problems when a new entry is added
5580         while mapping.
5581
5582         * frame-msw.c (mswindows_init_frame_1):
5583         Fix compile warnings.
5584
5585         * menubar.c (vars_of_menubar):
5586         Provide `menu-accelerator-support' to indicate that we properly
5587         support %_ in menu specifications, so that package code can
5588         conditionalize on this (and remove %_ from menu specifications
5589         on older versions).
5590
5591         * event-msw.c:
5592         * scrollbar-msw.c:
5593         * scrollbar-msw.c (can_scroll):
5594         * scrollbar-msw.h:
5595         Fix handling of mouse wheel under Windows to follow standards --
5596         now scrolls window under pointer, not selected window.
5597
5598 2001-03-31  Mike Sperber <mike@xemacs.org>
5599
5600         * search.c (Freplace_match): Support FSF-style specification of
5601         match subexpression when applied to a buffer.
5602
5603 2001-03-15  Martin Buchholz  <martin@xemacs.org>
5604
5605         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
5606         function to modify KEYMAP, so map over a copy of the hash table.
5607
5608 2001-03-21  Martin Buchholz <martin@xemacs.org>
5609
5610         * XEmacs 21.2.46 "Urania" is released.
5611
5612 2001-03-20  Dan Holmsand  <dan@eyebee.com>
5613
5614         * realpath.c (xrealpath): Make file-truename work with symlinks to
5615         /cygdrive paths on cygwin. Always lowercase drive-letters on
5616         native windows.
5617         (cygwin_readlink): Don't try to find canonical filename unless
5618         file exists.
5619
5620 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
5621
5622         * ChangeLog: Log GTK merge.
5623
5624         * dumper.c:
5625         * select-x.c:
5626         * specifier.c:
5627         * symeval.h:
5628         Revert gratuitous whitespace changes from GTK merge.
5629
5630         * emacs.c: Document end of complex #ifdef @ l. 1495.
5631
5632
5633 2001-03-12  Andy Piper  <andy@xemacs.org>
5634
5635         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
5636         have to do likewise.
5637
5638 2001-03-12  Andy Piper  <andy@xemacs.org>
5639
5640         * sysdep.c: we only support mingw now.
5641
5642 2001-03-09  Andy Piper  <andy@xemacs.org>
5643
5644         * unexcw.c (copy_executable_and_dump_data_section): making approx
5645         overrun a warning only.
5646
5647 2001-03-10  William M. Perry  <wmperry@aventail.com>
5648
5649         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
5650         satisfy Stephen's identical-after-cpp plea.
5651
5652 2001-03-02  Ben Wing  <ben@xemacs.org>
5653
5654         * cmds.c:
5655         * cmds.c (Fforward_char):
5656         * syntax.c:
5657         * window.c:
5658
5659         Augment documentation of the most common motion commands to make
5660         note of the shifted-motion support.
5661         
5662 2001-03-02  Ben Wing  <ben@xemacs.org>
5663
5664         * nt.c (mswindows_fstat):
5665         * nt.c (mswindows_stat):
5666         * search.c (boyer_moore):
5667         Fix compile warnings under Windows.
5668         
5669         * sysdep.c (sys_readdir):
5670         Fix buggy filename-conversion code under Mule.
5671
5672 2001-03-09  William M. Perry  <wmperry@aventail.com>
5673
5674         * Makefile.in.in:
5675         * config.h.in:
5676         * console.c:
5677         * console.h:
5678         * device.c:
5679         * device.h:
5680         * dragdrop.c:
5681         * emacs.c:
5682         * event-stream.c:
5683         * events.c:
5684         * events.h:
5685         * faces.c:
5686         * frame.h:
5687         * general-slots.h:
5688         * glyphs.c:
5689         * gutter.c:
5690         * inline.c:
5691         * lisp.h:
5692         * lrecord.h:
5693         * make-src-depend:
5694         * redisplay-output.c:
5695         * redisplay.c:
5696         * symsinit.h:
5697         * sysfile.h:
5698         * toolbar.c:
5699         * window.c:
5700         The Great GTK Merge.
5701
5702         * ChangeLog.GTK:
5703         * console-gtk.c:
5704         * console-gtk.h:
5705         * device-gtk.c:
5706         * emacs-marshals.c:
5707         * emacs-widget-accessors.c:
5708         * event-gtk.c:
5709         * frame-gtk.c:
5710         * gccache-gtk.c:
5711         * gccache-gtk.h:
5712         * glade.c:
5713         * glyphs-gtk.c:
5714         * glyphs-gtk.h:
5715         * gtk-glue.c:
5716         * gtk-xemacs.c:
5717         * gtk-xemacs.h:
5718         * gui-gtk.c:
5719         * gui-gtk.h:
5720         * menubar-gtk.c:
5721         * native-gtk-toolbar.c:
5722         * objects-gtk.c:
5723         * objects-gtk.h:
5724         * redisplay-gtk.c:
5725         * scrollbar-gtk.c:
5726         * scrollbar-gtk.h:
5727         * select-gtk.c:
5728         * toolbar-gtk.c:
5729         * ui-byhand.c:
5730         * ui-gtk.c:
5731         * ui-gtk.h:
5732         The Great GTK Merge: new files.
5733
5734 2001-02-26  Ben Wing  <ben@xemacs.org>
5735
5736         Reapplied Lstream change.
5737
5738 2001-02-26  Ben Wing  <ben@xemacs.org>
5739
5740         Undid the last change, since it is more controversial than I
5741         thought.  It should be back in at some point soon.
5742         
5743 2001-02-25  Ben Wing  <ben@xemacs.org>
5744
5745         * buffer.c:
5746         * callproc.c (Fold_call_process_internal):
5747         * event-msw.c (ntpipe_slurp_reader):
5748         * event-msw.c (ntpipe_shove_writer):
5749         * event-msw.c (winsock_reader):
5750         * event-msw.c (winsock_writer):
5751         * file-coding.c:
5752         * file-coding.c (detect_eol_type):
5753         * file-coding.c (detect_coding_type):
5754         * file-coding.c (determine_real_coding_system):
5755         * file-coding.c (Fdetect_coding_region):
5756         * file-coding.c (decoding_reader):
5757         * file-coding.c (decoding_writer):
5758         * file-coding.c (mule_decode):
5759         * file-coding.c (Fdecode_coding_region):
5760         * file-coding.c (encoding_reader):
5761         * file-coding.c (encoding_writer):
5762         * file-coding.c (mule_encode):
5763         * file-coding.c (Fencode_coding_region):
5764         * file-coding.c (detect_coding_sjis):
5765         * file-coding.c (decode_coding_sjis):
5766         * file-coding.c (encode_coding_sjis):
5767         * file-coding.c (detect_coding_big5):
5768         * file-coding.c (decode_coding_big5):
5769         * file-coding.c (encode_coding_big5):
5770         * file-coding.c (detect_coding_ucs4):
5771         * file-coding.c (decode_coding_ucs4):
5772         * file-coding.c (encode_coding_ucs4):
5773         * file-coding.c (detect_coding_utf8):
5774         * file-coding.c (decode_coding_utf8):
5775         * file-coding.c (encode_coding_utf8):
5776         * file-coding.c (detect_coding_iso2022):
5777         * file-coding.c (decode_coding_iso2022):
5778         * file-coding.c (encode_coding_iso2022):
5779         * file-coding.c (decode_coding_no_conversion):
5780         * file-coding.c (encode_coding_no_conversion):
5781         * glyphs-x.c (write_lisp_string_to_temp_file):
5782         * gpmevent.c (tty_get_foreign_selection):
5783         * lisp.h:
5784         * lstream.c:
5785         * lstream.c (Lstream_flush_out):
5786         * lstream.c (Lstream_adding):
5787         * lstream.c (Lstream_write_1):
5788         * lstream.c (Lstream_write):
5789         * lstream.c (Lstream_raw_read):
5790         * lstream.c (Lstream_read_more):
5791         * lstream.c (Lstream_read):
5792         * lstream.c (Lstream_unread):
5793         * lstream.c (Lstream_fputc):
5794         * lstream.c (stdio_reader):
5795         * lstream.c (stdio_writer):
5796         * lstream.c (filedesc_reader):
5797         * lstream.c (filedesc_writer):
5798         * lstream.c (lisp_string_reader):
5799         * lstream.c (struct fixed_buffer_stream):
5800         * lstream.c (make_fixed_buffer_input_stream):
5801         * lstream.c (make_fixed_buffer_output_stream):
5802         * lstream.c (fixed_buffer_reader):
5803         * lstream.c (fixed_buffer_writer):
5804         * lstream.c (struct resizing_buffer_stream):
5805         * lstream.c (resizing_buffer_writer):
5806         * lstream.c (dynarr_writer):
5807         * lstream.c (lisp_buffer_reader):
5808         * lstream.c (lisp_buffer_writer):
5809         * lstream.h:
5810         * lstream.h (lstream_implementation):
5811         * lstream.h (struct lstream):
5812         * md5.c (Fmd5):
5813         * process-nt.c (nt_send_process):
5814         * process-unix.c (unix_send_process):
5815         
5816         Correct Lstream lossage due to mixing of signed and unsigned
5817         quantities.  All Lstream uses of size_t and ssize_t are now a
5818         single signed data type Lstream_data_count.  This fixes problems
5819         under Windows with sending large quantities of data to a process,
5820         and may well fix other subtle bugs.
5821
5822 2001-02-23  Martin Buchholz <martin@xemacs.org>
5823
5824         * XEmacs 21.2.45 "Thelxepeia" is released.
5825
5826 2001-02-21  Martin Buchholz  <martin@xemacs.org>
5827
5828         * lisp-union.h (XSETINT): 
5829         (XSETCHAR):
5830         (XSETOBJ): 
5831         Reverse previous change of 2001-02-06.
5832
5833 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
5834
5835         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
5836         buffers.
5837         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5838         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
5839         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
5840         * regex.c (POS_AS_IN_BUFFER): removed
5841         * regex.c (re_search_2):
5842         * regex.c (re_match_2):
5843         Don't use an offset of 1 when calculating buffer positions, since
5844         `BI_BUF_BEGV' does it already.
5845
5846 2001-02-18  Wim Dumon  <wim@easics.be>
5847
5848         * insdel.c (prepare_to_modify_buffer): Also check for
5849         supersession when clash-detection is enabled. 
5850
5851 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
5852
5853         * regex.c (re_match_2_internal):
5854         Convert temp characters from 'const unsigned char' to 're_char'.
5855         Fix crashing bug with extended characters under mule.
5856         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
5857         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
5858         font-lock, pdump, and new syntax-table code.
5859         * syntax.c (find_start_of_comment):
5860         (find_end_of_comment):
5861         (forward-comment):
5862         Fix crashing bugs involving moving beyond end of buffer.
5863         * syntax.c (find_start_of_comment):
5864         Fixed logic to allow proper detection of cases where the same
5865         character is used to end both a two-char comment start and a
5866         two-char comment end sequence. Fixes `(forward-comment -1)'.
5867         * syntax.c (find_start_of_comment):
5868         Return position just past last comment-end character for all cases
5869         (previously was only done for two-char comment-end sequences).
5870         * syntax.c (forward-comment):
5871         Take value returned from `find_end_of_comment', rather than
5872         incrementing it.
5873         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5874         Properly deal with BUFFERP (syntax_cache.object)
5875
5876 2001-02-17  Martin Buchholz  <martin@xemacs.org>
5877
5878         * alloc.c (Fgarbage_collect): 
5879         * alloc.c (make_bit_vector_from_byte_vector):
5880         -Wsign-compare-correctness.
5881
5882 2001-02-16  Martin Buchholz  <martin@xemacs.org>
5883
5884         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
5885         (XSETCHAR): Likewise.
5886         (XSETOBJ): Likewise.
5887
5888 2001-02-15  Martin Buchholz  <martin@xemacs.org>
5889
5890         * mule-canna.c (canna-func-delete_previous): 
5891         Rename to canna-func-delete-previous.
5892
5893 2001-02-14  Martin Buchholz  <martin@xemacs.org>
5894
5895         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
5896
5897 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
5898
5899         * font-lock.c (find_context): Fix C++ compile errors introduced by
5900         recent patch
5901
5902 2001-02-13  Martin Buchholz  <martin@xemacs.org>
5903
5904         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
5905         pragma, but earlier ones barf on the same pragma.
5906
5907 2001-02-06  Mike Sperber <mike@xemacs.org>
5908
5909         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
5910         `configure-mule-lisp-directory'.
5911
5912 2001-02-12  Martin Buchholz  <martin@xemacs.org>
5913
5914         Make sure dump-id.c is compiled in the same way as other .c's.
5915         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
5916         * dump-id.h: Remove.
5917         * emacs.c: Move dump-id.h into dumper.h.
5918         * dumper.h: Move dump-id.h into dumper.h.
5919         * Makefile.in.in:
5920         Use standard .c.o rule for building dump-id.o.
5921         Remove preprocessor flags from link command.
5922         Add dump-id.o to ${otherobjs} if PDUMP.
5923
5924 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
5925
5926         Port FSF 20.7 syntax table improvements.
5927         * syntax.c.
5928         * syntax.h.
5929
5930         Fixups for new syntax table stuff.
5931         * dired.c: Include syntax.c.
5932         (Fdirectory_files): Initialize regex_match_object and
5933         regex_emacs_buffer.
5934         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
5935         and Fget_char_property.
5936
5937         Use ported FSF 20.7 syntax table improvements.
5938         * font-lock.c.
5939         * regex.c.
5940         * search.c.
5941         
5942 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5943
5944         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
5945         Unixware's enum boolean from sys/types.h.
5946
5947 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5948
5949         Fix support for building with latest Purify.
5950         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
5951         (PURIFY_FLAGS): Likewise.
5952
5953 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5954
5955         * fileio.c (lisp_string_set_file_times): New.
5956         * fileio.c (Fcopy_file): Use it.
5957         Fixes bug:
5958         (copy-file filename non-ascii-filename t t)
5959         ==> No such file or directory, non-ascii-filename
5960
5961 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5962
5963         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
5964         USHRT_MAX seems clearer than ~0 anyways.
5965
5966 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5967
5968         dumper improvements.  Inspired by Olivier.
5969         * dumper.c (pdump_max_align): New.
5970         * dumper.c (pdump_add_entry): Use pdump_max_align.
5971         * dumper.c (pdump_get_entry_list): Likewise.
5972         * dumper.c (pdump_scan_by_alignment): Likewise.
5973         Don't iterate through unnecessary alignments.
5974         * dumper.c (pdump_file_get): No need to align result of malloc().
5975         * dumper.c (pdump_mallocadr): Remove.  
5976         The result of malloc() is guaranteed to be maximally aligned.
5977         * dumper.c: s/elmt/elt/g;
5978         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
5979         * dumper.c (pdump_alert_undump_object): Likewise.
5980         * dumper.c (pdump_align_table): 
5981         Don't support alignments > 64.
5982         Store ALIGNOF's, not shift counts, in table.
5983
5984 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5985
5986         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
5987         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
5988         * systime.h: Use HAVE_UTIME.
5989         * sysdep.c (struct utimbuf): Remove.
5990         * sysdep.c (set_file_times): Prefer utime() to utimes().
5991         * config.h.in (HAVE_UTIME): New.
5992         * config.h.in (HAVE_UTIME_H): Remove.
5993         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
5994
5995 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5996
5997         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
5998
5999 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6000
6001         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6002
6003 2001-02-08  Martin Buchholz <martin@xemacs.org>
6004
6005         * XEmacs 21.2.44 "Thalia" is released.
6006
6007 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6008
6009         Fixes crashes in kill-emacs on some systems.
6010         * process-unix.c (unix_kill_child_process):
6011         It's OK for kill() to fail with ESRCH.
6012
6013 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6014
6015         Contortions to make .gdbinit tricks work on most systems.
6016         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6017         * alloc.c (dbg_valmask): Make non-const.
6018         * alloc.c (dbg_typemask): Make non-const.
6019         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6020         * alloc.c (dbg_valbits): Make non-const.
6021         * alloc.c (dbg_gctypebits): Make non-const.
6022         * .gdbinit (decode_object): Make it work with AIX cc.
6023
6024 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6025
6026         * elhash.c (make_general_lisp_hash_table):
6027         Use simpler and more efficient calloc to clear entries.
6028
6029 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6030
6031         * window.c (window_scroll): Work around an AIX C compiler bug.
6032         Fixes 'scroll-up' does nothing problem with xlC.
6033
6034 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6035
6036         * .gdbinit: Remove obsolete comment.
6037
6038 2001-01-31  Mike Alexander  <mta@arbortext.com>
6039
6040         * select.c (Fown_selection_internal): Set owned_p for device
6041         method correctly.
6042
6043 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6044
6045         Port to g++ 2.97.
6046         "not" cannot be used as a macro name as it is an operator in C++
6047         * config.h.in: Stop #defining `not'.
6048         * chartab.c (check_category_char): not ==> not_p
6049         * chartab.h: Likewise.
6050         * regex.c (re_match_2_internal): Likewise.
6051
6052 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6053
6054         * lisp-disunion.h: Fix up comments.
6055
6056 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6057
6058         * keymap.c (define_key_check_and_coerce_keysym):
6059         (syms_of_keymap):
6060         Support mouse-6 and mouse-7 bindings in the obvious way.
6061
6062 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6063
6064         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6065
6066 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6067
6068         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6069         Previous patch missed DEFVAR_INT_MAGIC.
6070         Make sure future DEFVAR_foo use correct types.
6071         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6072         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6073         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6074         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6075         * (DEFVAR_INT): Likewise.
6076         * redisplay.c (vertical_clip): Should be of type Fixnum.
6077         * redisplay.c (horizontal_clip): Likewise.
6078         * lisp.h (dump_add_opaque_int): New.
6079         (dump_add_opaque_fixnum): New.
6080
6081 2001-01-29  Andy Piper  <andy@xemacs.org>
6082
6083         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6084         since they can be eval'ed
6085
6086 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6087
6088         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6089         Oops, XEmacs redefines `class'.  Use `typename' instead.
6090
6091 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6092
6093         * dumper.c: Fix C++ compile errors.
6094
6095 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6096
6097         * tparam.c: Use correct prototypes.
6098
6099 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6100
6101         * sysproc.h: #include util.h for NetBSD's openpty.
6102
6103 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6104
6105         More 64-bit correctness.
6106         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6107         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6108         Fix up comments.
6109         This finally finishes the 64-bit SGI port.
6110         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6111         * symbols.c: Fix up comments and type casts.
6112         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6113         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6114         * symeval.h (Fixnum): New type.
6115         * symeval.h (symbol_value_type): Fix up comment.
6116
6117         * commands.h:
6118         * nt.c:
6119         * emacs.c:
6120         * data.c:
6121         * redisplay.c:
6122         * abbrev.c:
6123         * dired-msw.c:
6124         * event-Xt.c:
6125         * eldap.c:
6126         * window.c:
6127         * sound.c:
6128         * event-stream.c:
6129         * eval.c:
6130         * buffer.c:
6131         * mule-canna.c: A million DEFVAR_INTs here...
6132         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6133         * extents.c:
6134         * cmdloop.c:
6135         * lisp.h:
6136         * select-x.c:
6137         * console-x.h:
6138         * event-msw.c:
6139         * mule-wnnfns.c:
6140         * hpplay.c:
6141         * ralloc.c:
6142         * alloc.c:
6143         * keymap.c:
6144         * profile.c:
6145         s/int/Fixnum/g in DEFVAR_INT declarations.
6146
6147 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6148
6149         Port pdump to SGI alignment-sensitive environment.
6150         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6151         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6152         properly aligned.
6153         Define and use aligned reading and writing macros.
6154         Use buffered stdio instead of posix i/o for faster dumping.
6155         Eliminate kludgy 256 byte space for header.
6156         Read and write from dump file using structs for alignment safety.
6157         * dumper.c (pdump_align_stream): New.
6158         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6159         * dumper.c (PDUMP_READ_ALIGNED): New.
6160         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6161         * dumper.c (pdump_static_Lisp_Object): New struct.
6162         * dumper.c (pdump_static_pointer): New struct.
6163         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6164         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6165         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6166         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6167
6168         * dumper.c (pdump_backtrace):
6169         * dumper.c (pdump_get_indirect_count):
6170         * dumper.c (pdump_register_object):
6171         * dumper.c (pdump_register_struct):
6172         * dumper.c (pdump_reloc_one):
6173         * dumper.c (pdump_scan_by_alignment):
6174         * dumper.c (pdump_dump_from_root_struct_ptrs):
6175         * dumper.c (pdump_dump_opaques):
6176         * dumper.c (pdump_dump_rtables):
6177         * dumper.c (pdump_dump_from_root_objects):
6178         * dumper.c (pdump):
6179         * dumper.c (pdump_load_finish):
6180         Use aligned reading and writing.
6181
6182         * dumper.c (pdump_free): Make static.
6183         * dumper.c (pdump_hFile): Likewise.
6184         * dumper.c (pdump_hMap): Likewise.
6185
6186 2001-01-26  Martin Buchholz <martin@xemacs.org>
6187
6188         * XEmacs 21.2.43 "Terspichore" is released.
6189
6190 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6191
6192         Type fiddling for window_config.saved_windows_count
6193         * window.c (struct window_config): 
6194         Make saved_windows_count member unsigned.
6195         * window.c (sizeof_window_config_for_n_windows): 
6196         Make parameter unsigned.
6197         * window.c (mark_window_config):
6198         * window.c (window_config_equal):
6199         * window.c (free_window_configuration):
6200         * window.c (Fset_window_configuration):
6201         * window.c (count_windows):
6202         * window.c (Fcurrent_window_configuration):
6203         * window.c (reinit_vars_of_window):
6204         Update all callers and users.
6205
6206 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6207
6208         Alignment correctness for flexible arrays.
6209         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6210         Make alignment-correct. Add interesting comments.
6211         * alloc.c (size_vector):
6212         * alloc.c (make_vector_internal):
6213         * alloc.c (make_bit_vector_internal):
6214         * alloc.c (sweep_bit_vectors_1):
6215         * fns.c (size_bit_vector):
6216         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6217         * window.c (sizeof_window_config_for_n_windows): 
6218         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6219
6220 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6221
6222         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6223
6224 2001-01-23  Andy Piper  <andy@xemacs.org>
6225
6226         * select.c (Fown_selection_internal): pass owned_p
6227
6228         * select-msw.c (mswindows_own_selection): New Signature.
6229
6230         * console.h (struct console_methods): add owned_p to
6231         _own_selection.
6232
6233         * select-x.c (x_own_selection): pass owned_p
6234         (hack_motif_clipboard_selection): use owned_p
6235         (vars_of_select_x): new variable -
6236         x_selection_strict_motif_ownership.
6237
6238 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6239
6240         * specifier.h (specifier_data_offset): Remove pointless parens.
6241         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6242
6243 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6244
6245         Make Lisp_Object sizeof methods be alignment-correct.
6246         pdump must restore objects to the same alignment as the C compiler
6247         assumes.  It really matters on SGIs.
6248         * lstream.c (aligned_sizeof_lstream): New.
6249         (sizeof_lstream): Use aligned_sizeof_lstream.
6250         (Lstream_new): Likewise.
6251         * opaque.c (aligned_sizeof_opaque): New.
6252         (sizeof_opaque): Use aligned_sizeof_opaque.
6253         (make_opaque): Likewise.
6254         * specifier.c (aligned_sizeof_specifier): New.
6255         (sizeof_specifier): Use aligned_sizeof_specifier.
6256         (make_specifier_internal): Likewise.
6257
6258 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6259
6260         * lstream.h (struct lstream): Use max_align_t for trailing data.
6261         * specifier.h (struct Lisp_Specifier): Likewise.
6262
6263 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6264
6265         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6266         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6267         (CCL_SUSPEND): Likewise.
6268         (CCL_INVALID_CMD): Likewise.
6269         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6270         (ccl_driver): Likewise.
6271         (CCL_WRITE_CHAR): Macro hygiene.
6272         (CCL_WRITE_STRING): Macro hygiene.
6273
6274 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6275
6276         Port "portable" dumper to SunOS 4 and HP-UX.
6277         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6278         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6279         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6280
6281 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6282
6283         * lisp.h (ALIGNOF): A better definition for C++.
6284
6285 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6286
6287         Macro hygiene.
6288         Fix printf warnings: int format, long int arg.
6289         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6290         (PUSH_FAILURE_POINT): Use correct printf formats.
6291         (POP_FAILURE_POINT): Use correct printf formats.  
6292         Use do {...} while (0)
6293
6294 2001-01-20  Martin Buchholz <martin@xemacs.org>
6295
6296         * XEmacs 21.2.42 "Poseidon" is released.
6297
6298 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6299
6300         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6301
6302 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6303
6304         De-kludgify FIXED_TYPE free list frobbing.
6305         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6306         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6307         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6308         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6309         * alloc.c (LRECORD_FREE_P): New.
6310         * alloc.c (MARK_LRECORD_AS_FREE): New.
6311         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6312         * alloc.c (STRUCT_FREE_P): Deleted.
6313         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6314         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6315         * alloc.c (STRING_CHARS_FREE_P): New.
6316         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6317         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6318         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6319         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6320         * alloc.c (resize_string): Use new definitions.
6321         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6322         * alloc.c (verify_string_chars_integrity): Use new definitions.
6323         * alloc.c (compact_string_chars): Use new definitions.
6324         * alloc.c: Update monster comments.
6325         * lrecord.h (lrecord_type): Add some new lrecord types for
6326         alloc.c's use.
6327
6328 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6329
6330         Improve alignment hackery.
6331         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6332         (max_align_t): Moved from opaque.h - general purpose.
6333         (ALIGN_PTR): Use size_t, not long.
6334         * opaque.h (max_align_t): Move to lisp.h.
6335
6336 2001-01-18  Norbert Koch  <nk@LF.net>
6337
6338         * gui.h: Fix and add prototypes to fix build problems.
6339
6340 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6341
6342         temacs is going away, so `dump-temacs' is now a bad name.
6343         * .dbxrc (dump-temacs): Rename to `dmp'.
6344         * .gdbinit (dump-temacs): Rename to `dmp'.
6345
6346 2001-01-17  Andy Piper  <andy@xemacs.org>
6347
6348         * glyphs.c (print_image_instance): comment to make martin happy.
6349
6350         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6351         change.
6352
6353         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6354         activation.
6355         (mswindows_tab_control_redisplay): warning suppression.
6356
6357         * glyphs-widget.c (widget_update): re-write to cope with updated
6358         items.
6359         (widget_instantiate): use new gui_item functions.
6360         (tab_control_update): deleted.
6361         (progress_gauge_update): deleted.
6362         (image_instantiator_progress_guage): take out update reference.
6363         (image_instantiator_tree_view): ditto.
6364         (image_instantiator_tab_control): ditto.
6365
6366         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6367         Right the new way.
6368         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6369         return whether anything was changed.
6370         (update_gui_item_keywords): as it sounds.
6371
6372         * gui.h: declare widget_gui_parse_item_keywords.
6373
6374         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
6375         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
6376
6377 2001-01-17  Martin Buchholz <martin@xemacs.org>
6378
6379         * XEmacs 21.2.41 "Polyhymnia" is released.
6380
6381 2001-01-16  Didier Verna  <didier@xemacs.org>
6382
6383         * glyphs.c (image_instantiate): don't use fallbacks when
6384         instantiating a face's background pixmap by inheritance.
6385
6386 2001-01-14  Mike Sperber <mike@xemacs.org>
6387
6388         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
6389         Conditionalize accordingly.
6390
6391 2001-01-16  Martin Buchholz  <martin@xemacs.org>
6392
6393         * dumper.c (pdump_file_get): Fix a compiler warning.
6394
6395 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6396
6397         Make Purify happy when pdumping.
6398         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
6399         iniitalizing all bits of new lisp object memory.
6400         * symbols.c (Fmake_local_variable): Likewise.
6401         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
6402         * symbols.c (Fdefvaralias): Likewise.
6403         * mule-charset.c (vars_of_mule_charset): Likewise.
6404
6405 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6406         Add the `-nd' flag when running pre-dump operations under the debugger.
6407         * .dbxrc (run-temacs): Add `-nd'.
6408         * .dbxrc (update-elc): Likewise.
6409         * .dbxrc (dump-temacs): Likewise.
6410         * .gdbinit (run-temacs): Likewise.
6411         * .gdbinit (check-temacs): Likewise.
6412         * .gdbinit (update-elc): Likewise.
6413         * .gdbinit (dump-temacs): Likewise.
6414
6415 2001-01-14  Martin Buchholz  <martin@xemacs.org>
6416
6417         Allow building 64-bit executables on AIX with GNU malloc, e.g.
6418         export OBJECT_MODE=64
6419         configure --pdump --use-union-type=no
6420         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
6421         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
6422
6423         * miscplay.c (sndcnv8U_2mono):
6424         Avoid two uses of `++' in the same expression.
6425         Suppresses a GCC warning.
6426
6427 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6428
6429         Make sure future compilers don't miscompile alloc.c.
6430         * alloc.c:
6431         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
6432         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
6433
6434 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6435
6436         * dumper.c: A little post-pdump-rename comment fixup.
6437
6438 2001-01-09  Jerry James  <james@eecs.ku.edu>
6439
6440         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
6441
6442 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6443
6444         * *.[ch]: Globally rename symbols using the following `pdump-rename'
6445         script:
6446         #!/bin/sh
6447         replace_symbol () {
6448           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
6449         }
6450
6451         replace_symbol pdump_wire_lists pdump_weak_object_chains
6452         replace_symbol pdump_wire_list dump_add_weak_object_chain
6453
6454         replace_symbol pdump_wires pdump_root_objects
6455         replace_symbol pdump_wire dump_add_root_object
6456
6457         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
6458         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
6459
6460         replace_symbol dumpstructinfos pdump_root_struct_ptrs
6461         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
6462         replace_symbol dumpstructinfo pdump_root_struct_ptr
6463         replace_symbol dumpstruct dump_add_root_struct_ptr
6464
6465         replace_symbol dumpopaque dump_add_opaque
6466         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
6467         replace_symbol dumpopaqueinfos pdump_opaques
6468         replace_symbol dumpopaqueinfo pdump_opaque
6469
6470         replace_symbol nb_structdump nb_root_struct_ptrs
6471         replace_symbol nb_opaquedump nb_opaques
6472
6473         replace_symbol align_table pdump_align_table
6474         replace_symbol dump_header pdump_header
6475
6476         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
6477         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
6478
6479
6480 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6481
6482         * s/aix4.h: Keep the C for AIX compiler from overaggressively
6483         optimizing bytecount_to_charcount().
6484
6485 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6486
6487         * config.h.in:
6488         (HAVE_DLFCN_H): Removed.
6489         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
6490
6491 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6492
6493         Portable dumper maintainability improvements.
6494         * alloc.c (staticpro):
6495         * alloc.c (staticpro_nodump):
6496         * alloc.c (garbage_collect_1):
6497         * alloc.c (reinit_alloc_once_early):
6498         * alloc.c (init_alloc_once_early):
6499         * alloc.c: Move dumper functions to alloc.c.
6500         * dumper.c (pdump_backtrace):
6501         * dumper.c (pdump_dump_structs):
6502         * dumper.c (pdump_dump_opaques):
6503         * dumper.c (pdump_dump_rtables):
6504         * dumper.c (pdump_dump_wired):
6505         * dumper.c (pdump):
6506         * dumper.c (pdump_load_check):
6507         * dumper.c (pdump_load_finish):
6508         * dumper.c (pdump_file_unmap):
6509         * dumper.c (pdump_file_get):
6510         * dumper.c (pdump_resource_free):
6511         * dumper.c (pdump_resource_get):
6512         * dumper.c (pdump_file_free):
6513         * dumper.c (pdump_file_try):
6514         * dumper.c (pdump_load):
6515         Remove fixed size limits on staticpro(), staticpro_nodump(),
6516         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
6517         Remove custom code for dumping lrecord_implementations_table - use
6518         dumpopaque instead.
6519         Remove (most of the) custom code for dumping staticpros - dump it
6520         like any other dynarr.
6521
6522         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
6523         * dumper.c: Moved functions from alloc.c.
6524         * alloc.c (dumpstruct): Moved to dumper.c.
6525         * alloc.c (dumpopaque): Likewise.
6526         * alloc.c (pdump_wire): Likewise.
6527         * alloc.c (pdump_wire_list): Likewise.
6528
6529         * lisp.h (Dynarr_sizeof): New.
6530         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
6531         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
6532         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
6533
6534         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
6535         * lisp.h (dumpopaque): ditto.
6536         * lisp.h (pdump_wire): ditto.
6537         * lisp.h (pdump_wire_list): ditto.
6538
6539 2001-01-09  Martin Buchholz  <martin@xemacs.org>
6540
6541         * make-src-depend (PrintPatternDeps):
6542         Use `sort' to make output independent of perl version.
6543
6544 2001-01-08  Martin Buchholz  <martin@xemacs.org>
6545
6546         Port to Netbsd 1.5.
6547         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
6548         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
6549
6550 2001-01-03  Didier Verna  <didier@xemacs.org>
6551
6552         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
6553         that `focus_frame' is alive before thinking of calling
6554         `redisplay_redraw_cursor' on it.
6555
6556 2001-01-08  Martin Buchholz <martin@xemacs.org>
6557
6558         * XEmacs 21.2.40 is released.
6559
6560 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6561
6562         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
6563
6564 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6565
6566         * alloc.c (dbg_valmask): Make const.
6567         * alloc.c (dbg_typemask): Make const.
6568         * alloc.c (dbg_USE_UNION_TYPE): Make const.
6569         * alloc.c (dbg_valbits): Make const.
6570         * alloc.c (dbg_gctypebits): Make const.
6571
6572 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
6573
6574         * redisplay-x.c (x_bevel_area):
6575         redisplay.h (struct rune):
6576         Typo fixes in comments.
6577
6578 2001-01-05  Andy Piper  <andy@xemacs.org>
6579
6580         * glyphs-x.c (x_redisplay_widget): use size changed for offset
6581         adjustment.
6582
6583         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
6584
6585 2001-01-05  Martin Buchholz  <martin@xemacs.org>
6586
6587         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
6588
6589         * mule-ccl.c (stack_idx_of_map_multiple):
6590         Non const global data must not be initialized!
6591         Found by MIYASHITA Hisashi.
6592
6593 2001-01-02  Andy Piper  <andy@xemacs.org>
6594
6595         * frame.c (change_frame_size): make sure frame size is always
6596         marked as changed.
6597
6598         * glyphs.c (image_instance_layout): minor code reuse.
6599
6600         * window.c (Fcurrent_window_configuration): revert previous
6601         change.
6602
6603 2001-01-02  Martin Buchholz  <martin@xemacs.org>
6604
6605         * glyphs.h:
6606         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
6607
6608 2000-12-31  Andy Piper  <andy@xemacs.org>
6609
6610         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
6611         when widget gets unmapped.
6612
6613         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
6614         function. Make sure widgets losing focus don't just drop it.
6615         (handle_focus_event_1): record the widget with focus.
6616
6617 2000-12-31  Andy Piper  <andy@xemacs.org>
6618
6619         * window.c (allocate_window): use
6620         make_image_instance_cache_hash_table.
6621         (make_dummy_parent): ditto.
6622         (Fset_window_configuration): ditto.
6623
6624         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
6625
6626         * glyphs.c (process_image_string_instantiator): use
6627         INSTANTIATOR_TYPE.
6628         (get_image_instantiator_governing_domain): ditto.
6629         (normalize_image_instantiator): ditto.
6630         (instantiate_image_instantiator): ditto.
6631         (make_image_instance_1): ditto.
6632         (image_instantiate): ditto. Key on glyph *and* instantiator type.
6633         (instantiator_eq_equal): new function for use with instance hash
6634         tables.
6635         (instantiator_eq_hash): ditto.
6636         (make_image_instance_cache_hash_table): create a suitable hash
6637         table for storing image instances.
6638
6639         * elhash.h (hash_table_weakness): new internal weakness type
6640         HASH_TABLE_KEY_CAR_VALUE_WEAK.
6641         declare new functions.
6642
6643         * elhash.c (finish_marking_weak_hash_tables): introduce yet
6644         another weakness type for glyphs.
6645         (make_standard_lisp_hash_table): new function split out from
6646         make_general_lisp_hash_table.
6647         (make_lisp_hash_table): call make_standard_lisp_hash_table.
6648         (hash_table_instantiate): ditto.
6649         (Fmake_hash_table): ditto.
6650
6651 2000-12-31  Martin Buchholz <martin@xemacs.org>
6652
6653         * XEmacs 21.2.39 is released.
6654
6655 2000-12-29  Andy Piper  <andy@xemacs.org>
6656
6657         * menubar.c (menubar_visible_p_changed): signal the frame changed.
6658
6659         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
6660         the frame has changed so that we pick up geometry changes such as
6661         menubar visibility.
6662
6663 2000-12-28  Andy Piper  <andy@xemacs.org>
6664
6665         * lastfile.c (my_ebss): make a char array so we can pad the
6666         bss. Fixes cygwin unexec.
6667
6668         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
6669
6670 2000-12-26  Andy Piper  <andy@xemacs.org>
6671
6672         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
6673         comments and try and be more precise about a non-/SIGIO world.
6674         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
6675         SIGIO.
6676
6677         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
6678         we don't normalize to zero width or height.
6679
6680 2000-12-24  Andy Piper  <andy@xemacs.org>
6681
6682         * Makefile.in.in (ldflags): add -mwindows when appropriate.
6683
6684 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
6685
6686         * s/sco5.h: SCO 5 has pty support.
6687
6688 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
6689
6690         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
6691         input-method-xlib.c contains whole contents of input-method-xfs.c,
6692         so we can use input-method-xlib.c's code for USE_XFONTSET
6693         using #ifdefs.
6694         * input-method-xfs.c: removed.
6695
6696 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
6697
6698         * file-coding.h (enum coding_category_type): reorder enumerators to
6699         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
6700         (now one greater than largest real coding_category_type enumerator).
6701         * file-coding.c (coding_category_symbol, coding_category_by_priority,
6702         coding_category_system, fcd_descriptihon_1, decode_coding_category,
6703         Fcoding_category_list, Fset_coding_priority_list,
6704         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
6705         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
6706
6707 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6708
6709         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
6710         * redisplay-output.c (redisplay_output_window): Clear top of window
6711         when face is changed.
6712         * redisplay-x.c (x_redraw_exposed_window): Call
6713         redisplay_clear_top_of_window.
6714         * redisplay.h: Publish redisplay_clear_top_of_window.
6715
6716 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6717
6718         * buffer.c (Fkill_buffer): Map over all devices.
6719         * window.c (window_loop): Remove UNSHOW_BUFFER code.
6720         (list_windows): New function.
6721         (list_all_windows): Ditto.
6722         (Freplace_buffer_in_windows): Use them.
6723
6724 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6725
6726         * database.c (berkdb_subtype): Recognize new subtype `queue'.
6727         (Fopen_database): Use `db_create' instead of `db_open'.
6728         (syms_of_database): Initialize Qqueue.
6729
6730 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6731
6732         * buffer.c (common_init_complex_vars_of_buffer): Initialize
6733         buffer_local_face_property.
6734         * buffer.h (struct buffer): New member buffer_local_face_property.
6735         * window.c (Fset_window_buffer):  Mark window's face as changed
6736         when buffer has buffer local face.
6737         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
6738         * objects.c (color_after_change): Set buffer_local_face_property
6739         when locale of face specifier is buffer.
6740         * objects.c (font_after_change): Ditto.
6741         * objects.c (face_boolean_after_change): Ditto.
6742         * glyphs.c (image_after_change): Ditto.
6743
6744 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6745
6746         * nt.c (mswindows_fstat): Report file permissions, volume serial
6747         number, etc. Code adapted from FSF Emacs 20.7.
6748
6749 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6750
6751         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
6752         of stat when we don't have symbolic links, to make sure
6753         mswindows_stat is called on mswindows.
6754
6755 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6756
6757         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
6758
6759 2000-12-12  Martin Buchholz  <martin@xemacs.org>
6760
6761         * doprnt.c (emacs_doprnt_1): More printing fixes.
6762         Make printing of numbers compatible with libc and FSF Emacs.
6763         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
6764         Use the system printf to do most of the hard work of formatting,
6765         instead of doprnt_1().
6766         Calculate memory to allocate for format string.
6767         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
6768         (doprnt_1): Cleaner code and documentation.
6769
6770 2000-12-01  Jerry James  <james@eecs.ukans.edu>
6771
6772         * Makefile.in.in: Use the loop variable to install headers.
6773
6774 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6775
6776         * window.c (Fsplit_window): Don't invalidate face cache.
6777
6778 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6779
6780         * minibuf.c (Fall_completions): Undo the previous change
6781         which removed checking elements start with space.
6782
6783 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6784
6785         * mule-canna.c: Didier suppression.
6786
6787 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6788
6789         * mule-canna.c: rename static unsigned char buf[] to key_buffer
6790         (warning suppression).  Add English comment translations.
6791
6792 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6793
6794         * unexelfsgi.c (unexec): Better test for mmap failure.
6795
6796 2000-12-05  Martin Buchholz <martin@xemacs.org>
6797
6798         * XEmacs 21.2.38 is released.
6799
6800 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6801
6802         * redisplay.c (bar-cursor): Make a user variable.
6803
6804         * symsinit.h: Add init_postgresql_from_environment.
6805
6806 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6807
6808         * regex.c: Convert to clean C.
6809
6810 2000-12-05  Dan Holmsand  <dan@eyebee.com>
6811
6812         * realpath.c:
6813         Don't #include sysfile.h. Revert to duplicating PATH_MAX
6814         initialization.
6815         (sys_readlink): renamed to system_readlink to avoid conflict with
6816         the other sys_readlink.
6817
6818 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
6819
6820         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
6821
6822 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
6823
6824         * postgresql.c (init_postgresql_from_environment): new function.
6825         (vars_of_postgresql): Move code initializing Lisp variables out and
6826         into init_postgresql_from_environment.
6827         emacs.c (main_1): Call init_postgresql_from_environment if and only
6828         if running a dumped XEmacs.
6829
6830 2000-08-31  Dan Holmsand  <dan@eyebee.com>
6831
6832         * buffer.c: Make find-file-compare-truenames default to true on
6833         windows.
6834
6835         * realpath.c (win32_abs_start):
6836         (cygwin_readlink):
6837         (win32_readlink): New functions.
6838         (xrealpath): Return really real filenames on windows.
6839
6840         * fileio.c (Ffile_truename): Make file-truename work on windows.
6841
6842 2000-11-29  Didier Verna  <didier@xemacs.org>
6843
6844         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
6845         * faces.c (update_face_cachel_data): use it.
6846         * faces.c (add_face_cachel): use it. Complete background pixmap
6847         frobbing in face cache if `update_face_cachel_data' has not done so.
6848
6849 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
6850
6851         * search.c (string_match_1): Don't set last_thing_searched
6852         when search failed.
6853
6854 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
6855
6856         * buffer.c: Include casetab.h
6857         (common_init_complex_vars_of_buffer): Use new case-table object.
6858         * buffer.h: Include casetab.h
6859         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
6860         (DOWNCASE_TABLE_OF): Ditto.
6861         * bufslots.h: Remove char-tables and add case-table.
6862         * casetab.c: Include casetab.h
6863         (CASE_TABLE_P): Removed.
6864         (mark_case_table): New function.
6865         (allocate_case_table): New function.
6866         (Fcase_table_p): Use new case-table.
6867         (case_table_char): New function.
6868         (Fget_case_table): Ditto.
6869         (Fput_case_table): Ditto.
6870         (Fput_case_table_pair): Ditto.
6871         (Fcopy_case_table): Ditto.
6872         (Fcurrent_case_table): Return case-table.
6873         (Fstandard_case_table): Return case-table.
6874         (Fset_case_table): Fix doc-string.
6875         (set_case_table): Use case-table
6876         (syms_of_casetab): DEFSUBR new functions.
6877         (complex_vars_of_casetab): Set up standard case-table.
6878         * casetab.h: New file.
6879         * editfns.c: Include casetab.h
6880         (Fcompare_buffer_substrings): Use case-table.
6881         * inline.c: Include casetab.h
6882         * lisp.h: Remove bogus extern.
6883         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
6884         * search.c: Include casetab.h
6885         (TRANSLATE_ASCII): Removed.
6886         (TRANSLATE): Unconditionally translate character.
6887         (looking_at_1): Use case-table.
6888         (string_match_1): Ditto.
6889         (fast_string_match): Ditto.
6890         (search_command): Ditto.
6891         (search_buffer): Separate boyer_moore.  Check whether
6892         boyer_moore is possible.
6893         (simple_search): New function.
6894         (boyer_moore): Separated from search_buffer. Translate char.
6895
6896 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6897
6898         * regex.c (RE_TR_ASCII): Removed.
6899         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
6900         (PATFETCH): Call PATFETCH_RAW.
6901         (PATFETCH_RAW): Fetch Emchar.
6902         (PATUNFETCH): Decrement charptr.
6903         (GET_BUFFER_SPACE): Rename b to buf_end.
6904         (BUF_PUSH): Ditto.
6905         (BUF_PUSH_2): Ditto.
6906         (BUF_PUSH_3): Ditto.
6907         (EXTEND_BUFFER): Ditto.
6908         (SET_LIST_BIT): Ditto.
6909         (regex_compile): Ditto.  Translate non ASCII char.
6910         (compile_range): Ditto.
6911         (re_search_2): Ditto.
6912         (re_match_2_internal): Compare Emchar.
6913         (bcmp_translate): Ditto.
6914
6915 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
6916
6917         * lisp.h (basic char/int typedefs):  comment improvement.
6918
6919 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
6920
6921         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
6922         unstomp inhibit_site_lisp.  Improve comments.
6923
6924 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
6925
6926         * mule-charset.c (Fcharset_property):  improve type checking, comments.
6927
6928 2000-11-28  Andy Piper  <andy@xemacs.org>
6929
6930         * redisplay-output.c (redisplay_output_subwindow): make sure we do
6931         clipped display for windows in the gutter also.
6932         (redisplay_display_boxes_in_window_p): change semantics of return
6933         codes to be more intuitive.
6934
6935         * gutter.h: declare display_boxes_in_gutter_p.
6936
6937         * gutter.c (display_boxes_in_gutter_p): new function for
6938         redisplay.
6939
6940 2000-11-22  Andy Piper  <andy@xemacs.org>
6941
6942         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
6943         autodetect domain.
6944
6945 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
6946
6947         * callproc.c (Fold_call_process_internal):
6948         * gpm.c (Freceive_gpm_event):
6949         (tty_get_foreign_selection): Might be just warning supression.
6950         * fileio.c (Fwrite_region_internal):
6951         (Fset_visited_file_modtime):
6952         * keymap.c (event_matches_key_specifier_p):
6953         Initialize GCPROed variable.
6954
6955         * menubar-x.c (command_builder_find_menu_accelerator):
6956         Initialize before use.
6957
6958 2000-11-23  Andy Piper  <andy@xemacs.org>
6959
6960         * unexcw.c (unexec): make the resulting executable executable.
6961
6962 2000-11-21  Martin Buchholz  <martin@xemacs.org>
6963
6964         * doc.c (get_doc_string):
6965         Use size_t, not int, for result of XSTRING_LENGTH.
6966
6967         * cmds.c (Fdelete_char):
6968         * cmds.c (Fpoint_at_eol):
6969         * cmds.c (Fself_insert_command):
6970         Use EMACS_INT, not int, for result of XINT.
6971         Someday, someone will want to insert more than 2**31 identical characters.
6972
6973         * cmds.c (Fdelete_char):
6974         * cmds.c (Fdelete_backward_char):
6975         * syntax.c (Fforward_word):
6976         * syntax.c (Fforward_comment):
6977         Make COUNT argument optional, for consistency with forward-char et al.
6978
6979 2000-11-22  Martin Buchholz  <martin@xemacs.org>
6980
6981         * lisp.h:
6982         * print.c (long_to_string):
6983         Return a useful value: the pointer at end of data written.
6984
6985         * doprnt.c:
6986         Use `static const char * const' for constant strings.
6987         (union printf_arg): Delete `i', `ui' members.
6988         (get_doprnt_args):
6989         (emacs_doprnt_1):
6990         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
6991         Do all printf-ing via the `l' specifier.
6992         Use EMACS_INT instead of int.
6993         Optimize.
6994
6995 2000-11-20  Didier Verna  <didier@xemacs.org>
6996
6997         * faces.c (update_face_cachel_data): don't frob the background
6998         pixmap when the window is being created. The face is needed but
6999         does not exist yet.
7000
7001 2000-11-20  Andy Piper  <andy@xemacs.org>
7002
7003         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7004         messing with a debug environment.
7005
7006 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7007
7008         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7009
7010 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7011
7012         * casetab.c (Fcase_table_p): Fix compile error and crash.
7013
7014 2000-11-18  Philip Aston  <philipa@mail.com>
7015
7016         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7017
7018 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7019
7020         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7021         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7022
7023 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7024
7025         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7026         * unexelf.c: Use HAVE_ELF_H.
7027         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7028         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7029         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7030         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7031         for testing.
7032         So this is an unexelfsgi.c from a different line of development.
7033
7034 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7035
7036         * regex.c (RE_TR_ASCII): New function.
7037         (RE_TRANSLATE): Call it.
7038
7039 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7040
7041         * buffer.h (TRT_TABLE_OF): Remove assert.
7042         (IN_TRT_TABLE_DOMAIN): Removed.
7043
7044 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7045
7046         * free-hook.c (log_gcpro):
7047         (show_gcprohist): Add support for GCPRO5.
7048
7049 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7050
7051         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7052
7053 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7054
7055         * symeval.h: Declare flush_all_buffer_local_cache.
7056
7057         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7058         (flush_buffer_local_cache): Added.
7059         (flush_all_buffer_local_cache): Added.
7060
7061         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7062
7063         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7064         (pdump_dump_data): Ditto.
7065         (pdump_reloc_one): Ditto.
7066         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7067         before dumping.
7068
7069
7070 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7071
7072         * buffer.c: Remove if 0'ed entry.
7073         * buffer.h: Rewrite TRT to use char-table.
7074         * bufslots.h: Remove mirror tables.
7075         * casetab.c: Remove mirror tables.
7076         (CASE_TABLE_P): New macro.
7077         (Fcase_table_p): Element of a case table is string or char-table.
7078         (make_mirror_trt_table): Removed.
7079         (set_case_table): Setup char-table from strings for backward
7080         compatibility.
7081         * dired.c (Fdirectory_files):
7082         * dired-msw.c: (mswindows_get_files):
7083         * lisp.h: Change prototype of re_pattern_buffer.
7084         * regex.c: (RE_TRANSLATE): New macro.
7085         (TRANSLATE_P): Ditto.
7086         Change translate to type RE_TRANSLATE_TYPE.
7087         * regex.h: Define RE_TRANSLATE_TYPE
7088         * search.c (TRANSLATE): New macro.
7089         (TRANSLATE_ASCII): New macro.
7090         Translate table is changed to Lisp_Object.
7091         (signal_failure): Inhibit return.
7092
7093 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7094
7095         * device-msw.c:
7096         * eldap.c:
7097         * event-Xt.c:
7098         * event-stream.c:
7099         * print.c:
7100         Do UNGCPRO before return.
7101
7102 2000-11-14  Martin Buchholz <martin@xemacs.org>
7103
7104         * XEmacs 21.2.37 is released.
7105
7106 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7107
7108         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7109         Add comments about discarded return value.
7110
7111 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7112
7113         * callint.c:
7114         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7115
7116 2000-10-27  Andy Piper  <andy@xemacs.org>
7117
7118         * gutter.c (Fset_default_gutter_position): default left and right
7119         gutters to visible.
7120         (calculate_gutter_size): calculate resonable heuristic for left
7121         and right gutter sizes.
7122         (specifier_vars_of_gutter): change left and right gutter sizes to
7123         autodetect.
7124         (calculate_gutter_size_from_display_lines): new function.
7125         (output_gutter): check for resizing on left and right gutters.
7126         (clear_gutter): don't special case top and left gutters.
7127         (specifier_vars_of_gutter): use new signature for
7128         set_specifier_caching.
7129
7130         * glyphs-x.c (x_redisplay_widget): spelling fix.
7131         * glyphs.c (specifier_vars_of_glyphs):
7132         * menubar.c (specifier_vars_of_menubar):
7133         * redisplay.c (specifier_vars_of_redisplay):
7134         * toolbar.c (specifier_vars_of_toolbar):
7135         * window.c (specifier_vars_of_window):
7136         * scrollbar.c (specifier_vars_of_scrollbar):
7137         (complex_vars_of_scrollbar): use new signature for
7138         set_specifier_caching.
7139
7140         * specifier.c (set_specifier_caching): include recompute flag.
7141         (recompute_one_cached_specifier_in_window): always recompute if
7142         flag set.
7143         (recompute_one_cached_specifier_in_frame): ditto.
7144
7145         * specifier.h (struct specifier_caching): add recompute flag.
7146
7147 2000-10-24  Andy Piper  <andy@xemacs.org>
7148
7149         * unexcw.c (copy_executable_and_dump_data_section): add new
7150         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7151         5.0 happy.
7152
7153 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7154
7155         * console-x.h (x_device): New member modifier_release_time.
7156         * event-Xt.c (x_handle_sticky_modifiers):
7157         Bound interval modifier keys are sticky.
7158         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7159         * events.h: extern it.
7160
7161 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7162
7163         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7164
7165 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7166
7167         * event-stream.c (execute_command_event): Preserve current_events
7168         and the like when event is misc-user-event.
7169         Inhibit quit during the call to maybe_echo_keys.
7170
7171 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7172
7173         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7174         symlink when buffer is killed.
7175         (inhibit_clash_detection): New variable.
7176
7177 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7178
7179         * console.c (Fset_input_method): Trigger redisplay on tty.
7180
7181 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7182
7183         * process.c (Fprocess_status): Revert to previous behavior:
7184         (process-status "nosuchprocess") ==> nil
7185
7186 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7187
7188         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7189         Work around another GCC 2.95.2 optimizer bug.
7190
7191 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7192
7193         * process.c (Fget_process): Use LIST_LOOP_2.
7194         (kill_buffer_processes): Use LIST_LOOP_2.
7195
7196         * minibuf.c (Fall_completions):
7197         Delete old non-functional code for FSF fourth argument.
7198
7199         * frame.c (frame_matches_frame_spec):
7200         Renamed from `frame_matches_frametype'.  Update all callers.
7201         (device_matches_device_spec):
7202         Renamed from 'device_matches_console_spec'.  Update all callers.
7203
7204         * doc.c (Fsubstitute_command_keys):
7205         Remove buffer overflow crash.  Small code cleanups.
7206
7207         * casetab.c (check_case_table): Simpler code.
7208
7209         * window.c (Freplace_buffer_in_windows):
7210         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7211         (and similar implementation) as Fdelete_windows_on.
7212         Update all callers.
7213
7214         * alloc.c (Fmake_list):
7215         * alloc.c (make_vector):
7216         * alloc.c (Fmake_vector):
7217         * alloc.c (make_bit_vector):
7218         * alloc.c (Fmake_bit_vector):
7219         * alloc.c (Fbit_vector):
7220         * alloc.c (Fmake_string):
7221         * alloc.c (Fpurecopy):
7222         * alloc.c (Fmemory_limit):
7223         * buffer.c:
7224         * buffer.c (Fget_buffer):
7225         * buffer.c (Fkill_buffer):
7226         * buffer.c (complex_vars_of_buffer):
7227         * bytecode.c (Fcompiled_function_stack_depth):
7228         * callint.c (Fprefix_numeric_value):
7229         * event-stream.c:
7230         * event-stream.c (Fread_key_sequence):
7231         * casetab.c:
7232         * casetab.c (Fcase_table_p):
7233         * casetab.c (check_case_table):
7234         * casetab.c (Fset_case_table):
7235         * casetab.c (Fset_standard_case_table):
7236         * chartab.c:
7237         * chartab.c (Fchar_table_type):
7238         * chartab.c (Freset_char_table):
7239         * chartab.c (Fget_char_table):
7240         * chartab.c (Fget_range_char_table):
7241         * chartab.c (Fput_char_table):
7242         * chartab.c (Fmap_char_table):
7243         * chartab.c (Fcategory_table_p):
7244         * chartab.c (Fcheck_category_at):
7245         * chartab.c (Fchar_in_category_p):
7246         * chartab.c (Fcategory_table):
7247         * chartab.c (Fcopy_category_table):
7248         * chartab.c (Fset_category_table):
7249         * chartab.c (Fcategory_designator_p):
7250         * chartab.c (Fcategory_table_value_p):
7251         * cmds.c (Fdelete_char):
7252         * cmds.c (Fdelete_backward_char):
7253         * cmds.c (Fself_insert_command):
7254         * cmds.c (Fself_insert_internal):
7255         * console.c (Fvalid_console_type_p):
7256         * console.c (Fcdfw_console):
7257         * console.c (Fconsole_type):
7258         * console.c (Fconsole_name):
7259         * console.c (Fconsole_device_list):
7260         * console.c (Fconsole_on_window_system_p):
7261         * data.c:
7262         * data.c (Feq):
7263         * data.c (Fold_eq):
7264         * data.c (Fsubr_interactive):
7265         * data.c (Fchar_to_int):
7266         * data.c (Fint_to_char):
7267         * data.c (Fsetcar):
7268         * data.c (Fsetcdr):
7269         * data.c (Fnumber_to_string):
7270         * data.c (Fstring_to_number):
7271         * data.c (Frem):
7272         * database.c (mark_database):
7273         * database.c (finalize_database):
7274         * database.c (Fdatabase_live_p):
7275         * database.c (Fdatabasep):
7276         * device-x.c (Fx_get_resource):
7277         * device.c (Fdfw_device):
7278         * dired.c:
7279         * dired.c (Ffile_name_completion):
7280         * dired.c (Ffile_name_all_completions):
7281         * dired.c (Fuser_name_completion):
7282         * dired.c (Fuser_name_completion_1):
7283         * dired.c (Fuser_name_all_completions):
7284         * doc.c (Fdocumentation):
7285         * doc.c (Fdocumentation_property):
7286         * doc.c (Fsubstitute_command_keys):
7287         * editfns.c:
7288         * editfns.c (Fchar_to_string):
7289         * editfns.c (Fstring_to_char):
7290         * editfns.c (Ftemp_directory):
7291         * editfns.c (Finsert_char):
7292         * editfns.c (Fbuffer_substring_no_properties):
7293         * editfns.c (Fnarrow_to_region):
7294         * editfns.c (Fchar_equal):
7295         * editfns.c (Fchar_Equal):
7296         * editfns.c (Ftranspose_regions):
7297         * emacs.c (Fdump_emacs):
7298         * eval.c (Fthrow):
7299         * eval.c (Fcommand_execute):
7300         * eval.c (Fautoload):
7301         * eval.c (Fbacktrace):
7302         * eval.c (Fbacktrace_frame):
7303         * events.c:
7304         * events.c (Fcopy_event):
7305         * events.c (Fcharacter_to_event):
7306         * events.c (Fevent_button):
7307         * events.c (Fevent_process):
7308         * extents.c:
7309         * extents.c (Fnext_extent_change):
7310         * extents.c (Fextent_property):
7311         * faces.c (Ffacep):
7312         * faces.c (Fmake_face):
7313         * file-coding.c:
7314         * file-coding.c (Fencode_shift_jis_char):
7315         * file-coding.c (Fencode_big5_char):
7316         * fileio.c (Ffile_name_directory):
7317         * fileio.c (Ffile_name_nondirectory):
7318         * fileio.c (Ffile_name_as_directory):
7319         * fileio.c (Fdirectory_file_name):
7320         * fileio.c (Ffile_truename):
7321         * fileio.c (Fsubstitute_in_file_name):
7322         * fileio.c (Ffile_modes):
7323         * fileio.c (Fset_file_modes):
7324         * fileio.c (Fset_default_file_modes):
7325         * fileio.c (Fverify_visited_file_modtime):
7326         * floatfns.c (Facos):
7327         * floatfns.c (Fasin):
7328         * floatfns.c (Fatan):
7329         * floatfns.c (Fcos):
7330         * floatfns.c (Fsin):
7331         * floatfns.c (Ftan):
7332         * floatfns.c (Fbessel_j0):
7333         * floatfns.c (Fbessel_j1):
7334         * floatfns.c (Fbessel_jn):
7335         * floatfns.c (Fbessel_y0):
7336         * floatfns.c (Fbessel_y1):
7337         * floatfns.c (Fbessel_yn):
7338         * floatfns.c (Ferf):
7339         * floatfns.c (Ferfc):
7340         * floatfns.c (Flog_gamma):
7341         * floatfns.c (Fexp):
7342         * floatfns.c (Fexpt):
7343         * floatfns.c (Flog):
7344         * floatfns.c (Flog10):
7345         * floatfns.c (Fsqrt):
7346         * floatfns.c (Fcube_root):
7347         * floatfns.c (Facosh):
7348         * floatfns.c (Fasinh):
7349         * floatfns.c (Fatanh):
7350         * floatfns.c (Fcosh):
7351         * floatfns.c (Fsinh):
7352         * floatfns.c (Ftanh):
7353         * floatfns.c (Fabs):
7354         * floatfns.c (Ffloat):
7355         * floatfns.c (Flogb):
7356         * floatfns.c (Fceiling):
7357         * floatfns.c (Ffloor):
7358         * floatfns.c (Fround):
7359         * floatfns.c (Ftruncate):
7360         * floatfns.c (Ffceiling):
7361         * floatfns.c (Fffloor):
7362         * floatfns.c (Ffround):
7363         * floatfns.c (Fftruncate):
7364         * fns.c (Fstring_equal):
7365         * fns.c (Fstring_lessp):
7366         * fns.c (concat2):
7367         * fns.c (concat3):
7368         * fns.c (vconcat2):
7369         * fns.c (vconcat3):
7370         * fns.c (Fsubstring):
7371         * fns.c (Fassoc):
7372         * fns.c (Fold_assoc):
7373         * fns.c (assoc_no_quit):
7374         * fns.c (Fassq):
7375         * fns.c (Fold_assq):
7376         * fns.c (assq_no_quit):
7377         * fns.c (Frassoc):
7378         * fns.c (Fold_rassoc):
7379         * fns.c (Frassq):
7380         * fns.c (Fold_rassq):
7381         * fns.c (rassq_no_quit):
7382         * fns.c (Fremassoc):
7383         * fns.c (remassoc_no_quit):
7384         * fns.c (Fremassq):
7385         * fns.c (remassq_no_quit):
7386         * fns.c (Fremrassoc):
7387         * fns.c (Fremrassq):
7388         * fns.c (remrassq_no_quit):
7389         * fns.c (Fsort):
7390         * fns.c (Fplist_get):
7391         * fns.c (Fplist_put):
7392         * fns.c (Fplist_remprop):
7393         * fns.c (Fplist_member):
7394         * fns.c (Flax_plist_get):
7395         * fns.c (Flax_plist_put):
7396         * fns.c (Flax_plist_remprop):
7397         * fns.c (Flax_plist_member):
7398         * fns.c (Fequal):
7399         * fns.c (Fold_equal):
7400         * fns.c (Frequire):
7401         * fns.c (Fbase64_encode_region):
7402         * fns.c (Fbase64_encode_string):
7403         * fns.c (Fbase64_decode_region):
7404         * frame.c:
7405         * frame.c (frame_matches_frame_spec):
7406         * frame.c (device_matches_device_spec):
7407         * frame.c (next_frame):
7408         * frame.c (previous_frame):
7409         * frame.c (Fnext_frame):
7410         * frame.c (Fprevious_frame):
7411         * frame.c (Fframe_property):
7412         * frame.c (Fset_frame_height):
7413         * frame.c (Fset_frame_size):
7414         * frame.h:
7415         * glyphs.c:
7416         * glyphs.c (if):
7417         * glyphs.c (decode_error_behavior_flag):
7418         * glyphs.c (Fmake_image_instance):
7419         * indent.c (Findent_to):
7420         * intl.c (Fignore_defer_gettext):
7421         * keymap.c (Fkeymapp):
7422         * keymap.c (Flookup_key):
7423         * lread.c:
7424         * lread.c (Fload_internal):
7425         * lread.c (Feval_buffer):
7426         * lread.c (Feval_region):
7427         * macros.c (Fexecute_kbd_macro):
7428         * marker.c (set_marker_internal):
7429         * marker.c (Fset_marker):
7430         * marker.c (set_marker_restricted):
7431         * marker.c (Fcopy_marker):
7432         * marker.c (noseeum_copy_marker):
7433         * menubar.c:
7434         * menubar.c (Fpopup_menu):
7435         * minibuf.c:
7436         * mule-charset.c (Fcharset_name):
7437         * mule-charset.c (Fchar_charset):
7438         * mule-charset.c (Fchar_octet):
7439         * mule-charset.c (Fsplit_char):
7440         * mule-wnnfns.c (Fwnn_open):
7441         * mule-wnnfns.c (Fwnn_dict_comment):
7442         * mule-wnnfns.c (Fwnn_quit_henkan):
7443         * mule-wnnfns.c (Fwnn_word_toroku):
7444         * mule-wnnfns.c (Fwnn_word_sakujo):
7445         * mule-wnnfns.c (Fwnn_word_use):
7446         * mule-wnnfns.c (Fwnn_hindo_set):
7447         * objects.c:
7448         * objects.c (Fmake_color_instance):
7449         * objects.c (Fmake_font_instance):
7450         * print.c (Fwrite_char):
7451         * process.c:
7452         * process.c (mark_process):
7453         * process.c (print_process):
7454         * process.c (get_process_from_usid):
7455         * process.c (Fprocessp):
7456         * process.c (Fprocess_live_p):
7457         * process.c (Fget_process):
7458         * process.c (Fget_buffer_process):
7459         * process.c (get_process):
7460         * process.c (Fprocess_id):
7461         * process.c (Fprocess_name):
7462         * process.c (Fprocess_command):
7463         * process.c (init_process_io_handles):
7464         * process.c (start_process_unwind):
7465         * process.c (Fstart_process_internal):
7466         * process.c (Fopen_multicast_group_internal):
7467         * process.c (Fset_process_window_size):
7468         * process.c (read_process_output):
7469         * process.c (send_process):
7470         * process.c (Fprocess_tty_name):
7471         * process.c (Fset_process_buffer):
7472         * process.c (Fprocess_buffer):
7473         * process.c (Fprocess_mark):
7474         * process.c (set_process_filter):
7475         * process.c (Fset_process_filter):
7476         * process.c (Fprocess_filter):
7477         * process.c (Fprocess_send_region):
7478         * process.c (Fprocess_send_string):
7479         * process.c (exec_sentinel):
7480         * process.c (Fset_process_sentinel):
7481         * process.c (Fprocess_sentinel):
7482         * process.c (status_notify):
7483         * process.c (Fprocess_status):
7484         * process.c (Fprocess_exit_status):
7485         * process.c (process_send_signal):
7486         * process.c (Fprocess_send_eof):
7487         * process.c (deactivate_process):
7488         * process.c (remove_process):
7489         * process.c (Fdelete_process):
7490         * process.c (kill_buffer_processes):
7491         * process.c (Fprocess_kill_without_query):
7492         * process.c (Fprocess_kill_without_query_p):
7493         * rangetab.c:
7494         * rangetab.c (Fget_range_table):
7495         * rangetab.c (Fput_range_table):
7496         * rangetab.c (Fremove_range_table):
7497         * rangetab.c (Fclear_range_table):
7498         * search.c:
7499         * search.c (Fskip_chars_forward):
7500         * search.c (Fskip_chars_backward):
7501         * search.c (Fskip_syntax_forward):
7502         * search.c (Fskip_syntax_backward):
7503         * search.c (search_command):
7504         * search.c (Freplace_match):
7505         * search.c (Fregexp_quote):
7506         * select.c (Fown_selection_internal):
7507         * select.c (Fselection_owner_p):
7508         * select.c (Fselection_exists_p):
7509         * select.c (Fget_selection_internal):
7510         * specifier.c:
7511         * symbols.c:
7512         * symbols.c (Fintern):
7513         * symbols.c (Fintern_soft):
7514         * symbols.c (Funintern):
7515         * symbols.c (Fapropos_internal):
7516         * symbols.c (Fset_default):
7517         * syntax.c:
7518         * syntax.c (Fsyntax_table_p):
7519         * syntax.c (Fcopy_syntax_table):
7520         * syntax.c (Fset_syntax_table):
7521         * syntax.c (Fchar_syntax):
7522         * syntax.c (syntax_match):
7523         * syntax.c (Fmatching_paren):
7524         * syntax.c (Fforward_word):
7525         * syntax.c (scan_lists):
7526         * syntax.c (Fscan_lists):
7527         * syntax.c (Fscan_sexps):
7528         * syntax.c (Fparse_partial_sexp):
7529         * toolbar.c (Fcheck_toolbar_button_syntax):
7530         * tooltalk.doc:
7531         * window.c:
7532         * window.c (Fwindowp):
7533         * window.c (Fwindow_live_p):
7534         * window.c (Fwindow_point):
7535         * window.c (Fdelete_window):
7536         * window.c (Fnext_window):
7537         * window.c (Fprevious_window):
7538         * window.c (Fother_window):
7539         * window.c (window_loop):
7540         * window.c (Fget_lru_window):
7541         * window.c (Fsplit_window):
7542         * window.c (Fenlarge_window):
7543         * window.c (Fenlarge_window_pixels):
7544         * window.c (Fshrink_window):
7545         * window.c (Fshrink_window_pixels):
7546         * window.c (change_window_height):
7547         * window.c (Fwindow_configuration_p):
7548         * window.c (Fcurrent_window_configuration):
7549         * window.h:
7550         * casefiddle.c (casify_object):
7551         * casefiddle.c (Fupcase):
7552         * casefiddle.c (Fdowncase):
7553         * casefiddle.c (Fcapitalize):
7554         * casefiddle.c (Fupcase_initials):
7555         * casefiddle.c (casify_region_internal):
7556         * casefiddle.c (casify_region):
7557         * casefiddle.c (Fupcase_region):
7558         * casefiddle.c (Fdowncase_region):
7559         * casefiddle.c (Fcapitalize_region):
7560         * casefiddle.c (Fupcase_initials_region):
7561         * casefiddle.c (Fupcase_word):
7562         * casefiddle.c (Fdowncase_word):
7563         * casefiddle.c (Fcapitalize_word):
7564         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
7565         Replace 0 with '\0' when working with bytes.
7566         Replace initial "(" with "\(" in docstrings.
7567
7568 2000-11-01  Martin Buchholz  <martin@xemacs.org>
7569
7570         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
7571
7572         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
7573
7574 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7575
7576         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
7577
7578 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7579
7580         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
7581         correctly.
7582
7583 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7584
7585         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
7586         (inhibit_auto_save_session): New variable.
7587         (vars_of_fileio): Declare and initialize them.
7588         * fileio.c (Fdo_auto_save): Don't create session file if
7589         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
7590
7591 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7592
7593         * sgiplay.c (play_internal): C++ compilability.
7594         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
7595         * callproc.c (Fold_call_process_internal):
7596         Remove unused vars `env', `first'.
7597         * scrollbar.c (update_scrollbar_instance):
7598         #### unused var `current_window'.
7599         * redisplay-tty.c: Put currently unused vars insert_mode_on,
7600         etc. within #ifdef NOT_YET.
7601         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
7602         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
7603         * specifier.c (specifier_instance):
7604         #### unused var `tag'.
7605         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
7606
7607 2000-10-27  Martin Buchholz  <martin@xemacs.org>
7608
7609         * fns.c (Fbutlast):
7610         * fns.c (list_sort):
7611         * fns.c (Ffillarray):
7612         * fns.c (bytecode_nconc2):
7613         * fns.c (Fnconc):
7614         * fns.c (mapcar1):
7615         * fns.c (Fmapconcat):
7616         Be pedantically 64-bit correct.  For the time when someone will
7617         want to have a list with length > 2**32.
7618
7619         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7620         Work around MIPSpro compiler bug.
7621
7622         * process-unix.c (unix_kill_child_process): Add snarky comment.
7623         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
7624
7625         * config.h.in: Oops, _getpt ==> _getpty
7626
7627 2000-10-26  Martin Buchholz  <martin@xemacs.org>
7628
7629         * config.h.in:
7630         * regex.c:
7631         Use void*, not char*, as return type of alloca().
7632
7633         * alloc.c (free_marker): Side effect inside assert expression!
7634
7635 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
7636
7637         * mule-charset.c (Fset_charset_ccl_program): To check
7638         if the given ccl program is valid, use setup_ccl_program()
7639         instead of CHECK_VECTOR().
7640         (Fmake_charset): Likewise.
7641
7642 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
7643
7644         * faces.c (get_extent_fragment_face_cache_index):
7645         Fix cachel.merged_faces memory leak.
7646
7647 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
7648
7649         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
7650         Reset MSB of octets obtained by DECODE_SJIS
7651         because of the incompatibility with Emacs.
7652         (ccl_driver)<CCL_ENCODE_SJIS>:
7653         Set MSB of octets before passing them to
7654         ENCODE_SJIS because of the incompatibility
7655         with Emacs.
7656
7657 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
7658
7659         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
7660         (DECLARE_LRECORD): Undo the last change.
7661         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
7662
7663 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
7664
7665         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
7666         the implementation to lrecord_implementations_table.
7667
7668 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
7669
7670         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
7671         initial value of `lrecord_type_##c_name' and
7672         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
7673         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
7674         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
7675         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
7676         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
7677
7678 2000-10-17  Martin Buchholz  <martin@xemacs.org>
7679
7680         * miscplay.c (sndcnv8S_2mono):
7681         (sndcnv2monounsigned):
7682         (sndcnvULaw_2linear):
7683         (sndcnv16swap):
7684         Remove implementation-defined behavior.
7685
7686 2000-10-12  Martin Buchholz  <martin@xemacs.org>
7687
7688         * input-method-xlib.c: Warning suppression.
7689
7690 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
7691
7692         * mule-ccl.c: Sync up with Emacs 21.0.90.
7693         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
7694         Do nothing.
7695         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
7696         Likewise.
7697         (ccl_driver[WriteMultibyteChar2]): Bug fix.
7698         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
7699         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
7700         leading char belongs to official 2-dimensional charset.
7701         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
7702         write the given character as is.  Otherwise,
7703         if it is a multibyte char, convert it by
7704         non_ascii_set_charptr_emchar, then write it.
7705         (CCL_WRITE_STRING): Likewise.
7706         (ccl_get_compiled_code): New function.
7707         (setup_ccl_program): When ccl_prog is invalid,
7708         return -1.
7709         (Fregister_code_conversion_map): New function.
7710         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
7711
7712         * mule-ccl.h: Sync up with Emacs 21.0.90.
7713         (Fregister_ccl_program): export it.
7714
7715         * redisplay-msw.c (separate_textual_runs):
7716         If ccl program is not valid, don't do ccl conversion.
7717
7718         * redisplay-x.c (separate_textual_runs): Ditto.
7719
7720         * file-coding.c (Fmake_coding_system):
7721         When type is ccl and value is vector, register it
7722         with a proper symbol.  And checks whether the
7723         given ccl program is valid.
7724         (mule_decode): When calling ccl_driver, if src indicates
7725         NULL pointer, set an empty string instead.
7726         (mule_encode): Likewise.
7727
7728 2000-10-11  Martin Buchholz  <martin@xemacs.org>
7729
7730         The following large batch of changes gets us back to a state of
7731         C++ compilability.  Extbyte is now a char, which means that
7732         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
7733
7734         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
7735
7736         * sound.c (Fplay_sound): Type correctness.
7737
7738         * select-x.c (hack_motif_clipboard_selection): Type correctness.
7739         (x_get_window_property): Type correctness.
7740         (receive_incremental_selection): unsigned char ==> Extbyte
7741         (selection_data_to_lisp_data): unsigned char ==> Extbyte
7742         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
7743         (Fx_store_cutbuffer_internal): Type correctness.
7744
7745         * process-unix.c (try_to_initialize_subtty): Type correctness.
7746
7747         * objects-x.c (x_print_color_instance): Type correctness.
7748         (x_print_font_instance): Type correctness.
7749         (x_list_fonts): SExtbyte ==> Extbyte.
7750         (valid_x_font_name_p): SExtbyte ==> Extbyte.
7751         (x_find_charset_font): SExtbyte ==> Extbyte.
7752         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
7753         (truename_via_XListFonts): SExtbyte ==> Extbyte.
7754         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
7755         Use bufbyte_strcmp.
7756
7757         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
7758         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
7759         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
7760         (BYTE_C0_P): Use bit ops for char-signedness safety.
7761         (BYTE_C1_P): Use bit ops for char-signedness safety.
7762         (CHARSET_BY_LEADING_BYTE):
7763         (CHARSET_BY_ATTRIBUTES):
7764         Always use inline function.
7765         Use type_checking_assert.
7766         Hide chlook.
7767
7768         * mule-charset.c (non_ascii_charptr_copy_char):
7769         Modify to work with both ASCII and non-ASCII characters.
7770         Improve docs and variable names.
7771         Replace over-clever fall-through switch with a simple loop.
7772         (Lstream_get_emchar_1):
7773         Replace over-clever fall-through switch with a simple loop.
7774
7775         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7776         Warning suppression.
7777
7778         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
7779         the return value of Lstream_getc, which could be EOF as well.
7780
7781         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
7782
7783         * lisp.h: Make Extbyte a char, not unsigned char, so that external
7784         APIs can be used on Extbytes without casts.  Risky!
7785         (SExtbyte): Remove.
7786         (UExtbyte): Remove.
7787
7788         * input-method-xlib.c (XIM_init_device):
7789         Use Xlib.h instead of IntrinsicP.h.
7790         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
7791         which will break in X11R7.
7792         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
7793         to call XRegisterIMInstantiateCallback with correct types.
7794
7795         * gui-x.c (button_item_to_widget_value): Type correctness.
7796
7797         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
7798
7799         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
7800         (xbm_instantiate_1): Type correctness.
7801         (BUILD_GLYPH_INST):  Type correctness.
7802
7803         * fileio.c (Fsubstitute_in_file_name): Type correctness.
7804
7805         * file-coding.c:
7806         (decode_coding_sjis):
7807         (decode_coding_big5):
7808         (decode_coding_ucs4):
7809         (decode_coding_utf8):
7810         (decode_coding_iso2022):
7811         (decode_coding_no_conversion):
7812         Make all decoding functions take an Extbyte * arg.
7813         (encode_coding_sjis):
7814         (encode_coding_big5):
7815         (encode_coding_ucs4):
7816         (encode_coding_utf8):
7817         (encode_coding_iso2022):
7818         (encode_coding_no_conversion):
7819         Make all encoding functions take a Bufbyte * arg.
7820         Use size_t instead of unsigned int for memory sizes.
7821         Only cast to unsigned char whenever dereferencing Extbyte *.
7822
7823         * doc.c (unparesseuxify_doc_string): Type correctness.
7824
7825         * console-x.c (split_up_display_spec):
7826         Rewrite without using details of internal string representation.
7827         (x_semi_canonicalize_device_connection): Type correctness.
7828
7829         * config.h.in:
7830         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
7831         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
7832         (HAVE_XFREE386): Removed.
7833
7834         * buffer.h (DEC_CHARPTR): `const' correctness.
7835         (bufbyte_strcmp): New.
7836         (bufbyte_memcmp): New.
7837
7838         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
7839
7840         * buffer.h (XCHAR_OR_CHAR_INT):
7841         Always use inline function.
7842         Remove redundant type checking assert() - XINT will abort quite nicely.
7843
7844 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7845
7846         * search.c (Freplace_match): Set newtext to an empty string.
7847
7848 2000-10-10  Martin Buchholz  <martin@xemacs.org>
7849
7850         * s/decosf1-3.h: Remove #include of stropts.h
7851         * s/ptx.h: Remove #include of stropts.h
7852         * s/usg5-4.h: Remove #include of stropts.h
7853         * sysproc.h:
7854         * config.h.in:
7855         Use stropts.h, not sys/stropts.h.
7856         Use strtio.h, not sys/strtio.h.
7857
7858 2000-10-04  Martin Buchholz <martin@xemacs.org>
7859
7860         * XEmacs 21.2.36 is released.
7861
7862 2000-09-21  Andy Piper  <andy@xemacs.org>
7863
7864         * glyphs-x.c (x_redisplay_widget): make sure non-structural
7865         changes still involve copying the widget tree.
7866         (update_widget_face): make sure a change is register in the widget
7867         tree. Call update_tab_widget_face appropriately.
7868         (update_tab_widget_face): ditto.
7869         (x_tab_control_redisplay): make sure non-structural changes still
7870         involve copying the widget tree.
7871
7872 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
7873
7874         * lread.c (locate_file): Check the path element is non-nil.
7875
7876 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7877
7878         * lisp.h: Warning suppression for SCO compilers.
7879
7880         * redisplay-tty.c (reset_tty_modes): Fix crash.
7881         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
7882
7883 2000-09-27  Martin Buchholz  <martin@xemacs.org>
7884
7885         Big signal/process handling overhaul.  Bugs fixed:
7886         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
7887         M-x comint-kill-subjob should work for both values nil and t of
7888         process-connection-type. It was broken on most platforms.
7889         Testing on Irix and Cygwin still needed.  Other plaforms tested.
7890         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
7891         * process-unix.c: Signal/Process handling overhaul.
7892         (pty_name): make 64 bytes, as `expect' does, for paranoia.
7893         (allocate_pty): Use all available modern methods of allocating
7894         ptys, falling back to old style BSD allocation as a last resort.
7895         Use allegedly more secure Unix98 pty allocation by default.
7896         (allocate_pty_the_old_fashioned_way): New. the last resort.
7897         (unix_create_process): Push ptem, ldterm, ttcompat where
7898         available.  Autoconfiscate.
7899         (try_to_initialize_subtty): New.
7900         (unix_kill_child_process): Proper signal handling for ptys on most
7901         platforms, using special knowledge of AIX, BSD, etc...
7902         (unix_create_process): Always disconnect_controlling_terminal() for
7903         subprocesses, whether using ptys or not.
7904         * process.h: Remove old getpt-dependent PTY code.
7905         * process.c (Fprocess_send_signal): New, obvious generic function.
7906         (decode_signal): New.
7907         (Finterrupt_process):
7908         (Fkill_process):
7909         (Fquit_process):
7910         (Fstop_process):
7911         (Fcontinue_process):
7912         (Fsignal_process): Use decode_signal.
7913         (process_send_signal):
7914         Many docstring corrections.
7915         Allow any signal to be sent to a process object.
7916         * config.h.in: Add symbols for big signal/process overhaul.
7917         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
7918         * sysproc.h: Include process-related headers, where available:
7919         sys/stropts.h sys/strtio.h pty.h libutil.h
7920         * s/irix4-0.h:
7921         * s/irix5-0.h:
7922         * s/cygwin32.h:
7923         * s/gnu.h:
7924         * s/linux.h:
7925         * s/hpux.h:
7926         * s/aix3-1.h:
7927         Remove old S&M pty stuff.
7928         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
7929         * systty.h: Simplify cpp hackery, improve comments.
7930         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
7931
7932         * editfns.c (Fformat_time_string):
7933         Be a little more paranoid with the return value of ctime.
7934
7935         * fileio.c (check_executable):
7936         (check_writable):
7937         Use symbolic constants X_OK, W_OK.
7938
7939         * console-x.c (split_up_display_spec): Fix a warning.
7940
7941 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7942
7943         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
7944         * ntproc.c (sys_spawnve): make_string ==> build_string
7945         Small clarity improvements.
7946
7947 2000-09-30  Martin Buchholz  <martin@xemacs.org>
7948
7949         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
7950
7951         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
7952
7953         * config.h.in (HAVE_STRCASECMP): Remove.
7954
7955 2000-09-29  Martin Buchholz  <martin@xemacs.org>
7956
7957         * redisplay-output.c (redisplay_output_pixmap):
7958         Cleaner and possibly more 64-bit correct code.
7959
7960 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7961
7962         * dumper.c (pdump_load_finish): move restoration of
7963         `noninteractive1' to emacs.c (main_1).
7964         * emacs.c (main_1): protect LISP-visible command-line flags
7965         from pdump_load().
7966
7967 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
7968
7969         * Makefile.in.in (versionclean):  Use EXE_TARGET and
7970         DUMP_TARGET instead of literal program names.
7971
7972 2000-09-20  Martin Buchholz  <martin@xemacs.org>
7973
7974         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
7975
7976 2000-09-19  Martin Buchholz  <martin@xemacs.org>
7977
7978         * *: Spelling mega-patch
7979
7980 2000-09-19  Martin Buchholz  <martin@xemacs.org>
7981
7982         * fns.c (bad_bad_turtle):
7983         Delete "Eek!" comment, since we fixed the bug to which it refers.
7984
7985 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7986
7987         * alloca.c: Replace REGISTER with register.
7988
7989 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
7990
7991         * file-coding.c (ucs_to_char): Use countof.
7992
7993 2000-09-16  Martin Buchholz  <martin@xemacs.org>
7994
7995         * file-coding.c: (ucs_to_char):
7996         (complex_vars_of_file_coding):
7997         Use countof instead of sizeof.
7998         Use CHECK_NATNUM instead of CHECK_INT.
7999
8000         * sysdep.c (strcasecmp): Remove.
8001         * device-x.c (ascii_strcasecmp): New.
8002         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8003         Avoid using non-standard non-portable strcasecmp.
8004
8005 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8006
8007         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8008         * font-lock.c: remove reference to emacsfns.h.
8009         * search.c: small doc improvement.
8010         * event-Xt.c: correct file names in comments.
8011         * console-x.h Correct file names in comments.
8012         * frame.c: Correct file names in comments.
8013         * event-stream.c: remove Energize from comments.
8014
8015 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8016
8017         * symeval.h (DEFERROR_STANDARD):
8018         (DEFERROR):
8019         (DEFSYMBOL):
8020         (DEFSYMBOL_NO_DUMP):
8021         (DEFSYMBOL_MULTIWORD_PREDICATE):
8022         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8023         (DEFKEYWORD):
8024         The construct &##name is not sensible C.
8025         Fixes compilation errors with Unixware native compiler.
8026
8027 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8028
8029         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8030         (next_frame_internal): Removed.  We now just have next_frame.
8031         (next_frame):
8032         Write a simpler and cleaner one-pass algorithm.
8033         Remove called_from_delete_device arg and #ifdefed-out code.
8034         (previous_frame):
8035         Renamed from prev_frame.  Update callers.
8036         Cleaned up to have an analogous implementation to next_frame.
8037         (other_visible_frames_internal): Remove the
8038         called_from_delete_device bogus arg, and hence, remove this
8039         function.  Just use other_visible_frames().
8040
8041         * window.c (Fnext_window):
8042         Prettify docstring.
8043         Since next_frame() is guaranteed to return a frame, remove check
8044         for nil inserted in previous patch.
8045         (Fprevious_window):
8046         Prettify docstring.
8047         Make code look more like Fnext_window.
8048         (window_loop):
8049         Respect the `console' arg when iterating through windows.
8050         Fixes bug: (get-buffer-window buffer t device) not respecting
8051         the `device' arg.
8052         This function needs more work, as others have pointed out.
8053
8054         * frame.h: Rename prev_frame to previous_frame.
8055         device_matches_console_spec no longer takes a `frame' arg.
8056
8057         * s/gnu.h:
8058         * s/linux.h:
8059         * s/hpux.h:
8060         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8061         From "Golubev I. N." <gin@mo.msk.ru>.
8062
8063         * make-src-depend: Fix typo.
8064
8065 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8066
8067         * window.c (Fnext_window):
8068         next_frame() might return nil, not a frame.
8069         Fixes this crash:
8070         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8071
8072         * frame.c (next_frame_internal):
8073         We've passed a frame if we've passed its device.
8074         Fixes this crash:
8075         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8076 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8077
8078 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8079
8080         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8081         Allow option to suppress accelerators in menu/dialog items.
8082         (populate_or_checksum_helper): Pass dialog title through above.
8083
8084 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8085
8086         * event-msw.c (mswindows_key_to_emacs_keysym):
8087         Add "pause" key, fix "menu" key.
8088
8089 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8090
8091         * eval.c (reinit_vars_of_eval):
8092         Increase max_lisp_eval_depth to 1000,
8093         required for thai-xtis.el to byte-compile under some circumstances.
8094
8095 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8096
8097         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8098         From Kenichi Handa.
8099
8100 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8101
8102         * make-src-depend: Make the generated Makefiles smaller.
8103
8104         * s/hpux.h (SETUP_SLAVE_PTY):
8105         Provide a %d in the format string for the errno argument.
8106
8107         * editfns.c (Ftemp_directory):
8108         Warning fix.
8109         Avoid buffer overrun on very long file name.
8110
8111         * input-method-xlib.c (XIM_init_device):
8112         6th parameter of XRegisterIMInstantiateCallback has different
8113         pointer types on different OSes, so simply cast to (void *).
8114
8115         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8116
8117         * sysdll.c (dll_open):
8118         shl_load will hang hard if passed a NULL filename.
8119         Simply return NULL for compatibility with dlopen.
8120         * sysdll.c: Conform to XEmacs coding standards.
8121
8122         * sysdep.c (get_pty_max_bytes):
8123         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8124
8125 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8126
8127         * tooltalk.c: Add #include <syssignal.h>
8128
8129 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8130
8131         * s/hpux.h: Don't use undefined function sigunblock().
8132
8133 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8134
8135         * config.h.in: Add HAVE_BALLOON_HELP.
8136         * emacs.c: Use HAVE_BALLOON_HELP.
8137         * Makefile.in.in (x_objs):
8138         Make Balloon Help conditional on finding shape.h.
8139
8140 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8141
8142         * syntax.c (regex_emacs_buffer_p): New variable.
8143         * syntax.h (regex_emacs_buffer_p): extern.
8144         * search.c (looking_at_1):
8145         (string_match_1):
8146         (fast_string_match):
8147         (search_buffer): Set regex_emacs_buffer_p.
8148         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8149         when before_dot, at_dot, after_dot.
8150
8151 2000-08-23  Andy Piper  <andy@xemacs.org>
8152
8153         * gui-x.c (popup_selection_callback): Only set action_occurred
8154         when we really have an image instance.
8155         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8156
8157 2000-08-23  Andy Piper  <andy@xemacs.org>
8158
8159         * gui-msw.c (mswindows_handle_gui_wm_command): set
8160         action_occurred.
8161         * gui-x.c (popup_selection_callback): ditto.
8162
8163         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8164         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8165         (struct Lisp_Image_Instance): add action_occurred flag.
8166
8167         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8168         (image_instance_changed): ditto.
8169         (reset_frame_subwindow_instance_cache): only unmap windows - do
8170         not remove them from the cache also.
8171
8172         * glyphs-widget.c (tab_control_update): better debug.
8173         (progress_gauge_update): ditto.
8174         (layout_update): ditto.
8175         (layout_instantiate): ditto.
8176         (tab_control_order_only_changed): cope with null pending items.
8177
8178         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8179         debug. Force selection of an item when an action occurred. Cope
8180         with null pending_items.
8181         (mswindows_progress_gauge_redisplay): better debug.
8182         * glyphs-x.c (x_tab_control_redisplay): ditto.
8183
8184         * redisplay.c (redisplay_frame): reset the frame cache if the
8185         frame is garbaged.
8186
8187         * window.c (Fset_window_configuration): potentially re-enable
8188         frame cache reset.
8189         (window_unmap_subwindows): need to finalize instances here since
8190         it is only used in mark_window_as_deleted.
8191
8192 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8193
8194         * nas.c (SndOpenDataForReading):
8195         nas.c (WaveOpenDataForReading):
8196         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8197         Somehow escaped from the 2000-08-14 patch.
8198
8199 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8200
8201         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8202         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8203
8204 2000-08-21  Andy Piper  <andy@xemacs.org>
8205
8206         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8207         window if it is not already displayed.
8208
8209         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8210         it is not already displayed.
8211
8212         * window.c (Fset_window_configuration): don't reset the frame
8213         cache.
8214
8215         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8216         instances from the frame cache if we are actually finalizing them.
8217         (reset_frame_subwindow_instance_cache): reset frame cache only
8218         after unmapping everything.
8219         (map_subwindow): set displayed flag after mapping.
8220
8221 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8222
8223         * data.c (indirect_function):
8224         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8225
8226         * eval.c (function_argcount):
8227         Use original function when signaling errors.
8228
8229 2000-08-18  Andy Piper  <andy@xemacs.org>
8230
8231         * frame.c (delete_frame_internal): use new
8232         free_frame_subwindow_instances name.
8233
8234         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8235         (add_tab_item): make return type correct.
8236         (mswindows_tab_control_instantiate): assert index of tab.
8237         (mswindows_tab_control_redisplay): Re-code to use
8238         gui_item_equal_sans_selected and gui_item_list_find_selected.
8239
8240         * glyphs-widget.c (tab_control_update): Correct comment.
8241
8242         * window.c (window_unmap_subwindows): use new
8243         unmap_subwindow_instance_cache_mapper.
8244         (window_unmap_subwindows_cache_mapper): deleted.
8245         (Fset_window_configuration): comparisons should now be with
8246         EQ. Preserve the subwindow instance cache across configuration
8247         changes.
8248         (allocate_window): ditto.
8249         (make_dummy_parent): ditto.
8250
8251         * glyphs.c (free_frame_subwindow_instances): rename from
8252         free_frame_subwindow_instance_cache. finalize all instances rather
8253         than just those in the display cache.
8254         (finalize_all_subwindow_instances): walk windows unmapping and
8255         finalizing subwindows.
8256         (unmap_subwindow_instance_cache_mapper): moved from
8257         window.c. Allow finalization as well as unmapping.
8258
8259         * gui.c (gui_item_list_find_selected): new function.
8260
8261         * gui.h (gui_item_list_find_selected): declare.
8262
8263         * glyphs-x.c (x_tab_control_redisplay): pick tab
8264         explicitly. Re-code to use gui_item_equal_sans_selected and
8265         gui_item_list_find_selected.
8266
8267         * glyphs-x.h: add lwlib-utils.h
8268
8269         * buffer.c (Frecord_buffer): undo previous change.
8270
8271 2000-08-09  Vin Shelton  <acs@xemacs.org>
8272
8273         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8274         possible.  Create temporary files more securely.  The patch was
8275         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8276         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8277         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8278         for details.
8279
8280 2000-08-07  Ben Wing  <ben@xemacs.org>
8281
8282         * getloadavg.c: remove duplicate (and windows-breaking)
8283         includes of fcntl.h and sys/file.h.
8284
8285         * nt.c: remove duplicate getloadavg() definition.
8286
8287         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8288         encodings.
8289
8290 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8291
8292         * eval.c (function_argcount): If function needs to be autoloaded
8293         actually use the loaded definition.
8294         GCPRO function.
8295
8296 2000-08-05  Ben Wing  <ben@xemacs.org>
8297
8298         * getloadavg.c: add prototype for getloadavg().  remove
8299         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8300         of the code).  remove duplicate header includes.
8301
8302         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8303
8304         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8305         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8306         useful load average.
8307
8308         * alloc.c (reinit_alloc_once_early): removed references to
8309         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8310         the lisp vars are the only things referencing the malloc_sbrk_*
8311         vars, and they were already if 0'd out.  these vars only exist
8312         in the older malloc.c, which is basically unused, and they're
8313         only for informational purposes.
8314
8315         * m\*.h: removed useless VIRT_ADDR_VARIES.
8316
8317         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8318
8319 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8320
8321         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8322         color if the image is a mono pixmap.
8323
8324 2000-07-30  Ben Wing  <ben@xemacs.org>
8325
8326         * Makefile.in.in (release):
8327         Remove stray @.
8328
8329         * buffer.c (directory_is_current_directory):
8330         * dired-msw.c (mswindows_get_files):
8331         * dired.c:
8332         * dired.c (Fdirectory_files):
8333         * dired.c (file_name_completion_stat):
8334         * dired.c (Ffile_attributes):
8335         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8336         preprocessor tricks, to avoid problems on some machines
8337         (e.g. SCO).
8338
8339         * callproc.c (egetenv): GC docs.
8340
8341         * console-msw.h:
8342         * console-msw.h (struct mswindows_dialog_id):
8343         * lrecord.h (lrecord_type):
8344         New object for use with MSW dialogs.
8345
8346         * console.h (struct console_methods):
8347         New enable/disable frame methods, for proper modal dialogs.
8348
8349         * device-msw.c (msprinter_default_printer): Fix to follow
8350         proper Mule conventions.
8351
8352         * device-msw.c:
8353         * device-msw.c (signal_open_printer_error):
8354         * device-msw.c (msprinter_init_device):
8355         * device-msw.c (ensure_not_printing):
8356         * device-msw.c (plist_get_margin):
8357         * device-msw.c (Fmsprinter_select_settings):
8358         * device-msw.c (finalize_devmode):
8359         * device-msw.c (Fmsprinter_settings_despecialize):
8360         * device-msw.c (signal_enum_priner_error):
8361         * extents.c (decode_extent):
8362         * extents.c (decode_map_extents_flags):
8363         * extents.c (decode_extent_at_flag):
8364         * extents.c (Fextent_at):
8365         * extents.c (Fextents_at):
8366         * extents.c (symbol_to_glyph_layout):
8367         [[[[2]]]] Use structured errors.
8368
8369         * dialog-msw.c:
8370         * dialog-msw.c (mswindows_is_dialog_msg):
8371         * dialog-msw.c (mark_mswindows_dialog_id):
8372         * dialog-msw.c (dialog_proc):
8373         * dialog-msw.c (handle_question_dialog_box):
8374         * dialog-msw.c (syms_of_dialog_mswindows):
8375         Define new object to clean up marking; use it as a dialog identifier.
8376         Call new delete-dialog-box-hook.
8377
8378         * dialog-x.c (dbox_selection_callback):
8379         * dialog-x.c (dbox_descriptor_to_widget_value):
8380         * dialog-x.c (x_make_dialog_box_internal):
8381         Call new delete-dialog-box-hook.
8382         Return an id.
8383
8384         * dialog.c:
8385         * dialog.c (syms_of_dialog):
8386         * dialog.c (vars_of_dialog):
8387         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
8388
8389         * eval.c:
8390         * eval.c (signal_call_debugger):
8391         when noninteractive, output stack traces on the console instead
8392         of in a (never-seen) buffer.
8393
8394         * eval.c (signal_type_error):
8395         * eval.c (invalid_argument_2):
8396         * lisp.h:
8397         new funs for use w/structured errors.
8398
8399         * event-Xt.c:
8400         * event-Xt.c (x_to_emacs_keysym):
8401         * event-Xt.c (describe_event):
8402         * event-Xt.c (emacs_Xt_event_handler):
8403         * event-Xt.c (vars_of_event_Xt):
8404         * event-msw.c:
8405         * event-msw.c (mswindows_wnd_proc):
8406         * event-msw.c (vars_of_event_mswindows):
8407         rename {x,mswindows}-debug-events to debug-{}-events for
8408         consistency with other debug-foo variables.
8409
8410         * event-stream.c:
8411         document next-event more clearly.
8412
8413         * fileio.c (Ffile_name_directory):
8414         * fileio.c (Ffile_name_nondirectory):
8415         * fileio.c (Funhandled_file_name_directory):
8416         * fileio.c (file_name_as_directory):
8417         * fileio.c (Ffile_name_as_directory):
8418         * fileio.c (directory_file_name):
8419         * fileio.c (Fdirectory_file_name):
8420         * fileio.c (Fmake_temp_name):
8421         * fileio.c (Ffile_truename):
8422         * fileio.c (Fsubstitute_in_file_name):
8423         * fileio.c (expand_and_dir_to_file):
8424         * fileio.c (barf_or_query_if_file_exists):
8425         * fileio.c (check_executable):
8426         * fileio.c (Ffile_exists_p):
8427         * fileio.c (Ffile_writable_p):
8428         * fileio.c (Ffile_directory_p):
8429         * fileio.c (Ffile_regular_p):
8430         * fileio.c (Ffile_modes):
8431         * fileio.c (Ffile_newer_than_file_p):
8432         * fileio.c (Fverify_visited_file_modtime):
8433         * fileio.c (Fset_visited_file_modtime):
8434         * fileio.c (auto_save_1):
8435         (1). (2).
8436         fix up gcpro's.
8437
8438         * frame-msw.c:
8439         * frame-msw.c (mswindows_init_frame_1):
8440         * frame-msw.c (mswindows_enable_frame):
8441         * frame-msw.c (error_frame_unsizable):
8442         * frame-msw.c (msprinter_init_frame_1):
8443         * frame-msw.c (msprinter_init_frame_3):
8444         * frame-msw.c (console_type_create_frame_mswindows):
8445         (2).
8446         implement new enable/disable frame methods.
8447
8448         * frame-x.c:
8449         * frame-x.c (x_enable_frame):
8450         * frame-x.c (console_type_create_frame_x):
8451         implement new enable/disable frame methods.
8452
8453         * frame.c:
8454         * frame.c (Fdisable_frame):
8455         * frame.c (syms_of_frame):
8456         * frame.h (struct frame):
8457         implement new enable/disable frame methods/functions.
8458
8459         * general-slots.h:
8460         add initial-focus.
8461
8462         * glyphs-msw.c (mswindows_widget_instantiate):
8463         comment that initial-focus should be implemented.
8464
8465         * glyphs-widget.c:
8466         * glyphs-widget.c (check_valid_instantiator):
8467         * glyphs-widget.c (check_valid_orientation):
8468         * glyphs-widget.c (check_valid_tab_orientation):
8469         * glyphs-widget.c (check_valid_justification):
8470         * glyphs-widget.c (check_valid_border):
8471         * glyphs-widget.c (check_valid_callback):
8472         * glyphs-widget.c (check_valid_int_or_function):
8473         * glyphs-widget.c (check_valid_string_or_vector):
8474         * glyphs-widget.c (check_valid_item_list_1):
8475         * glyphs-widget.c (widget_validate):
8476         * glyphs-widget.c (combo_box_validate):
8477         * glyphs-widget.c (widget_instantiate):
8478         * glyphs-widget.c (syms_of_glyphs_widget):
8479         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
8480         * glyphs-widget.c (image_instantiator_combo_box):
8481         * glyphs-widget.c (image_instantiator_scrollbar):
8482         * glyphs-widget.c (image_instantiator_tab_control):
8483         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
8484         (2).
8485         support (unimplemented) keyword initial-focus.
8486         reindent long macros.
8487
8488         * glyphs-x.c (x_redisplay_widget):
8489         * glyphs-x.c (x_button_instantiate):
8490         * glyphs-x.c (x_button_redisplay):
8491         * glyphs-x.c (x_progress_gauge_instantiate):
8492         * glyphs-x.c (x_edit_field_instantiate):
8493         * glyphs-x.c (x_combo_box_instantiate):
8494         * glyphs-x.c (x_tab_control_instantiate):
8495         * glyphs-x.c (x_label_instantiate):
8496         * gui-x.c:
8497         * gui-x.c (button_item_to_widget_value):
8498         * gui-x.c (gui_items_to_widget_values_1):
8499         * gui-x.c (gui_item_children_to_widget_values):
8500         * gui-x.c (gui_items_to_widget_values):
8501         * gui-x.h:
8502         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8503         add new flag to gui-parsing routines to indicate whether
8504         accelerator specs should be supported.
8505
8506         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
8507
8508         * glyphs.h (struct Lisp_Image_Instance):
8509         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
8510         add initial-focus flag.
8511
8512         * gui.c:
8513         * gui.c (syms_of_gui):
8514         * gui.c (vars_of_gui):
8515         clean up menu-no-selection-hook.
8516
8517         * gui.h:
8518         support delete-dialog-box-hook.
8519
8520         * lread.c (Fload_internal):
8521         * lread.c (locate_file_in_directory_mapper):
8522         (1).
8523
8524         * lrecord.h:
8525         * lrecord.h (struct toolbar_button):
8526         * lrecord.h (syms_of_toolbar):
8527         document how to create a new object.
8528
8529         * menubar-msw.c (mswindows_char_is_accelerator):
8530         may be called on frames w/o menus.
8531
8532         * menubar.c (vars_of_menubar):
8533         clean up :filter docs.
8534
8535         * nt.c (readdir):
8536         * ntproc.c:
8537         (1).
8538
8539         * process-nt.c:
8540         * process-nt.c (validate_signal_number):
8541         * process-nt.c (signal_cannot_launch):
8542         * process-nt.c (nt_create_process):
8543         * process-nt.c (nt_send_process):
8544         * process-nt.c (nt_kill_child_process):
8545         * process-nt.c (nt_open_network_stream):
8546         * process-nt.c (syms_of_process_nt):
8547         (2).
8548         delete quote-handling.  call new lisp code that does it better.
8549
8550         * process-unix.c (connect_to_file_descriptor):
8551         * process-unix.c (allocate_pty):
8552         * process-unix.c (unix_send_process):
8553         * process-unix.c (unix_kill_child_process):
8554         * process-unix.c (unix_open_network_stream):
8555         * process-unix.c (unix_open_multicast_group):
8556         (1). (2).
8557
8558         * process.c:
8559         * process.c (Fstart_process_internal):
8560         (2).  need to canonicalize process path even if absolute.
8561
8562         * select-msw.c (symbol_to_ms_cf):
8563         * select-msw.c (ms_cf_to_symbol):
8564         * select-msw.c (cf_is_autofreed):
8565         * select-msw.c (mswindows_destroy_selection):
8566         * select.c:
8567         * select.c (syms_of_select):
8568         * select.h:
8569         support dibv5, fix bugs. (from Mike Alexander)
8570
8571         * select.c (Fget_selection_internal):
8572         * select.c (select_convert_out):
8573
8574         * sysdep.c:
8575         * sysdep.c (xemacs_stat):
8576         renamed.
8577
8578         * sysdep.c (mkdir):
8579         * sysdep.c (rmdir):
8580         but keep original stat() here because we provide encapsulation
8581         around these funs.
8582
8583         * sysfile.h:
8584         * sysfile.h (fstat):
8585         remove stat garbage.
8586
8587         * syswindows.h:
8588         fix X/MSW conflict.
8589         don't include tchar.h.  it's inappropriate because it makes
8590         compile-time distinctions when we want runtime distinctions.
8591         (we provide our own tchar replacements)
8592
8593         * toolbar.c:
8594         use default object printer for toolbar-button.
8595
8596         * unexcw.c:
8597         make sure we don't encapsulate.
8598
8599         * window.c (vars_of_window):
8600         emphasize that temp-buffer-show-hook is obsolete.
8601
8602 2000-08-05  Martin Buchholz  <martin@xemacs.org>
8603
8604         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
8605         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
8606
8607         * events.c (Fevent_timestamp_lessp):
8608         Not 64-bit clean.  Use EMACS_INT, not int.
8609
8610 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
8611
8612         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
8613         unsigned int and changed the last enum to
8614         lrecord_type_last_built_in_type.
8615         (lrecord_implementations_table): changed prototype to know how
8616         long the array is supposed to be.
8617         (lrecord_type_count): new unsigned int to keep track of the
8618         current number of lisp lrecord types.
8619         (DEFINE_EXTERNAL_LRECORD):
8620         (DECLARE_EXTERNAL_LRECORD): Added these two for external
8621         dynamic-modules to declare new lisp types. They are the same
8622         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
8623         int for each new type, and increment lrecord_type_count by 1.
8624
8625         * alloc.c (lrecord_implementations_table): Changed to reference
8626         lrecord_type_last_built_in_type for the size of the array.
8627         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
8628
8629 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8630
8631         * glyphs.h (check_valid_item_list): Renamed from
8632         check_valid_item_list_1.
8633
8634 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
8635
8636         * select.c (Qselect_coerce): New.
8637         * select.c (Vselection_coercion_alist): New.
8638         * select.c (syms_of_select): Declare.
8639         * select.c (get-selection-internal): Use it.
8640         Use the new select-coerce functionality.
8641
8642         * select.c (select_coerce): New.
8643         * select.h (select_coerce): Declare.
8644         New function to coerce one type of data into another.
8645
8646 2000-08-03  Martin Buchholz  <martin@xemacs.org>
8647
8648         * callproc.c (Fcall_process_internal):
8649         (Fcall_process_internal):
8650         * process-unix.c (unix_create_process):
8651         Save and restore the value of errno, so that error messages are accurate.
8652
8653 2000-08-01  Martin Buchholz  <martin@xemacs.org>
8654
8655         * elhash.c (print_hash_table):
8656         Fix printing of hash tables to also use `key-and-value' instead of `t'.
8657         Prettify docstrings and indentation.
8658
8659 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8660
8661         * window.c (Fwindow_pixel_edges): Subtract frame border and
8662         gutter size.
8663
8664 2000-07-31  Andy Piper  <andy@xemacs.org>
8665
8666         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
8667         will acknowledge the change.
8668
8669         * glyphs.h: declare tab_control_order_only_changed.
8670
8671         * glyphs-x.c (x_tab_control_redisplay): use
8672         tab_control_order_only_changed.
8673
8674         * glyphs-widget.c (tab_control_order_only_changed): new function.
8675
8676         * glyphs-msw.c (mswindows_tab_control_redisplay): use
8677         tab_control_order_only_changed.
8678
8679         * gui.c (gui_item_equal_sans_selected): new function.
8680         (gui_item_equal): use it.
8681
8682         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
8683         :properties in favor of :items..
8684
8685         * glyphs-widget.c (check_valid_item_list): rename from
8686         check_valid_item_list_1.
8687         (check_valid_item_list_1): renamed.
8688         (combo_box_validate): deprecate :properties in favor of :items.
8689         (widget_instantiate): ditto.
8690         (tab_control_update): ditto.
8691         (image_instantiator_combo_box): ditto.
8692         (image_instantiator_tree_view): ditto.
8693         (image_instantiator_tab_control): ditto.
8694         (layout_post_instantiate): remove dead code.
8695
8696         * print.c (debug_print_no_newline): only write to debugger if in
8697         WIN32_NATIVE.
8698
8699         * elhash.c (Fmake_hash_table): update doc string.
8700
8701         * event-msw.c (mswindows_wnd_proc): don't allow processing of
8702         messages whilst in GC. This at least stops XEmacs crashing but has
8703         the potential for wierd behaviour.
8704
8705 2000-07-31  Martin Buchholz  <martin@xemacs.org>
8706
8707         * config.h.in:
8708         Make existence of s&m files optional.
8709
8710         * s/bsd386.h: Remove HAVE_GETLOADAVG.
8711         * s/freebsd.h: Remove HAVE_GETLOADAVG.
8712         * s/gnu.h: Remove HAVE_GETLOADAVG.
8713         * s/netbsd.h: Remove HAVE_GETLOADAVG.
8714         * s/sol2.h: Remove HAVE_GETLOADAVG.
8715         * lisp.h: Remove getloadavg() declaration.
8716         * fns.c:
8717         Include <sys/loadavg.h> if available.
8718         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
8719         * config.h.in:  Group together getloadavg()-related macros.
8720         Use only configure-time tests to detect getloadavg().
8721
8722 2000-07-30  Martin Buchholz  <martin@xemacs.org>
8723
8724         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
8725
8726 2000-07-25  Andy Piper  <andy@xemacs.org>
8727
8728         * syswindows.h: add tchar.h for native builds.
8729
8730         * frame.c (syms_of_frame): remove set-glyph-image.
8731
8732         * general-slots.h: add Qset_glyph_image.
8733
8734         * glyphs-widget.c (layout_update): add domain arg to
8735         set-glyph-image.
8736         (syms_of_glyphs_widget): remove set-glyph-image.
8737
8738 2000-07-23  Ben Wing  <ben@xemacs.org>
8739
8740         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
8741         Vpopup_frame_list.
8742
8743 2000-07-22  Andy Piper  <andy@xemacs.org>
8744
8745         * symsinit.h: add syms_of_win32().
8746
8747         * gui-msw.c (syms_of_gui_mswindows): remove
8748         Fmswindows_shell_execute.
8749         (Fmswindows_shell_execute): moved to win32.c.
8750
8751         * emacs.c (main_1): add syms_of_win32 ().
8752
8753         * win32.c (init_potentially_nonexistent_functions): rewrite in
8754         compiler-friendly terms.
8755         (Fmswindows_shell_execute): move here from gui-msw.c.
8756         (syms_of_win32): new.
8757
8758         * device-msw.c (Fmswindows_printer_list): clean up args to
8759         EnumPrinters.
8760         Don't include tchar under cygwin or mingw.
8761         (msprinter_default_printer): make cygwin-friendly.
8762
8763 2000-07-21  Andy Piper  <andy@xemacs.org>
8764
8765         * glyphs-widget.c (image_instantiator_tree_view): use tab
8766         control's update function.
8767         (layout_property): new function. Retrieve items.
8768
8769         * glyphs-msw.c (mswindows_tree_view_redisplay): new
8770         function. Re-populate the tree view from the pending items.
8771
8772         * glyphs.c (instantiate_image_instantiator): Make sure the domain
8773         is designated the parent if the domain is an image instance. This
8774         is needed so that dirtiness can be cascade up the hierarchy and
8775         thus for layout children to be redisplayed correctly.
8776         (allocate_image_instance): rename glyph -> parent.
8777
8778         * redisplay.h: change redisplay_output_layout signature.
8779
8780         * redisplay-msw.c (mswindows_output_display_block): use domain
8781         arg.
8782
8783         * redisplay-x.c (x_output_display_block): use domain arg.
8784
8785 2000-07-10  Andy Piper  <andy@xemacs.org>
8786
8787         * window.c (Fset_window_configuration): add comment.
8788
8789         * redisplay-output.c (compare_runes):
8790         (redisplay_output_subwindow): redisplay rather than update subwindow.
8791         (redisplay_output_layout): ditto.
8792
8793         * redisplay-msw.c (mswindows_frame_output_end):
8794         (mswindows_frame_output_end): make defer window pos optional.
8795
8796         * lisp.h: add Flast.
8797
8798         * glyphs.h (struct image_instantiator_methods): add dest_mask top
8799         normalize method. Change update method to be for changed
8800         instantiators. Add redisplay method. Change signature of layout
8801         method.
8802         (struct Lisp_Image_Instance): add instantiator.
8803         (IMAGE_INSTANCE_INSTANTIATOR): new.
8804         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
8805         (XIMAGE_INSTANCE_INSTANTIATOR): new.
8806         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
8807
8808         * glyphs.c:
8809         (find_instantiator_differences): new function.
8810         (Fset_instantiator_property): new convenience function.
8811         (check_image_instance_structure): strictly check for vector
8812         instantiators.
8813         (normalize_image_instantiator): make non-static.
8814         (instantiate_image_instantiator): pass on dest_mask and use new
8815         signatures for image_instance_layout and friends.
8816         (mark_image_instance): mark the instantiator. Mark the subwindow
8817         face not the widget face.
8818         (image_instance_equal): add instantiator.
8819         (image_instance_hash): ditto.
8820         (allocate_image_instance): ditto.
8821         (Fset_image_instance_property): removed.
8822         (Fimage_instance_file_name): ditto.
8823         (Fcolorize_image_instance): ditto.
8824         (image_instance_layout): add offsets to be set.
8825         (update_image_instance): new function. update an image instance
8826         from its changed instantiator.
8827         (inherit_normalize): add dest_mask.
8828         (xbm_normalize): ditto.
8829         (xface_normalize): ditto.
8830         (xpm_normalize): ditto.
8831         (text_update): set_property -> update.
8832         (image_instantiate): use the glyph identity as a hash key, not the
8833         instantiator.
8834         (glyph_width): use new image_instance_layout signature.
8835         (glyph_ascent): ditto.
8836         (glyph_descent): ditto.
8837         (glyph_height): ditto.
8838         (glyph_query_geometry): ressurrect.
8839         (glyph_layout): ditto.
8840         (redisplay_subwindow): update -> redisplay.
8841         (syms_of_glyphs): add Fset_instantiator_property.
8842         (image_instantiator_format_create): set_property -> update.
8843
8844         * glyphs-x.c:
8845         (autodetect_normalize): add dest_maks to signature.
8846         (x_redisplay_subwindow): update -> redisplay.
8847         (x_redisplay_widget): ditto.
8848         (x_button_redisplay): ditto.
8849         (x_progress_gauge_redisplay): ditto.
8850         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
8851         stacking order.
8852         (console_type_create_glyphs_x): update -> redisplay.
8853         (image_instantiator_format_create_glyphs_x): ditto.
8854
8855         * glyphs-widget.c:
8856         (check_valid_instantiator): disallow glyphs in the instantiator,
8857         they must now be vectors.
8858         (check_valid_instantiator_list): ditto.
8859         (glyph_instantiator_to_glyph): use internal symbol rather than
8860         intern.
8861         (widget_update): renamed from widget_set_property. Call cascaded
8862         update methods.
8863         (redisplay_widget): renamed from update_widget.
8864         (widget_layout): image_instance_layout now takes position as well
8865         as size.
8866         (widget_normalize): ditto.
8867         (widget_instantiate): ditto.
8868         (tab_control_query_geometry) ditto.:
8869         (tab_control_update): renamed from tab_control_set_property.
8870         (progress_gauge_update): set_property -> update.
8871         (layout_normalize): rewrite so that child instantiators are
8872         normalized also.
8873         (layout_update): new function. Create glyphs from the normalized
8874         children and cope with any other layout keywords. We do not
8875         instantiate children here that will be take care of by
8876         redisplay_output_layout.
8877         (layout_instantiate): call layout_update and not much else.
8878         (layout_post_instantiate): not sure whether this is needed
8879         anymore.
8880         (layout_query_geometry): query glyph geometry rather than
8881         image_instance geometry.
8882         (layout_layout): set offsets from pass in parameters. Use glyph
8883         geometry and layout functions rather than image instance ones.
8884         (native_layout_layout): ditto.
8885         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
8886         (image_instantiator_widget): set_property -> update.
8887         (image_instantiator_buttons): ditto.
8888         (image_instantiator_progress_guage): ditto.
8889         (image_instantiator_tab_control): ditto.
8890         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
8891         (image_instantiator_layout): add update method.
8892
8893         * glyphs-msw.c (bmp_normalize):
8894         (mswindows_resource_normalize): add dest_mask so that it can be
8895         proprogated by layout_normalize.
8896         (begin_defer_window_pos): make optional because it may not be the
8897         right thing to do and it introduces differences with X.
8898         (mswindows_unmap_subwindow): ditto.
8899         (mswindows_map_subwindow): ditto.
8900         (mswindows_redisplay_subwindow): renamed from
8901         mswindows_update_subwindow.
8902         (mswindows_redisplay_widget): ditto.
8903         (mswindows_button_redisplay): renamed from
8904         mswindows_button_update. Update is now what the instantiation
8905         function does for a changed instantiator.
8906         (mswindows_progress_gauge_instantiate): set the progress value
8907         here if appropriate.
8908         (mswindows_tab_control_redisplay): cope with re-ordering of the
8909         members of the tab widget by simply selecting the new top
8910         widget. This makes things appear ok if you click on a tab.
8911         (mswindows_combo_box_instantiate): image_instance_layout now takes
8912         position as well as size.
8913         (mswindows_progress_gauge_redisplay): renamed from
8914         mswindows_progress_gauge_update.
8915         (console_type_create_glyphs_mswindows): fix update -> redisplay.
8916         (image_instantiator_format_create_glyphs_mswindows): ditto.
8917
8918         * glyphs-eimage.c (jpeg_normalize):
8919         (gif_normalize):
8920         (png_normalize):
8921         (tiff_normalize): add dest_mask so that it can be proprogated by
8922         layout_normalize.
8923
8924         * elhash.c:
8925         (print_hash_table):
8926         (hash_table_weakness_validate):
8927         (decode_hash_table_weakness):
8928         (Fhash_table_weakness):
8929         (Fhash_table_type):
8930         (syms_of_elhash): use Ben's naming scheme for hashtable types..
8931
8932         * console.h (struct console_methods): move update_* to
8933         redisplay_*.
8934
8935 2000-07-20  Ben Wing  <ben@xemacs.org>
8936
8937         * *.[ch] (XSETOBJ): remove unused middle argument.
8938         lisp-disunion.h: correct wrap_object() to one argument.
8939
8940 2000-07-15  Ben Wing  <ben@xemacs.org>
8941
8942         * s/cygwin32.h:
8943         * s/cygwin32.h (CYGWIN_CONV_PATH):
8944         Add missing logb prototype for v1.1.
8945         Use post-b20 names and alias to pre-b20 names when pre-b20.
8946
8947         * s/windowsnt.h: [5].
8948
8949 2000-07-15  Ben Wing  <ben@xemacs.org>
8950
8951         * Makefile.in.in (x_objs):
8952         * Makefile.in.in (sheap_objs):
8953         * Makefile.in.in (objs):
8954         added win32.o, cosmetic cleanups.
8955
8956         * alloc.c (Fmake_byte_code):
8957         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
8958         etc. macros which declare their own args now.
8959
8960         * alloc.c (syms_of_alloc):
8961         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
8962
8963         * buffer.c:
8964         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
8965
8966         * buffer.c (Fget_file_buffer):
8967         Fixed GCPRO problem.
8968
8969         * buffer.c (get_truename_buffer):
8970         Fixed comment about GC checking.
8971
8972         * buffer.c (syms_of_buffer):
8973         Undeclared those dedicated frame funs.
8974         [2].
8975
8976         * buffer.h:
8977         Define convenience macros for internal/external conversions.
8978         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
8979         and Qenvironment_variable_encoding for cleaner code.
8980
8981         * bufslots.h:
8982         Remove dedicated-frame; in lisp.
8983
8984         * bytecode.c (funcall_compiled_function):
8985         [1].
8986
8987         * bytecode.c (syms_of_bytecode):
8988         [2].
8989
8990         * console-msw.c:
8991         * console-msw.c (mswindows_show_console): Rewrote.
8992
8993         * console-msw.c (Fmswindows_debugging_output): New.
8994         Sends to OutputDebugString (special MSWin debugger interface).
8995
8996         * console-msw.c (Fmswindows_message_box):
8997         Fixed stupid bugs so it works when called from kill-emacs.
8998
8999         * console-msw.c (syms_of_console_mswindows):
9000         Declare Fmswindows_debugging_output.
9001
9002         * console-msw.h:
9003         New MSWin prototypes.
9004
9005         * console-msw.h (struct mswindows_frame):
9006         New entry last-click-mods for improved button-modifier support.
9007
9008         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9009         New struct entry `popup' with corresponding accessor.
9010
9011         * console-x.c:
9012         * console-x.c (split_up_display_spec):
9013         * console-x.c (get_display_arg_connection):
9014         * console-x.c (x_semi_canonicalize_console_connection):
9015         * console-x.c (x_canonicalize_device_connection):
9016         [[[6]]]: Change char to more specific type.
9017         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9018
9019         * console-x.c (x_semi_canonicalize_console_connection):
9020         * console-x.c (x_canonicalize_device_connection):
9021         [[[9]]]: Fix up error signalling to use new structured error system.
9022
9023         * console-x.h:
9024         [[[4]]]: Define codesys aliases:
9025         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9026         Qx_color_name_encoding, Qx_display_name_encoding.
9027
9028         * console.h (struct console_methods):
9029         New method make_dialog_box_internal supersedes older
9030         popup_dialog_box method.
9031
9032         * data.c:
9033         Define many new errors, part of new structured errors.
9034
9035         * data.c (init_errors_once_early):
9036         * data.c (syms_of_data):
9037         [2].
9038
9039         * device-msw.c (mswindows_init_device):
9040         [[[5]]]: Cleanup to support NT 3.51.
9041
9042         * device-msw.c (decode_devmode): Cleanup.
9043
9044         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9045         * device-msw.c (mswindows_handle_print_dialog_box):
9046         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9047         * device-msw.c (syms_of_device_mswindows):
9048         Delete the dialog box primitives recently introduced by Kirill and
9049         instead interface to general dialog box interface.
9050
9051         * device-x.c:
9052         * device-x.c (compute_x_app_name):
9053         * device-x.c (x_init_device):
9054         * device-x.c (Fx_valid_keysym_name_p):
9055         * device-x.c (Fx_set_font_path):
9056         [6].
9057         [7].
9058
9059         * device.h (wrap_device): New.
9060         First of its kind; meant to replace XSETDEVICE.
9061
9062         * dialog-msw.c: Many file-dialog symbols.
9063
9064         * dialog-msw.c (mswindows_register_popup_frame): New.
9065         * dialog-msw.c (mswindows_is_dialog_msg): New.
9066         For supporting kbd traversal in dialog boxes.
9067
9068         * dialog-msw.c (dialog_proc):
9069         Support hitting ESC in dialogs.
9070
9071         * dialog-msw.c (struct):
9072         Common dialog box errors.
9073
9074         * dialog-msw.c (handle_file_dialog_box): New.
9075         Add file dialog code.
9076
9077         * dialog-msw.c (handle_question_dialog_box):
9078         Redo existing code to support new question dialog syntax.
9079
9080         * dialog-msw.c (console_type_create_dialog_mswindows):
9081         We support new dialog console method.
9082
9083         * dialog-msw.c (syms_of_dialog_mswindows):
9084         * dialog-msw.c (vars_of_dialog_mswindows):
9085         New file dialog symbols, vars.
9086
9087         * dialog-x.c:
9088         * dialog-x.c (maybe_run_dbox_text_callback):
9089         * dialog-x.c (dbox_descriptor_to_widget_value):
9090         * dialog-x.c (x_make_dialog_box_internal):
9091         * dialog-x.c (console_type_create_dialog_x):
9092         Mule-ize entire file.
9093         Redo to support question dialog syntax.
9094         [6].
9095
9096         * dialog.c:
9097         * dialog.c (Fmake_dialog_box_internal):
9098         * dialog.c (syms_of_dialog):
9099         Kill old popup-dialog-box, replace with new primitive.
9100         Just call device method or signal error.
9101
9102         * eldap.c (Fldap_open):
9103         * eldap.c (Fldap_search_basic):
9104         * eldap.c (Fldap_add):
9105         * eldap.c (Fldap_modify):
9106         [1].
9107         [7].
9108
9109         * emacs.c:
9110         * emacs.c (make_arg_list_1):
9111         * emacs.c (make_arg_list):
9112         Mule-ize call to dll_init().
9113         [6].
9114         [8].
9115
9116         * emacs.c (make_argc_argv):
9117         * emacs.c (free_argc_argv):
9118         * emacs.c (init_cmdargs):
9119         * emacs.c (main_1):
9120         * emacs.c (Fkill_emacs):
9121         * emacs.c (Fdump_emacs):
9122         Update comments about what can be used in syms_* etc.
9123         Call init_win32() when necessary.
9124         Fix up MS Win dialog box in kill-buffer to actually work right.
9125         [7].
9126
9127         * eval.c:
9128         * eval.c (For):
9129         * eval.c (Fand):
9130         * eval.c (Fprogn):
9131         * eval.c (Fprog1):
9132         * eval.c (Fprog2):
9133         * eval.c (FletX):
9134         * eval.c (Flet):
9135         * eval.c (condition_case_3):
9136         * eval.c (Feval):
9137         * eval.c (function_argcount):
9138         * eval.c (funcall_lambda):
9139         [1].
9140
9141         * eval.c (type_error): New.
9142         * eval.c (maybe_type_error): New.
9143         * eval.c (continuable_type_error): New.
9144         * eval.c (maybe_continuable_type_error): New.
9145         * eval.c (type_error_with_frob): New.
9146         * eval.c (maybe_type_error_with_frob): New.
9147         * eval.c (continuable_type_error_with_frob): New.
9148         * eval.c (maybe_continuable_type_error_with_frob): New.
9149         New functions for use with structured errors.
9150
9151         * event-Xt.c:
9152         * event-Xt.c (x_event_to_emacs_event):
9153         Buttons are now modifiers too.
9154
9155         * event-Xt.c (emacs_Xt_current_event_timestamp):
9156         Implement new event method.
9157         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9158
9159         * event-msw.c:
9160         * event-msw.c (ntpipe_shove_writer): [5].
9161         * event-msw.c (mswindows_enqueue_mouse_button_event):
9162         * event-msw.c (mswindows_drain_windows_queue):
9163         * event-msw.c (mswindows_wnd_proc): [7].
9164         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9165         * event-msw.c (mswindows_modifier_state):
9166         Throughout: support new button modifiers.
9167
9168         * event-msw.c (emacs_mswindows_current_event_timestamp):
9169         Implement new event method.
9170         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9171
9172         * event-stream.c:
9173         * event-stream.c (event_stream_current_event_timestamp): New.
9174         * event-stream.c (maybe_kbd_translate): New functionality.
9175         * event-stream.c (vars_of_event_stream):
9176         Document new kbd-translate-table functionality.
9177
9178         * event-stream.c (Fcurrent_event_timestamp): New.
9179         New primitive for use in fabricated events.
9180         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9181
9182         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9183
9184         * events.c:
9185         * events.c (Fmake_event):
9186         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9187         [1].
9188         [9].
9189
9190         * events.c (format_event_object): fix gcc warnings.
9191
9192         * events.c (Fevent_timestamp): Document new primitives.
9193
9194         * events.c (TIMESTAMP_HALFSPACE): New.
9195
9196         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9197         comparing timestamps correctly (half-space algorithm).
9198
9199         * events.c (Fevent_modifier_bits): Doc fix.
9200
9201         * events.c (Fevent_modifiers): Major doc addition.
9202         * events.c (event_x_y_pixel_internal): Typo fix.
9203         * events.c (syms_of_events): Declare new primitives.
9204
9205         * events.h:
9206         Update long comment for button modifiers, timestamps.
9207
9208         * events.h (struct event_stream):
9209         New current_event_timestamp method.
9210
9211         * extents.c:
9212         * extents.c (extent_in_region_p):
9213         * extents.c (decode_extent):
9214         * extents.c (Fset_extent_parent):
9215         * extents.c (decode_map_extents_flags):
9216         Fix gcc warnings.
9217         [9].
9218
9219         * extents.c (struct extent_at_arg):
9220         * extents.c (decode_extent_at_flag):
9221         * extents.c (extent_at_mapper):
9222         * extents.c (extent_at_bytind):
9223         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9224         * extents.c (Fextents_at): New primitive. [9].
9225         * extents.c (symbol_to_glyph_layout): [9].
9226         Support new primitive `extents-at'.
9227
9228
9229         * extents.c (get_text_property_bytind):
9230         extent_at_bytind has another arg.
9231         [9].
9232
9233         * extents.c (syms_of_extents): New primitive.
9234
9235         * file-coding.c (Fmake_coding_system): [1].
9236         * file-coding.c (subsidiary_coding_system): fix gcc warning
9237         * file-coding.c (syms_of_file_coding): [2].
9238
9239         * fileio.c (Fexpand_file_name):
9240         * fileio.c (Fsysnetunam):
9241         * fileio.c (Ffile_exists_p):
9242         * fileio.c (Ffile_executable_p):
9243         * fileio.c (Fverify_visited_file_modtime):
9244         Clean up GCPROing.
9245
9246         * fileio.c (syms_of_fileio): [2].
9247
9248         * filelock.c (lock_file_1):
9249         * filelock.c (current_lock_owner):
9250         * filelock.c (lock_if_free):
9251         * filelock.c (lock_file):
9252         * filelock.c (unlock_file):
9253         Clean up GCPROing.
9254
9255         * fns.c (concat): Fix gcc warning.
9256
9257         * fns.c (Fmember):
9258         * fns.c (Fold_member):
9259         * fns.c (Fmemq):
9260         * fns.c (Fold_memq):
9261         * fns.c (memq_no_quit):
9262         * fns.c (Fassoc):
9263         * fns.c (Fold_assoc):
9264         * fns.c (Fassq):
9265         * fns.c (Fold_assq):
9266         * fns.c (assq_no_quit):
9267         * fns.c (Frassoc):
9268         * fns.c (Fold_rassoc):
9269         * fns.c (Frassq):
9270         * fns.c (Fold_rassq):
9271         * fns.c (rassq_no_quit):
9272         * fns.c (Fdelete):
9273         * fns.c (Fold_delete):
9274         * fns.c (Fdelq):
9275         * fns.c (Fold_delq):
9276         * fns.c (delq_no_quit):
9277         * fns.c (Fremassoc):
9278         * fns.c (Fremassq):
9279         * fns.c (remassq_no_quit):
9280         * fns.c (Fremrassoc):
9281         * fns.c (Fremrassq):
9282         * fns.c (remrassq_no_quit):
9283         * fns.c (Freverse):
9284         * fns.c (mapcar1):
9285         [1].
9286
9287         * frame-msw.c (mswindows_init_frame_1):
9288         * frame-msw.c (mswindows_delete_frame):
9289         Register popups with dialog code so keyboard traversing works.
9290
9291         * frame-tty.c (tty_raise_frame_no_select): [1].
9292
9293         * frame-x.c:
9294         * frame-x.c (x_set_frame_text_value):
9295         * frame-x.c (x_set_frame_properties):
9296         * frame-x.c (x_create_widgets):
9297         [7].
9298
9299         * frame.c:
9300         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9301
9302         * frame.h (wrap_frame): New.
9303         Macro like wrap_device.
9304
9305         * general.c:
9306         * general.c (SYMBOL):
9307         * general.c (syms_of_general):
9308         Major reorg.  This is now just a wrapper and symbols themselves
9309         are listed in general-slots.h.
9310
9311         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9312         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9313
9314         * glyphs-msw.c (mswindows_native_layout_instantiate):
9315         Add DS_CONTROL so keyboard traversal will work.
9316
9317         * glyphs-widget.c:
9318         * glyphs-widget.c (syms_of_glyphs_widget):
9319         Move some symbols to general-slots.h.
9320
9321         * glyphs-x.c:
9322         * glyphs-x.c (xbm_instantiate_1):
9323         * glyphs-x.c (x_xbm_instantiate):
9324         * glyphs-x.c (x_xface_instantiate):
9325         * glyphs-x.c (autodetect_instantiate):
9326         * glyphs-x.c (cursor_font_instantiate):
9327         * glyphs-x.c (x_update_widget):
9328         * glyphs-x.c (x_widget_instantiate):
9329         * glyphs.c (bitmap_to_lisp_data):
9330         * glyphs.c (pixmap_to_lisp_data):
9331         [7].
9332
9333         * glyphs.c (syms_of_glyphs):
9334         [2].
9335
9336         * gui-x.c:
9337         * gui-x.c (print_widget_value):
9338         * gui-x.c (menu_separator_style_and_to_external):
9339         * gui-x.c (add_accel_and_to_external):
9340         * gui-x.c (button_item_to_widget_value):
9341         * gui-x.c (gui_items_to_widget_values_1):
9342         * gui-x.c (gui_items_to_widget_values):
9343         * gui-x.c (syms_of_gui_x):
9344         * gui-x.c (vars_of_gui_x):
9345         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9346         [9].
9347
9348         * gui-x.h:
9349         Muleize, prototype changes matching gui-x.c.
9350
9351         * gui.c:
9352         * gui.c (separator_string_p):
9353         * gui.c (gui_item_add_keyval_pair):
9354         * gui.c (make_gui_item_from_keywords_internal):
9355         * gui.c (signal_too_long_error):
9356         * gui.c (parse_gui_item_tree_item):
9357         * gui.c (syms_of_gui):
9358         * gui.c (vars_of_gui):
9359         * gui.h:
9360         menu-no-selection-hook moved here (used by MSWin).
9361         Move some symbols to general-slots.h.
9362         [6].
9363         [9].
9364
9365         * insdel.c (get_buffer_pos_char):
9366         * insdel.c (get_buffer_range_char):
9367         Add GC comments.
9368
9369         * keymap.c (keymap_lookup_directly):
9370         * keymap.c (keymap_store):
9371         * keymap.c (ensure_meta_prefix_char_keymapp):
9372         * keymap.c (describe_map):
9373         * keymap.h:
9374         Support new button modifiers.
9375
9376         * lisp-disunion.h (wrap_object):
9377         * lisp-disunion.h (XSETOBJ):
9378         Rename make_obj to wrap_object.
9379
9380         * lisp-union.h:
9381         * lisp-union.h (make_int):
9382         * lisp-union.h (make_char):
9383         Support wrap_object.
9384
9385         * lisp.h:
9386         * lisp.h (LIST_LOOP):
9387         * lisp.h (EXTERNAL_LIST_LOOP):
9388         * lisp.h (LIST_LOOP_2):
9389         * lisp.h (EXTERNAL_LIST_LOOP_1):
9390         * lisp.h (EXTERNAL_LIST_LOOP_2):
9391         * lisp.h (EXTERNAL_LIST_LOOP_3):
9392         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
9393         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9394         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
9395         * lisp.h (EXTERNAL_ALIST_LOOP_5):
9396         * lisp.h (EXTERNAL_ALIST_LOOP_6):
9397         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
9398         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
9399         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
9400         * lisp.h (struct Lisp_Symbol):
9401         * lisp.h (maybe_continuable_error_with_frob):
9402         Fix up section comments.
9403         Add new types for char to indicate usage.
9404         Delete symbols auto-generated from general-slots.h.
9405         Add prototypes for structured error functions.
9406         Add long comments describing looping macros and change interface
9407         so that lvalues are automatically declared.
9408         Add NO_DECLARE macro in case callers want to declare lvalues
9409         themselves.
9410
9411         * lread.c (read_syntax_error):
9412         * lread.c (continuable_read_syntax_error):
9413         * lread.c (read_structure):
9414         * lread.c (sequence_reader):
9415         * lread.c (read_list_conser):
9416         * lread.c (read_compiled_function):
9417         Rename syntax_error and continuable_syntax_error to avoid clash
9418         with same-named structured error functions.
9419
9420         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9421         * menubar-msw.c (populate_menu_add_item):
9422         * menubar-msw.c (populate_or_checksum_helper):
9423         [5].
9424         [9].
9425
9426         * menubar-x.c:
9427         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9428         Mule-ize whole file.
9429
9430         * menubar.c (Fnormalize_menu_item_name): Add optimization.
9431
9432         * mule-charset.c (Fmake_charset):
9433         * mule-wnnfns.c (Fwnn_set_param):
9434         [1].
9435
9436         * ntproc.c (create_child):
9437         * ntproc.c (Fwin32_set_current_locale):
9438         Add comments portending doom.
9439
9440         * objects-msw.c:
9441         * objects-msw.c (old_font_enum_callback_2):
9442         * objects-msw.c (font_enum_callback_1):
9443         * objects-msw.c (mswindows_enumerate_fonts):
9444         [5].
9445
9446         * objects-x.c:
9447         * objects-x.c (allocate_nearest_color):
9448         * objects-x.c (x_parse_nearest_color):
9449         * objects-x.c (x_initialize_color_instance):
9450         * objects-x.c (x_print_color_instance):
9451         * objects-x.c (x_finalize_color_instance):
9452         * objects-x.c (x_valid_color_name_p):
9453         * objects-x.c (x_initialize_font_instance):
9454         * objects-x.c (x_print_font_instance):
9455         * objects-x.c (valid_x_font_name_p):
9456         * objects-x.c (truename_via_FONT_prop):
9457         * objects-x.c (truename_via_random_props):
9458         * objects-x.c (truename_via_XListFonts):
9459         * objects-x.c (x_font_truename):
9460         * objects-x.c (x_font_instance_truename):
9461         * objects-x.c (x_font_instance_properties):
9462         * objects-x.c (x_list_fonts):
9463         * objects-x.c (x_find_charset_font):
9464         Mule-ize entire file.
9465         [7].
9466
9467         * objects-x.h:
9468         Mule-verify.
9469
9470         * print.c:
9471         * print.c (std_handle_out_external):
9472         * print.c (debug_print_no_newline):
9473         * print.c (syms_of_print):
9474         Output to all debugger kinds in debug-print.
9475         Fix console-output code under MSWin to actually work.
9476
9477         * process-nt.c (send_signal):
9478         * process-nt.c (nt_create_process):
9479         Use newer Unicode macros.
9480
9481         * process-unix.c (unix_create_process):
9482         * process-unix.c (unix_canonicalize_host_name):
9483         * process-unix.c (unix_open_network_stream):
9484         [7].
9485
9486         * scrollbar-x.c:
9487         Mule-verify.
9488
9489         * search.c (syms_of_search):
9490         [2].
9491
9492         * select-msw.c (mswindows_destroy_selection):
9493         Use LIST_LOOP_2.
9494
9495         * select-x.c (symbol_to_x_atom):
9496         [7].
9497
9498         * select.c (syms_of_select):
9499         [2].
9500
9501         * sound.c (Fplay_sound_file):
9502         [7].
9503
9504         * specifier.c:
9505         * specifier.c (decode_specifier_type):
9506         * specifier.c (Fvalid_specifier_locale_type_p):
9507         * specifier.c (check_valid_locale_or_locale_type):
9508         * specifier.c (decode_locale):
9509         * specifier.c (decode_locale_type):
9510         * specifier.c (decode_locale_list):
9511         * specifier.c (check_valid_domain):
9512         * specifier.c (decode_specifier_tag_set):
9513         * specifier.c (Fcanonicalize_tag_set):
9514         * specifier.c (Fdefine_specifier_tag):
9515         * specifier.c (Fspecifier_tag_predicate):
9516         * specifier.c (check_valid_inst_list):
9517         * specifier.c (check_valid_spec_list):
9518         * specifier.c (decode_how_to_add_specification):
9519         * specifier.c (check_modifiable_specifier):
9520         * specifier.c (specifier_add_spec):
9521         * specifier.c (boolean_validate):
9522         * specifier.c (display_table_validate):
9523         [9].
9524
9525         * specifier.c (syms_of_specifier):
9526         Move some symbols to general-slots.h.
9527         [2].
9528
9529         * symbols.c:
9530         * symbols.c (Fmapatoms):
9531         * symbols.c (Fapropos_internal):
9532         Add GCPROs.
9533
9534         * symbols.c (set_default_buffer_slot_variable):
9535         * symbols.c (set_default_console_slot_variable):
9536         [1].
9537
9538         * symbols.c (defsymbol_massage_name_1):
9539         * symbols.c (defkeyword_massage_name):
9540         * symbols.c (deferror_1):
9541         * symbols.c (deferror):
9542         * symbols.c (deferror_massage_name_and_message):
9543         * symeval.h:
9544         * symeval.h (DEFSYMBOL):
9545         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
9546
9547         * symbols.c (syms_of_symbols):
9548         [2].
9549
9550         * symsinit.h:
9551         * symsinit.h (init_win32): New.
9552         Also new is syms_of_dialog_mswindows.
9553
9554         * syswindows.h:
9555         Add new Unicode macros, missing Cygwin wide-char functions,
9556         convenience conversion macros for Qmswindows_tstr, macros for
9557         encapsulating required MSWin <-> Cygwin filename conversions,
9558         prototype for dynamically-extracted (not in NT 3.51) functions.
9559
9560         * toolbar-x.c:
9561         Mule-verify.
9562
9563         * tooltalk.c (Fadd_tooltalk_message_arg):
9564         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
9565         * tooltalk.c (Fadd_tooltalk_pattern_arg):
9566         [7].
9567
9568         * tooltalk.c (syms_of_tooltalk):
9569         [2].
9570
9571         * unexnt.c:
9572         * unexnt.c (unexec):
9573         Fix up headers, declaration of unexec() to be more standard.
9574
9575 2000-07-20  Martin Buchholz  <martin@xemacs.org>
9576
9577         * offix.h: Revert change to guard macros - they're used in offix.c!
9578
9579 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9580
9581         * lisp.h: Defsubred Fdelete.
9582
9583         * console-msw.h:  (msprinter_default_printer): Added.
9584
9585         * console-msw.c (msprinter_canonicalize_console_connection):
9586         (msprinter_canonicalize_device_connection): Added.
9587
9588         * device-msw.c (msprinter_default_printer):
9589         (Fmswingows_get_default_printer):
9590         (signal_enum_priner_error):
9591         (Fmswingows_printer_list): Added.
9592
9593 2000-07-19  Martin Buchholz <martin@xemacs.org>
9594
9595         * XEmacs 21.2.35 is released.
9596
9597 2000-07-19  Martin Buchholz  <martin@xemacs.org>
9598
9599         * select-x.c (x_handle_selection_request):
9600         Text selected in xemacs and pasted into xterm failed to appear.
9601         Spelling fixes and cosmetic changes.
9602
9603 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9604
9605         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
9606         XEmacs frame (fix for doubling chars in dialog boxes).
9607
9608 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9609
9610         * select.c (select_convert_in, select_convert_out):
9611         Don't call intern() every time.
9612
9613         * select.c (Qselect_convert_in, Qselect_convert_out): New.
9614         * select.c (vars_of_select): Initialise them.
9615
9616 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9617
9618         * select.c (selection-coercible-types): New.
9619
9620         * select.c (own-selection-internal):
9621         * select.c (get-selection-internal):
9622         MULE bug fix - these should default to COMPOUND_TEXT and not
9623         STRING for MULE. I think.
9624
9625         * select.c (select_convert_out): Use selection-coercible-types
9626         to find types that we can attempt to perform coercions on.
9627
9628 2000-07-18  Martin Buchholz  <martin@xemacs.org>
9629
9630         * mule-wnnfns.c:
9631         * mule-canna.c:
9632         Add coding: cookie to identify encoding.
9633
9634         * mule-canna.c (CANNA_mode_keys): make static.
9635         Use proper prototypes, even for functions of no arguments.
9636         Remove external prototype for Fding().
9637
9638         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
9639
9640         * select.c (syms_of_select): Add missing DEFSUBR.
9641
9642 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9643
9644         * select.c (get_selection_internal, own_selection_internal):
9645         Make the type default to STRING, rather than placing a nil type
9646         into Vselection_alist.
9647
9648 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9649
9650         * gpmevent.c (tty_selection_exists_p):
9651         * gpmevent.c (tty_own_selection):
9652         Updated parameter lists.
9653
9654 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
9655
9656         * select.h (selection-alist): Removed declaration.
9657
9658         * select.h (get_local_selection):
9659         * select.c (get_local_selection):
9660         Made static.
9661
9662         * select.h (convert_selection): Removed declaration.
9663         * select.c (convert_selection): Removed.
9664         This function belongs in Lisp.
9665
9666         * select.h (select_convert_in): Declare.
9667         * select.h (select_convert_out): Declare.
9668         * select.c (select_convert_in): New.
9669         * select.c (select_convert_out): New.
9670         New conversion functions for other files to call.
9671
9672         * select.h (select_notify_buffer_kill): Declare.
9673         * select.c (select_notify_buffer_kill): New.
9674         New functions that get called from kill-buffer.
9675
9676         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
9677         X-specific lisp code.
9678
9679         * select.h: Declare some of the lisp-visible functions for
9680         external use.
9681
9682         * select.c (clean_local_selection_data): Removed. This was
9683         a disgusting function, and previously should have been in
9684         select-x.c in any case. The functionality is now provided
9685         in select-convert-from-integer (select.el).
9686
9687         * select.c (available-selection-types): Fixed stupidity where
9688         INTEGER and ATOM got added twice. Also add STRING when we see an
9689         extent.
9690
9691         * select.c (get-selection-internal): Removed symbol stripping. No
9692         longer causes conversion when data comes from the internal cache.
9693
9694         * select.c (syms_of_select): Added new functions.
9695
9696         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
9697         error checking - previously this called abort!
9698
9699         * select-x.c (x_own_selection): Changed comment.
9700
9701         * select-x.c (x_handle_selection_request): Use select_convert_out.
9702         Don't mess with selection-alist; it's an internal variable of select.c.
9703
9704         * select-x.c (x_get_foreign_selection): Use select_convert_in.
9705
9706         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
9707         rather than messing with selection-alist.
9708
9709         * select-msw.c (mswindows_get_foreign_selection):
9710         Use TO_INTERNAL_FORMAT rather than hacking.
9711
9712 2000-07-14  Martin Buchholz  <martin@xemacs.org>
9713
9714         * process-unix.c (unix_open_multicast_group):
9715         (unix_open_multicast_group): Remove useless casts.
9716
9717 2000-07-13  Martin Buchholz  <martin@xemacs.org>
9718
9719         * sound.c (Fplay_sound): Fix `unused variable' warning.
9720
9721         * emacs.c (main): Use correct type for _environ on SCO5.
9722
9723 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
9724
9725         * console.h (own_selection_method):
9726         * console.h (selection_exists_p_method):
9727         * console.h (available_selection_types_method): New.
9728         * console.h (register_selection_data_type_method): New.
9729         * console.h (selection_data_type_name): New.
9730
9731         * console-msw.h (mswindows_destroy_selection): Declare it.  New
9732         function & alist to track GlobalAlloc()'d handles that need
9733         releasing when the clipboard data gets replaced or emptied.
9734
9735         * event-msw.c (mswindows_wnd_proc): Call it.
9736
9737         * lisp.h, general.c (Qappend): New symbol representing a
9738         `how-to-add' mode.
9739
9740         * select.c (own-selection-internal):
9741         * select.c (selection-exists-p):
9742         * select.c (available-selection-types): New.
9743         * select.c (register-selection-data-type): New.
9744         * select.c (selection-data-type-name): New.  New functions to deal
9745         with device-specific selection data formats.
9746         * select.c (selection-converter-out-alist): Renamed.
9747         * select.c (selection-converter-in-alist): New.
9748         * select.c (selection-appender-alist): New.  Added new alists.
9749         * select.c (syms_of_select, vars_of_select): Added new symbols &
9750         variables.
9751         * select.c (get_local_selection): Split.
9752         * select.c: Removed spurious type checking - selections may now be
9753         of any type, not just strings.
9754         * select.c (own-selection-internal):
9755
9756         * select.h, select.c (convert_selection): New. Created
9757         convert_selection() function based on get_local_selection().
9758         * select.h, select.c (QCF_*): New symbols representing mswindows
9759         clipboard formats.
9760         * select.h, select.c (Qreplace_all, Qreplace_existing): New
9761         symbols representing `how-to-add' modes.
9762
9763         * select-msw.c (x_sym_p): New.
9764         * select-msw.c (symbol_to_ms_cf): New.
9765         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
9766         symbols & clipboard formats. Can also handle string names.
9767         * select-msw.c (mswindows_own_selection):
9768         * select-msw.c (mswindows_selection_exists_p):
9769         Added `data-type' parameter. Use it.
9770         * select-msw.c (mswindows_available_selection_types): New.
9771         * select-msw.c (mswindows_register_selection_data_type): New.
9772         * select-msw.c (mswindows_selection_data_type_name): New.
9773         * select-msw.c (mswindows_own_selection):
9774         * select-msw.c (mswindows_get_foreign_selection):
9775         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
9776         * select-msw.c (console_create_select_mswindows): Added new methods.
9777         * select-msw.c (mswindows_destroy_selection): New.
9778         * select-msw.c (Vhandle_alist): New list.
9779         * select-msw.c (mswindows_own_selection):
9780
9781         * select-x.c (x_own_selection):
9782         * select-x.c (x_selection_exists_p):
9783         * select-x.c: Added some comments about maybe using new
9784         functionality.
9785         * select-x.c (x_own_selection):
9786
9787         * specifier.c: Remove definition of Qappend (now in general.c)
9788         * specifier.c (syms_of_specifier): Remove Qappend.
9789
9790 2000-07-12  Martin Buchholz  <martin@xemacs.org>
9791
9792         * config.h.in: Add socklen_t.
9793
9794         * s/decosf4-0.h: No special compiler flags needed or desired.
9795         In particular, undefine _BSD for DEC OSF 4.0.
9796
9797 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9798
9799         * redisplay-msw.c (msprinter_frame_output_end): Added.
9800         (console_type_create_redisplay_mswindows): Referred the above.
9801
9802         * frame.c (setup_frame_without_minibuffer): Do not create a
9803         default minibuffer frame on a printer device.
9804
9805         * frame-msw.c (apply_dc_geometry): Added.
9806         (msprinter_start_page):
9807         (msprinter_init_frame_3):
9808         (msprinter_eject_page): Use it.
9809
9810         * console-msw.h (struct msprinter_frame): Added pix_left and top,
9811         and removed residual duplex and orientation properties.
9812
9813 2000-07-11  Martin Buchholz  <martin@xemacs.org>
9814
9815         * eval.c (function_argcount): Work around a DEC CC compiler bug.
9816
9817         * unexalpha.c: Remove system prototypes from C sources!
9818
9819 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
9820
9821         * eval.c: Remove references to M-x edit-options in DEFUNs for
9822         `defvar' and `defconst'.
9823
9824 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9825
9826         * config.h.in: Remove SMART_INCLUDE hackery.
9827
9828         PostgreSQL hacking:
9829         * config.h.in: Don't use SMART_INCLUDE.
9830
9831         * postgresql.h: Include libpq-fe.h here.  Fix typo.
9832         * inline.c: Simply #include "postgresql.h"
9833         * postgresql.c:
9834         - Don't use SMART_INCLUDE
9835         - Use simply "const".
9836         - Use standard doc string conventions.
9837         - Use correct type for result of PQstatus.
9838
9839 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9840
9841         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
9842
9843         C++ compilation changes.
9844         * config.h.in (EXTERN_C): Define.
9845         * config.h.in (not): This is also a C++ keyword.
9846         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
9847         * cm.c: Use EXTERN_C.
9848         * redisplay-tty.c: Use EXTERN_C.
9849         * sysdep.c: Use EXTERN_C.  Remove Gould support.
9850
9851 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9852
9853         * general.c: Remove duplicate definition for Qfunction.
9854
9855 2000-07-08  Ben Wing  <ben@xemacs.org>
9856
9857         * device-msw.c (msprinter_init_device):
9858         * device-msw.c (sync_printer_with_devmode):
9859         * device-msw.c (handle_devmode_changes):
9860         * device-msw.c (print_dialog_worker):
9861         * device-msw.c (Fmsprinter_apply_settings):
9862         * device-msw.c (hash_devmode):
9863         * device-msw.c (Fmsprinter_settings_despecialize):
9864         use Qmswindows_tstr, not Qctext.
9865
9866         * vm-limit.c (check_memory_limits):
9867         avoid infinite loop printing warning messages.
9868
9869 2000-07-05  Craig Lanning  <lanning@scra.org>
9870
9871         * Makefile.in.in: Add support for including the Windows resources
9872         when building with the cygwin and mingw targets.
9873
9874         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
9875         not set or not correct.
9876         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
9877         (init_initial_directory): Don't try to use $PWD on the
9878         WIN32_NATIVE target.
9879
9880         * s\cygwin32.h:
9881         [[Add -mwindows to eliminate console window.]] not required --ben
9882         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9883         (MAIL_USE_POP): removed; now handled by configure.
9884
9885         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
9886         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
9887         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9888         (MAIL_USE_POP): removed; now handled by configure.
9889         (ENCAPSULATE_STAT): from Dan Holmsand, added.
9890         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
9891         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
9892         constant string.
9893         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
9894         up from <winsock.h> via systime.h.
9895         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
9896         (getpagesize): from Dan Holmsand, added.
9897         Added #endif which was left dangling by Ben's mega patch; added
9898         comment to help prevent this in the future.
9899
9900         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
9901
9902 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9903
9904         * console-msw.h (struct mswindows_device): Removed unnecessary
9905         cached device geometry values.
9906         Added update_tick and an accessor macro.
9907         (Lisp_Devmode): Added lrecord declaration.
9908         (struct msprinter_device): Contain devmode as a Lisp object.
9909         Added mswindows_get_selected_frame_hwnd();
9910
9911         * console.h (struct console_methods): Indentation nitpicking.
9912
9913         * device-msw.c (mswindows_init_device): Do not initialize geometry
9914         cache. Initialize update tick.
9915         (mswindows_device_system_metrics): Ask the device for its geometry.
9916         (global_free_2_maybe):
9917         (devmode_to_hglobal):
9918         (handle_printer_changes):
9919         (ensure_not_printing):
9920         (print_dialog_worker):
9921         (Fmsprinter_print_setup_dialog):
9922         (Fmsprinter_print_dialog):
9923         (plist_get_margin):
9924         (plist_set_margin):
9925         (Fmsprinter_page_setup_dialog): Added functions.
9926         (sync_printer_with_devmode):
9927         (handle_devmode_changes):
9928         (Fmsprinter_get_settings):
9929         (Fmsprinter_select_settings):
9930         (Fmsprinter_apply_settings):
9931         (allocate_devmode):
9932         (Fmsprinter_settings_copy):
9933         (Fmsprinter_settings_despecialize):
9934         (print_devmode):
9935         (finalize_devmode):
9936         (equal_devmode):
9937         (hash_devmode): Added functions
9938         (syms_of_device_mswindows): Init devmode lrecord class.
9939
9940         * device.h: Added an exfun for find-device.
9941
9942         * event-msw.c (mswindows_wnd_proc): Do not update the cached
9943         geometry; although, recreate the device compatible DC.
9944
9945         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
9946         (msprinter_init_frame_3):
9947         (msprinter_frame_property):
9948         (msprinter_internal_frame_property_p):
9949         (msprinter_frame_properties):
9950         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
9951         print job properties (will move to device settings).
9952
9953         * lisp.h: Added symbols.
9954
9955         * general.c (syms_of_general): Declared them.
9956
9957         * hash.c (string_hash): Added.
9958
9959         * lrecord.h (lrecord_type): Added devmode lrecord type.
9960
9961 2000-07-02  Mike Sperber <mike@xemacs.org>
9962
9963         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
9964         FreeBSD 4.0.
9965
9966 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
9967
9968         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
9969         integer.
9970
9971 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
9972
9973         * data.c (Fstring_to_number): Don't recognize floating point if
9974         base is not 10.
9975
9976 2000-06-22  Martin Buchholz  <martin@xemacs.org>
9977
9978         * glyphs-widget.c (tab_control_query_geometry):
9979         (widget_query_geometry):
9980         (button_query_geometry):
9981         * glyphs.c (text_query_geometry):
9982         Enforce type correctness.
9983
9984 2000-06-18  Martin Buchholz  <martin@xemacs.org>
9985
9986         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
9987         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
9988
9989 2000-06-17  Martin Buchholz  <martin@xemacs.org>
9990
9991         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
9992         conflicts with gcc's fixincluded version of FOO.h.
9993
9994         * glyphs.h (image_instance_geometry): Remove trailing `,'
9995
9996 2000-06-08  Mike Alexander  <mta@arbortext.com>
9997
9998         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
9999         (shove_thread): Don't write the same output twice
10000         (make_ntpipe_output_stream): Increase priority of shove thread
10001         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10002         chance to run
10003         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10004         it.
10005
10006 2000-06-12  Ben Wing  <ben@xemacs.org>
10007
10008         * s\mingw32.h (sigset):
10009         * s\windowsnt.h (sigset):
10010         rename msw_ to mswindows_ for consistency with general convention.
10011
10012 2000-06-12  Ben Wing  <ben@xemacs.org>
10013
10014         * console-msw.c:
10015         * console-msw.c (mswindows_get_console_hwnd):
10016         * console-msw.c (mswindows_ensure_console_allocated):
10017         * console-msw.c (mswindows_hide_console):
10018         * console-msw.c (mswindows_show_console):
10019         * console-msw.c (mswindows_ensure_console_buffered):
10020         * console-msw.c (mswindows_output_console_string):
10021         * console-msw.c (mswindows_windows9x_p):
10022         * console-msw.h:
10023         * device-msw.c (mswindows_get_workspace_coords):
10024         * device-msw.c (mswindows_device_system_metrics):
10025         * dialog-msw.c (mswindows_popup_dialog_box):
10026         * event-msw.c (mswindows_wnd_proc):
10027         * frame-msw.c (mswindows_size_frame_internal):
10028         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10029         * menubar-msw.c (displayable_menu_item):
10030         * menubar-msw.c (mswindows_char_is_accelerator):
10031         * nt.c:
10032         * nt.c (mswindows_sigset):
10033         * nt.c (mswindows_sigrelse):
10034         * nt.c (mswindows_sigpause):
10035         * nt.c (mswindows_raise):
10036         * nt.c (timer_proc):
10037         * ntproc.c:
10038         * ntproc.c (find_child_console):
10039         * ntproc.c (sys_kill):
10040         * print.c:
10041         * print.c (std_handle_out_external):
10042         * process-nt.c (find_child_console):
10043         * process-nt.c (send_signal_the_95_way):
10044         * process-nt.c (ensure_console_window_exists):
10045         * process-nt.c (nt_create_process):
10046         * syssignal.h:
10047         rename msw_ to mswindows_ for consistency with general convention.
10048
10049         * emacs.c:
10050         * dumper.c:
10051         include nt.h, not syswindows.h.
10052
10053         * nt.c (mswindows_fstat):
10054         * nt.c (mswindows_stat):
10055         prefix mswindows_ instead of attempting to directly override the
10056         library functions.  fix declarations.
10057
10058         * nt.h:
10059         include syswindows.h.  move some sysdep.h stuff here.
10060
10061         * ntheap.h:
10062         include syswindows.h, not <windows.h>.
10063
10064         * ntplay.c:
10065         clean up headers.
10066
10067         * sysdep.c:
10068         clean up headers.
10069
10070         * sysdep.c (sys_fstat):
10071         * sysdep.c (sys_stat):
10072         call mswindows versions when appropriate.
10073
10074         * sysdep.h:
10075         move mswin decls to nt.h.
10076
10077         * syswindows.h:
10078         add long comment describing appropriate use of the various windows
10079         headers.
10080
10081 2000-06-11  Ben Wing  <ben@xemacs.org>
10082
10083         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10084
10085 2000-06-10  Ben Wing  <ben@xemacs.org>
10086
10087         * Makefile.in.in (release):
10088         Correction to make sure xemacs.exe always dumped when correct.
10089
10090         * alloca.c:
10091         * balloon_help.c:
10092         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10093
10094         * buffer.c (set_buffer_internal):
10095         [[[[2]]]]: Remove HAVE_FEP code.
10096
10097         * buffer.c (init_initial_directory):
10098         [3].
10099
10100         * bytecode.c:
10101         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10102         individual files.
10103
10104         * callproc.c:
10105         * callproc.c (call_process_cleanup):
10106         * callproc.c (Fold_call_process_internal):
10107         * callproc.c (child_setup):
10108         * callproc.c (getenv_internal):
10109         * callproc.c (init_callproc):
10110         * callproc.c (vars_of_callproc):
10111         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10112         __CYGWIN32__ -> CYGWIN.
10113         DOS_NT -> WIN32_NATIVE.
10114         Remove MSDOS support/references, converting to WIN32_NATIVE
10115           where correct.
10116         __MINGW32__ -> MINGW.
10117         Fix windows.h includes.
10118         Remove bogus HAVE_NTGUI.
10119
10120         * config.h.in:
10121         [2].
10122
10123         * console-msw.c:
10124         mswindows_message_outputted added for use in allowing startup
10125         errors on the console to be seen.
10126
10127         * console-msw.c (msw_ensure_console_allocated):
10128         * console-msw.c (msw_output_console_string):
10129         * console-msw.c (DHEADER):
10130         * console-msw.c (DOPAQUE_DATA):
10131         * console-msw.c (DEVENT):
10132         * console-msw.c (DCONS):
10133         * console-msw.c (DCONSCDR):
10134         * console-msw.c (DSTRING):
10135         * console-msw.c (DVECTOR):
10136         * console-msw.c (DSYMBOL):
10137         * console-msw.c (DSYMNAME):
10138         Fix warnings.
10139
10140         * console-stream.c (stream_init_console):
10141         Fix text/binary problems.
10142
10143         * device-msw.c:
10144         * device-msw.c (mswindows_finish_init_device):
10145         * device-msw.c (mswindows_delete_device):
10146         [1].
10147
10148         * device.c (handle_asynch_device_change):
10149         [3].
10150
10151         * dgif_lib.c:
10152         * dgif_lib.c (DGifOpenFileName):
10153         * dgif_lib.c (DGifOpenFileHandle):
10154         * dgif_lib.c (DGifGetLine):
10155         * dgif_lib.c (DGifGetPixel):
10156         Added config.h/lisp.h, fix up includes.
10157         [1].
10158
10159         * dired-msw.c:
10160         [4].
10161
10162         * dired.c:
10163         * dired.c (file_name_completion):
10164         * dired.c (Ffile_attributes):
10165         * dired.c (syms_of_dired):
10166         [1].
10167
10168         * dumper.c:
10169         * dumper.c (pdump_file_unmap):
10170         * dumper.c (pdump_load):
10171         [1].
10172
10173         * editfns.c:
10174         * editfns.c (Ftemp_directory):
10175         * editfns.c (user_login_name):
10176         * editfns.c (Fuser_real_login_name):
10177         * editfns.c (get_home_directory):
10178         [1].
10179
10180         * elhash.c (finish_marking_weak_hash_tables):
10181         [[[[5]]]]: Fix GCC warnings.
10182
10183         * emacs.c:
10184         * emacs.c (mswindows_handle_hardware_exceptions):
10185         * emacs.c (make_arg_list_1):
10186         * emacs.c (main_1):
10187         * emacs.c (Fkill_emacs):
10188         * emacs.c (Fdump_emacs):
10189         [1].
10190         Fix problems with nested crashes, add long comment.
10191
10192         * event-Xt.c (init_event_Xt_late):
10193         [1].
10194
10195         * event-msw.c:
10196         * event-msw.c (mswindows_dde_callback):
10197         * event-msw.c (mswindows_handle_sticky_modifiers):
10198         * event-msw.c (mswindows_wnd_proc):
10199         [1].
10200         [5].
10201
10202         * events.c (character_to_event):
10203         [1].
10204
10205         * fileio.c:
10206         * fileio.c (Ffile_name_directory):
10207         * fileio.c (Ffile_name_nondirectory):
10208         * fileio.c (directory_file_name):
10209         * fileio.c (Fexpand_file_name):
10210         * fileio.c (Fsubstitute_in_file_name):
10211         * fileio.c (Ffile_name_absolute_p):
10212         * fileio.c (check_executable):
10213         * fileio.c (Ffile_readable_p):
10214         * fileio.c (Ffile_accessible_directory_p):
10215         * fileio.c (Ffile_modes):
10216         * fileio.c (Funix_sync):
10217         * fileio.c (vars_of_fileio):
10218         [1]. [4].
10219
10220         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10221
10222         Expand getdefdir defn.
10223         Fix bogus rename() comment.
10224
10225         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10226         to use standard XEmacs include files, e.g. sysfile.h, rather
10227         than system-specific includes.
10228
10229         * fns.c:
10230         * fns.c (Fsubseq):
10231         [5]. [6].
10232
10233         * frame.c (vars_of_frame):
10234         [1].
10235
10236         * getloadavg.c:
10237         * getloadavg.c (getloadavg):
10238         [1]. [6].
10239         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10240         (We don't use it elsewhere in the code; just add a comment.)
10241
10242         * gif_io.c:
10243         [6].
10244         Add config.h.
10245
10246         * glyphs-msw.c:
10247         * glyphs-msw.c (mswindows_resource_instantiate):
10248         [1].
10249
10250         * glyphs-x.c (x_native_layout_instantiate):
10251         [5].
10252
10253         * gui-msw.c (Fmswindows_shell_execute):
10254         [1].
10255
10256         * insdel.c:
10257         [4].
10258
10259         * lisp.h:
10260         [4]. [5].
10261
10262         * lread.c (locate_file_in_directory_mapper):
10263         [1].
10264
10265         * lstream.c:
10266         [4].
10267
10268         * mem-limits.h:
10269         * mem-limits.h (get_lim_data):
10270         [1].
10271
10272         * menubar-msw.c:
10273         [4].
10274
10275         * ndir.h:
10276         [1].
10277
10278         * nt.c:
10279         * nt.c (getwd):
10280         * nt.c (closedir):
10281         * nt.c (rva_to_section):
10282         * nt.c (mswindows_executable_type):
10283         [1]. [6].
10284         Fix closedir() defn.
10285
10286         * nt.h:
10287         [[[[8]]]]: *_OK defs moved to sysfile.h.
10288
10289         * ntproc.c:
10290         [6]. [7].
10291
10292         * objects-x.c:
10293         [4].
10294
10295         * print.c:
10296         * print.c (std_handle_out_external):
10297         [1]. [4].
10298
10299         * process-nt.c:
10300         * process-nt.c (nt_create_process):
10301         [6].
10302         try to fix process quoting somewhat.
10303
10304         * process-unix.c (unix_create_process):
10305         [1].
10306
10307         * process.c:
10308         * process.c (vars_of_process):
10309         Add Vnull_device.
10310
10311         * process.h:
10312         [1].
10313
10314         * realpath.c:
10315         * realpath.c (xrealpath):
10316         [1].
10317
10318         * redisplay-tty.c (init_tty_for_redisplay):
10319         [3].
10320
10321         * redisplay.c:
10322         [4]. [6].
10323
10324         * scrollbar-msw.c:
10325         [4].
10326
10327         * sheap.c:
10328         * sheap.c (more_static_core):
10329         * sheap.c (report_sheap_usage):
10330         [5]. [6].
10331
10332         * signal.c:
10333         * signal.c (alarm_signal):
10334         [1]. [6].
10335
10336         * sound.c:
10337         [6].
10338
10339         * strftime.c:
10340         * strftime.c (zone_name):
10341         [1]. [5].
10342
10343         * symsinit.h (init_sunpro):
10344         [1].
10345
10346         * syscommctrl.h:
10347         commctrl.h not in Cygwin b20.1.
10348
10349         * sysdep.c:
10350         * sysdep.c (endif):
10351         * sysdep.c (sys_subshell):
10352         * sysdep.c (init_baud_rate):
10353         * sysdep.c (emacs_get_tty):
10354         * sysdep.c (emacs_set_tty):
10355         * sysdep.c (tty_init_sys_modes_on_device):
10356         * sysdep.c (init_system_name):
10357         * sysdep.c (sys_open):
10358         * sysdep.c (interruptible_open):
10359         * sysdep.c (sys_fopen):
10360         * sysdep.c (sys_mkdir):
10361         * sysdep.c (sys_rename):
10362         * sysdep.c (get_process_times_1):
10363         [1]. [6].
10364
10365         * sysdep.h:
10366         [1].
10367
10368         * sysdir.h:
10369         * sysdir.h (DIRENTRY_NONEMPTY):
10370         [1]. [6].
10371
10372         * sysdll.c (dll_init):
10373         * sysdll.h:
10374         [1].
10375
10376         * sysfile.h:
10377         [1]. [6]. [8].
10378         added text/binary defs.
10379
10380         * sysfloat.h:
10381         [1].
10382
10383         * sysproc.h:
10384         * sysproc.h (EDESTADDRREQ):
10385         * sysproc.h (poll_fds_for_input):
10386         [1]. [6].
10387
10388         * syspwd.h:
10389         [6].
10390
10391         * syssignal.h:
10392         [1].
10393
10394         * systime.h:
10395         [1]. [6].
10396
10397         * systty.h:
10398         [1].
10399
10400         * syswindows.h:
10401         [1].
10402         Always define WIN32_LEAN_AND_MEAN.
10403
10404         * unexcw.c (unexec):
10405         [5].
10406
10407         * unexec.c:
10408         * unexec.c (copy_text_and_data):
10409         * unexec.c (adjust_lnnoptrs):
10410         [1].
10411
10412         * unexnt.c:
10413         * unexnt.c (_start):
10414         [1].
10415
10416 2000-06-07  Ben Wing  <ben@xemacs.org>
10417
10418         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
10419         was used only as a model.  We've long since extracted any useful
10420         logic or code out of this. (I just did an exhaustive search.)
10421
10422         * s\msdos.h: Removed.
10423
10424         * s\windows95.h: Removed.
10425
10426 2000-06-10  Ben Wing  <ben@xemacs.org>
10427
10428         * s\cygwin32.h:
10429         [1]. [5].
10430         Don't use extern with fun defs.
10431
10432         * s\mingw32.h:
10433         [1]. [7].
10434         Remove nt\inc include.
10435         Remove getdisk, getdefdir. (The former is unused, the latter
10436         expanded in fileio.h.)
10437
10438         * s\windowsnt.h:
10439         * s\windowsnt.h (WIN32_NATIVE):
10440         * s\windowsnt.h (HAVE_STRCASECMP):
10441         [1]. [7].
10442         Add long comment about preprocessor changes.
10443         Remove getdisk, getdefdir. (The former is unused, the latter
10444         expanded in fileio.h.)
10445
10446 2000-06-10  Ben Wing  <ben@xemacs.org>
10447
10448         * m\arm.h:
10449         * m\delta.h:
10450         * m\intel386.h:
10451         * m\sequent.h:
10452         * m\template.h:
10453         * m\windowsnt.h:
10454         [1].
10455         Remove bogus/unused NO_SOCK_SIGIO.
10456
10457 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
10458
10459         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
10460         not an Emchar.
10461
10462 2000-06-04  Mike Sperber <mike@xemacs.org>
10463
10464         * casetab.c (set_case_table): For `set-standard-case-table',
10465         actually deposit the new case tables where the rest of XEmacs can
10466         see them.
10467
10468 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
10469
10470         * data.c (Faset): Don't cast XCHAR() to unsigned char.
10471
10472 2000-06-05  Ben Wing  <ben@xemacs.org>
10473
10474         * callproc.c (child_setup): Don't do close_load_descs() under
10475         MS Windows.  Put in a comment explaining why.
10476
10477 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
10478
10479         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
10480         Toolkit shell" which breaks `kill-compilation' on Windows NT
10481         native, retaining STDERR handling improvements.
10482
10483 2000-06-01  Andreas Jaeger  <aj@suse.de>
10484
10485         * s/s390.h: Support for S390, based on a patch by Martin
10486         Schwidefsky <schwidefsky@de.ibm.com>.
10487
10488 2000-05-30  Andy Piper  <andy@xemacs.org>
10489
10490         * window.c (allocate_window):
10491         (make_dummy_parent):
10492         (Fset_window_configuration): use new hashtable type.
10493
10494         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
10495         (struct image_instantiator_methods):
10496         (struct Lisp_Image_Instance): make instance geometry signed.
10497
10498         * glyphs.c (instantiate_image_instantiator):
10499         (image_instance_query_geometry):
10500         (image_instance_layout):
10501         (image_instance_layout):
10502         (query_string_geometry):
10503         (text_query_geometry):
10504         (image_instantiate):
10505         (image_instantiate):
10506         (cache_subwindow_instance_in_frame_maybe):
10507         (subwindow_query_geometry): make instance geometry signed.
10508
10509         * glyphs-widget.c (widget_query_geometry):
10510         (widget_layout):
10511         (button_query_geometry):
10512         (tree_view_query_geometry):
10513         (tab_control_query_geometry):
10514         (layout_query_geometry):
10515         (layout_layout):
10516         (native_layout_layout): make instance geometry signed.
10517
10518 2000-05-29  Olivier Galibert  <galibert@pobox.com>
10519
10520         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
10521         constant.
10522
10523         * general.c (syms_of_general): Add Qfull_assoc symbol.
10524
10525         * data.c (finish_marking_weak_lists): Mark full-assoc lists
10526         correctly.
10527         (decode_weak_list_type): Decode full-assoc type.
10528         (encode_weak_list_type): Encode full-assoc type.
10529         (Fmake_weak_list): Update doc string.
10530
10531 2000-05-30  Andy Piper  <andy@xemacs.org>
10532
10533         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
10534
10535         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
10536         (decode_hash_table_weakness): ditto.
10537         (Fhash_table_weakness): ditto.
10538         (Fhash_table_type): ditto.
10539         (finish_marking_weak_hash_tables): ditto.
10540         (hash_table_weakness_validate): ditto.
10541         (syms_of_elhash): ditto.
10542
10543 2000-05-28  Martin Buchholz <martin@xemacs.org>
10544
10545         * XEmacs 21.2.34 is released.
10546
10547 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10548
10549         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
10550         start cache.
10551         (updating_line_start_cache): Gone.
10552         (regenerate_window): Replace resetting of VERTICAL_CLIP by
10553         generic code to force a minimum of 1 line laid out in the
10554         CMOTION_DISP case.
10555
10556 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10557
10558         * glyphs.c (instantiate_image_instantiator): Check for initialized
10559         height & width no longer special cases IMAGE_NOTHING.
10560         (nothing_instantiate): Set height and width of instance.
10561
10562 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10563
10564         * unexelf.c (unexec): Search for ".data" section.
10565         Initialize new_data2_offset from old_data_index.
10566         Remove redundant check for ElfW.
10567
10568 2000-05-23  Andy Piper  <andy@xemacs.org>
10569
10570         * glyphs.c (get_image_instantiator_governing_domain): allow more
10571         specific domains as the governing domain rather than expecting an
10572         exact match. This fixes problems with layouts.
10573
10574 2000-05-22  Andy Piper  <andy@xemacs.org>
10575
10576         * redisplay-output.c (compare_runes): check for non-images
10577
10578         * glyphs.c (set_glyph_dirty_p): ditto.
10579         (update_glyph_cachel_data): ditto.
10580
10581         * glyphs-widget.c (layout_post_instantiate): ditto.
10582         (layout_post_instantiate): ditto.
10583
10584         * event-msw.c (mswindows_wnd_proc): warning removal.
10585
10586 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
10587
10588         * s\mingw32.h: Added #undef for CLASH_DETECTION.
10589
10590         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
10591
10592         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
10593
10594         * nt.c (rva_to_section): mingw32 needs rva_to_section.
10595         (mswindows_executable_type): mingw32 now has enough headers for
10596         this to work.
10597
10598 2000-05-20  Andy Piper  <andy@xemacs.org>
10599
10600         * console-msw.c (mswindows_output_last_error): ; -> ,
10601
10602 2000-05-12  Andy Piper  <andy@xemacs.org>
10603
10604         * console-msw.c (FROB): compare ints with ints.
10605
10606 2000-05-11  Andy Piper  <andy@xemacs.org>
10607
10608         * glyphs-x.c (x_finalize_image_instance): make minimal build
10609         happy.
10610
10611 2000-05-20  Ben Wing  <ben@xemacs.org>
10612
10613         * event-Xt.c:
10614         * event-Xt.c (vars_of_event_Xt):
10615         move modifier-keys-are-sticky to event-stream.c.
10616
10617         * event-msw.c:
10618         * event-msw.c (mswindows_enqueue_mouse_button_event):
10619         * event-msw.c (key_needs_default_processing_p):
10620         * event-msw.c (XEMSW_LCONTROL):
10621         * event-msw.c (mswindows_handle_sticky_modifiers):
10622         * event-msw.c (FROB):
10623         * event-msw.c (clear_sticky_modifiers):
10624         * event-msw.c (output_modifier_keyboard_state):
10625         * event-msw.c (output_alt_keyboard_state):
10626         * event-msw.c (mswindows_wnd_proc):
10627         * event-msw.c (mswindows_modifier_state):
10628         * event-msw.c (emacs_mswindows_handle_magic_event):
10629         implement sticky modifiers.
10630
10631         * event-stream.c:
10632         * event-stream.c (vars_of_event_stream):
10633         move modifier-keys-are-sticky here.
10634
10635         * lisp.h:
10636         add CHECK_FUNCTION.
10637
10638         * rangetab.c:
10639         implement map-range-table.
10640
10641
10642 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
10643
10644         * redisplay-tty.c (reset_tty_modes):
10645         (tty_redisplay_shutdown): Adjust argument type to
10646         tty_frame_output_end.
10647
10648 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10649
10650         * eval.c (Fbacktrace): Don't output a line with only right
10651         parenthesis.
10652
10653 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
10654
10655         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
10656         (Fpq_reset_poll): Ditto.
10657
10658 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
10659
10660         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
10661
10662 2000-05-16  Ben Wing  <ben@xemacs.org>
10663
10664         * buffer.c:
10665         * buffer.c (dfc_convert_to/from_internal_format):
10666         * buffer.c (reinit_vars_of_buffer):
10667         Fix conversion functions to allow reentrancy.
10668
10669         * console-msw.c:
10670         * console-msw.c (mswindows_output_last_error):
10671         New fun, generally useful -- output a human-readable
10672         version of GetLastError() on the console.
10673
10674         * console-msw.h:
10675         * console-msw.h (struct mswindows_frame):
10676         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
10677
10678         * console-stream.c (stream_output_begin):
10679         * console-stream.c (stream_output_end):
10680         * console-stream.c (stream_output_vertical_divider):
10681         * console-stream.c (stream_clear_region):
10682         * console-stream.c (stream_flash):
10683         * console-stream.c (console_type_create_stream):
10684         Delete blank stream methods, not needed.
10685
10686         * console.h (struct console_methods):
10687         Split begin/end methods into window and frame.
10688
10689         * event-msw.c:
10690         * event-msw.c (mswindows_handle_paint):
10691         * event-msw.c (output_alt_keyboard_state):
10692         * event-msw.c (mswindows_wnd_proc):
10693         * event-msw.c (vars_of_event_mswindows):
10694         Comment about problems with ignored-expose.
10695         Define mswindows-debug-events; not really implemented.
10696
10697         * frame-msw.c (mswindows_init_frame_1):
10698         random cleanups.
10699
10700         * glyphs-msw.c:
10701         * glyphs-msw.c (begin_defer_window_pos):
10702         * glyphs-msw.c (mswindows_unmap_subwindow):
10703         * glyphs-msw.c (mswindows_map_subwindow):
10704         * glyphs-msw.c (mswindows_resize_subwindow):
10705         Use DeferWindowPos to reduce flashing when mapping/unmapping.
10706
10707         * glyphs.c (make_image_instance_1):
10708         Fix crash.
10709
10710         * gutter.c (Fredisplay_gutter_area):
10711         Use new begin/end methods.
10712
10713         * lisp.h (Dynarr_new2):
10714         New creation fun.
10715
10716         * redisplay-msw.c:
10717         * redisplay-msw.c (mswindows_frame_output_begin):
10718         * redisplay-msw.c (mswindows_frame_output_end):
10719         * redisplay-msw.c (console_type_create_redisplay_mswindows):
10720         New begin/end methods -- handle DeferWindowPos.
10721
10722         * redisplay-output.c (redisplay_move_cursor):
10723         * redisplay-output.c (redraw_cursor_in_window):
10724         * redisplay-output.c (redisplay_update_line):
10725         * redisplay-output.c (redisplay_output_window):
10726         New begin/end methods.
10727
10728         * redisplay-tty.c:
10729         * redisplay-tty.c (tty_frame_output_begin):
10730         * redisplay-tty.c (tty_frame_output_end):
10731         * redisplay-tty.c (console_type_create_redisplay_tty):
10732         New begin/end methods.
10733
10734         * redisplay-x.c:
10735         * redisplay-x.c (x_window_output_begin):
10736         * redisplay-x.c (x_window_output_end):
10737         * redisplay-x.c (console_type_create_redisplay_x):
10738         New begin/end methods.
10739
10740         * redisplay.c (redisplay_frame):
10741         * redisplay.c (Fredisplay_echo_area):
10742         New begin/end methods.
10743         use MAYBE_DEVMETH for clear_frame; it may not exist.
10744
10745         * window.h (WINDOW_XFRAME):
10746         WINDOW_XFOO macros -- get locale and decode struct pointer.
10747
10748
10749 2000-05-12  Ben Wing  <ben@xemacs.org>
10750
10751         * emacs.c:
10752         * emacs.c (ensure_no_quitting_from_now_on):
10753         * emacs.c (fatal_error_signal):
10754         * emacs.c (mswindows_handle_hardware_exceptions):
10755         * emacs.c (main):
10756         * emacs.c (Fkill_emacs):
10757         * emacs.c (shut_down_emacs):
10758         * emacs.c (assert_failed):
10759         various improvements in fatal error handling.
10760
10761         * eval.c:
10762         move preparing_for_armageddon to emacs.c.
10763
10764         * lisp.h:
10765         declare fatal_error_in_progress.
10766
10767         * print.c:
10768         * print.c (std_handle_out_external):
10769         * print.c (std_handle_out_va):
10770         * print.c (stderr_out):
10771         * print.c (stdout_out):
10772         use console under mswin when no standard output.
10773         don't do code conversion during fatal error.
10774
10775         * scrollbar.c (Fscrollbar_page_up):
10776         * scrollbar.c (Fscrollbar_page_down):
10777         fix missing else.  reindent.
10778
10779 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
10780
10781         Emergency fix.
10782
10783         * glyphs.h (GLYPH_CACHEL_DESCENT):
10784         (GLYPH_CACHEL_DESCENT):
10785         (GLYPH_CACHEL_DESCENT):
10786         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
10787         used in case these are inline functions.
10788         Use more absurd values to error check.
10789
10790         include window.h for error check functions.
10791
10792 2000-05-11  Ben Wing  <ben@xemacs.org>
10793
10794         * cmdloop.c (Freally_early_error_handler):
10795         Display message box under windows; otherwise, message will disappear
10796         before it can be viewed.
10797
10798         * console-msw.c:
10799         * console-msw.c (Fmswindows_message_box):
10800         * console-msw.c (FROB):
10801         * console-msw.c (syms_of_console_mswindows):
10802         Define new fun `mswindows-message-box'.
10803         #### I will merge this into `popup-dialog-box'; just give me
10804         a bit of time.
10805
10806         * general.c:
10807         * general.c (syms_of_general):
10808         Some new symbols used in `mswindows-message-box'.
10809
10810         * glyphs.c:
10811         * glyphs.c (Fset_image_instance_property):
10812         put warning in this fun.
10813
10814         * glyphs.h:
10815         * glyphs.h (GLYPH_CACHEL_WIDTH):
10816         * glyphs.h (GLYPH_CACHEL_ASCENT):
10817         * glyphs.h (GLYPH_CACHEL):
10818         * glyphs.h (GLYPH_CACHEL_GLYPH):
10819         define error-checking versions to try to catch a bug i've seen --
10820         redisplay gets in an infinite loop because the glyph width of the
10821         continuation glyph is 65535.
10822
10823         * lisp.h:
10824         Extern message-box stuff.
10825
10826         * window.c (allocate_window):
10827         * window.c (make_dummy_parent):
10828         * window.c (Fset_window_configuration):
10829         Use EQUAL not EQ for subwindow caches to make them work a bit
10830         better. (Something is still very broken.)
10831
10832
10833 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10834
10835         * glyphs.c (image_instantiate): Suppress gcc warnings.
10836         (Fmake_image_instance): Fix doc string.
10837         * specifier.c (Fmake_specifier): Ditto.
10838
10839 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
10840
10841         * paths.h.in (PATH_LOCK): Removed.
10842         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
10843         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
10844
10845 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10846
10847         * fns.c (Ffeaturep): Update e-mail address in doc-string.
10848         Document (featurep '(and xemacs 21.02)).
10849
10850 2000-05-09  Ben Wing  <ben@xemacs.org>
10851
10852         * buffer.c (complex_vars_of_buffer):
10853         update modeline-format doc.
10854
10855         * device.h:
10856         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
10857
10858         * emacs.c:
10859         timeline of all released versions of Emacs, for use in creating
10860         authorship comments and in synching up.
10861
10862         * glyphs-widget.c (image_instantiator_buttons):
10863         * glyphs-widget.c (image_instantiator_edit_fields):
10864         * glyphs-widget.c (image_instantiator_combo_box):
10865         * glyphs-widget.c (image_instantiator_scrollbar):
10866         * glyphs-widget.c (image_instantiator_progress_guage):
10867         * glyphs-widget.c (image_instantiator_tree_view):
10868         * glyphs-widget.c (image_instantiator_tab_control):
10869         * glyphs-widget.c (image_instantiator_labels):
10870         * glyphs-widget.c (image_instantiator_layout):
10871         * glyphs-widget.c (image_instantiator_native_layout):
10872         rename decode_domain method to governing_domain.
10873
10874         * glyphs.c:
10875         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
10876         * glyphs.c (add_entry_to_device_ii_format_list):
10877         make sure we don't put an entry more than once into the list.
10878         * glyphs.c (check_instance_cache_mapper):
10879         *************************************************************
10880         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10881         HAVE BEEN GETTING.
10882         *************************************************************
10883         * glyphs.c (get_image_instantiator_governing_domain):
10884         clean up, expand on new concept of governing domain.
10885         * glyphs.c (instantiate_image_instantiator):
10886         * glyphs.c (allocate_image_instance):
10887         use governing_domain instead of cache_domain in naming.
10888         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
10889         * glyphs.c (make_image_instance_1):
10890         * glyphs.c (Fmake_image_instance):
10891         allow for any domain (not just device), and process the
10892         governing domain correctly.  very big doc fix.
10893         * glyphs.c (Fimage_instance_domain):
10894         new primitive, to retrieve the governing domain of an image instance.
10895         * glyphs.c (image_instantiate):
10896         use new governing_domain stuff.  this fixes a crash you could get
10897         by instantiating certain widget glyphs in frame locales. (should
10898         signal an error instead of crashing.)
10899         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
10900         * glyphs.c (Fglyphp): clean up doc.
10901         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
10902         * glyphs.c (syms_of_glyphs):
10903         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
10904         * glyphs.c (image_instantiator_format_create): add some comments about
10905         bogus code.
10906         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
10907         for current-display-table. (Apparently Hrjove implemented in 1998 a
10908         design I wrote up in 1996, but didn't update the doc string.)
10909
10910         * glyphs.h: clean up a doc string.
10911         * glyphs.h (governing_domain):
10912         * glyphs.h (struct image_instantiator_methods):
10913         changes for governing_domain stuff.
10914
10915         * gutter.c:
10916         * gutter.c (Fgutter_specifier_p):
10917         * gutter.c (Fgutter_size_specifier_p):
10918         * gutter.c (Fgutter_visible_specifier_p):
10919         * objects.c:
10920         * objects.c (Fcolor_specifier_p):
10921         * objects.c (Ffont_specifier_p):
10922         * objects.c (Fface_boolean_specifier_p):
10923         doc strings moved to make-*-specifier.
10924
10925         * redisplay.c (add_disp_table_entry_runes_1):
10926         * redisplay.c (generate_fstring_runes):
10927         * redisplay.c (screen):
10928         add random comments and doc strings.
10929
10930         * specifier.c:
10931         * specifier.c (Fmake_specifier):
10932         major overhaul of this doc string.
10933
10934         * specifier.c (Fvalid_specifier_domain_p):
10935         comment about the bogosity of image instances being domains.
10936         * specifier.c (decode_domain):
10937         now non-static, used in glyphs.c.
10938         * specifier.c (specifier_instance):
10939         comment about the bogosity of image instances being domains.
10940         * specifier.c (Fgeneric_specifier_p):
10941         move doc string to make-generic-specifier.
10942         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
10943         rebackslashify.
10944
10945         * specifier.h:
10946         * specifier.h (DOMAIN_FRAME):
10947         * specifier.h (DOMAIN_LIVE_P):
10948         * specifier.h (DOMAIN_XDEVICE):
10949         rebackslashify.
10950         add comments about problems with these macros.
10951         prototype for decode_domain.
10952
10953         * toolbar.c:
10954         * toolbar.c (Ftoolbar_specifier_p):
10955         move doc string to `make-toolbar-specifier'.
10956
10957         * window.c (window_unmap_subwindows_cache_mapper):
10958         *************************************************************
10959         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10960         HAVE BEEN GETTING.
10961         *************************************************************
10962
10963 2000-05-09  Andy Piper  <andy@xemacs.org>
10964
10965         * glyphs.h: declare reset_frame_subwindow_instance_cache.
10966
10967         * window.c (Fset_window_configuration): reset the frame subwindow
10968         cache and re-initialize the window subwindow caches.
10969
10970         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
10971
10972 2000-05-09  Ben Wing  <ben@xemacs.org>
10973
10974         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
10975         DWORD.
10976
10977 2000-04-26  Mike Woolley  <mike@bulsara.com>
10978
10979         * ntheap.c: Changed recreate_heap to limit the amount reserved
10980         for the heap to that which is actually available. Also now
10981         displays a message box (with some dignostics) in the event that
10982         it still can't start.
10983
10984 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10985
10986         * callproc.c (Fold_call_process_internal): GCPRO path
10987
10988 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
10989
10990         Patch by Bill Perry.
10991
10992         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
10993         back data instead of #ifdef.
10994         (Fscrollbar_page_down): ditto.
10995
10996 2000-05-07  Ben Wing  <ben@xemacs.org>
10997
10998         * buffer.h:
10999         Kludge for defining Qmswindows_tstr.
11000
11001         * nt.c:
11002         * nt.c (open_input_file):
11003         * nt.c (open_output_file):
11004         * nt.c (rva_to_section):
11005         * nt.c (mswindows_executable_type):
11006         Move all memory-mapped-file routines here (some were in unexnt.c,
11007         which is bad because they are used by process-nt.c, and unexnt
11008         won't be around when portable dumping).  Synched the above routines
11009         with FSF 20.6.
11010
11011         * nt.h:
11012         Removed ifdef'd out bogus code.
11013         Fixed some prototypes.
11014
11015         * nt.h (file_data):
11016         * nt.h (OFFSET_TO_RVA):
11017         * nt.h (RVA_TO_OFFSET):
11018         * nt.h (RVA_TO_PTR):
11019         Moved the memory-mapped-file structures, macros and prototypes
11020         here, to parallel nt.c.  ntheap.h should really be removed
11021         entirely, and it's a non-portable-dumper specific file.
11022
11023         * ntheap.h (round_to_next):
11024         Moved the memory-mapped-file structures, macros and prototypes
11025         to nt.h.
11026
11027         * ntproc.c (compare_env):
11028         Moved rva_to_section and mswindows_executable_type to nt.c.
11029         Moved compare_env to process-nt.c.
11030         ntproc.c will die, one day.
11031
11032         * ntproc.c (sys_spawnve):
11033         Account for win32_ -> mswindows_.
11034
11035         * process-nt.c:
11036         * process-nt.c (struct nt_process_data):
11037         * process-nt.c (ensure_console_window_exists):
11038         * process-nt.c (compare_env):
11039         * process-nt.c (nt_create_process):
11040         * process-nt.c (nt_kill_process_by_pid):
11041         * process-nt.c (syms_of_process_nt):
11042         * process-nt.c (vars_of_process_nt):
11043         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11044         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11045         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11046         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11047         Move compare_env here from ntproc.c.
11048
11049         * process.c (Fprocess_send_region):
11050         Takes an optional fourth argument, BUFFER, which should fix some
11051         problems with call-process.
11052
11053         * syscommctrl.h:
11054         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11055
11056         * syswindows.h:
11057         Move ICC_BAR_CLASSES to syscommctrl.h.
11058         Add preliminary macros for MSWindows/Mule.  More to come.
11059
11060         * unexnt.c:
11061         * unexnt.c (unexec):
11062         open_output_file moved to nt.c.
11063
11064
11065 2000-05-05  Andy Piper  <andy@xemacs.org>
11066
11067         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11068         instance from the frame cache also since GC may catch up too late
11069         to make frame deletion sane.
11070
11071 2000-05-04  Andy Piper  <andy@xemacs.org>
11072
11073         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11074         (x_finalize_image_instance): ungcpro on deletion.
11075
11076         * glyphs.c (image_instantiator_format_create): give pointers a
11077         query geometry method so that the geometry is at least set.
11078
11079         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11080         initialize layouts if using widgets.
11081
11082 2000-05-03  Andy Piper  <andy@xemacs.org>
11083
11084         * nt.c: remove bogus reference to sysmmsystem.h
11085
11086         * gui-x.c (popup_selection_callback): fix no selection abort.
11087
11088 2000-05-02  Andy Piper  <andy@xemacs.org>
11089
11090         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11091         (mswindows_widget_instantiate): ditto.
11092
11093         * glyphs-widget.c (initialize_widget_image_instance): initialize
11094         children correctly.
11095         (widget_instantiate): cope with children and items in the same
11096         instance.
11097
11098         * glyphs.c (mark_image_instance): cope with children as a first
11099         class member.
11100         (image_instance_equal): ditto.
11101         (image_instance_hash): ditto.
11102         (image_instance_changed): ditto.
11103
11104 2000-04-30  Andy Piper  <andy@xemacs.org>
11105
11106         * glyphs.c (subwindow_query_geometry): new function. Return some
11107         defaults.
11108         (subwindow_instantiate): don't assign dimensions if none have been
11109         given.
11110         (image_instantiator_format_create): add subwindow_query_geometry.
11111         (print_image_instance): cope with layouts as widgets.
11112
11113 2000-04-29  Andy Piper  <andy@xemacs.org>
11114
11115         * frame.c (delete_frame_internal): call
11116         free_frame_subwindow_instance_cache so that all subwindows are
11117         finalized before their parent.
11118         (mark_frame): remove subwindow_cachels.
11119         (Fmake_frame): remove subwindow_cachel manipulation.
11120         (allocate_frame_core): subwindow_instance_cache is a weak list.
11121         (delete_frame_internal): set subwindow_instance_cache to nil.
11122
11123         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11124         finalization safe.
11125         (mswindows_finalize_image_instance): use the device
11126         not the domain as the domain may have died already.
11127
11128         * glyphs-x.c (x_finalize_image_instance): ditto.
11129         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11130         HEIGHT.
11131
11132         * redisplay-output.c (redisplay_unmap_subwindows): update for
11133         subwindow instance cache as a weak list.
11134         (redisplay_unmap_subwindows_maybe): ditto.
11135         (redisplay_unmap_subwindows_except_us): ditto.
11136
11137         * glyphs.c (unmap_subwindow): error checking will check the domain
11138         so don't deal with it here. Don't use cachels anymore.
11139         (map_subwindow): ditto.
11140         (update_subwindow_cachel_data): remove old accessor names.
11141         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11142         (Fresize_subwindow): don't update cachel.
11143         (mark_subwindow_cachels):
11144         (update_subwindow_cachel_data):
11145         (add_subwindow_cachel):
11146         (get_subwindow_cachel_index):
11147         (update_subwindow_cachel):
11148         (reset_subwindow_cachels):
11149         (mark_subwindow_cachels_as_not_updated): deleted.
11150         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11151         subwindow instance to the frame cache.
11152         (find_matching_subwindow): update for subwindow instance cache as
11153         a weak list.
11154         (update_widget_instances): ditto.
11155         (image_instance_type_to_mask):inlined.
11156         (free_frame_subwindow_instance_cache): new function. finalize all
11157         subwindows that are instantiated.
11158
11159         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11160         of cachel information.
11161         (IMAGE_INSTANCE_DISPLAY_X):
11162         (IMAGE_INSTANCE_DISPLAY_Y):
11163         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11164         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11165         (XIMAGE_INSTANCE_DISPLAY_X):
11166         (XIMAGE_INSTANCE_DISPLAY_Y):
11167         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11168         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11169         remove subwindow_cachel structure and function references.
11170         (image_instance_type_to_mask): inline from glyphs.c
11171
11172         * redisplay.c (redisplay_frame): remove subwindow_cachel
11173         references.
11174
11175         * frame.h (struct frame): remove subwindow_cachels.
11176         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11177
11178         * frameslots.h: add subwindow_instance_cache.
11179
11180         * window.c (replace_window): check subwindow cache of replacement.
11181         (window_unmap_subwindows_cache_mapper):
11182         (window_unmap_subwindows): new functions. Unmap all subwindows
11183         cached on this window.
11184         (mark_window_as_deleted): unmap all subwindows.
11185
11186 2000-04-27  Andy Piper  <andy@xemacs.org>
11187
11188         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11189
11190         * glyphs-widget.c (widget_layout): return something.
11191         (layout_layout): return something. Fail if not initialized.
11192         (layout_query_geometry): ditto.
11193         (image_instantiator_native_layout): new function. Initialized the
11194         native layout type.
11195         (widget_instantiate): don't do layout stuff here.
11196
11197         * glyphs.c (instantiate_image_instantiator): reorded calling or
11198         instantiate and post_instantiate with layout in between.
11199         (image_instance_layout): be more selective about deciding whether
11200         the layout has been done or not.
11201
11202         * glyphs.h (struct image_instantiator_methods): return a value
11203         from layout_method.
11204
11205 2000-04-26  Andy Piper  <andy@xemacs.org>
11206
11207         * glyphs.c (allocate_image_instance): make initial width and
11208         height unspecified. Set initialized to 0.
11209
11210         * syscommctrl.h new file. Encapsulates commctrl.h.
11211
11212         * syswindows.h new file. Encapsulates windows.h.
11213
11214         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11215         * nt.c: ditto.
11216         * console-msw.h: ditto.
11217
11218         * redisplay-tty.c (tty_output_display_block): remove layout references.
11219
11220         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11221         window handle rather than just the frame.
11222
11223         * glyphs.c (mark_image_instance): remove layout references.
11224         (print_image_instance): ditto.
11225         (image_instance_equal): ditto.
11226         (image_instance_hash): ditto.
11227         (decode_image_instance_type): ditto.
11228         (encode_image_instance_type): ditto.
11229         (image_instantiate): ditto.
11230         (allocate_glyph): ditto.
11231         (Fimage_instance_height): ditto.
11232         (Fimage_instance_width): ditto.
11233         (update_subwindow): ditto.
11234
11235         * redisplay-x.c (x_output_display_block): recode for layouts as
11236         widgets.
11237
11238         * redisplay-output.c (redisplay_output_layout): recode for layouts
11239         as widgets.
11240         (compare_runes): remove layout references.
11241
11242         * redisplay-msw.c (mswindows_output_display_block): recode for
11243         layouts as widgets.
11244
11245         * glyphs-widget.c (image_instantiator_layout): remove
11246         layout_possible_dest_types.
11247         (layout_possible_dest_types): deleted.
11248
11249         * glyphs.h (image_instance_type): remove layout references.
11250         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11251         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11252         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11253
11254 2000-04-25  Andy Piper  <andy@xemacs.org>
11255
11256         * glyphs-widget.c (image_instantiator_buttons):
11257         (image_instantiator_edit_fields):
11258         (image_instantiator_combo_box):
11259         (image_instantiator_scrollbar):
11260         (image_instantiator_progress_guage):
11261         (image_instantiator_tree_view):
11262         (image_instantiator_tab_control):
11263         (image_instantiator_labels):
11264         (image_instantiator_layout): call default post_instantiate method.
11265         (widget_post_instantiate): new function. Simply lays out the
11266         widgets.
11267
11268         * glyphs.h (struct image_instantiator_methods): add
11269         post_instantiate method.
11270
11271         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11272         method calls.
11273
11274 2000-04-23  Andy Piper  <andy@xemacs.org>
11275
11276         * glyphs.h (struct image_instantiator_methods): add
11277         decode_domain_method.
11278         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11279         derived from the domain.
11280         (IMAGE_INSTANCE_FRAME): new accessor.
11281         (XIMAGE_INSTANCE_FRAME): ditto.
11282
11283         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11284         instead of _SUBWINDOW_FRAME.
11285         (finalize_image_instance): ditto.
11286         (Fimage_instance_foreground): ditto.
11287         (Fimage_instance_background): ditto.
11288         (image_instantiate): ditto.
11289         (update_subwindow_cachel): ditto.
11290         (update_subwindow): ditto.
11291         (unmap_subwindow): ditto.
11292         (map_subwindow): ditto
11293         (subwindow_instantiate): ditto.
11294         * glyphs-msw.c (mswindows_update_widget): ditto.
11295         (mswindows_progress_gauge_instantiate): ditto.
11296         (mswindows_tab_control_update): ditto.
11297         * glyphs-x.c (x_update_widget): ditto.
11298         (x_widget_instantiate): ditto.
11299         (x_tab_control_instantiate): ditto.
11300         (x_tab_control_update): ditto.
11301         * event-msw.c (mswindows_wnd_proc): ditto
11302
11303         * glyphs-widget.c (image_instantiator_layout): use
11304         subwindow_decode_domain.
11305         (image_instantiator_buttons): ditto.
11306         (image_instantiator_edit_fields): ditto.
11307         (image_instantiator_combo_box): ditto.
11308         (image_instantiator_scrollbar): ditto.
11309         (image_instantiator_progress_guage): ditto.
11310         (image_instantiator_tree_view): ditto.
11311         (image_instantiator_tab_control): ditto.
11312         (image_instantiator_labels): ditto.
11313         (image_instantiator_layout): ditto.
11314
11315         * glyphs.c: add instance error checking to many functions.
11316         (instantiate_image_instantiator): decode device from cache_domain.
11317         (image_instantiate): partially rewrite by using
11318         decode_image_instantiator_domain to determine what domain the
11319         instance needs to be cached in.
11320         (decode_image_instantiator_domain): new function. Determine what
11321         domain the image needs to be cached in.
11322         (check_window_subwindow_cache): new error checking function.
11323         (check_instance_cache_mapper): ditto.
11324         (check_image_instance_structure): ditto.
11325         (subwindow_decode_domain): new function. Encodes a window as a
11326         subwindow's cache domain.
11327         (image_instantiator_format_create): use it for text and
11328         subwindows.
11329
11330 2000-04-21  Andy Piper  <andy@xemacs.org>
11331
11332         * glyphs.c (image_instance_device): new function.
11333         (image_instance_frame): new function.
11334         (image_instance_window): new function.
11335         (image_instance_live_p): new function.
11336
11337         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11338         cache to nil.
11339
11340         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11341         (IMAGE_INSTANCE_DOMAIN): new accessor.
11342         (XIMAGE_INSTANCE_DOMAIN): ditto.
11343
11344         * glyphs-x.c (x_finalize_image_instance): device->domain.
11345
11346         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11347         (mswindows_finalize_image_instance): ditto.
11348
11349         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11350         (gif_instantiate): ditto.
11351         (png_instantiate): ditto.
11352         (tiff_instantiate): ditto.
11353
11354         * glyphs.c (instantiate_image_instantiator): use domain rather
11355         than device.
11356         (mark_image_instance): device -> domain.
11357         (print_image_instance): ditto.
11358         (finalize_image_instance): ditto.
11359         (image_instance_equal): ditto.
11360         (allocate_image_instance): ditto.
11361         (Fcolorize_image_instance): ditto.
11362         (query_string_geometry): ditto.
11363         (image_instantiate): ditto
11364         (query_string_font): ditto.
11365         (image_instantiate): ditto.
11366         (update_subwindow): ditto.
11367         (unmap_subwindow): ditto.
11368         (map_subwindow): ditto.
11369         (subwindow_instantiate): ditto.
11370
11371         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
11372         (DOMAIN_FRAME): ditto.
11373         (DOMAIN_WINDOW): ditto.
11374         (DOMAIN_LIVE_P): ditto.
11375         (XDOMAIN_DEVICE): ditto.
11376         (XDOMAIN_FRAME): ditto.
11377         (XDOMAIN_WINDOW): ditto.
11378
11379         * specifier.c (Fvalid_specifier_domain_p): add image instances as
11380         a valid specifier domain.
11381
11382 2000-04-19  Andy Piper  <andy@xemacs.org>
11383
11384         * glyphs-widget.c (syms_of_glyphs_widget): remove
11385         widget-callback-current-channel.
11386         (vars_of_glyphs_widget): ditto.
11387         * glyphs.h: ditto
11388
11389         * gui.c (get_gui_callback): revert to previous behaviour.
11390
11391 2000-04-18  Andy Piper  <andy@xemacs.org>
11392
11393         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
11394         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
11395         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
11396
11397         * glyphs.c (image_instance_equal): add margin_width.
11398         (image_instance_hash): ditto.
11399
11400         * glyphs-widget.c (widget_instantiate): deal with margin-width.
11401         (layout_query_geometry): ditto.
11402         (layout_layout): ditto.
11403         (syms_of_glyphs_widget): add margin-width.
11404         (image_instantiator_layout): allow margin-width.
11405
11406         * glyphs.c (update_widget_instances): make a normal function.
11407         (syms_of_glyphs): remove Qupdate_widget_instances.
11408         * glyphs.h: ditto.
11409
11410         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
11411         so that we don't corrupt ideas about the last event or
11412         command. Remove widget-callback-current-channel fiddling.
11413         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11414
11415 2000-05-01  Martin Buchholz <martin@xemacs.org>
11416
11417         * XEmacs 21.2.33 is released.
11418
11419 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
11420
11421         * make-src-depend: Allow dots in header file name.
11422
11423 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
11424
11425         * mule-charset.h (struct charset_lookup): Add
11426         next_allocated_1_byte_leading_byte and
11427         next_allocated_2_byte_leading_byte.
11428         * mule-charset.c: Move above two variables so that those values
11429         will be dumped.
11430
11431 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
11432
11433         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
11434         when string length is zero.
11435         (find_charsets_in_emchar_string): Ditto.
11436
11437 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
11438
11439         * lisp.h: extern Qdialog and Qmenubar.
11440
11441         * gui-x.c: added events.h.
11442                 also fixed typo which made the file uncompilable.
11443
11444         * general.c: Added Qmenubar and Qdialog
11445
11446 2000-04-28  Ben Wing  <ben@xemacs.org>
11447
11448         * frame-msw.c (mswindows_init_frame_1):
11449         * frame-msw.c (mswindows_mark_frame):
11450         * event-msw.c (mswindows_enqueue_dispatch_event):
11451         * console-msw.h:
11452         * console-msw.h (struct mswindows_frame):
11453         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
11454         there are now three hash tables for callbacks.
11455         mswindows_enqueue_dispatch_event is no longer static.
11456
11457         * dialog-x.c (maybe_run_dbox_text_callback):
11458         * dialog-x.c (dbox_descriptor_to_widget_value):
11459         switch to new cons3 form for callbacks.
11460
11461         * glyphs-msw.c (mswindows_register_gui_item):
11462         * glyphs-msw.c (mswindows_widget_instantiate):
11463         * glyphs-msw.c (add_tree_item):
11464         * glyphs-msw.c (add_tab_item):
11465         new image instance parameter, so it can be passed to callback-ex.
11466         respect :callback-ex as well as :callback.
11467
11468         * glyphs-widget.c (VALID_GUI_KEYWORDS):
11469         add :callback-ex.
11470
11471         * glyphs.c (print_image_instance):
11472         prettify, e.g. now prints widget type.
11473
11474         * gui-x.h:
11475         certain funs have new image instance parameter.
11476
11477         * gui.c:
11478         * gui.c (get_gui_callback):
11479         * gui.c (gui_item_add_keyval_pair):
11480         * gui.c (gui_item_init):
11481         * gui.c (gui_add_item_keywords_to_plist):
11482         * gui.c (mark_gui_item):
11483         * gui.c (gui_item_hash):
11484         * gui.c (gui_item_equal):
11485         * gui.c (copy_gui_item):
11486         * gui.c (syms_of_gui):
11487         recognize callback-ex in a number of places.
11488         also, fix the annoying "can't get out of yes-no dialog" bug.
11489
11490         * gui.h:
11491         * gui.h (struct Lisp_Gui_Item):
11492         recognize callback-ex in a number of places.
11493
11494         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11495         new parameter in button_item_to_widget_value.
11496
11497         * glyphs-x.c (x_update_widget):
11498         * glyphs-x.c (x_button_instantiate):
11499         * glyphs-x.c (x_button_update):
11500         * glyphs-x.c (x_progress_gauge_instantiate):
11501         * glyphs-x.c (x_edit_field_instantiate):
11502         * glyphs-x.c (x_combo_box_instantiate):
11503         * glyphs-x.c (x_tab_control_instantiate):
11504         * glyphs-x.c (x_label_instantiate):
11505         new image instance parameter in various places.
11506
11507         * event-Xt.c:
11508         * event-Xt.c (enqueue_Xt_dispatch_event):
11509         this fun gets exported.
11510
11511         * gui-msw.c:
11512         * gui-msw.c (mswindows_handle_gui_wm_command):
11513         handle both :callback and :callback-ex, and generate our own
11514         event because it's one of the callback-ex arguments.
11515
11516         * gui-x.c:
11517         * gui-x.c (popup_selection_callback):
11518         handle both :callback and :callback-ex, and generate our own
11519         event because it's one of the callback-ex arguments.
11520         * gui-x.c (button_item_to_widget_value):
11521         * gui-x.c (gui_items_to_widget_values_1):
11522         * gui-x.c (gui_item_children_to_widget_values):
11523         * gui-x.c (gui_items_to_widget_values):
11524         new image instance parameter in various places.
11525
11526         * fns.c (Freplace_list):
11527         fix small typo in doc string.
11528
11529         * lisp.h:
11530         declare enqueue_Xt_dispatch_event.
11531
11532 2000-04-28  Ben Wing  <ben@xemacs.org>
11533
11534         * buffer.c:
11535         * buffer.c (Frecord_buffer):
11536         * buffer.c (syms_of_buffer):
11537         delete record-buffer-hook.
11538
11539         * fns.c:
11540         * fns.c (Freplace_list):
11541         * fns.c (syms_of_fns):
11542         new primitive replace-list.
11543
11544         * frameslots.h:
11545         slot for old buffer-alist.
11546
11547         * lisp.h:
11548         exfun replace-list.
11549
11550         * redisplay.c:
11551         * redisplay.c (redisplay_frame):
11552         * redisplay.c (syms_of_redisplay):
11553         * redisplay.c (vars_of_redisplay):
11554         new hook buffer-list-changed-hook.
11555         call it.
11556
11557 2000-04-27  Ben Wing  <ben@xemacs.org>
11558
11559         * extents.h: extern in_modeline_generation.
11560
11561         * redisplay.c (generate_formatted_string_db): set
11562         in_modeline_generation.
11563
11564         * extents.c (extent_changed_for_redisplay): don't mark redisplay
11565         flags if in modeline generation.  otherwise frame-modified-tick
11566         is ticked far too often.
11567         Declare in_modeline_generation.
11568
11569 2000-04-26  Ben Wing  <ben@xemacs.org>
11570
11571         * emacs.c (vars_of_emacs): document quick-build "error-checking"
11572         option.
11573         (vars_of_emacs): add quick-build as an error-checking option.
11574         A bit kludgy, but there doesn't seem much point in creating
11575         a real var for this.
11576
11577         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
11578
11579 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11580
11581         * redisplay.h (struct display_line): Add a new variable,
11582         line_continuation.
11583
11584         * redisplay.c (create_text_block): Set dl->line_continuation if
11585         the line continues.
11586         (create_string_text_block): Ditto.
11587         (regenerate_window_incrementally): Use line_continuation instead
11588         of searching continuation glyph.
11589         (add_margin_runes): Call add_glyph_rune.
11590         (add_glyph_rune): Handle margin glyph.
11591
11592 2000-04-20  Martin Buchholz  <martin@xemacs.org>
11593
11594         * filelock.c (fill_in_lock_file_name):
11595         ANSIfy.
11596         Check for IS_ANY_SEP instead of '/'.
11597         (lock_file_1):
11598         Avoid generating gratuitous garbage.  Call user_login_name() directly.
11599         Never check errno without first seeing that system call failed.
11600         (unlock_file): Add GCPRO.
11601         (Flock_buffer): Fix docstring.
11602         (Ffile_locked_p): Fix docstring.  Add GCPRO.
11603
11604 2000-04-19  Martin Buchholz  <martin@xemacs.org>
11605
11606         * sysdep.c (get_pty_max_bytes):
11607         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
11608         strings longer than 252 bytes.
11609
11610         * md5.c: Unconditionally include ANSI header <limits.h>
11611
11612         * glyphs-x.c (convert_EImage_to_XImage):
11613         * lisp-union.h (union Lisp_Object):
11614         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
11615
11616 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
11617
11618         * filelock.c (current_lock_owner): Remove unused variable o, p.
11619
11620 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
11621
11622         * callint.c: Remove multiply defined symbol Qlet
11623         (syms_of_callint): ditto.
11624
11625 2000-04-14  Andy Piper  <andy@xemacs.org>
11626
11627         * general.c (syms_of_general): add last-command, this-command, let
11628         and funcall.
11629
11630         * lisp.h: declare various symbols.
11631
11632         * glyphs.h: declare Qwidget_callback_current_channel;
11633
11634         * glyphs-widget.c (syms_of_glyphs_widget): add
11635         Qgui_callback_current_channel.
11636         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
11637
11638         * gui-msw.c (mswindows_handle_gui_wm_command): bind
11639         widget-callback-current-channel when invoking the interactive
11640         arg. Also bind last-command and next-command when invoking the
11641         widget updates.
11642         * gui-x.c (popup_selection_callback): ditto.
11643
11644         * gui.c (get_gui_callback): massage args so that we are always
11645         calling eval. This allows us to add our own variable bindings
11646         outside.
11647
11648         * glyphs-x.c (x_button_instantiate): use
11649         gui_items_to_widget_values since this is GC safe.
11650         (x_progress_gauge_instantiate): ditto.
11651         (x_edit_field_instantiate): ditto.
11652         (x_label_instantiate): ditto.
11653
11654         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
11655         (emacs_Xt_event_widget_focus_out): new function
11656         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
11657         focus.
11658         (emacs_Xt_event_add_widget_actions): new function. add focus
11659         functions as actions.
11660         (init_event_Xt_late): use it.
11661
11662 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
11663
11664         * event-stream.c (Fdispatch_event): Doc fix.
11665
11666 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
11667
11668         * postgresql.c: Remove all references to PQsetenv*.
11669
11670         * postgresql.h: Remove references to PGsetenvHandler object.
11671         * lrecord.h (lrecord_type): Ditto.
11672
11673 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11674
11675         * glyphs-msw.h (struct mswindows_image_instance_data): Added
11676         real_heigh and real_width members, and accessor macros for these.
11677
11678         * glyphs-msw.c (init_image_instance_geometry): New function.
11679         (init_image_instance_from_dibitmap): Use it.
11680         (mswindows_resource_instantiate): Use it.
11681         (init_image_instance_from_xbm_inline): Use it.
11682         (mswindows_initialize_image_instance_mask): Use real bitmap
11683         geometry.
11684         (mswindows_create_resized_bitmap): Ditto.
11685         (mswindows_create_resized_mask): Ditto.
11686
11687         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
11688         and bitmap to their surface size.
11689
11690 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
11691
11692         * process-unix.c (unix_send_process): Guard against process MIA
11693         after Faccept_process_output.
11694
11695 2000-04-11  Ben Wing  <ben@xemacs.org>
11696
11697         * eval.c (unbind_to_hairy): fix brokenness introduced by
11698         nanosecond speed improvements.
11699
11700 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
11701
11702         * sunplay.c (init_device): To play sounds correctly, the device
11703         apparently needs to be initialized at least once by XEmacs.  Make
11704         it so.
11705
11706 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11707
11708         * redisplay.c (add_margin_runes): Add text image glyph
11709           handling.
11710
11711 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
11712
11713         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
11714         gcc is newer than 2.5.
11715
11716 2000-04-06  Colin Rafferty  <colin@xemacs.org>
11717
11718         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
11719
11720         * fns.c (size_bit_vector):
11721         * alloc.c (size_vector):
11722         (make_vector_internal):
11723         (make_bit_vector_internal):
11724         (sweep_bit_vectors_1):
11725         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
11726
11727 2000-04-06  Andy Piper  <andy@xemacs.org>
11728
11729         * gmalloc.c (malloc): undo previous change.
11730         (malloc): ditto.
11731         (free): ditto.
11732         (realloc): ditto.
11733
11734 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
11735
11736         * line-number.c (buffer_line_number): Revert to former version.
11737
11738 2000-04-06  Andy Piper  <andy@xemacs.org>
11739
11740         * gmalloc.c (malloc): add error checking.
11741         (malloc): ditto.
11742         (free): ditto.
11743         (realloc): ditto.
11744
11745         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
11746         button_item_to_widget_value arg.
11747
11748         * glyphs-x.c (x_button_instantiate): add extra
11749         button_item_to_widget_value arg.
11750         (x_progress_gauge_instantiate): ditto.
11751         (x_edit_field_instantiate): ditto.
11752         (x_label_instantiate): ditto.
11753
11754         * gui-x.c (gui_items_to_widget_values_1): add extra
11755         button_item_to_widget_value arg.
11756         (button_item_to_widget_value): add extra menu_item_p arg.
11757
11758         * gui-x.h: change signature of button_item_to_widget_value.
11759
11760         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
11761         button_item_to_widget_value arg.
11762
11763 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11764
11765         * buffer.h (struct buffer): auto_save_modified should be long.
11766
11767 2000-04-05  Andy Piper  <andy@xemacs.org>
11768
11769         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
11770         type.
11771         (button_query_geometry): give a little more room so that athena
11772         buttons fit.
11773
11774 2000-04-05  Andy Piper  <andy@xemacs.org>
11775
11776         * faces.c (complex_vars_of_faces): The widget face should inherit
11777         the font of the gui-element face.
11778
11779 2000-04-04  Andy Piper  <andy@xemacs.org>
11780
11781         * glyphs-x.c (x_button_update): new function. unconditionally
11782         update a button's state when the instance is dirty.
11783         (image_instantiator_format_create_glyphs_x): add x_button_update.
11784         (x_widget_instantiate): remove old resize cruft.
11785
11786 2000-04-02  Andy Piper  <andy@xemacs.org>
11787
11788         * frame.c (change_frame_size_1): The introduction of gutters means
11789         that we need to allow 0 as a potential frame dimension.
11790
11791 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11792
11793         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
11794         image glyph if allow_cursor.
11795         (add_hscroll_rune): Don't allow cursor to border glyph.
11796         (create_text_block): Ditto.
11797
11798         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
11799         text not in buffer.
11800         (redisplay_output_layout): Call ensure_face_cachel_complete for
11801         text image glyph.
11802
11803
11804 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11805
11806         * redisplay.c (add_glyph_rune): Adding text image as text runes.
11807
11808         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
11809         not in buffer
11810
11811         * redisplay-tty.c (tty_output_display_block): Delete the routine
11812         for text image glyph
11813         * redisplay-x.c (x_output_display_block): ditto
11814         * redisplay-msw.c (mswindows_output_display_block): ditto
11815
11816 2000-02-02  Mike Alexander  <mta@arbortext.com>
11817
11818         Note: Some of these were committed by accident as part of other
11819         patches.
11820
11821         * regex.c (regex_compile): Avoid compiler warnings.
11822
11823         * ntproc.c (sys_spawnve): Avoid compiler warnings.
11824
11825         * nt.h: Declare term_ntproc correctly.
11826
11827         * nt.c: Remove incorrect declaration of get_home_directory which
11828         is declared correctly in lisp.h.
11829
11830         * keymap.c (get_keyelt): Avoid compiler warnings.
11831         (raw_lookup_key_mapper): Avoid compiler warnings.
11832
11833         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
11834
11835         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
11836
11837         * filemode.c (mode_string): Avoid compiler warnings.
11838
11839         * file-coding.c (Fcoding_system_aliasee): Add return statement to
11840         avoid warning.
11841
11842         * events-mod.h: Undef some things that winuser.h defines differently.
11843
11844         * data.c (Faset): Avoid compiler warnings.
11845
11846         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
11847
11848 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11849
11850         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
11851         Fall through to simple beep on error.
11852         Replace "extern" by real header file.
11853
11854         * linuxplay.c: Use nativesound.h
11855         (play_sound_data): Return error code. Be less verbose on error.
11856
11857         * sunplay.c: Use nativesound.h
11858         (play_sound_data): Return error code. Be less verbose on error.
11859
11860         * ntplay.c: Use nativesound.h
11861         (play_sound_data): Return fake error code
11862
11863         * sgiplay.c: Use nativesound.h
11864         (play_sound_data): Return error code
11865
11866         * hpplay.c: Use nativesound.h, partially implement
11867         new error code. Break compilation until finished.
11868         (play_sound_data): error code.
11869
11870         * nativesound.h (play_sound_file):
11871           (play_sound_data): Prototype in new header.
11872
11873 2000-03-31  Andy Piper  <andy@xemacs.org>
11874
11875         * glyphs-widget.c: (button_query_geometry): new function. Adjust
11876         for toggle and radio buttons.
11877         (image_instantiator_buttons): use it.
11878
11879 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11880
11881         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
11882         (x_update_horizontal_scrollbar_callback): Return if no mirror was
11883         found. Scrollbar event probably belonged to some old config.
11884
11885 2000-03-31  Andy Piper  <andy@xemacs.org>
11886
11887         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
11888         than 1.
11889         (initialize_widget_image_instance): default layout to
11890         LAYOUT_HORIZONTAL rather than 0.
11891         (widget_instantiate): reverse the item list at the end rather than
11892         every iteration.
11893         (layout_layout): re-code for the border text at the front of the
11894         item list rather than at the end.
11895         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
11896         provided by the user.
11897         (widget_query_geometry): comment.
11898
11899 2000-03-30  Andy Piper  <andy@xemacs.org>
11900
11901         * glyphs-widget.c (image_instantiator_layout): allow standard
11902         widget keywords in layouts.
11903
11904         * gutter.c (output_gutter): cope with nil gutter contents.
11905
11906         * frame.c (Fset_frame_properties): add gutter docs.
11907
11908 2000-03-29  Andy Piper  <andy@xemacs.org>
11909
11910         * toolbar-msw.c (TBSTYLE_FLAT): add.
11911         (mswindows_output_toolbar): minor fiddling.
11912
11913 2000-03-29  Andy Piper  <andy@xemacs.org>
11914
11915         * gutter.c (output_gutter): force gutter size recalculation if
11916         what we are trying to display won't fit.
11917         (update_gutter_geometry): new function. A per-gutter version of
11918         update_frame_gutter_geometry.
11919         (update_frame_gutter_geometry): use it.
11920         (redraw_exposed_gutter): add extra debugging output.
11921
11922 2000-03-28  Mike Alexander  <mta@arbortext.com>
11923
11924         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
11925         (pdump_file_unmap): Implement it on Windows
11926         (pdump_file_get): Save alocated handles for pdump_file_unmap
11927
11928 2000-03-28  Andy Piper  <andy@xemacs.org>
11929
11930         * gui.c (get_gui_callback): treat Quit specially.
11931
11932 2000-03-27  Andy Piper  <andy@xemacs.org>
11933
11934         * glyphs.c (image_instantiate): be careful to check in the same
11935         way we assigned.
11936
11937 2000-03-27  Didier Verna  <didier@xemacs.org>
11938
11939         * config.h.in: define the proper SMART_INCLUDE macro.
11940         handle renaming of `foo_h_path' to `foo_h_file'.
11941
11942         * database.c: ditto.
11943
11944         * emacs.c: ditto.
11945
11946         * linuxplay.c: ditto.
11947
11948         * terminfo.c: ditto.
11949
11950         * tooltalk.h: ditto.
11951
11952 2000-03-27  Andy Piper  <andy@xemacs.org>
11953
11954         * glyphs-msw.c (mswindows_update_widget): make sure the widget
11955         gets updated whenever the face might have changed.
11956
11957 2000-03-26  Mike Alexander  <mta@arbortext.com>
11958
11959         * dumper.c (pdump_resource_free): Fix the comment.
11960
11961 2000-03-21  Olivier Galibert  <galibert@pobox.com>
11962
11963         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
11964
11965 2000-03-22  Mike Alexander  <mta@arbortext.com>
11966
11967         * dumper.c: Include Windows headers on Windows
11968         (pdump_resource_free): Add a body to the function
11969         (pdump_load): exe_name -> exe_path and add some comments.
11970
11971 2000-03-25  Mike Alexander  <mta@arbortext.com>
11972
11973         * gui.c (copy_gui_item_tree): Return a value in all cases
11974
11975 2000-03-21  Didier Verna  <didier@xemacs.org>
11976
11977         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
11978         lwlib/config.h.in.
11979         (SMART_INCLUDE): new macro.
11980         (POSTGRES_INCLUDE): new macro to include postgresql headers from
11981         the proper location.
11982
11983         * postgresql.c: use it.
11984
11985         * inline.c: ditto.
11986
11987 2000-03-24  Andy Piper  <andy@xemacs.org>
11988
11989         * gutter.c (redraw_exposed_gutters): must be "in display" when we
11990         do this.
11991
11992 2000-03-24  Andy Piper  <andy@xemacs.org>
11993
11994         * redisplay-output.c (compare_runes): use image_instance_changed
11995         to detect changes. Do not depend on glyphs_changed, only depend on
11996         dirtiness.
11997          (redisplay_output_layout): add debug messages.
11998         (compare_runes): ditto.
11999
12000         * glyphs.h: declare new functions.
12001         (struct Lisp_Image_Instance): remove percent and associated
12002         accessors.
12003
12004         * gui.h: declare new copying functions.
12005
12006         * gui.c (copy_gui_item_tree): new function.
12007         (copy_gui_item): new function.
12008         (gui_item_id_hash): revert to standard hash.
12009         (gui_item_hash): ditto.
12010         (gui_item_hash_internal): deleted.
12011         (mark_gui_item): mark value.
12012         (gui_item_add_keyval_pair): add value.
12013         (gui_item_init): ditto.
12014         (gui_add_item_keywords_to_plist): ditto.
12015         (gui_item_equal): ditto.
12016         (syms_of_gui): add Q_value.
12017
12018         * glyphs-x.c (x_progress_gauge_update): use pending items and
12019         value for setting the state.
12020         (x_update_widget): don't set items from pending here.
12021
12022         * glyphs-widget.c (update_widget): update items here.
12023         (progress_gauge_set_property): use items for storing value. Put
12024         new value in pending items.
12025
12026         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12027         items for new value. Convert percent -> value.
12028         (mswindows_tab_control_update): don't update items here.
12029
12030         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12031         (update_subwindow): ditto.
12032         (image_instance_changed): new function. Compare hash values and
12033         past and present widget items.
12034         (image_instantiate): We more careful about where we instantiate
12035         things.
12036         (image_instantiate): add error checking.
12037
12038         * gutter.c (syms_of_gutter): use -hook.
12039
12040 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12041
12042         * console-tty.c (Fset_console_tty_input_coding_system): Use
12043         Qkeyboard.
12044         (Fset_console_tty_output_coding_system): Use Qterminal.
12045         (tty_init_console): Use Qkeyboard and Qterminal.
12046
12047 2000-03-21  Ben Wing  <ben@xemacs.org>
12048
12049         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12050         From Mike Alexander <mta@arbortext.com>.
12051
12052 2000-03-21  Ben Wing  <ben@xemacs.org>
12053
12054         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12055         process brokenness.  Proper implementation to come.
12056         * callproc.c:
12057         Rename call-process-internal to old-call-process-internal.
12058         New impl. in process.el.
12059
12060 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12061
12062         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12063
12064 2000-03-20  Andy Piper  <andy@xemacs.org>
12065
12066         * glyphs.c (full_list_hash): make hashes of the same elements in
12067         different orders return different values.
12068
12069 2000-03-20  Martin Buchholz <martin@xemacs.org>
12070
12071         * XEmacs 21.2.32 is released.
12072
12073 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12074
12075         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12076         (DFC_MALLOC_USE_CONVERTED_DATA):
12077         Add aliasing-safe casts to allow use with char* or unsigned char*
12078         lvalues.
12079
12080         * eldap.c (Fldap_open):
12081         (Fldap_search_basic):
12082         (Fldap_add):
12083         (Fldap_modify):
12084         Make C++-compilable.
12085         Make sure GCPRO'ed variables are initialized.
12086         Use temp variables to avoid repeated calls to Flength.
12087
12088 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12089
12090         * sysfile.h:
12091         Make sure PATH_MAX is always defined.
12092         Include limits.h for PATH_MAX.
12093         Deprecate use of MAXPATHLEN.
12094
12095 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12096
12097         * emacs.c: Add reinit_vars_of_fileio.
12098         * symsinit.h: Add reinit_vars_of_fileio.
12099         * fileio.c (reinit_vars_of_fileio): New.
12100         * fileio.c (Fmake_temp_name):
12101         Initialize temp_name random number from microseconds to make
12102         collisions even less likely.  Initialize always at process startup
12103         time.  (make-temp-name) used to return the same file name twice in
12104         a row when PDUMP.
12105         Random stylistic fiddling.
12106         Comment fixes.
12107
12108 2000-03-20  Andy Piper  <andy@xemacs.org>
12109
12110         * glyphs.c (image_instantiate): allow text glyphs to be
12111         instantiated in the minibuffer window.
12112
12113 2000-03-19  Andy Piper  <andy@xemacs.org>
12114
12115         * glyphs.c (image_instance_hash): be careful about which items we
12116         hash on.
12117
12118         * glyphs-widget.c (tab_control_set_property): record into pending
12119         items rather than the actual items.
12120
12121         * glyphs-x.c (x_update_widget): use pending items to update with.
12122
12123         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12124         to update with.
12125
12126         * glyphs.c (mark_image_instance): mark pending items.
12127
12128         * window.c (Fset_window_configuration): record the buffer.
12129         (Fselect_window): totally revert previous change which breaks many
12130         things.
12131
12132 2000-03-18  Andy Piper  <andy@xemacs.org>
12133
12134         * glyphs-msw.c (mswindows_tab_control_update): force selected
12135         item.
12136
12137         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12138         window domain cache, otherwise we get inconsistencies at
12139         startup. There is something fishy at startup which can lead to the
12140         minibuffer being the selected window when the gutter content is
12141         instantiated.
12142
12143         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12144         gcpros.
12145         (parse_gui_item_tree_children): ditto.
12146         (parse_gui_item_tree_item): ditto.
12147
12148         * glyphs.c (Fupdate_widget_instances): return something.
12149
12150 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12151
12152         * window.c (Fselect_window): Undo 2000-03-17 change.
12153
12154 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12155
12156         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12157         against v7.0 libraries.  Insta-coredump city until the postgres
12158         folks fix it.
12159
12160 2000-03-17  Andy Piper  <andy@xemacs.org>
12161
12162         * faces.c (complex_vars_of_faces): don't give the widget face an
12163         inherited background pixmap.
12164
12165         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12166         selected item.
12167
12168         * event-stream.c (Fdispatch_non_command_events): return something.
12169
12170         * gutter.c (output_gutter): use widget face.
12171         (clear_gutter): ditto.
12172
12173         * NEWS: adjust again.
12174
12175         * window.c (Fselect_window): make sure this runs to completion to
12176         avoid oddities with Fset_window_configuration.
12177         (Fcurrent_window_configuration): in general do not save the
12178         minibuffer as the selected window.
12179
12180         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12181
12182 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12183
12184         * emacs.c (Frunning_temacs_p): Revert previous patch.
12185         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12186
12187 2000-03-16  Andy Piper  <andy@xemacs.org>
12188
12189         * glyphs-x.c (x_tab_control_update): if no widget values then
12190         return.
12191
12192         * NEWS: update for new features.
12193
12194         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12195         synthetic event to the native system.
12196         (reinit_vars_of_event_Xt): set force_event_pending to
12197         emacs_Xt_force_event_pending.
12198
12199         * events.h (struct event_stream): add force_event_pending.
12200
12201         * specifier.c (recompute_one_cached_specifier_in_window): add
12202         comment.
12203
12204         * redisplay.c (redisplay_frame): don't call
12205         update_frame_subwindows. Reset subwindow cachels when
12206         subwindows_changed, removing this was an optimization too far.
12207
12208         * redisplay-output.c (compare_runes): reorganize so that we catch
12209         glyph changes when we want them. Set optimize_output when this
12210         would help layouts.
12211         (redisplay_output_layout): remove frame_really_changed, use
12212         optimize_output instead.
12213
12214         * redisplay-msw.c (mswindows_output_display_block): reset
12215         optimize_output after outputting a glyph.
12216         * redisplay-x.c (x_output_display_block): ditto.
12217         * redisplay-tty.c (tty_output_display_block): ditto.
12218
12219         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12220         functions.
12221         (gutter_specs_changed): do specific gutter positions.
12222         (top_gutter_specs_changed): new function. Only update the
12223         specified gutter specs.
12224         (bottom_gutter_specs_changed): ditto.
12225         (left_gutter_specs_changed): ditto.
12226         (right_gutter_specs_changed): ditto.
12227
12228         * gui.c (gui_item_hash_internal): new function, does a real hash.
12229         (gui_item_id_hash): use it.
12230         (gui_item_hash): hash the eval'ed gui_item.
12231
12232         * gui-x.c (popup_selection_callback): send an eval event to call
12233         Fupdate_widget_instances.
12234
12235         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12236         to call Fupdate_widget_instances.
12237
12238         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12239         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12240
12241         * glyphs.c: (update_frame_subwindows): deleted.
12242         (Fupdate_widget_instances): new function for updating the dirty
12243         state of widgets that might have changed.
12244         (syms_of_glyphs): add Qupdate_widget_instances.
12245         (full_list_hash): hash a list completely.
12246         (image_instance_hash): use it for items and properties.
12247
12248         * frame-msw.c (mswindows_size_frame_internal): remove unused
12249         variable.
12250
12251         * faces.h (struct face_cachel): fix comment.
12252
12253         * event-stream.c (Fdispatch_non_command_events): new
12254         function. Process non-command events, forcing an event cycle
12255         beforehand.
12256         (syms_of_event_stream): declare.
12257         (event_stream_force_event_pending): new function. Force an event
12258         on the native event queue so that an event cycle will occur next
12259         time we check.
12260
12261         * event-msw.c:
12262         (struct ntpipe_shove_stream):
12263         (mswindows_enqueue_dispatch_event):
12264         (mswindows_dequeue_dispatch_event):
12265         (mswindows_cancel_dispatch_event):
12266         (mswindows_pump_outstanding_events):
12267         (mswindows_drain_windows_queue):
12268         (mswindows_handle_paint):
12269         (mswindows_wnd_proc):
12270         (mswindows_key_to_emacs_keysym):
12271         (get_process_input_waitable):
12272         (emacs_mswindows_delete_stream_pair): re-indent file.
12273         (mswindows_need_event): do not process further fds if the windows
12274         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12275         fixes the 100% cpu problem.
12276         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12277
12278 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12279
12280         * alloc.h: New.
12281         * dumper.h: New.
12282         * dumper.c: New.
12283
12284         * emacs.c: Moved dump file searching to dumper.c.
12285         (Frunning_temacs_p): Fixed.
12286
12287         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12288         last_lrecord_type_index_assigned.
12289
12290 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12291
12292         * symsinit.h: Added reinit parameter to init_console_stream
12293         declaration.
12294
12295         * lisp.h: Added file parameter to pdump_load declaration.
12296
12297         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12298         support.  Added dump file searching.
12299
12300         * config.h.in: Added EMACS_PROGNAME.
12301
12302         * console-stream.c (init_console_stream): Fix reinitialisation
12303         when running from temacs.
12304
12305         * alloc.c (pdump): Add id support.
12306         (pdump_load): Add file parameter and signature/id support.
12307
12308         * Makefile.in.in: Add full pdump support.
12309
12310 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12311
12312         * postgresql.c: Update documentation to reflect latest code
12313         status.
12314         (print_result): Show tuple counts in printed representation when
12315         appropriate.
12316         (Fpq_put_nbytes): MULE-ize.
12317         (Fpq_get_line_async): Ditto.
12318
12319 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12320
12321         * postgresql.c (Fpq_lo_import): Fix return value.
12322         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12323
12324 2000-03-13  Ben Wing  <ben@xemacs.org>
12325
12326         * alloc.c (pdump_load):
12327         Fix compile warning under mswin.
12328
12329 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12330
12331         * postgresql.c: Mule-ization, bug fixes.
12332         Use PG_CODING to encapsulate coding system name changes.
12333         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12334         (pg-coding-system): Create.
12335
12336         (Fpq_conn_defaults): Mule-ize.
12337         (Fpq_connectdb): Mule-ize & bug fix.
12338         (Fpq_connect_start): Mule-ize.
12339         (Fpq_set_client_encoding): Mule-ize.
12340         (Fpq_finish): Document `DEAD' connection status.
12341         (Fpq_clear): Ditto.
12342         (Fpq_pgconn): Mule-ize.
12343         (Fpq_exec): Mule-ize & bug fix.
12344         (Fpq_send_query): Ditto.
12345         (Fpq_get_result): Ditto.
12346         (Fpq_res_status): Mule-ize.
12347         (Fpq_result_error_message): Mule-ize.
12348         (Fpq_ntuples): fix comments.
12349         (Fpq_fname): Mule-ize.
12350         (Fpq_fnumber): Mule-ize.
12351         (Fpq_ftype): fix comments.
12352         (Fpq_get_value): Mule-ize.
12353         (Fpq_cmd_status): Ditto.
12354         (Fpq_cmd_tuples): Ditto.
12355         (Fpq_oid_value): Ditto.
12356         (Fpq_notifies): Ditto.
12357         (Fpq_lo_import): Ditto.
12358         (Fpq_lo_export): Ditto.
12359         (Fpq_get_line): Ditto.
12360         (Fpq_put_line): Mule-ize and bug fix.
12361         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12362
12363 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12364
12365         * postgresql.c (vars_of_postgresql): Mule-ize.
12366         (Fpq_conn_defaults): Ditto.
12367
12368 2000-03-12  Ben Wing  <ben@xemacs.org>
12369
12370         * alloc.c (Fmake_byte_code):
12371         * alloc.c (debug_string_purity_print):
12372         * alloc.c (pdump_backtrace):
12373         * alloc.c (pdump_get_indirect_count):
12374         * alloc.c (pdump_register_sub):
12375         * alloc.c (pdump_register_object):
12376         * alloc.c (pdump_register_struct):
12377         * alloc.c (pdump_dump_data):
12378         * alloc.c (pdump_reloc_one):
12379         Minor cleanups.
12380
12381         * console-msw.c:
12382         * console-msw.c (GetConsoleHwnd):
12383         * console-msw.c (msw_hide_console):
12384         * console-msw.c (msw_show_console):
12385         * console-msw.c (msw_ensure_console_buffered):
12386         * console-msw.c (msw_output_console_string):
12387         * console-msw.c (console_type_create_mswindows):
12388
12389         a) Added functions to manipulate the console window for use with
12390         shell support.
12391
12392         b) Added support for writing text to the console, which is now
12393         used under Windows when xemacs is not being run non-interactively,
12394         to write text that would otherwise be destined for stdout because
12395         under these circumstances, text written to stdout tends to
12396         disappear and not be seen.
12397
12398         * console-msw.h:
12399         * event-Xt.c:
12400         * event-Xt.c (x_event_to_emacs_event):
12401         * event-Xt.c (describe_event_window):
12402         * events-mod.h (XEMACS_MOD_CONTROL):
12403         * events.c:
12404         * events.c (Fmake_event):
12405         * events.c (character_to_event):
12406         * events.c (event_to_character):
12407         * events.c (format_event_object):
12408         * events.c (Fevent_modifiers):
12409         * events.h:
12410         * events.h (struct key_data):
12411         * events.h (struct button_data):
12412         * events.h (struct misc_user_data):
12413         * frame-x.c (Fcde_start_drag_internal):
12414         * frame-x.c (Foffix_start_drag_internal):
12415         * gpmevent.c (Freceive_gpm_event):
12416         * keymap.c:
12417         * keymap.c (bucky_sym_to_bucky_bit):
12418         * keymap.c (control_meta_superify):
12419         * keymap.c (make_key_description):
12420         * keymap.c (keymap_lookup_directly):
12421         * keymap.c (create_bucky_submap):
12422         * keymap.c (keymap_store):
12423         * keymap.c (define_key_check_and_coerce_keysym):
12424         * keymap.c (define_key_parser):
12425         * keymap.c (define_key_alternate_name):
12426         * keymap.c (Fdefine_key):
12427         * keymap.c (raw_lookup_key_mapper):
12428         * keymap.c (struct map_keymap_unsorted_closure):
12429         * keymap.c (map_keymap_unsorted_mapper):
12430         * keymap.c (map_keymap_sort_predicate):
12431         * keymap.c (map_keymap_sorted):
12432         * keymap.c (accessible_keymaps_mapper_1):
12433         * keymap.c (where_is_recursive_mapper):
12434         * keymap.c (describe_map_mapper):
12435         * keymap.c (describe_map_sort_predicate):
12436         * keymap.c (describe_map):
12437         * keymap.c (complex_vars_of_keymap):
12438         And a number of other files, the key modifier preprocessor
12439         constants that xemacs uses have names that conflict with constants
12440         defined under MS Windows for other purposes, so they were renamed
12441         to begin with the prefix XEMACS_. The variables that hold such
12442         modifiers were changed to consistently be of type int to fix
12443         various compile warnings.
12444
12445         * console.c (complex_vars_of_console):
12446         * device.c:
12447         * device-msw.c:
12448         * device-msw.c (mswindows_finish_init_device):
12449         * device-msw.c (msw_get_workspace_coords):
12450         * device-msw.c (mswindows_device_system_metrics):
12451         and various other files, added support for a new
12452         device property called offset-workspace which returns the position
12453         of the upper left corner of the workspace area and goes along with
12454         the existing size-workspace property.
12455
12456         * dialog-msw.c:
12457         * dialog-msw.c (push_bufbyte_string_as_unicode):
12458         * dialog-msw.c (mswindows_popup_dialog_box):
12459         Added support for XEmacs-style accelerator specifications in
12460         button text.  Note: I didn't add support for this under X Windows,
12461         and somebody needs to do this.
12462
12463         * dialog.c:
12464         * dialog.c (Fpopup_dialog_box):
12465         Documented the support for accelerators that was just mentioned.
12466
12467         editfns.c (get_home_directory): Changed behavior under Windows
12468         when HOME not defined; former behavior was irretrievably broken.
12469
12470         * emacs.c:
12471         * emacs.c (main_1):
12472         * emacs.c (main):
12473         * minibuf.c (clear_echo_area_internal):
12474         * minibuf.c (echo_area_append):
12475         * print.c:
12476         * print.c (std_handle_out_external):
12477         * print.c (std_handle_out_va):
12478         * print.c (fatal):
12479         * print.c (write_string_to_stdio_stream):
12480         * print.c (output_string):
12481         * print.c (debug_print):
12482         * print.c (debug_backtrace):
12483         * print.c (debug_short_backtrace):
12484         Cleaned up the code that prints text to stdout so that this can be
12485         changed to output into a console window instead under MS Windows,
12486         as described above.
12487
12488         * eval.c:
12489         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
12490         * eval.c (internal_catch):
12491         * eval.c (unwind_to_catch):
12492         * eval.c (throw_or_bomb_out):
12493         * eval.c (condition_case_1):
12494         * eval.c (signal_1):
12495         * eval.c (check_error_state_sanity):
12496         * eval.c (call_with_suspended_errors_1):
12497         * eval.c (call_with_suspended_errors):
12498         * eval.c (reinit_vars_of_eval):
12499         Added code to catch throw loops and check for a pesky bug that may
12500         be gone now.
12501
12502         * event-msw.c:
12503         * event-msw.c (key_needs_default_processing_p):
12504         * event-msw.c (mswindows_wnd_proc):
12505         * event-msw.c (mswindows_modifier_state):
12506         * event-msw.c (emacs_mswindows_quit_p):
12507         * event-msw.c (vars_of_event_mswindows):
12508         a) Added support for using the alt key to select menu items as is
12509         standard under MS Windows.  This is controlled using the variable
12510         menu-accelerator-enabled, just like under X Windows.  There is an
12511         option on the options menu to turn this support on.  I really
12512         think that it should be on by default under Windows, but I'm not
12513         going to make this change yet.
12514
12515         b)  Added support for dynamic display size changes under Windows.
12516
12517         * event-stream.c:
12518         * event-stream.c (maybe_echo_keys):
12519         * event-stream.c (Fnext_event):
12520         * event-stream.c (command_builder_find_leaf):
12521         * event-stream.c (lookup_command_event):
12522         * event-stream.c (execute_command_event):
12523         * event-stream.c (pre_command_hook):
12524         * event-stream.c (post_command_hook):
12525         * event-stream.c (syms_of_event_stream):
12526         * event-stream.c (vars_of_event_stream):
12527         * event-stream.c (complex_vars_of_event_stream):
12528         * events.h (struct command_builder):
12529
12530         a) Tried to clean up a little bit the horribly written x-specific
12531         accelerator code that crept into this file.  I moved this code
12532         into menubar-x.c where it belongs. I also needed to move the
12533         command builder structure into the file events.h because it is
12534         accessed directly by this accelerator code.  What I didn't do, but
12535         which should be done at some point, is to properly abstract this
12536         code using device methods instead of the kludgy way that it
12537         currently hooks into the event code.
12538
12539         b) Added the lisp variables this-command-properties and
12540         last-command- properties, which should be used to synchronize two
12541         adjacent commands in preference to playing games with the variable
12542         this-command, which is typically what happens.
12543
12544         c) Added some slightly nasty code to hook into the lisp support
12545         for shifted- motion-key selection.  This is actually necessary for
12546         somewhat complicated reasons, which are described in
12547         simple.el. (NB: I think the proper thing would be to have the code
12548         that calls the pre and post command hooks also call out to generic
12549         lisp functions in simple.el, where all built-in stuff could be
12550         added.  I will think about this more.)
12551
12552         * event-unixoid.c (poll_fds_for_input):
12553         * lread.c (readchar):
12554         * redisplay-tty.c (tty_clear_frame):
12555         * redisplay-x.c (x_get_gc):
12556         * signal.c (interrupt_signal):
12557         And a whole bunch of other files: fixed up places that printed
12558         directly to stderr to instead call the function stderr_out so that
12559         the changes I made under Windows work correctly.
12560
12561         * filemode.c (mode_string):
12562         Warning fixes.
12563
12564         * frame-msw.c:
12565         * frame-msw.c (mswindows_size_frame_internal):
12566         Fixed the computation of frame size and position to keep the frame
12567         within the workspace area, rather than within the physical
12568         dimensions of the screen, so that the frame doesn't overlap window
12569         manager decorations, such as the start menu and toolbar, typically
12570         at the bottom of the screen.
12571
12572         * frame.c (vars_of_frame):
12573         Changed the default frame title format under MS Windows to consist
12574         of buffername-XEmacs, which is standard under MS Windows.  I think
12575         it might be a good idea to change this everywhere because I think
12576         it is superior to the current frame title format, but this is the
12577         kind of change that is likely to cause some people to get annoyed,
12578         so I'm not making it.
12579
12580         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
12581
12582         * gui-msw.c (mswindows_handle_gui_wm_command):
12583         Fixed compile warnings.
12584
12585         * gui-x.c:
12586         * gui-x.c (strdup_and_add_accel):
12587         * gui-x.c (button_item_to_widget_value):
12588         * gui-x.h:
12589         Added code to automatically put an accelerator onto the beginning
12590         of menu items that don't have one as is now the standard, and is
12591         described more later.  Also fixed things so that the menu item
12592         name can be an evaluated expression, again a new standard.
12593
12594         * gui.c:
12595         * gui.c (gui_item_add_keyval_pair):
12596         * gui.c (make_gui_item_from_keywords_internal):
12597         * gui.c (gui_add_item_keywords_to_plist):
12598         * gui.c (gui_item_accelerator):
12599         * gui.c (gui_name_accelerator):
12600         * gui.c (gui_item_included_p):
12601         * gui.c (gui_item_display_flush_left):
12602         * gui.c (gui_item_display_flush_right):
12603         * gui.c (parse_gui_item_tree_item):
12604         * gui.c (parse_gui_item_tree_children):
12605         * gui.c (parse_gui_item_tree_list):
12606         Mule-ized.  Cleanup.  GCPRO addition.
12607
12608         * line-number.c (buffer_line_number):
12609         * lisp.h:
12610         * lisp.h (EMACS_INT_MAX):
12611         Added the manifest constant EMACS_INT_MIN corresponding to the
12612         existing constant EMACS_INT_MAX.  This is partially to fix compile
12613         warnings under Windows, and partly for cleanliness.
12614
12615         * menubar-msw.c:
12616         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
12617         * menubar-msw.c (msw_translate_menu_or_dialog_item):
12618         * menubar-msw.c (displayable_menu_item):
12619         * menubar-msw.c (populate_menu_add_item):
12620         * menubar-msw.c (populate_or_checksum_helper):
12621         * menubar-msw.c (populate_menu):
12622         * menubar-msw.c (update_frame_menubar_maybe):
12623         * menubar-msw.c (prune_menubar):
12624         * menubar-msw.c (msw_char_is_accelerator):
12625         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
12626         * menubar-msw.c (mswindows_handle_wm_command):
12627         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
12628         * menubar-msw.c (mswindows_handle_wm_initmenu):
12629         * menubar-msw.c (mswindows_update_frame_menubars):
12630         * menubar-msw.c (mswindows_free_frame_menubars):
12631         * menubar-msw.c (mswindows_popup_menu):
12632         Fixed a bug in handling accelerators where an extra character
12633         would be displayed in the menu item.  Also generalized the
12634         function displayable_menu_item because it is now used by the
12635         dialog box code as well.  And finally, added code in the functions
12636         that create the menubar to extract a list of accelerators for the
12637         top level menubar, which is used in the event code to determine
12638         whether a particular alt-key combination should be used to invoke
12639         a menu item, or should be passed through to access the standard
12640         XEmacs keymap binding for this key combination.
12641
12642         Much needed GCPROing.
12643
12644         * menubar-x.c:
12645         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12646         * menubar-x.c (menu_item_descriptor_to_widget_value):
12647         * menubar-x.c (restore_in_menu_callback):
12648         * menubar-x.c (x_popup_menu):
12649         * menubar-x.c (menu_move_up):
12650         * menubar-x.c (menu_move_down):
12651         * menubar-x.c (menu_move_left):
12652         * menubar-x.c (menu_move_right):
12653         * menubar-x.c (menu_select_item):
12654         * menubar-x.c (command_builder_operate_menu_accelerator):
12655         * menubar-x.c (menu_accelerator_junk_on_error):
12656         * menubar-x.c (command_builder_find_menu_accelerator):
12657         * menubar-x.c (Faccelerate_menu):
12658         * menubar.h:
12659         Moved a whole bunch of code here that was previously in
12660         event-stream.c as described above.  There is also code connected
12661         to the new standard of adding an accelerator to the beginning of
12662         menu items that don't have one as described above and below.
12663
12664         * menubar.c:
12665         * menubar.c (menu_parse_submenu_keywords):
12666         * menubar.c (Fmenu_find_real_submenu):
12667         * menubar.c (Fnormalize_menu_item_name):
12668         * menubar.c (syms_of_menubar):
12669         * menubar.c (vars_of_menubar):
12670         * menubar.c (complex_vars_of_menubar):
12671
12672         a) Cleaned up a bunch of documentation and improved it.
12673
12674         b) XEmacs now automatically adds an accelerator onto the beginning
12675         of any menu items that don't have one.  I did this because there
12676         will inevitably be some menu items on the main menubar that don't
12677         have accelerators on them because the package that adds that
12678         particular menu item hasn't yet been fixed up to have accelerators
12679         in them and it looked rather strange to have some items with and
12680         some items without accelerators, especially since even in items
12681         without accelerators, you can, at least under windows, still
12682         access the item through an accelerator corresponding to the first
12683         character in the item's name.  If people don't like this behavior,
12684         I can add a variable to turn it off optionally, but I'm not sure
12685         this is a good idea because we really do need to have accelerators
12686         on all of the menu items, and if a package doesn't like the
12687         accelerators being put on the first character, then it should put
12688         the accelerators where they belong.
12689
12690         c) I made a behavior change, which is that the descriptor that
12691         specifies the text of the menu item, which formerly was just a
12692         string, can now also be an evaluated expression.  This makes this
12693         descriptor parallel with all of the others, which could also be
12694         evaluated expressions.  This also obviates the need for the
12695         keyword :label, which was previously listed in the documentation
12696         as unimplemented, and which was for the same purpose.
12697
12698         d) GCPROing.
12699
12700         * ntproc.c:
12701         * ntproc.c (new_child):
12702         * ntproc.c (sys_spawnve):
12703         * ntproc.c (find_child_console):
12704         * ntproc.c (sys_kill):
12705         Fixed compile warnings.  By the way, this file should really go
12706         away entirely, and this will happen as soon as Kirill makes his
12707         final round of process cleanups, which affect the function
12708         call-process.
12709
12710         * process-nt.c:
12711         * process-nt.c (struct nt_process_data):
12712         * process-nt.c (find_process_from_pid):
12713         * process-nt.c (send_signal_the_nt_way):
12714         * process-nt.c (enable_child_signals):
12715         * process-nt.c (find_child_console):
12716         * process-nt.c (send_signal_the_95_way):
12717         * process-nt.c (nt_finalize_process_data):
12718         * process-nt.c (ensure_console_window_exists):
12719         * process-nt.c (nt_create_process):
12720         * process-nt.c (nt_kill_child_process):
12721         * process-nt.c (nt_kill_process_by_pid):
12722         * process-nt.c (nt_open_network_stream):
12723         * process-nt.c (vars_of_process_nt):
12724         Copied over code from Emacs 20.5 to correctly send signals to sub-
12725         processes under Windows 95.  Also added code to automatically
12726         create and hide console window when a sub-process is created under
12727         Windows 95, which obviates the need for the separate runemacs.exe
12728         executable, and finally implemented some variables that were
12729         implemented in Emacs 20.5, but previously not in XEmacs.  These
12730         include mswindows- start-process-share-console and
12731         mswindows-start-process-inherit-error-mode. (Both of these only
12732         apply to Windows 95.)
12733
12734         * regex.c (regex_compile): Fixed a compile warning.
12735
12736         * select-msw.c:
12737         * select-msw.c (mswindows_own_selection):
12738         * select-msw.c (mswindows_get_foreign_selection):
12739         * select-msw.c (mswindows_disown_selection):
12740         * select-msw.c (console_type_create_select_mswindows):
12741         * select-msw.c (syms_of_select_mswindows):
12742         Cleaned up the file and implemented the device method
12743         selection_exists_p, which had accidentally been left out.  Also
12744         removed four lisp functions that were remnants from before the
12745         time when the selection code was properly device abstracted.
12746         These functions are no longer needed because there are generic
12747         equivalents, and because they were added recently and don't exist
12748         in FSF Emacs, I don't think there's any problem with just deleting
12749         them.
12750
12751         * sysdep.c:
12752         * sysdep.c (sys_subshell):
12753         Fixed a compile warning, although in this case there's probably
12754         something wrong with this code, and it ought to be looked into
12755         more thoroughly by somebody who understands it.
12756
12757         * window.c:
12758         * window.c (Fwindow_text_area_height):
12759         * window.c (Fwindow_width):
12760         * window.c (Fwindow_full_width):
12761         * window.c (Fwindow_pixel_width):
12762         * window.c (debug_print_window):
12763         * window.c (syms_of_window):
12764         Added functions window-text-area-height and window-full-width,
12765         which are functions for returning various width and height
12766         characteristics of a window. (One of these functions is necessary
12767         for making the file dialog box work correctly, and the other one
12768         was added for completeness.)  Also added a table to the
12769         documentation for window-height which describes the entire scheme
12770         for accessing width and height characteristics of a window.
12771
12772 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12773
12774         * nt.c (fstat): Added a comment for another problem with
12775         non-encapsulated [f]stat(), reported by Adrian Aichner
12776         <aichner@ecf.teradyne.com>.
12777
12778 2000-03-11  Andy Piper  <andy@xemacs.org>
12779
12780         * window.c (make_dummy_parent): initialize subwindow instance
12781         cache.
12782         (Fset_window_configuration): zero extent_modiff.
12783
12784 2000-03-10  Andy Piper  <andy@xemacs.org>
12785
12786         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
12787         more changes can be triggered.
12788         (Fredisplay_frame): ditto.
12789         (Fredraw_device): ditto.
12790         (Fredisplay_device): ditto.
12791         (redisplay_frame): make non-static.
12792         (redisplay_frame): call update_frame_gutter_geometry outside of
12793         display proper.
12794
12795         * gutter.h: declare update_frame_gutter_geometry.
12796
12797         * redisplay.h: declare redisplay_frame.
12798
12799         * gutter.c (update_frame_gutter_geometry): move geometry changes
12800         in update_frame_gutters here. Geometry changes can only occur
12801         outside of redisplay.
12802         (update_frame_gutters): remove geometry change code.
12803         (Fredisplay_gutter_area): make sure that we are in display when we
12804         update and that we have flushed any size changes.
12805
12806 2000-03-11  Andy Piper  <andy@xemacs.org>
12807
12808         * alloc.c (pdump_dump_data): remove i & count shadows.
12809
12810 2000-02-27  Mike Alexander  <mta@arbortext.com>
12811
12812         * sysdep.h: Declare pdump_read_file
12813
12814         * sysdep.c (pdump_read_file): New function
12815
12816         * alloc.c (pdump_load): Call pdump_read_file to get the portable
12817         dump data
12818
12819 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12820
12821         * lrecord.h: add `lrecord_type_pgsetenv'.
12822
12823 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
12824
12825         * symsinit.h: declare (vars|syms)_of* functions.
12826         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
12827
12828 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
12829
12830         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
12831
12832         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
12833         GCCs.
12834
12835         * emacs.c (main_1): Call postgres initialization code.
12836
12837         * postgresql.h: New file.  PostgreSQL RDBMS support.
12838         * postgresql.c: New file.
12839
12840 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12841
12842         * redisplay-output.c (redisplay_output_display_block): Disable
12843         redundant code.
12844
12845 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12846
12847         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
12848         (Fcanna_henkan_next): Ditto.
12849         (Fcanna_bunsetu_henkou): Ditto.
12850         (Fcanna_henkan_kakutei): Ditto.
12851         (Fcanna_henkan_end): Ditto.
12852         (Fcanna_henkan_quit): Ditto.
12853         (Fcanna_henkan_next): Set retun value correctly.
12854         (c2mu): Use unsigned char instead of signed char.
12855
12856 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12857
12858         * emacs.c (main_1): Always call syms_of_gui.
12859         * inline.c: include gui.h
12860
12861 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12862
12863         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
12864         converted to Lisp_Object.
12865         (Qtop_bottom): New variable.
12866         (syms_of_redisplay): Initialize it.
12867         * redisplay.h (Vvisible_bell): Ditto.
12868         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
12869         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
12870         only flash top and bottom.
12871
12872 2000-03-08  Andy Piper  <andy@xemacs.org>
12873
12874         * buffer.c (Frename_buffer): record new buffer name the right way.
12875
12876 2000-03-08  Andy Piper  <andy@xemacs.org>
12877
12878         * glyphs.c (update_subwindow): increase hash depth so that widget
12879         items get picked up properly.
12880
12881         * redisplay-output.c (compare_runes): increase hash depth so that
12882         widget items get picked up properly.
12883
12884 2000-03-08  Andy Piper  <andy@xemacs.org>
12885
12886         * gutter.c (output_gutter): add some debug.
12887
12888         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
12889         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
12890         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
12891
12892         * redisplay-output.c (compare_runes): use display_hash to
12893         determine if glyphs really are not the same.
12894
12895         * glyphs.c (update_subwindow): check display_hash to see if
12896         anything really needs to be updated. If not then do
12897         nothing. Record the display_hash after updating.
12898         (image_instance_equal): compare the image_instance face also.
12899
12900 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
12901
12902         * redisplay.h: Fix comment style.
12903
12904 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12905
12906         * consle-msw.h (struct mswindows_frame):
12907         Added new member paint_pending to indicate whether a WM_PAINT
12908         magic event has been queued for this frame.
12909
12910         * event-msw.c (mswindows_drain_windows_queue):
12911         Don't queue a WM_PAINT magic event if one is already queued.
12912         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
12913
12914         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
12915
12916 2000-03-07  Didier Verna  <didier@xemacs.org>
12917
12918         * dired.c: #include `regex.h' after `sysfile.h'.
12919
12920 2000-03-06  Martin Buchholz  <martin@xemacs.org>
12921
12922         * sound.c (init_nas_sound): Fix compiler warning.
12923
12924         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
12925         (FREE_STRUCT_P):
12926         (MARK_STRUCT_AS_FREE):
12927         (MARK_STRUCT_AS_NOT_FREE):
12928         Make `gcc -fstrict-aliasing' work properly.
12929
12930 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12931
12932         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
12933         (mswindows_delete_device): Call CoUnnitialize().
12934
12935         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
12936
12937 2000-02-25    <CraigL@DyCon.com>
12938
12939         * process-nt.c: MinGW now has <shellapi.h>, but still needs
12940         <errno.h>.
12941
12942         * sysdep.c: This extern declaration for environ prevents MinGW
12943         from finding the variable in CRTDLL.DLL.
12944
12945         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
12946         windows headers.
12947         (SHGFI_EXETYPE): ..
12948         (WM_MOUSEWHEEL): ..
12949         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
12950         definitions.
12951         (MMRESULT): Removed, now defined in cygwin's windows headers.
12952         (TIMECAPS): ..
12953         (uid_t,gid_t,pid_t,ssize_t): ..
12954         (_timeb): Removed, MinGW defines both _timeb and timeb.
12955         (HAVE_H_ERRNO): Added.
12956         (HAVE_TZNAME): Added, configure is not detecting this.
12957
12958 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
12959
12960         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
12961         * syntax.c (syntax_match): Use it.
12962
12963         * cmds.c: Import auto-fill-chars from FSF Emacs.
12964         (Vauto_fill_chars): New variables.
12965         (internal_self_insert): Check Vauto_fill_chars.
12966         (vars_of_cmds):
12967         Declare auto-fill-chars as a Lisp variable and initialize it.
12968
12969 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12970
12971         * fileio.c (Fmake_symbolic_link):
12972         (Ffile_symlink_p):
12973         Run handlers even if local machine doesn't have symlinks.
12974
12975 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12976
12977         * event-msw.c (mswindows_drain_windows_queue):
12978         Don't generate paint magic events for non-XEmacs frames.
12979
12980 2000-03-05  Andy Piper  <andy@xemacs.org>
12981
12982         * redisplay.c (redisplay_frame): generate_displayable_area and
12983         friends assumes that we are not in GC, we therefore have to make
12984         sure that this doesn't happen.
12985
12986         * gutter.c (calculate_gutter_size): generate_displayable_area
12987         assumes that we are not in GC, we therefore have to make sure that
12988         this doesn't happen.
12989
12990 2000-03-05  Martin Buchholz  <martin@xemacs.org>
12991
12992         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
12993
12994 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12995
12996         * redisplay.c (regenerate_window): Make sure we set a sane value
12997         for end_pos even if we jump out of the loop.
12998         (regenerate_window): Answer Ben's question :-).
12999         (start_end_of_last_line): Add may_error argument.
13000         (start_of_last_line):
13001         (end_of_last_line): Pass may_error = 0.
13002         (end_of_last_line_may_error): New function.
13003         (pixel_to_glyph_translation): Use it, so we don't crash in
13004         event_to_glyph.
13005
13006 2000-03-04  Andy Piper  <andy@xemacs.org>
13007
13008         * window.h (struct window): add gutter_extent_modiff.
13009
13010         * window.c (allocate_window): zero out gutter_extent_modiff.
13011
13012         * redisplay.h: declare sync_display_line_structs.
13013
13014         * redisplay.c (add_glyph_rune): add a better comment.
13015
13016         * redisplay-output.c (sync_display_line_structs): made non-static.
13017         (compare_runes): remove unneccesary glyph cachel access.
13018
13019         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13020
13021         * gutter.c (output_gutter): don't output the gutter if extent
13022         changes only involve extents in buffers. use 4 sets of display
13023         lines.
13024         (gutter_extent_signal_changed_region_maybe): new function. Mark
13025         extents in gutters as changed.
13026         (update_frame_gutters): use 4 sets of display lines.
13027         (reset_gutter_display_lines): ditto.
13028         (free_frame_gutters): ditto.
13029         (redraw_exposed_gutter): force output of gutters.
13030
13031         * frame.h (struct frame): add 4 sets of gutter display lines.
13032
13033         * extents.c: (extent_changed_for_redisplay): signal changes to
13034         extents in strings in the gutter as well as extents in buffers.
13035
13036 2000-03-02  Andy Piper  <andy@xemacs.org>
13037
13038         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13039
13040         * frame.c (Fmake_frame): make sure the gutters get initialized
13041         after the frame is visible.
13042         (set_frame_selected_window): re-arrange compilation macros a
13043         little.
13044         (change_frame_size_1): mark gutters changed.
13045
13046         * device.c (Fset_device_class): mark gutters changed.
13047
13048 2000-03-01  Andy Piper  <andy@xemacs.org>
13049
13050         * window.c (window_top_frame_gutter_height): deleted.
13051         (window_bottom_frame_gutter_height): ditto.
13052         (window_left_frame_gutter_height): ditto.
13053         (window_right_frame_gutter_height): ditto.
13054         (window_top_gutter_height): don't use them.
13055         (window_bottom_gutter_height): ditto.
13056         (window_left_gutter_width): ditto.
13057         (window_right_gutter_width): ditto.
13058         (Fsplit_window): ditto.
13059         (Fwindow_pixel_edges): don't use border dimensions here.
13060
13061         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13062         (update_scrollbar_instance): ditto.
13063
13064         * redisplay.c (generate_modeline): don't take gutters into account.
13065         (generate_modeline): ditto.
13066         (redisplay_frame): small gutter display optimization.
13067
13068         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13069
13070         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13071         gutters into account.
13072
13073         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13074         for window position and type.
13075
13076         * gutter.c (get_gutter_coords): fix for frame gutters.
13077         (update_frame_gutters): update frame geometry if the gutters have
13078         changed.
13079         (init_frame_gutters): record current gutter geometries.
13080
13081         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13082         var.
13083         (mswindows_widget_instantiate): ditto.
13084
13085         * frame.h (struct frame): add current_gutter_bounds.
13086
13087         * frame.c (change_frame_size_1): position window and minibuffer
13088         appropriately taking into account the frame gutters.
13089
13090         * frame-x.c: (x_initialize_frame_size): take into account the
13091         frame gutters.
13092
13093 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13094
13095         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13096
13097 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13098
13099         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13100
13101 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13102
13103         * file-coding.c (reset_decoding_stream): Clear previous
13104         detection state when autodetect.
13105
13106 2000-02-29  Didier Verna  <didier@xemacs.org>
13107
13108         * extents.c (set_extent_glyph_1): don't require extents to be
13109         attached.
13110
13111 2000-02-27  Andy Piper  <andy@xemacs.org>
13112
13113         * gutter.c (Fset_default_gutter_position): don't default left and
13114         right gutter visibility to t.
13115         (Fset_default_gutter_position): run
13116         default-gutter-position-changed-hook.
13117         (syms_of_gutter): add default-gutter-position-changed-hook.
13118
13119 2000-02-26  Andy Piper  <andy@xemacs.org>
13120
13121         * specifier.c (Fmake_specifier): add gutter references.
13122
13123         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13124
13125         * lisp.h: declare Fvalid_plist_p.
13126
13127         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13128         as changed.
13129         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13130         well as its visibility so that it gets reconstructed.
13131         (construct_window_gutter_spec): new function. Construct a string
13132         to be displayed in the gutter from a plist of strings. Take care
13133         to only use elements that are declared as visible.
13134         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13135         WINDOW_GUTTER.
13136         (gutter_validate): allow plists of strings in the specifier.
13137         (gutter_specs_changed): construct the real_gutter from the gutter
13138         specs using construct_window_gutter_spec.
13139         (gutter_visible_validate): gutter-visible is a new specifier type.
13140         (Fgutter_visible_specifier_p): new function for the new specifier.
13141         (syms_of_gutter): declare gutter-visible and
13142         Fgutter_visible_specifier_p.
13143         (specifier_type_create_gutter): intitalize new gutter-visible
13144         specifier.
13145         (reinit_specifier_type_create_gutter): ditto.
13146         (specifier_vars_of_gutter): use new specifier type for gutter
13147         visibility.
13148         (init_frame_gutters): construct real_gutter correctly.
13149         (Fgutter_specifier_p): beef up documentation.
13150         (Fgutter_size_specifier_p): ditto.
13151
13152         * winslots.h: add real_gutter slots.
13153
13154 2000-02-25  Andy Piper  <andy@xemacs.org>
13155
13156         * device-msw.c: Be kind to older cygwin versions. From Raymond
13157         Toy <toy@rtp.ericsson.se>.
13158
13159         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13160         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13161
13162 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13163
13164         * elhash.c (MARK_OBJ): Practice macro hygiene.
13165
13166 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13167
13168         * miscplay.c: s/__inline__/inline/g;
13169         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13170         (get_device_compdc): INLINE ==> static inline
13171         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13172         find -name '*.h' | \
13173         xargs global-replace \
13174         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13175
13176 2000-02-25  Andy Piper  <andy@xemacs.org>
13177
13178         * window.c (window_top_frame_gutter_height): new function.
13179         (window_top_window_gutter_height): ditto.
13180         (window_top_gutter_height): use them.
13181         (window_bottom_frame_gutter_height): new function.
13182         (window_bottom_window_gutter_height): ditto.
13183         (window_bottom_gutter_height): use them.
13184         (window_left_window_gutter_width): new function.
13185         (window_left_frame_gutter_width): ditto.
13186         (window_left_gutter_width): use them.
13187         (window_right_window_gutter_width): new function.
13188         (window_right_frame_gutter_width): ditto.
13189         (window_right_gutter_width): use them.
13190         (window_pixel_height): new function. calulate window pixel height
13191         with frame gutter involvement.
13192         (Fsplit_window): calculate new sizes taking frame gutters into
13193         account.
13194         (window_char_height_to_pixel_height): don't include frame gutters.
13195         (window_char_height): use window_pixel_height.
13196         (window_pixheight): rename from window_pixel_height.
13197         (change_window_height): use it.
13198         (window_pixel_height_to_char_height): don't include frame gutters.
13199         (window_char_width_to_pixel_width): ditto.
13200
13201 2000-02-25  Andy Piper  <andy@xemacs.org>
13202
13203         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13204         if it is.
13205
13206 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13207
13208         * alloc.c (staticpro):
13209         (staticpro_nodump):
13210         (dumpstruct):
13211         (dumpopaque):
13212         (pdump_wire):
13213         (pdump_wire_list):
13214         (compact_string_chars):
13215         (pdump_dump_wired):
13216         Convert:  if (foo) abort();  ==>  assert (! foo);
13217
13218         * eldap.c (Fldap_search_basic):
13219         (Fldap_add):
13220         (Fldap_modify):
13221         (Fldap_delete):
13222         Fix compiler warnings, and possible crashes if (random) return
13223         value were to be used.
13224
13225 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13226
13227         * device-msw.c: Workaround ResetDC failure.
13228
13229         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13230         applying a devmode.
13231
13232         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13233         (mswindows_text_width): Do not start printer page.
13234
13235         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13236
13237         * glyphs-msw.c: Added image methods to msprinter console and
13238         msprinter-specific image instantiation.
13239
13240 2000-02-20  Mike Alexander  <mta@arbortext.com>
13241
13242         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13243         to avoid crashes when selection-sets-clipboard is on
13244         (mswindows_own_selection): ditto
13245
13246 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13247
13248         * glyphs-msw.c:
13249         * redisplay-msw.c (get_frame_dc):
13250         (get_frame_compdc):
13251         * console-msw.h:
13252         * device-msw.c (mswindows_init_device):
13253         (mswindows_delete_device):
13254         (msprinter_init_device):
13255         (msprinter_delete_device):
13256         * frame-msw.c (mswindows_init_frame_1):
13257         (mswindows_delete_frame):
13258         (msprinter_init_frame_3):
13259         (msprinter_delete_frame): Move compatible DC to device object from
13260         frame object, for both mswindows and msprinter. Only one at a time
13261         is needed, it is a real waste to have one per frame!
13262
13263 2000-02-23  Andy Piper  <andy@xemacs.org>
13264
13265         * glyphs.c: add dynamic width and height elements.
13266         (image_instance_equal): ditto.
13267
13268         * glyphs-widget.c (widget_query_geometry): calculate width and
13269         height dynamically if required.
13270         (initialize_widget_image_instance): initialize dynamic dimensions.
13271         (widget_instantiate): pick-up dynamic dimensions.
13272
13273         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13274         dynamic determination. Add appropriate macros.
13275
13276         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13277         dimensions safe.
13278         (WINDOW_GUTTER_SIZE): ditto.
13279         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13280
13281         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13282         inline.
13283         (get_frame_dc): ditto.
13284
13285         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13286         here.
13287
13288 2000-02-23  Martin Buchholz <martin@xemacs.org>
13289
13290         * XEmacs 21.2.31 is released.
13291
13292 2000-02-22  Ben Wing <ben@xemacs.org>
13293
13294         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13295
13296 2000-02-22  Andy Piper  <andy@xemacs.org>
13297
13298         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13299
13300 2000-02-21  Mike Sperber <mike@xemacs.org>
13301
13302         * .dbxrc:
13303         * .gdbinit:
13304         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13305         variables.
13306
13307 2000-02-21  Mike Sperber <mike@xemacs.org>
13308
13309         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13310
13311 2000-02-21  Martin Buchholz <martin@xemacs.org>
13312
13313         * XEmacs 21.2.30 is released.
13314
13315 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13316
13317         Performance hacking.
13318         * *.c (syms_of_*):
13319         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13320         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13321         * emacs.c (main_1):
13322         * lisp.h (DEFUN):
13323         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13324         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13325         * symeval.h (DEFVAR_SYMVAL_FWD):
13326         * symbols.c (guts_of_unbound_marker):
13327         Make all c_readonly objects also lisp_readonly and marked for life.
13328         * lrecord.h (struct lrecord_implementation):
13329         Document flags better.
13330         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13331         * lrecord.h (DECLARE_LRECORD):
13332         * lrecord.h (XSETRECORD):
13333         * lrecord.h (RECORDP):
13334         * lrecord.h (RECORD_TYPEP):
13335         * lrecord.h (RECORD_MARKER): New.
13336         * lrecord.h (error_check_*):
13337         * lrecord.h (CONCHECK_NONRECORD):
13338         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13339         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13340         * lrecord.h (set_lheader_implementation):
13341         * lrecord.h (enum lrecord_type): New.
13342         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13343         * alloc.c (disksave_object_finalization_1):
13344         * alloc.c (mark_object):
13345         * alloc.c (lrecord_type_index):
13346         * alloc.c (tick_lcrecord_stats):
13347         * alloc.c (Fgarbage_collect):
13348         * alloc.c (init_alloc_once_early):
13349         * alloc.c (pdump_load):
13350         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13351         * alloc.c (lrecord_type_index): Delete.
13352         Make lisp object type indexes be constant.
13353           Makes (byte-compile) 5% faster.
13354         Put all marker functions into their own array.
13355           Makes (garbage-collect) 5% faster.
13356         Optimize SYMBOL_VALUE_MAGIC_P.
13357           Makes (byte-compile) 2-3% faster.
13358         * config.h.in (gc_checking_assert): New.
13359         * alloc.c: Use gc_checking_assert().
13360         * .dbxrc: Make compatible with new object type implementation.
13361         * .gdbinit: Make compatible with new object type implementation.
13362         * alloc.c: Delete all symbols defined only for debugging, such as
13363         Lisp_Type_Vector and lrecord_charset.
13364
13365 2000-02-21  Andy Piper  <andy@xemacs.org>
13366
13367         * gui-msw.c (Fmswindows_shell_execute): fix file location
13368         problems.
13369
13370         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13371         unshowing so that set_window_buffer doesn't undo
13372         kill_buffer_hook's hard work.
13373
13374         * glyphs-widget.c (tab_control_query_geometry): don't count the
13375         first item when calculating geometry.
13376
13377         * glyphs.c (map_subwindow): remove redundant code.
13378         (update_frame_subwindows): be more circumspect about when to
13379         update subwindows.
13380
13381         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
13382         when items haven't changed. Update faces if faces have changed as
13383         well as just the widget face.
13384         (x_tab_control_update): Update faces if faces have changed as well
13385         as just the widget face.
13386
13387 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13388
13389         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
13390         registration.
13391         (build_syscolor_string): Use mswindows_color_to_string to try to
13392         get a named color.
13393         (mswindows_device_system_metrics): Reverse the foreground and
13394         background colors so that they match the documentation.
13395
13396         * objects-msw.c: (mswindows_X_color_map): tweak some values so
13397         they match the default Windows palette.
13398         (mswindows_color_to_string): New function.
13399
13400 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13401
13402         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
13403
13404 2000-02-18  Olivier Galibert  <galibert@pobox.com>
13405
13406         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
13407         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
13408
13409         * symbols.c (init_symbols_once_early): Removed obsolete
13410         DATA_SEG_BITS related kludge.
13411         (defvar_magic): Ditto.
13412
13413         * malloc.c: Removed obsolete DATA_SEG_BITS
13414         * ralloc.c: Ditto.
13415         * mem-limits.h: Ditto.
13416
13417         * Makefile.in.in: Removed obsolete HAVE_SHM
13418         * emacs.c: Ditto.
13419
13420 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13421
13422         *  device-msw.c (mswindows_delete_device): Free DDE string
13423         handles.
13424
13425 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13426
13427         * keymap.c (get_keyelt):
13428         * unexnt.c (unexec):
13429         * vm-limit.c (memory_warnings):
13430         * ntheap.c (recreate_heap):
13431         * ntheap.h (UNINIT_PTR):
13432         * select-msw.c (Fmswindows_get_clipboard):
13433         (Fmswindows_set_clipboard):
13434         * objects-msw.h (MSWINDOWS_BAD_HFONT):
13435         * objects-msw.c:
13436         * menubar-msw.c (displayable_menu_item):
13437         * glyphs-msw.c:
13438         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
13439         * sysdep.c (sys_subshell):
13440         * process-nt.c (nt_create_process):
13441         * nt.c (normalize_filename):
13442         (dostounix_filename):
13443         (unixtodos_filename):
13444         * ntproc.c (win32_executable_type):
13445         * ntplay.c (play_sound_data_1):
13446         (play_sound_file):
13447         * editfns.c (get_home_directory):
13448         * event-msw.c (struct winsock_stream):
13449         (mswindows_dde_callback):
13450         * device-msw.c (msprinter_init_device):
13451         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
13452
13453         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
13454         mswindows_clear_toolbar were swapped!
13455
13456         * objects-msw.c:(colormap_t):
13457         (fontmap_t):
13458         * emacs.c (struct standard_args): Fixed const jumble.
13459
13460         * glyphs-widget.c (update_widget): Fixed comparison notation.
13461
13462         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
13463
13464         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
13465         __declspec(noreturn) syntax.
13466
13467 2000-02-19  Martin Buchholz  <martin@xemacs.org>
13468
13469         * eldap.c (Fldap_open):
13470         (Fldap_search_basic):
13471         (Fldap_add):
13472         (Fldap_modify):
13473         Use new coding system conversion macros.
13474
13475 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13476
13477         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
13478
13479 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
13480
13481         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
13482         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13483
13484         * eldap.c (Qadd, Qreplace): New constant symbols
13485         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
13486         interruptions by XEmacs signals
13487         Remove unnecessary calls to slow_down_interrupts and
13488         speed_up_interrupts
13489         (Fldap_search_basic): Renamed from Fldap_search_internal
13490         Added new optional parameter VERBOSE that triggers the
13491         display of progress messages
13492         Remove unnecessary calls to slow_down_interrupts and
13493         speed_up_interrupts
13494         LDAP result code analysis rewritten
13495         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13496         (syms_of_eldap): Define the new symbols and functions
13497
13498
13499 2000-02-17  Martin Buchholz  <martin@xemacs.org>
13500
13501         * realpath.c: Determine PATH_MAX maximally portably.
13502
13503         * insdel.c (bytecount_to_charcount): Optimize.
13504         The function used to be optimized for entirely ASCII sequences.
13505         Now it is optimized for successive characters from the same
13506         charset.  This also wins big for _mostly_ ASCII sequences.
13507
13508         * fileio.c (Ffile_truename): convert return from realpath() using
13509         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
13510         - Rewrite GCPROing slightly.
13511
13512         * sysdep.c (sys_open): Do filename conversion, like all other
13513         sys_* functions.  Fixes bug:
13514         (let ((file-name-coding-system 'iso-8859-2))
13515            (write-region x y latin2-name))
13516         ==> writes filename using internal encoding.
13517
13518 2000-02-18  Martin Buchholz  <martin@xemacs.org>
13519
13520         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
13521         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
13522         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
13523         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
13524         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
13525         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
13526         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
13527         (CONST_IF_NOT_DEBUG): Delete.
13528         * alloc.c (this_one_is_unmarkable): Delete.
13529         (mark_object): Don't check for this_one_is_unmarkable. Use the
13530         c_readonly flag instead.
13531         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
13532
13533 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13534
13535         * event-msw.c (mswindows_drain_windows_queue):
13536         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
13537         away redundant repaint events.
13538
13539 2000-02-17  Andy Piper  <andy@xemacs.org>
13540
13541         * redisplay.h: declare mark_redisplay_structs.
13542
13543         * redisplay.c (redisplay_window):
13544         (redisplay_frame): don't check subwindows_state_changed.
13545         (mark_redisplay): mark gutters here.
13546
13547         * glyphs.c: (instantiate_image_instantiator): always layout if we
13548         haven't done so already.
13549         (allocate_image_instance): don't mark as dirty.
13550         (update_subwindow): bind inhibit_quit.
13551
13552         * gutter.c (mark_gutters): new function.
13553
13554         * glyphs-x.c (x_update_widget): Always resize to get round a
13555         widget bug.
13556
13557         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
13558         breaking absolutely everything.
13559
13560         * gutter.h: declare mark_gutters.
13561
13562 2000-02-16  Martin Buchholz <martin@xemacs.org>
13563
13564         * XEmacs 21.2.29 is released.
13565
13566 2000-02-15  Olivier Galibert  <galibert@pobox.com>
13567
13568         * fns.c (size_bit_vector): Fix computation of the size.
13569
13570 2000-02-15  Martin Buchholz  <martin@xemacs.org>
13571
13572         * *.[ch]: Change CONST to const globally.
13573         find -name '*.[ch]' | \
13574         xargs global-replace \
13575         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
13576         - Remove vestigial references to CONST_IS_LOSING
13577
13578 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13579
13580         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
13581         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
13582         events instead of dispatching them directly.
13583         (mswindows_handle_paint): New function to do repainting.
13584         (mswindows_wnd_proc):
13585         (emacs_mswindows_handle_magic_event): Call above function.
13586
13587 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13588
13589         * objects-msw.c (mswindows_create_font_variant): Return the new
13590         font handle.
13591         (initialize_font_instance): Get font metrics from the underlined
13592         variant of the font to cope with the case where the underlined
13593         font has a bigger descent.
13594
13595 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13596
13597         * gui.c (gui_item_accelerator): Return the first underlined
13598         character in item name.
13599
13600 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13601
13602         * lisp.h: Added Qprinter.
13603
13604         * general.c (syms_of_general): Initialized it.
13605
13606         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
13607         (get_frame_dc):
13608         (get_frame_compdc): Made inline.
13609
13610         * console.h (struct console_methods): Added eject_page method.
13611
13612         * frame.h: Added FRAME_DISPLAY_P and friends.
13613         Aligned backslahes in many macros in more readable fashion.
13614         Added page_number to struct frame, and an accessor macro
13615         for it.
13616
13617         * defice.h: Added DEVICE_DISPLAY_P and friends.
13618
13619         * device.c (Fdevice_printer_p): Used these.
13620
13621         * frame.c (allocate_frame_core): Initialize page number.
13622         (Fprint_job_page_number):
13623         (Fprint_job_eject_page): Implemented.
13624
13625         * frame-msw.c (msprinter_eject_page): Added method.
13626         (msprinter_start_page): Added.
13627
13628         * window.c (Fwindow_truncated_p): Fixed docstring.
13629         (Fwindow_last_line_visible_height): Implemented.
13630
13631 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13632
13633         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
13634
13635 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13636
13637         * syntax.c (scan_words): Always advance at least one character.
13638
13639 2000-02-13  Andy Piper  <andy@xemacs.org>
13640
13641         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
13642         to make sure the glyph is in the cachels.
13643
13644         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
13645         global image instance flag.
13646         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
13647         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
13648
13649         * glyphs.c (allocate_image_instance): set dirty bits correctly.
13650         (Fset_image_instance_property): mark layout as changed.
13651         (invalidate_glyph_geometry_maybe): mark layout as changed.
13652         (glyph_width): use new NEEDS_LAYOUT macro.
13653         (glyph_ascent): ditto.
13654         (glyph_descent): ditto.
13655         (glyph_height): ditto.
13656         (image_instance_layout): mark layout as clean after laying out.
13657         (update_subwindow): don't mark layout as clean here.
13658
13659         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
13660         should no longer be needed.
13661
13662         * glyphs-x.c (x_update_widget): sanitize asserts.
13663         (x_finalize_image_instance): sanitize assignment to widgets.
13664
13665         * glyphs-widget.c (widget_instantiate): don't need to clear the
13666         layout flag here.
13667
13668 2000-02-13  Martin Buchholz  <martin@xemacs.org>
13669
13670         * sysdep.c (getcwd): Use standard prototype.
13671         * sysdep.h (getcwd): Use standard prototype.
13672
13673         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
13674         (sequence, start, end).
13675         Remove redundant type checking.
13676         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
13677         view of `caller-protects') to avoid a crash where the real fix was
13678         found elsewhere.
13679
13680 2000-02-12  Martin Buchholz  <martin@xemacs.org>
13681
13682         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
13683
13684         * s/sol2.h: Remove feature macro initialization.
13685
13686         * alloc.c (alloc_lcrecord): Add more type checking assertions.
13687         (vector_hash): New.  Code from internal_hash.
13688         * lrecord.h:
13689         Fix up allocation subsystem comments.
13690
13691         * config.h.in: Add __EXTENSIONS__ for Solaris.
13692
13693         * systime.h (EMACS_GETTIMEOFDAY): New.
13694         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
13695         Remove Solaris-specific code.
13696         Use void* for the (ignored) second arg for gettimeofday().
13697
13698         * elhash.c (hash_table_hash): Implement it, finally.
13699         * elhash.c:  Use hashcode_t.
13700
13701         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
13702         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
13703
13704         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
13705         * fns.c (size_bit_vector):
13706         * alloc.c (size_vector):
13707         (make_vector_internal):
13708         (make_bit_vector_internal):
13709         (sweep_bit_vectors_1):
13710         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
13711
13712 2000-02-10  Martin Buchholz  <martin@xemacs.org>
13713
13714         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
13715         Include strings.h to avoid warnings for bzero and strcasecmp.
13716
13717 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13718
13719         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
13720         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
13721
13722         * fns.c (size_bit_vector): New.  Declare bit vectors as a
13723         sequence.
13724
13725 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13726
13727         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
13728         use a value field instead.
13729         (symbol_value_forward_forward): Use value field.
13730         (DEFVAR_SYMVAL_FWD): Use value field.
13731         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
13732         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
13733         (DEFVAR_CONST_INT): Ditto.
13734         (DEFVAR_BOOL): Ditto.
13735         (DEFVAR_CONST_BOOL): Ditto.
13736         (DEFVAR_INT_MAGIC): Ditto.
13737         (DEFVAR_BOOL_MAGIC): Ditto.
13738
13739         * symbols.c (guts_of_unbound_marker): Use value field.
13740         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
13741         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
13742
13743         * lisp.h: Declare dumpopaque and noninteractive1.
13744
13745         * alloc.c (dumpopaque): Added.
13746         (pdump_dump_opaquevec): Added.
13747         (pdump): Call pdump_dump_opaquevec to dump opaque data.
13748         (pdump_load): Reload opaque data.  Sync noninteractive1 with
13749         noninteractive.
13750
13751 2000-02-10  Andy Piper  <andy@xemacs.org>
13752
13753         * glyphs.c (image_instance_layout): if the size changes, mark it
13754         as such.
13755
13756         * redisplay-output.c (redisplay_output_layout): Update the
13757         subwindow here.
13758         (redisplay_output_subwindow): ditto.
13759
13760         * glyphs.c (update_subwindow): make sure we reset flags for
13761         layouts as well as everything else.
13762
13763         * glyphs-widget.c (layout_layout): don't need to set the instances
13764         dimensions here.
13765
13766 2000-02-09  Martin Buchholz  <martin@xemacs.org>
13767
13768         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
13769         not HAVE_DLOPEN, which is a lower-level thing.
13770
13771         * .cvsignore: Ignore gmon.out
13772
13773 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
13774
13775         * .cvsignore: Ignore portable dumper xemacs.dmp file
13776
13777 2000-02-09  Andy Piper  <andy@xemacs.org>
13778
13779         * redisplay-output.c (redisplay_output_layout): be more clever
13780         about when we output based on the changed flags.
13781
13782         * glyphs.h (struct image_instantiator_methods): add update_method.
13783         (struct Lisp_Image_Instance): add changed flags. Declare new
13784         macros for manipulating them.
13785
13786         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
13787         (image_instance_parent_glyph): find an image_instance's parent
13788         glyph or image_instance.
13789         (image_instance_layout): mark the size as changed.
13790         (set_image_instance_dirty_p): new function. mark an image
13791         instance, plus all of its parents, as dirty.
13792         (Fset_image_instance_property): use it.
13793         (Fglyph_animated_timeout_handler): use it.
13794         (update_subwindow): call update_widget and device methods for
13795         update_subwindow. Mark all changed flags as clean.
13796         (Fresize_subwindow): mark size as changed.
13797
13798         * glyphs-x.c (x_finalize_image_instance): try and detect gc
13799         failures.
13800         (x_update_subwindow): only resize subwindows here.
13801         (x_update_widget): new function. Update all changed properties of
13802         a widget.
13803         (x_resize_subwindow): deleted.
13804         (x_widget_set_property): deleted.
13805         (x_progress_gauge_set_property): deleted.
13806         (x_progress_gauge_update): new function. Implement recorded
13807         changes.
13808         (x_tab_control_update): ditto.
13809         (x_tab_control_set_property): deleted.
13810         (console_type_create_glyphs_x): declare new functions.
13811         (image_instantiator_format_create_glyphs_x): ditto.
13812
13813         * glyphs-widget.c (widget_set_property): mark text changed.
13814         (update_widget): new function. Update properties of a widget.
13815         (widget_instantiate): for layouts make sure we set their
13816         children's parent correctly.
13817         (tab_control_set_property): new function. Record changes that will
13818         take place under redisplay's control.
13819         (progress_gauge_set_property): ditto.
13820         (image_instantiator_progress_guage): declare new functions.
13821         (image_instantiator_tab_control): ditto.
13822
13823         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
13824         now.
13825         (mswindows_update_widget): new function. Update all properties on
13826         a widget that have changed.
13827         (mswindows_button_update): new function. Update a button's set
13828         state.
13829         (mswindows_tab_control_update): new function. Update the items in
13830         a tab.
13831         (mswindows_tab_control_set_property): deleted.
13832         (mswindows_progress_gauge_update): new function. Update the
13833         progress gauge's progress.
13834         (mswindows_widget_set_property): deleted. This is all done
13835         asynchronously now.
13836         (mswindows_progress_gauge_set_property): ditto.
13837         (console_type_create_glyphs_mswindows): declare new methods.
13838         (image_instantiator_format_create_glyphs_mswindows): ditto.
13839
13840         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
13841         (msprinter_set_frame_properties): ditto.
13842
13843         * console.h (struct console_methods): Add update_widget_method.
13844
13845 2000-02-09  Andy Piper  <andy@xemacs.org>
13846
13847         * gui-msw.c (Fmswindows_shell_execute): Make
13848         mswindows-shell-execute industrial strength.
13849
13850 2000-02-08  Martin Buchholz  <martin@xemacs.org>
13851
13852         * lrecord.h: Make macro argument `props' match member function `plist'.
13853         * fns.c (Fget):
13854         * fns.c (Fput):
13855         * fns.c (Fremprop):
13856         * fns.c (Fobject_plist):
13857         * alloc.c:
13858         * symbols.c:
13859         Object property list frobbing cleanup.
13860         - Allow any lisp object (compared with `eq'), not just symbols, as
13861           keys in object plists.
13862         - Move symbol plist frobbing into symbols.c, where it belongs.
13863         - Move string plist frobbing into alloc.c, where it belongs.
13864         - Everything's an lrecord now, so no need to test for symbolp, etc.
13865         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
13866
13867         * extents.c: Reorder code to remove declarations.
13868
13869         * frame.h (store_in_alist): Remove useless declaration.
13870
13871 2000-02-07  Martin Buchholz  <martin@xemacs.org>
13872
13873         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
13874         * config.h.in: Add HAVE_XCONVERTCASE.
13875
13876 2000-02-07  Andy Piper  <andy@xemacs.org>
13877
13878         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
13879         it breaks many things.
13880
13881 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13882
13883         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
13884         actually can start a common comment type.
13885         * src/syntax.h (SYNTAX_END_P): ditto for end.
13886
13887 2000-02-07  Martin Buchholz <martin@xemacs.org>
13888
13889         * XEmacs 21.2.28 is released.
13890
13891 2000-02-06  Martin Buchholz  <martin@xemacs.org>
13892
13893         * event-Xt.c (x_keysym_to_character): New.
13894         (maybe_define_x_key_as_self_inserting_character): New.
13895         (x_has_keysym): New.
13896         Auto-define all keys on the keyboard as self-insert-key.
13897
13898 2000-02-02  Martin Buchholz  <martin@xemacs.org>
13899
13900         * menubar.c (vars_of_menubar): A small code simplification.
13901
13902         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
13903
13904         * ExternalShell.c:
13905         * ExternalClient.c:
13906         * EmacsShell-sub.c:
13907         * EmacsManager.c:
13908         * EmacsFrame.c:
13909         Use consistent style for specifying X resources.
13910
13911         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
13912         This makes (dontusethis-set-symbol-value-handler) actually usable.
13913
13914         * lrecord.h (lrecord_decription_type):
13915         * alloc.c (pdump_register_sub):
13916         (pdump_dump_data):
13917         (pdump_reloc_one):
13918         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
13919         Comply with XEmacs coding style.
13920         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
13921         args, and XD_LISP_OBJECT_ARRAY with 3 args.
13922
13923         * keymap.c (Faccessible_keymaps):
13924         Make (accessible-keymaps map "\C-h") do the Right Thing.
13925         Make (accessible-keymaps map []) do the Right Thing.
13926         Make (accessible-keymaps map "") do the Right Thing.
13927         (check_keymap_definition_loop): New function.
13928         (keymap_store_internal): Keep luser from shooting self in foot,
13929           via (define-key ctl-x-4-map "p" global-map).
13930         Remove fullness slot from struct Lisp_Keymap, since hash tables
13931         are now reliable.
13932         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
13933
13934 2000-01-30  Martin Buchholz  <martin@xemacs.org>
13935
13936         * redisplay.c (init_redisplay): Fix small memory leak.
13937         * elhash.h:
13938         * elhash.c (pdump_reorganize_hash_table):
13939         Rename from reorganize_hash_table. Change prototype.
13940         Reuse the original memory for hentries.  Save 100k.
13941         * alloc.c (PDUMP_READ): new macro.
13942         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
13943         * alloc.c: No need to #ifndef before #undef.
13944
13945         * print.c: Allow debug_print() to print readably by modifying
13946         debug_print_readably.  Use consistent variable names.
13947
13948         * .dbxrc: Try to get things to work even if stopped in a function
13949         without source available by explicitly specifying source files.
13950 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13951
13952         * unexnt.c (_start): Removed bogus code which caused loading heap
13953         from differrent executable file.
13954         Removed bogus assignment to _fmode, which caused inconsistencies.
13955
13956 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13957
13958         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
13959         Have spawnve encapsulation regard DONT_ENCAPSULATE.
13960         Do not preliminary `#define signal sigset'.
13961
13962         * systime.h: Do not prototype environ on windows nt and cygwin,
13963         this conflicts with system header.
13964
13965         * syssignal.h: Use correct define for WINDOWSNT
13966
13967         * sysdep.h: Do not prototype environ on windows nt, this conflicts
13968         with system header.
13969
13970         * sysdep.c (near start of file): Fixed commentary and rearranged
13971         ifdefs in readable order.
13972         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
13973         (start_of_text):
13974         (end_of_text):
13975         (end_of_data): Do not compile in if using PDUMP.
13976
13977         * symsinit.h: Prototyped vars_of_nt().
13978
13979         * ntproc.c (windows9x_p): Added, instead of os_subtype.
13980         (find_child_console): Use it.
13981         (sys_kill): Use it.
13982
13983         * ntheap.h: Do not extern os_subtype.
13984
13985         * ntheap.c (cache_system_info): Do not cache unneeded:
13986         nt_major_version, nt_minor_version and os_subtype.
13987         (recreate_heap): Do not compile in when PDUMPing.
13988
13989         * nt.c (geteuid and friends): Use the new varibale
13990         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
13991         (init_user_info): Removed the above mentioned hackery.
13992         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
13993         stat has been fixed in the C runtime.
13994         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
13995
13996         * file-coding.c (struct file_coding_dump): Do not define
13997         ucs_to_mule_table in the struct if not MULE.
13998         (struct struct lrecord_description fcd_description_1): Do not dump
13999         the above.
14000
14001         * emacs.c (main_1): Call vars_of_nt().
14002         (right before Fdump_emacs_data): Don't need lastfile if using both
14003         portabe dumper and system malloc.
14004
14005         * alloc.c (Fmemory_limit): Conditionalized out.
14006         (pdump): Use OPEN_BINARY for the portable dump file.
14007         (pdump_load): Ditto.
14008
14009 2000-02-02  Mike Alexander  <mta@arbortext.com>
14010
14011         * nt.c (convert_time): Set tm_isdst before calling mktime and
14012         avoid calling it at all if the compiler supports 64 bit integers.
14013         Also initialize utc_base_ft before using it.
14014
14015 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14016
14017         * frame.c (change_frame_size_1): Take f->internal_border_width
14018         into consideration when calculating the width of the frame.
14019
14020 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14021
14022         * window.c (frame_min_height):
14023         (frame_size_valid_p):
14024         (frame_pixsize_valid_p): Added.
14025         (check_frame_size): Generalized.
14026
14027         * window.h: Prototyped the above.
14028
14029         * lisp.h:
14030         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14031         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14032         Deleted Vwin32_* and Vbinary_process_* unused variables.
14033
14034         * device-msw.c (msprinter_init_device): Do not get printer font
14035         list; Added DEVMODE functions.
14036
14037         * frame-msw.c: Added lots of printer code.
14038
14039         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14040         general.c.
14041
14042         * console-msw.h: Added more msprinter device private slots.
14043
14044 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14045
14046         * event-msw.c (key_needs_default_processing_p): Added.
14047         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14048
14049 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14050
14051         * glyphs.c (image_instance_layout): Mark image instance as clean
14052         after layout.
14053         (glyph_dirty_p): Removed redundant function.
14054         (invalidate_glyph_geometry_maybe): Added.
14055         (update_glyph_cachel_data): Call it.
14056
14057         * glyphs.h: Prototyped it.
14058
14059         * redisplay.c (add_glyph_rune): Call it.
14060         (redisplay_window): Reset glyphs cachels when frame faces have
14061         changed, thus forcing recomputation of built-in border glyphs.
14062
14063 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14064
14065         * Makefile.in.in: Make portable dumper and purify play well together.
14066         Add imperfect, but better than nothing, support for pdump.
14067         Remove xemacs.dmp when temacs is re-generated.
14068         Don't ignore errors when dumping xemacs.
14069
14070         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14071
14072 2000-01-28  Andy Piper  <andy@xemacs.org>
14073
14074         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14075         (setup_normal_frame): ditto.
14076         (setup_frame_without_minibuffer): ditto.
14077         (setup_minibuffer_frame): ditto.
14078         (delete_frame_internal): ditto.
14079         (Fmake_frame_invisible): ditto.
14080         (Ficonify_frame): ditto.
14081
14082         * window.h: change Fset_window_buffer signature.
14083
14084         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14085         (Fset_window_buffer): allow recording of buffer if the window is
14086         the selected window.
14087         (window_loop): Use new Fset_window signature.
14088
14089 2000-01-23  Daniel Pittman  <daniel@danann.net>
14090
14091         * config.h.in: Added template for `HAVE_ATHENA_3D'
14092
14093 2000-01-29  Andy Piper  <andy@xemacs.org>
14094
14095         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14096
14097         * gutter.c (output_gutter): Don't output if the window isn't live.
14098
14099 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14100
14101         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14102         of 01/12/00: Moved SetFocus back here where it belongs.
14103
14104 2000-01-23  Andy Piper  <andy@xemacs.org>
14105
14106         * s/cygwin32.h: declare printer things.
14107
14108 2000-01-26  Andy Piper  <andy@xemacs.org>
14109
14110         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14111         Alexander.
14112
14113 2000-01-24  Andy Piper  <andy@xemacs.org>
14114
14115         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14116         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14117
14118         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14119
14120         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14121
14122         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14123
14124         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14125         (mswindows_output_display_block): Avoid local shadows.
14126
14127         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14128         (mswindows_enqueue_mouse_button_event): ditto.
14129         (mswindows_handle_gui_wm_command): remove declaration.
14130
14131         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14132         warnings.
14133
14134         * console-msw.h: Avoid shadows.
14135         (mswindows_get_toolbar_button_text):
14136         (emacs_mswindows_create_stream_pair):
14137         (emacs_mswindows_delete_stream_pair):
14138         (mswindows_handle_toolbar_wm_command): declare.
14139
14140         * device-msw.c (build_syscolor_string): Avoid shadows.
14141
14142 2000-01-23  Andy Piper  <andy@xemacs.org>
14143
14144         * glyphs-widget.c (widget_instantiate): reverse the items for
14145         layouts so that children are in the expected order.
14146
14147 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14148
14149         * ralloc.c: safe_bcopy ==> memmove
14150         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14151         * s/msdos.h: Remove BCOPY macros.
14152         * insdel.c (gap_right): Remove BCOPY conditional code.
14153         * insdel.c (gap_left): Remove BCOPY conditional code.
14154         XEmacs demands a working ANSI C compiler - hence memmove.
14155
14156         * regex.c (regex_compile): Remove accidental use of trigraphs.
14157
14158 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14159
14160         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14161         event timestamp.
14162
14163 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14164
14165         * event-msw.c (mswindows_drain_windows_queue): Added the
14166         parameter.
14167         (mswindows_need_event): Commented the call to
14168         mswindows_drain_windows_queue().
14169         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14170         only.
14171
14172         * console-msw.h: Moved a few function prototypes here from
14173         event-msw.c.
14174
14175         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14176         parameter from unsigned short to unsigned long.
14177         (Fmswindows_shell_execute): Added return value.
14178
14179 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14180
14181         * sysdep.c (init_system_name):
14182           process-unix.c (unix_canonicalized_host_name):
14183         Don't call freeaddrinfo() if getaddrinfo() fails.
14184
14185         * process-unix.c (unix_open_unix_network_stream):
14186         Moved the code to get a port # into address loop.
14187
14188 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14189
14190         * buffer.c (reinit_vars_of_buffer):
14191         The right place to initialize conversion_in_dynarr and
14192         conversion_out_dynarr.
14193
14194         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14195
14196         * process-unix.c (unix_canonicalize_host_name): Muleize.
14197         (unix_open_network_stream): Muleize.
14198
14199         * buffer.h: Fix up prototypes for ralloc.c functions.
14200
14201 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14202         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14203         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14204                 instead of gethostbyname()
14205         * process-unix.c: In unix_canonicalize_host_name() and
14206                 unix_open_network_stream(), add code to use getaddrinfo()
14207                 instead of gethostbyname().
14208
14209 2000-01-27  Daniel Pittman <daniel@danann.net>
14210
14211         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14212         libs when built with flat Athena.
14213
14214 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14215
14216         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14217         Use coding standards for function prototypes.
14218
14219 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14220
14221         * dialog-msw.c (push_lisp_string_as_unicode):
14222         * doc.c (unparesseuxify_doc_string):
14223         * dired.c (Fuser_name_completion_1):
14224         * dired.c (Fuser_name_all_completions):
14225         * dired.c (free_user_cache):
14226         * dired.c (user_name_completion):
14227         * console-x.c (get_display_arg_connection):
14228         * minibuf.c (clear_echo_area_internal):
14229         * minibuf.c (echo_area_append):
14230         * eldap.c (Fldap_open):
14231         * eldap.c (Fldap_search_internal):
14232         * frame-x.c (x_set_frame_text_value):
14233         * frame-x.c (x_set_frame_properties):
14234         * frame-x.c (x_create_widgets):
14235         * redisplay-tty.c (term_get_fkeys_1):
14236         * objects-x.c (x_parse_nearest_color):
14237         * objects-x.c (x_valid_color_name_p):
14238         * objects-x.c (x_initialize_font_instance):
14239         * objects-x.c (x_list_fonts):
14240         * objects-x.c (x_find_charset_font):
14241         * tooltalk.c (Fadd_tooltalk_message_arg):
14242         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14243         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14244         * process-unix.c (unix_create_process):
14245         * ntproc.c (sys_spawnve):
14246         * sound.c (Fplay_sound_file):
14247         * sound.c (Fplay_sound):
14248         * buffer.c (init_initial_directory):
14249         * buffer.c (init_buffer):
14250         * editfns.c (init_editfns):
14251         * editfns.c (Ftemp_directory):
14252         * editfns.c (Fuser_full_name):
14253         * editfns.c (uncache_home_directory):
14254         * editfns.c (get_home_directory):
14255         * editfns.c (Fuser_home_directory):
14256         * editfns.c (Fformat_time_string):
14257         * editfns.c (Fcurrent_time_string):
14258         * gui-x.c (button_item_to_widget_value):
14259         * database.c (Fopen_database):
14260         * event-Xt.c (x_to_emacs_keysym):
14261         * event-Xt.c (x_event_to_emacs_event):
14262         * event-Xt.c (describe_event_window):
14263         * event-msw.c (mswindows_wnd_proc):
14264         * glyphs-eimage.c (jpeg_instantiate):
14265         * glyphs-eimage.c (gif_instantiate):
14266         * glyphs-eimage.c (png_instantiate):
14267         * glyphs-eimage.c (tiff_instantiate):
14268         * glyphs-x.c (xbm_instantiate_1):
14269         * glyphs-x.c (x_xbm_instantiate):
14270         * glyphs-x.c (x_xface_instantiate):
14271         * glyphs-x.c (autodetect_instantiate):
14272         * glyphs-x.c (cursor_font_instantiate):
14273         * glyphs-x.c (x_widget_instantiate):
14274         * glyphs-x.c (x_widget_set_property):
14275         * glyphs-x.c (x_widget_property):
14276         * glyphs-x.c (BUILD_GLYPH_INST):
14277         * print.c (write_string_to_stdio_stream):
14278         * print.c (output_string):
14279         * print.c (Falternate_debugging_output):
14280         * print.c (Fexternal_debugging_output):
14281         * glyphs-msw.c (extract_xpm_color_names):
14282         * glyphs-msw.c (mswindows_xpm_instantiate):
14283         * glyphs-msw.c (bmp_instantiate):
14284         * glyphs-msw.c (resource_name_to_resource):
14285         * glyphs-msw.c (mswindows_resource_instantiate):
14286         * glyphs-msw.c (xbm_instantiate_1):
14287         * glyphs-msw.c (mswindows_xbm_instantiate):
14288         * glyphs-msw.c (mswindows_xface_instantiate):
14289         * glyphs-msw.c (mswindows_widget_instantiate):
14290         * glyphs-msw.c (add_tree_item):
14291         * glyphs-msw.c (add_tab_item):
14292         * glyphs-msw.c (mswindows_combo_box_instantiate):
14293         * glyphs-msw.c (mswindows_widget_property):
14294         * glyphs-msw.c (mswindows_combo_box_property):
14295         * glyphs-msw.c (mswindows_widget_set_property):
14296         * console.c (stuff_buffered_input):
14297         * objects-msw.c (mswindows_initialize_color_instance):
14298         * objects-msw.c (mswindows_valid_color_name_p):
14299         * objects-msw.c (mswindows_list_fonts):
14300         * objects-msw.c (mswindows_font_instance_truename):
14301         * bytecode.c (optimize_compiled_function):
14302         * select-x.c (symbol_to_x_atom):
14303         * select-x.c (x_atom_to_symbol):
14304         * select-x.c (hack_motif_clipboard_selection):
14305         * select-x.c (selection_data_to_lisp_data):
14306         * select-x.c (lisp_data_to_selection_data):
14307         * select-x.c (Fx_get_cutbuffer_internal):
14308         * select-x.c (Fx_store_cutbuffer_internal):
14309         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14310         * buffer.h (TO_INTERNAL_FORMAT): New function.
14311         * emacs.c (make_arg_list_1):
14312         * emacs.c (make_argc_argv):
14313         * emacs.c (main_1):
14314         * emacs.c (Fdump_emacs):
14315         * emacs.c (split_string_by_emchar_1):
14316         * file-coding.h:
14317         * lisp.h:
14318         * lstream.h:
14319         * symsinit.h:
14320         * device-x.c (x_init_device):
14321         * device-x.c (Fx_valid_keysym_name_p):
14322         * device-x.c (Fx_get_font_path):
14323         * device-x.c (Fx_set_font_path):
14324         * glyphs.c (bitmap_to_lisp_data):
14325         * glyphs.c (pixmap_to_lisp_data):
14326         * alloc.c (make_ext_string): Use coding system arguments.  Update
14327         all callers.
14328         * alloc.c (build_string):
14329         * callproc.c (child_setup):
14330         * callproc.c (init_callproc):
14331         * fileio.c (lisp_strerror):
14332         * fileio.c (directory_file_name):
14333         * fileio.c (Fexpand_file_name):
14334         * fileio.c (Ffile_truename):
14335         * fileio.c (Fsysnetunam):
14336         * fileio.c (Fdo_auto_save):
14337         * sysdep.c (sys_readdir):
14338         * tests.c: New file.  Allow adding C tests.
14339         Replace GET_* macros with a more comprehensible and flexible
14340         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14341         Modify all calls.
14342         Any coding system can be used to do format conversion.
14343         Eliminate enum external_data_format.
14344         Eliminate convert_to_external_format.
14345         Eliminate convert_to_internal_format.
14346         Make sure file-name, keyboard, terminal, and ctext are always
14347         defined as coding systems or aliases.  Make
14348         file-name-coding-system, terminal-coding-system, and
14349         keyboard-coding-system magical variables that are equivalent to
14350         defining the corresponding coding system aliases.
14351
14352         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14353         * file-coding.c (Fcoding_system_alias_p): New function.
14354         * file-coding.c (Fcoding_system_aliasee): New function.
14355         * file-coding.c (append_suffix_to_symbol): New function.
14356         * file-coding.c (dangling_coding_system_alias_p): New function.
14357         * file-coding.c (Ffind_coding_system):
14358         * file-coding.c (Fcopy_coding_system):
14359         * file-coding.c (encode_coding_no_conversion):
14360         * file-coding.c (syms_of_file_coding):
14361         * file-coding.c (vars_of_file_coding):
14362         Rewrite coding system alias code.
14363         Allow nested aliases, like symbolic links.
14364         Allow redefinition of coding system aliases.
14365         Prevent existence of dangling coding system aliases.
14366
14367         * dired.c (Fuser_name_completion_1):
14368         * dired.c (Fuser_name_all_completions):
14369         A crash would happen if user did QUIT in the middle of building
14370         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14371
14372         * lisp.h:
14373         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
14374
14375         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
14376         an unsigned char *.  Update all callers.
14377
14378 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14379
14380         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
14381
14382 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14383
14384         * elhash.c (hentry_description): Use more portable definition.
14385         (resize_hash_table): Initialize new hentries using
14386         xnew_array_and_zero, thereby simplifying the code.
14387
14388         * mule-charset.c (make_charset): Make sure entire object is
14389         initialized, to avoid Purify warnings.
14390
14391         * alloc.c (resize_string): Fix unlikely crash with big strings.
14392
14393 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14394
14395         * realpath.c (xrealpath):
14396         Don't call getwd().
14397
14398 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14399
14400         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
14401
14402 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
14403
14404         * unexelfsgi.c (unexec): Change the way we decide which segment
14405         should be extended.
14406
14407         Assumption that .bss section should be outside the PT_LOADable
14408         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
14409         it's present) is inside the 'data' segment. This would fail the
14410         test which was used to find a segment to grow and cover new
14411         heap. Instead of this assumption, I created another one - on IRIX
14412         the segment to grow should start below .bss and it's address
14413         should extent above the end of .bss. Once this segment is
14414         identified, it's grown to accommodate the new heap and new
14415         zero-length .bss section is added at the end of .data2.
14416
14417 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14418
14419         * eval.c (Feval): Wrong number of arguments should use original
14420         function, not the indirect_function version of it.
14421
14422 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
14423
14424         * glyphs-x.c (x_button_instantiate): Don't add image if
14425         it is not a pixmap.
14426         (x_locate_pixmap_file): Call Fexpand_file_name when file name
14427         is relative.
14428
14429 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
14430
14431         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
14432         declaration.
14433         (DEFVAR_INT_MAGIC): Ditto.
14434         (DEFVAR_BOOL_MAGIC): Ditto.
14435         * glyphs.h: Reindent backslash.
14436
14437 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14438
14439         * glyphs-widget.c (layout_query_geometry):
14440         (layout_layout): Use correct types for gheight, gwidth.
14441
14442 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14443
14444         * EmacsManager.c (QueryGeometry): Purified.
14445
14446 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14447
14448         * alloc.c (make_float): Make sure entire object is initialized, to
14449         avoid Purify warnings.
14450         (pdump_register_sub): Remove useless assignment.
14451         (pdump): Use xmalloc, not malloc.
14452         (pdump_load): Use xmalloc, not malloc.
14453
14454 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14455
14456         * callproc.c:
14457         * dired-msw.c:
14458         * fileio.c:
14459         * process-nt.c:
14460         * redisplay-msw.c:
14461         * sysdep.c: Removed redundant #include <windows.h>
14462
14463 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14464
14465         * frame.c (delete_frame_internal): Do not delete device when its
14466         implementation so declares.
14467         (delete_frame_internal): Set device selected frame to nil when
14468         last frame goes away.
14469
14470         * device-msw.c (msprinter_device_system_metrics): Implemented.
14471         (mswindows_device_system_metrics): Added 'device-dpi property.
14472
14473         * device.c: (Fdevice_printer_p): Added.
14474         Added 'offset-workspace device metric.
14475
14476         * console.h (device_metrics): Declared DM_offset_workspace.
14477
14478 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14479
14480         * fileio.c (Ffile_truename): Remove pointless and confusing
14481         initialization of elen.
14482
14483         * glyphs-widget.c: Compiler warning fixes.
14484
14485 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
14486
14487         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
14488         instead of a Lisp_Object as argument to make it consistent with
14489         the other LIVE_P macros.
14490         (CHECK_LIVE_PROCESS): New macro.
14491
14492         * process.c: Declare Qprocess_live_p.
14493         (Fprocess_live_p): New function.
14494         (create_process): Use PROCESS_LIVE_P.
14495         (read_process_output): Ditto.
14496         (set_process_filter): Ditto.
14497         (Fdelete_process): Ditto.
14498         (kill_buffer_processes): Ditto
14499         (process_send_signal): Use CHECK_LIVE_PROCESS.
14500         (Fprocess_input_coding_system): Check whether process is still
14501         alive (fix PR#1061).
14502         (Fprocess_output_coding_system): Ditto.
14503         (Fprocess_coding_system): Ditto.
14504         (Fset_process_input_coding_system): Ditto.
14505         (Fset_process_output_coding_system): Ditto.
14506
14507 2000-01-23  Andy Piper  <andy@xemacs.org>
14508
14509         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
14510         layout and widget.
14511
14512         * glyphs.c (mark_image_instance): take into account changed
14513         image_instance format.
14514         (image_instance_equal): ditto.
14515         (image_instance_hash): ditto.
14516
14517         * glyphs-widget.c (widget_instantiate): Incorporate layout
14518         instantiation here. Delay layout of the layout until later.
14519         (layout_instantiate): deleted.
14520         (layout_query_geometry): new function. get the geometry of a
14521         layout.
14522         (layout_layout): layout a layout dynamically.
14523         (image_instantiator_widget): New function - splitting up
14524         image_instantiator_format_create_glyphs_widget for netwinder
14525         compilation.
14526         (image_instantiator_buttons):
14527         (image_instantiator_edit_fields):
14528         (image_instantiator_combo_box):
14529         (image_instantiator_scrollbar):
14530         (image_instantiator_progress_guage):
14531         (image_instantiator_tree_view):
14532         (image_instantiator_tab_control):
14533         (image_instantiator_labels):
14534         (image_instantiator_layout): ditto.
14535         (image_instantiator_format_create_glyphs_widget): Call preceding
14536         functions.
14537
14538 2000-01-22  Martin Buchholz  <martin@xemacs.org>
14539
14540         * process.c (Fset_process_coding_system):
14541         * device-x.c (Fx_keysym_hash_table):
14542         Docstring fixes.
14543
14544         * lstream.c (Lstream_write): Return documented value, not 0.
14545
14546         * fileio.c (directory_file_name):
14547         (Fsubstitute_in_file_name):
14548         (Fsubstitute_insert_file_contents_internal):
14549         (Fwrite_region_internal):
14550         * emacs.c:
14551         * sysdep.c:
14552         * getloadavg.c:
14553         * systty.h:
14554         Remove vestigial APOLLO-conditional code.
14555
14556 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14557
14558         * getpagesize.h: Add guard macros.
14559         * libsst.h: Add guard macros.
14560         * libst.h: Add guard macros.
14561         * line-number.h: Add guard macros.
14562         * ndir.h: Add guard macros.
14563         * sysfloat.h: Add guard macros.
14564         * sysfile.h: Add guard macros.
14565         * sysproc.h: Add guard macros.
14566         * syswait.h: Add guard macros.
14567         * xintrinsic.h: Add guard macros.
14568         * xintrinsicp.h: Add guard macros.
14569         * xmmanager.h: Add guard macros.
14570         * xmmanagerp.h: Add guard macros.
14571         * xmprimitive.h: Add guard macros.
14572         * xmu.h: Add guard macros.
14573         * gpmevent.h: Add copyright statement. Add guard macros.
14574         * miscplay.h: Add guard macros.
14575         * *.h: Use consistent C-standards-approved guard macro names.
14576
14577         * opaque.c (make_opaque): Switch parameter order.
14578         * opaque.h (make_opaque): Switch parameter order.
14579         Update all callers.
14580         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
14581
14582         * config.h.in (type_checking_assert): Added.
14583         (bufpos_checking_assert): Added.
14584
14585 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14586
14587         * alloc.c: Harmless pdump changes.
14588         - Use countof().
14589         - spell alignment correctly.
14590         * sysdep.c: Use countof()
14591
14592 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14593
14594         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
14595         initially_selected_for_input() console method, default to 0.
14596         (semi_canonicalize_console_connection): Try to delegate to
14597         canonicalize_console_connection if no such console method.
14598         (canonicalize_console_connection): Vice versa.
14599         (print_console): Do not print nil connection.
14600
14601         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
14602         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
14603         (XDEVIMPF_FRAMELESS_OK): Added.
14604         (CONSOLE_INHERITS_METHOD): Added.
14605
14606         * console-msw.c (mswindows_canonicalize_console_connection):
14607         Added.
14608         (mswindows_canonicalize_device_connection): Added.
14609
14610         * console-msw.h (struct msprinter_device): Added this struct and
14611         accessor macros.
14612         (mswindows_device): Made fontlist a lisp object.
14613
14614         * device.c (semi_canonicalize_device_connection):  Try to delegate
14615         to canonicalize_device_connection if no such console method.
14616         (canonicalize_device_connection): Vice versa.
14617         (print_device): Do not print nil connection.
14618
14619         * device-msw.c (mswindows_init_device): Call InitCommonControls
14620         when have widgets.
14621         (mswindows_delete_device): Removed fontlist deallocation.
14622         (mswindows_mark_device): Added.
14623
14624         * events.c (event_equal): Added abort() at unreached code.
14625         (event_hash): Ditto.
14626
14627         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
14628         fallback tags of Windows devices.
14629
14630         * general.c (syms_of_general): Initialized Qmsprinter.
14631
14632         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
14633         of fallback tags of Windows devices.
14634
14635         * lisp.h: Declared Qmsprinter.
14636
14637         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
14638         of strings.
14639         (mswindows_list_fonts): Ditto.
14640         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
14641         that it can be used by both mswindows and msprinter devices.
14642         (initialize_font_instance): Added.
14643         (mswindows_initialize_font_instance): Use it.
14644         (msprinter_initialize_font_instance): Added.
14645
14646         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
14647         and implementation flags check.
14648         (redisplay_without_hooks): Changed the call to the above.
14649         (Fredraw_device): Ditto.
14650         (Fredisplay_device): Ditto.
14651
14652         * redisplay-msw.c (get_frame_dc): Implemented.
14653         (get_frame_compdc): Implemented.
14654         (many functions): Use the two functions above to get device
14655         contexts, ether for a window or a printer.
14656
14657 2000-01-21  Olivier Galibert  <galibert@pobox.com>
14658
14659         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
14660         initialization here.
14661         (init_symbols_once_early): Call it.
14662         * emacs.c (main_1): Call it.
14663         * symsinit.h: Declare it.
14664
14665 2000-01-19  Olivier Galibert  <galibert@pobox.com>
14666
14667         * alloc.c: Use a lrecord_header * in the backtrace instead of a
14668         Lisp_Object.
14669         (pdump_backtrace): Ditto.
14670         (pdump_register_object): Ditto.  Cleanup use of the pointers.
14671         (pdump_get_entry): Abort if trying to register a null pointer.
14672         (pdump_dump_data): Cleanup types when relocating.
14673         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
14674         (pdump_dump_rtables): Remove bad casts.
14675         (pdump_load): Cleanup relocation w.r.t union type.  Use a
14676         Lisp_Object instead of a EMACS_INT for the hashtable
14677         reorganization.
14678
14679 2000-01-20  Martin Buchholz  <martin@xemacs.org>
14680
14681         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
14682
14683         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
14684
14685         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
14686
14687         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
14688
14689 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14690
14691         * faces.h (FACE_STRIKETHRU_P): Added.
14692
14693         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
14694         of font variants.
14695
14696         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
14697         (mswindows_set_dc_font): New function, aware of font variants,
14698         separated from mswindows_update_dc.
14699
14700         * objects-msw.h (struct mswindows_font_instance_data): Added
14701         definition.
14702
14703         * objects-msw.c (mswindows_finalize_font_instance): Delete all
14704         cached fonts and the data structure.
14705         (mswindows_initialize_font_instance): Added creation of font data
14706         structure.
14707         (mswindows_print_font_instance): Print at least something.
14708         (mswindows_create_font_variant): Implemented.
14709         (mswindows_get_hfont): Implemented.
14710
14711 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
14712
14713         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
14714         prototyping problem with msvc.
14715
14716         * emacs.c (main_1): added syms_of_gui_mswindows() call
14717
14718         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
14719         syms_of_gui_mswindows() function
14720
14721         * symsinit.h: added the prototype for syms_of_gui_mswindows()
14722
14723 2000-01-18  Martin Buchholz <martin@xemacs.org>
14724
14725         * XEmacs 21.2.27 is released.
14726
14727 2000-01-18  Martin Buchholz  <martin@xemacs.org>
14728
14729         * glyphs-eimage.c (struct tiff_error_struct):
14730         (tiff_error_func):
14731         (tiff_warning_func):
14732         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
14733
14734         * unexmips.c:
14735         * unexhp9k3.c:
14736         * unexfreebsd.c:
14737         * unexec.c: Remove vestigial Lucid C code.
14738         * unexalpha.c:
14739         * unexaix.c:
14740         * termcap.c:
14741         * libsst.c: Ansify.
14742         Remove declarations of errno and strerror().
14743
14744         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
14745
14746         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
14747
14748 2000-01-16  Martin Buchholz  <martin@xemacs.org>
14749
14750         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
14751         Optimize.
14752
14753 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14754
14755         * md5.c:
14756         * file-coding.c:
14757         * file-coding.h:
14758         Change enum eol_type to eol_type_t.
14759
14760 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14761
14762         * gui.c (get_gui_callback): Check cons before accessing car.
14763
14764 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14765
14766         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
14767         (XSETSPECIFIER_TYPE): Ditto.
14768
14769 2000-01-17  Didier Verna  <didier@xemacs.org>
14770
14771         * redisplay.c (generate_fstring_runes): compute string size in
14772         characters, not bytes.
14773
14774 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14775
14776         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
14777
14778 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
14779
14780         * print.c (print_error_message): Call print_prepare().
14781
14782 2000-01-14  Martin Buchholz  <martin@xemacs.org>
14783
14784         * .dbxrc: Renamed from dbxrc.
14785
14786         * events.c (event_to_character):
14787         Use `assert (foo)' instead of `if (!foo) abort()'
14788
14789         * .gdbinit (xtype): Add documentation.
14790         * .gdbinit (check-temacs): New function.
14791         * .gdbinit (check-xemacs): New function.
14792         * dbxrc (check-xemacs): New function.
14793         * dbxrc (check-xemacs): New function.
14794
14795 2000-01-14  Andy Piper  <andy@xemacs.org>
14796
14797         * glyphs-widget.c (widget_query_geometry): Make sure that we
14798         calculate default dimensions correctly.
14799
14800 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14801
14802         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
14803
14804         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
14805         pdump_wire'd variable.
14806
14807         * emacs.c: (main_1): Conditionalized calls to
14808         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
14809
14810 2000-01-13  Martin Buchholz  <martin@xemacs.org>
14811
14812         * window.c (Fset_window_configuration):
14813         * sysdep.c (_start):
14814         * input-method-motif.c (res):
14815         * event-Xt.c (Xt_process_to_emacs_event):
14816         Simple compiler warning fixes.
14817
14818         * bytecode.c (funcall_compiled_function): Use the original
14819         function symbol on the backtrace list in preference to the
14820         compiled_function object in error messages.
14821
14822 2000-01-13  Andy Piper  <andy@xemacs.org>
14823
14824         * glyphs-x.c (update_widget_face): Make sure we update the widget
14825         background as well as foreground.
14826
14827 2000-01-13  Andy Piper  <andy@xemacs.org>
14828
14829         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
14830         fields to subwindow.
14831         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
14832         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
14833         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14834         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14835
14836         * glyphs-widget.c (check_valid_tab_orientation): new function.
14837         (initialize_widget_image_instance): zero orientation and
14838         justification.
14839         (widget_instantiate): pick up orientation.
14840         (tab_control_query_geometry): return appropriate values for
14841         vertical tabs.
14842
14843         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
14844         appropriate creation flags for left, right and bottom tabs.
14845
14846         * s/cygwin32.h: add tab definitions.
14847
14848 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14849
14850         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
14851         frame upon hiding a subwindow.
14852         (mswindows_button_instantiate): Changed the push button style to
14853         BS_PUSHBUTTON.
14854         (mswindows_button_instantiate): Removed button BS_NOTIFY
14855         style.
14856         (mswindows_button_instantiate): Removed redundant check for
14857         a disabled gui item.
14858         (mswindows_button_instantiate): Made use of WS_TABSTOP
14859         consistent: "operable" controls (edit, button, tree, scroll) have
14860         this style, "display-only" ones (static, progress gauge) do
14861         not. This style is currently ignored by XEmacs though. Also,
14862         removed the WS_EX_CONTROLPARENT style - it is not for children,
14863         it is for their parents!
14864         (mswindows_edit_field_instantiate): Ditto.
14865         (mswindows_progress_gauge_instantiate): Ditto.
14866         (mswindows_tree_view_instantiate): Ditto.
14867         (mswindows_tab_control_instantiate): Ditto.
14868         (mswindows_scrollbar_instantiate): Ditto.
14869         (mswindows_combo_box_instantiate): Ditto.
14870         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
14871         style to the "clip" window.
14872         (mswindows_button_instantiate): Removed compilation warning by
14873         equally typing terms of the ?: operator.
14874
14875 2000-01-12  Didier Verna  <didier@xemacs.org>
14876
14877         * redisplay.c (generate_fstring_runes): new parameter holding the
14878         last modeline-format extent.
14879         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
14880         extent, fill the glyph block with it.
14881         (generate_fstring_runes): handle these parameters.
14882         (generate_formatted_string_db): ditto.
14883
14884         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
14885         glyphs'extents in the modeline.
14886
14887 1999-01-11  Mike Woolley  <mike@bulsara.com>
14888
14889         * ntheap.c: Reduced the reserved heap space from 1Gb down to
14890         256Mb, as a workaround for the non-starting problem many people
14891         have experienced.
14892
14893 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14894
14895         * console-tty.c (Fset_console_tty_output_coding_system):
14896         Force redrawing tty frame.
14897
14898 2000-01-10  Didier Verna  <didier@xemacs.org>
14899
14900         * redisplay.c (generate_fstring_runes): fix size computation bug.
14901
14902 2000-01-09  William M. Perry <wmperry@aventail.com>
14903
14904         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
14905
14906 2000-01-09  Andy Piper  <andy@xemacs.org>
14907
14908         * glyphs-msw.c: index -> i to avoid shadows.
14909         (xbm_create_bitmap_from_data): make static.
14910         (check_valid_string_or_int): deleted.
14911         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
14912
14913         * glyphs-x.c (x_update_subwindow): remove unused args.
14914
14915         * glyphs.c (glyph_image_instance): return the thing. Don't set the
14916         back pointer - this is done in allocate_image_instance.
14917         (query_string_font): return Qnil to make the compiler happy.
14918         (unmap_subwindow): set to ~0 to make the compiler happy.
14919         (glyph_query_geometry): comment out until used.
14920         (glyph_layout): ditto.
14921
14922 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14923
14924         * insdel.c (signal_after_change): Remove extraneous unbind_to().