update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
4         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
5
6 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
9         (Qjis_x0208): Likewise.
10         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
11         XCHARSET_FINAL(charset).
12         (charset_code_point): Modify condition for final-byte based
13         builtin-chars.
14         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
15         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
16         in UTF-2000; specify `=jis-x0208' as the mother of
17         `japanese-jisx0208-1978', `japanese-jisx0208' and
18         `japanese-jisx0208-1990' in UTF-2000.
19
20 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
21
22         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
23
24 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * text-coding.c (decode_coding_utf16): Support UTF-16.
27         (char_encode_utf16): Fixed.
28
29 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * text-coding.c (Qutf16): New variable in MULE.
32         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
33         (Fcoding_system_type): Add `utf-16' in MULE.
34         (struct detection_state): Add a structure for utf16 in MULE.
35         (detect_coding_type): Setup st->utf16.mask in MULE.
36         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
37         MULE.
38         (reset_encoding_stream): Use `char_encode_utf16' and
39         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
40         (detect_coding_utf16): New function [incomplete].
41         (decode_coding_utf16): New function [support only UCS-2].
42         (char_encode_utf16): New function.
43         (char_finish_utf16): New function.
44         (syms_of_file_coding): Add new symbol `utf-16'; setup
45         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
46
47         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
48         UTF-2000.
49         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
50         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
51
52 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
53
54         * chartab.c (put_char_table): When a charset is specified as a
55         range in UTF-2000, don't support builtin characters.
56
57 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
58
59         * mule-charset.c (decode_defined_char): Don't refer external
60         database if Qunbound or Qnil are found.
61         (Fsave_charset_mapping_table): Don't define it if
62         HAVE_CHISE_CLIENT is not defined.
63         (Freset_charset_mapping_table): New function.
64         (load_char_decoding_entry_maybe): Store Qnil if a character is not
65         found in external database.
66         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
67         if HAVE_CHISE_CLIENT is not defined; add new builtin function
68         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
69
70 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
71
72         * text-coding.c (decode_coding_utf8): Check CCS is specified or
73         not.
74
75 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
76
77         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
78         Q_lowercase, Q_uppercase in UTF-2000.
79
80         * chartab.c (get_char_table): Add special code for the standard
81         case table to use character attribute `->downcase' and
82         `->uppercase' for case operations in UTF-2000.
83
84         * casetab.c (Qflippedcase): New variable in UTF-2000.
85         (Q_lowercase): Likewise.
86         (Q_uppercase): Likewise.
87         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
88         and `->uppercase' in UTF-2000.
89         (complex_vars_of_casetab): Assign attribute name `downcase' to
90         downcase and CANON table of Vstandard_case_table in UTF-2000;
91         assign attribute name `flippedcase' to upcase and EQV table of
92         Vstandard_case_table in UTF-2000.
93
94 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
95
96         * text-coding.c (decode_add_er_char): Support isolated-chars.
97         (char_encode_as_entity_reference): Likewise.
98
99 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
100
101         * emacs.c (Vutf_2000_lisp_directory): New variable.
102         (Vconfigure_utf_2000_lisp_directory): Likewise.
103         (complex_vars_of_emacs): Add new variable
104         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
105
106 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
107
108         * char-ucs.h (DECODE_CHAR): Delete special code for
109         `chinese-big5-1' and `chinese-big5-2'.
110
111         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
112         (Qbig5_2): Likewise.
113         (decode_defined_char): Support CONVERSION_BIG5_1 and
114         CONVERSION_BIG5_2.
115         (decode_builtin_char): Likewise.
116         (charset_code_point): Likewise.
117         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
118         'conversion in UTF-2000.
119         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
120         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
121         `chinese-big5-2' as children of `chinese-big5'.
122
123         * char-ucs.h (CONVERSION_BIG5_1): New macro.
124         (CONVERSION_BIG5_2): New macro.
125
126 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
127
128         * text-coding.c (char_encode_big5): Support entity-reference.
129
130 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
131
132         * text-coding.c (char_encode_as_entity_reference): New function.
133         (char_encode_utf8): Use `char_encode_as_entity_reference'.
134
135 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
136
137         * text-coding.c (decode_coding_big5): Support entity-reference
138         decoding feature.
139
140 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
141
142         * text-coding.c (allocate_coding_system): Initialize initial
143         charsets for CODESYS_UTF8.
144         (Fmake_coding_system): Accept charset-g0, charset-g1 and
145         charset-g2 for CODESYS_UTF8.
146         (decode_coding_utf8): Use charset-g0.
147         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
148         to force variants to map to UCS.
149
150 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
151
152         * text-coding.c (Qutf_8_mcs): New variable.
153         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
154         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
155         instead of `utf-8' in UTF-2000.
156
157 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
158
159         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
160         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
161         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
162         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
163         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
164         CONVERSION_96x96x96x96 are introduced.
165         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
166         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
167         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
168
169         * char-ucs.h (CONVERSION_94): New macro.
170         (CONVERSION_96): New macro.
171         (CONVERSION_94x94): New macro.
172         (CONVERSION_96x96): New macro.
173         (CONVERSION_94x94x94): New macro.
174         (CONVERSION_96x96x96): New macro.
175         (CONVERSION_94x94x94x60): New macro.
176         (CONVERSION_94x94x94x94): New macro.
177         (CONVERSION_96x96x96x96): New macro.
178
179 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
180
181         * chartab.c (Vcharacter_variant_table): Deleted.
182         (Fchar_variants): Use character-attribute `->ucs-variants' instead
183         of `Vcharacter_variant_table'.
184         (Fput_char_attribute): Likewise.
185         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
186         (complex_vars_of_chartab): Likewise.
187
188 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
189
190         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
191
192         * fns.c (Qideographic_structure): New variable.
193         (Qkeyword_char): New variable.
194         (ids_format_unit): New function.
195         (Fideographic_structure_to_ids): New function.
196         (syms_of_fns): Add new symbols `ideographic-structure' and
197         `:char'; add new builtin function `ideographic-structure-to-ids'.
198
199         * data.c (Fchar_ref_p): New function.
200         (syms_of_data): Add new builtin function `char-ref-p'.
201
202         * chartab.h: Add an EXFUN for `Ffind_char'.
203
204 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * text-coding.c (Vcharacter_composition_table): Deleted.
207         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
208         in every UTF-2000.
209
210         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
211         UTF-2000.
212         (Vcharacter_composition_table): Deleted.
213         (Fget_composite_char): Use the implementation for external-DB
214         support in every UTF-2000.
215         (Fput_char_attribute): Likewise.
216         (char_attribute_system_db_file): Don't define if external-DB
217         feature is not available.
218         (Fsave_char_attribute_table): Likewise.
219         (Fmount_char_attribute_table): Likewise.
220         (Fclose_char_attribute_table): Likewise.
221         (Freset_char_attribute_table): Likewise.
222         (Fload_char_attribute_table): Likewise.
223         (syms_of_chartab): Don't define `save-char-attribute-table',
224         `mount-char-attribute-table', `reset-char-attribute-table',
225         `close-char-attribute-table' and `load-char-attribute-table' if
226         external-DB feature is not available.
227         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
228
229 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
230
231         * text-coding.c (Qcomposition): Add extern if external-DB feature
232         is supported.
233         (Vcharacter_composition_table): Don't add extern if external-DB
234         feature is supported.
235         (COMPOSE_ADD_CHAR): Modify for new data-representation of
236         character composition rule if external-DB feature is supported.
237
238         * chartab.c (Vcharacter_composition_table): Don't define if
239         external-DB feature is supported.
240         (Qcomposition): New variable.
241         (Fget_composite_char): New implementation for external-DB support.
242         (Fput_char_attribute): Use `composition' property of each
243         character instead of `Vcharacter_composition_table' to store
244         character-composition rules if external-DB feature is supported.
245         (syms_of_chartab): Add new symbol `composition'.
246         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
247         external-DB feature is supported.
248
249 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
250
251         * chartab.c (Vchar_db_stingy_mode): New variable.
252         (load_char_attribute_maybe): Close database if
253         Vchar_db_stingy_mode is not NIL.
254         (Fload_char_attribute_table_map_function): Use
255         `get_char_id_table_0' instead of `get_char_id_table'.
256         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
257
258         * chartab.h (get_char_id_table_0): New inline function.
259         (get_char_id_table): Use `get_char_id_table_0'.
260
261 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
262
263         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
264         and `COMPOSE_ADD_CHAR'.
265         (decode_coding_iso2022): Use `decode_flush_er_chars'.
266
267 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
268
269         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
270         instead of `DECODE_ADD_UCS_CHAR'.
271         (COMPOSE_ADD_CHAR): Likewise.
272
273 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
274
275         * text-coding.c (decode_flush_er_chars): New inline function.
276         (decode_add_er_char): New function.
277         (decode_coding_utf8): Use `decode_flush_er_chars' and
278         `decode_add_er_char'.
279
280 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
281
282         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
283         done before `decode_output_utf8_partial_char'.
284
285         * mule-charset.c (complex_vars_of_mule_charset): Specify
286         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
287         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
288
289 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * mule-charset.c (decode_defined_char): New function; search
292         mother.
293         (decode_builtin_char): Don't search mother if
294         XCHARSET_MAX_CODE(charset) == 0.
295         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
296         == 0 even if code >= XCHARSET_MAX_CODE(charset).
297         (Fdecode_char): Use `decode_defined_char' instead of
298         `DECODE_DEFINED_CHAR'.
299         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
300         mother of `Vcharset_ucs_jis'.
301
302         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
303         instead of `DECODE_DEFINED_CHAR'.
304
305         * char-ucs.h (decode_defined_char): Renamed from
306         `DECODE_DEFINED_CHAR'; changed to normal function.
307         (DECODE_CHAR): Use `decode_defined_char' instead of
308         `DECODE_DEFINED_CHAR'.
309
310         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
311
312 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
313
314         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
315
316         * text-coding.c (Vcoded_charset_entity_reference_alist): New
317         variable.
318         (Quse_entity_reference): New variable.
319         (Qd): New variable.
320         (Qx): New variable.
321         (QX): New variable.
322         (coding_system_description): Add description for
323         `ccs_priority_list'.
324         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
325         (allocate_coding_system): Initialize `ccs_priority_list' in
326         UTF-2000.
327         (Fmake_coding_system): Add description about
328         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
329         (codesys).
330         (Fcoding_system_property): Accept `disable-composition' and
331         `use-entity-reference' in UTF-2000.
332         (struct decoding_stream): Add new member `er_counter' and `er_buf'
333         in UTF-2000.
334         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
335         (decode_coding_utf8): Decode entity-reference if
336         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
337         (char_encode_utf8): Encode non-Unicode characters as
338         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
339         (str->codesys).
340         (syms_of_file_coding): Add new symbols `use-entity-reference',
341         `d', `x', `X'.
342         (vars_of_file_coding): Add new variable
343         `coded-charset-entity-reference-alist'.
344         (complex_vars_of_file_coding): Declare `disable-composition' and
345         `use-entity-reference' to be coding-system-properties in UTF-2000.
346
347         * file-coding.h (struct Lisp_Coding_System): Add new member
348         `use_entity_reference' and `ccs_priority_list'.
349         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
350         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
351         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
352
353 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
354
355         * chartab.c (save_uint8_byte_table): Don't clear the table.
356         (save_uint16_byte_table): Likewise.
357         (save_byte_table): Likewise.
358         (Fmount_char_attribute_table): New function.
359         (syms_of_chartab): Add new builtin function
360         `mount-char-attribute-table'.
361
362 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
363
364         * mule-charset.c (Fsave_charset_mapping_table): Open database as
365         "w+" mode.
366         (load_char_decoding_entry_maybe): Open database as read-only mode.
367
368         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
369         open database as "w+" mode.
370         (load_char_attribute_maybe): Open database as read-only mode.
371         (Fload_char_attribute_table): Likewise.
372
373 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
374
375         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
376         (char_table_description): Delete member `db_file'.
377         (Fmake_char_table): Don't refer `ct->db_file'.
378         (Fcopy_char_table): Likewise.
379         (Fsave_char_attribute_table): Likewise.
380         (Fclose_char_attribute_table): Likewise.
381         (Freset_char_attribute_table): Likewise.
382         (load_char_attribute_maybe): Likewise.
383         (Fload_char_attribute_table): Likewise.
384
385         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
386
387 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
388
389         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
390         (Fsave_char_attribute_table): Don't check `ct->db_file' if
391         `ct->db' is living.
392         (load_char_attribute_maybe): Likewise.
393         (Fload_char_attribute_table): Likewise.
394
395 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * chartab.c (Fclose_char_attribute_table): Set Qnil on
398         `ct->db_file' unconditionally.
399
400 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
401
402         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
403         UTF-2000.
404         (char_table_description): Add description for `db_file' and `db'
405         in UTF-2000.
406         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
407         UTF-2000.
408         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
409         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
410         (Fclose_char_attribute_table): New function.
411         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
412         (load_char_attribute_maybe): Change interface; use `cit->db_file'
413         and `cit->db'.
414         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
415         (syms_of_chartab): Add new builtin function
416         `Fclose_char_attribute_table'.
417
418 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
419
420         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
421         `db' in UTF-2000.
422         (load_char_attribute_maybe): Change interface.
423         (get_char_id_table): Modify for `load_char_attribute_maybe'.
424
425 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
426
427         * database.h: Add an EXFUN for `Fdatabase_live_p'.
428
429 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
430
431         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
432         instead of `DECODE_CHAR' for mother; don't use special code for
433         chinese-big5 to use code space of chinese-big5-1 and
434         chinese-big5-2.
435         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
436         `MAX_CHAR_BIG5_CDP' for chinese-big5.
437
438         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
439         (MAX_CHAR_BIG5_CDP): Revival.
440
441 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
444         the XLFD registry-encoding name of `chinese-big5'.
445
446 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
447
448         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
449         (Qchinese_big5_cdp): Deleted.
450         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
451         (complex_vars_of_mule_charset): Delete coded-charset
452         `chinese-big5-cdp'.
453
454         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
455         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
456         `CHARSET_ID_OFFSET - n' for private CCS.
457         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
458         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
459         of `MIN_LEADING_BYTE'.
460         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
461         `(CHARSET_ID_OFFSET - 97)'.
462         (MIN_CHAR_BIG5_CDP): Deleted.
463         (MAX_CHAR_BIG5_CDP): Deleted.
464
465 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
466
467         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
468
469 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
470
471         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
472         (vars_of_mule): Add new variable `utf-2000-version' [moved from
473         chartab.c].
474
475         * chartab.c (Vutf_2000_version): Moved to mule.c.
476         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
477
478 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
479
480         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
481         when HAVE_CHISE_CLIENT is not defined.
482
483         * mule.c (vars_of_mule): Provide feature `chise' when
484         HAVE_CHISE_CLIENT is defined.
485
486 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
487
488         * config.h.in (UTF2000): Add comment.
489         (HAVE_CHISE_CLIENT): New macro.
490
491 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
492
493         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
494         CONSP.
495         (Fput_char_attribute): Likewise.
496         (char_attribute_system_db_file): Encode file-name of attribute.
497         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
498         the initial value.
499
500 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
501
502         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
503         (Fsave_charset_mapping_table): Use
504         `char_attribute_system_db_file'.
505         (load_char_decoding_entry_maybe): Likewise.
506
507         * chartab.h (Qsystem_char_id): New external variable.
508         (char_attribute_system_db_file): New prototype.
509
510         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
511         (char_attribute_system_db_file): New function.
512         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
513         (Freset_char_attribute_table): Likewise.
514         (load_char_attribute_maybe): Likewise.
515         (Fload_char_attribute_table): Likewise.
516         (syms_of_chartab): Add new symbol `system-char-id'.
517
518 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
519
520         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
521         `XCHARSET_GRAPHIC(ccs)'.
522
523 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
524
525         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
526
527 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
528
529         * chartab.c (Q_ucs_variants): New variable.
530         (syms_of_chartab): Add new symbol `->ucs-variants'.
531         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
532         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
533         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
534
535         * mule-charset.c (load_char_decoding_entry_maybe): New function.
536
537         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
538         `HAVE_DATABASE' is defined.
539         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
540         `HAVE_DATABASE' is defined.
541
542 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
543
544         * chartab.c (Fsave_char_attribute_table): Don't clear internal
545         attribute-table.
546         (Freset_char_attribute_table): New function.
547         (syms_of_chartab): Add new builtin function
548         `reset-char-attribute-table'.
549
550 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
551
552         * chartab.c (load_char_attribute_maybe): Don't make directories.
553
554 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
555
556         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
557
558         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
559         for decoding-table.
560
561 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
562
563         * mule-charset.c (Fsave_charset_mapping_table): Use
564         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
565
566         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
567         instead of `XCHARSET_CHARS'.
568
569 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
570
571         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
572         (XCHARSET_BYTE_SIZE): Likewise.
573
574         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
575         mule-charset.c].
576         (XCHARSET_BYTE_SIZE): Likewise.
577
578 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
579
580         * chartab.c (Fput_char_attribute): Use exec-directory instead of
581         data-directory to store database.
582         (Fsave_char_attribute_table): Likewise.
583         (load_char_attribute_maybe): Likewise.
584         (Fload_char_attribute_table): Likewise.
585
586 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
587
588         * mule-charset.c (Fsave_charset_mapping_table): New function.
589         (syms_of_mule_charset): Add new builtin function
590         `save-charset-mapping-table'.
591
592 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * char-ucs.h (decoding_table_check_elements): Delete prototype.
595         (get_ccs_octet_table): New inline function.
596         (put_ccs_octet_table): Likewise.
597         (decoding_table_put_char): Use `get_ccs_octet_table' and
598         `put_ccs_octet_table'.
599         (decoding_table_remove_char): Use `decoding_table_put_char'.
600         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
601
602         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
603         into encoding_table.
604         (make_charset): Use Qunbound instead Qnil as initial value of
605         decoding_table.
606
607 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
608
609         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
610         element is Qunloaded.
611         (map_over_uint16_byte_table): Likewise.
612         (map_over_byte_table): Likewise.
613         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
614         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
615         database support, load encoding-table of the specified
616         coded-charset if it is not loaded yet.
617         (save_uint8_byte_table): New function of UTF-2000 with external
618         database support.
619         (save_uint16_byte_table): Likewise.
620         (save_byte_table): Likewise.
621         (Fput_char_attribute): Don't store value into external database
622         even if the external database feature is supported in UTF-2000;
623         set `attribute' as name of char-table if the external database
624         feature is supported.
625         (Fsave_char_attribute_table): New function in UTF-2000.
626         (syms_of_chartab): Add new builtin function
627         `save-char-attribute-table' in UTF-2000.
628
629 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
630
631         * chartab.c (char_attribute_table_to_put): New variable in
632         UTF-2000.
633         (Qput_char_table_map_function): Likewise.
634         (value_to_put): Likewise.
635         (Fput_char_table_map_function): New function in UTF-2000.
636         (put_char_table): Use `Fmap_char_attribute' for
637         CHARTAB_RANGE_CHARSET in UTF-2000.
638         (Fput_char_attribute): Store symbol instead of string in
639         `XCHAR_TABLE_NAME (table)'.
640         (load_char_attribute_maybe): Likewise.
641         (syms_of_chartab): Add new symbol/function
642         `put-char-table-map-function'.
643
644 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
645
646         * database.h: Add new EXFUN for `Fmap_database'.
647
648         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
649         (syms_of_database): Likewise.
650
651         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
652         UTF-2000.
653         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
654         (XCHAR_TABLE_UNLOADED): Likewise.
655
656         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
657         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
658         HAVE_DATABASE is defined.
659         (char_attribute_table_to_load): New variable of UTF-2000 with
660         external database support.
661         (Qload_char_attribute_table_map_function): Likewise.
662         (Fload_char_attribute_table_map_function): New function of
663         UTF-2000 with external database support.
664         (Fload_char_attribute_table): New function of UTF-2000.
665         (Fmap_char_attribute): Call Fload_char_attribute_table if
666         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
667         (syms_of_chartab): Add new symbol and function
668         `load-char-attribute-table-map-function' in UTF-2000 with external
669         database support; add new function `load-char-attribute-table' in
670         UTF-2000.
671
672 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
673
674         * chartab.h (load_char_attribute_maybe): New prototype for
675         UTF-2000 with DATABASE support.
676         (get_char_id_table): Use `load_char_attribute_maybe' if
677         HAVE_DATABASE is defined.
678
679         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
680         with DATABASE support.
681
682 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * chartab.c (Fput_char_attribute): Use S-expression as key of
685         external database.
686
687         * chartab.h (get_char_id_table): Use S-expression as key of
688         external database.
689
690 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
691
692         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
693         if an element is not loaded, load the corresponding attributes
694         from an external database.
695         (map_over_uint16_byte_table): Likewise.
696         (map_over_byte_table): Likewise.
697         (map_char_table): Modify for `map_over_uint8_byte_table',
698         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
699         element is not loaded, load the corresponding attributes from an
700         external database.
701         (Fput_char_attribute): Change initial values to Qunloaded.
702
703         * chartab.h (get_char_id_table): If a character attribute is not
704         loaded and the attribute value is not found in an external
705         database, store Qunbound as the attribute value.
706
707 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
708
709         * chartab.c (BT_UINT8_unloaded): New macro.
710         (UINT8_VALUE_P): Accept Qunloaded.
711         (UINT8_ENCODE): Likewise.
712         (UINT8_DECODE): Likewise.
713         (BT_UINT16_unloaded): New macro.
714         (UINT16_VALUE_P): Accept Qunloaded.
715         (UINT16_ENCODE): Likewise.
716         (UINT16_DECODE): Likewise.
717         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
718         BT_UINT16_unloaded.
719         (mark_char_table): Mark `ct->name' in UTF-2000.
720         (char_table_description): Add `name' in UTF-2000.
721         (Fmake_char_table): Initialize `ct->name'.
722         (Fcopy_char_table): Copy `ct->name'.
723         (Fput_char_attribute): Store value into an external database if
724         HAVE_DATABASE is defined.
725
726         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
727         UTF-2000.
728         (CHAR_TABLE_NAME): New macro in UTF-2000.
729         (XCHAR_TABLE_NAME): New macro in UTF-2000.
730         (get_char_id_table): Try to read an external database if Qunloaded
731         is stored in a table.
732
733         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
734         Qunloaded.
735
736 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
737
738         * database.h: Add EXFUN definitions for Fopen_database,
739         Fput_database, Fget_database and Fclose_database.
740
741         * data.c (Qunloaded): New variable in UTF-2000.
742
743         * lisp.h (Qunloaded): New variable in UTF-2000.
744
745 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
746
747         * mule-charset.c (put_char_ccs_code_point): Modify for
748         `decoding_table_remove_char' and `decoding_table_put_char'.
749         (remove_char_ccs): Modify for `decoding_table_remove_char'.
750
751         * char-ucs.h (decoding_table_remove_char): Change arguments to
752         hide decoding_table vector.
753         (decoding_table_put_char): Likewise.
754
755 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * mule-charset.c (decoding_table_remove_char): Moved to
758         char-ucs.h.
759         (decoding_table_put_char): Likewise.
760
761         * char-ucs.h (decoding_table_check_elements): New prototype [moved
762         from mule-charset.c].
763         (decoding_table_remove_char): New inline function [moved from
764         mule-charset.c].
765         (decoding_table_put_char): Likewise.
766
767 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
768
769         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
770         extension.
771
772 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
773
774         * mule-charset.c (decode_builtin_char): Support mother charsets.
775
776 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
777
778         * mule-charset.c (Q94x94x60): New variable.
779         (charset_code_point): Support conversion `94x94x60'.
780         (Fmake_charset): Likewise.
781         (syms_of_mule_charset): Add new symbol `94x94x60'.
782
783         * char-ucs.h (CONVERSION_94x94x60): New macro.
784
785 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
786
787         * mule-charset.c (charset_code_point): Unify code about
788         `code-offset'.
789
790 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
791
792         * mule-charset.c (charset_code_point): Merge code about builtin
793         characters into code about mother charsets; don't use
794         `range_charset_code_point'.
795         (range_charset_code_point): Deleted.
796
797 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * mule-charset.c (Qcode_offset): New variable.
800         (Fmake_charset): Use `XUINT' to get value of `min-code' and
801         `max-code'; accept new property `code-offset'.
802         (syms_of_mule_charset): Add new symbol `code-offset'.
803
804 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
805
806         * mule-charset.c (range_charset_code_point): Fixed.
807
808 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
809
810         * mule-charset.c (decode_builtin_char): Change semantics of
811         code-offset of coded-charset.
812         (charset_code_point): Likewise.
813         (range_charset_code_point): Likewise.
814         (complex_vars_of_mule_charset): Modify for the change.
815
816 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
817
818         * mule-charset.c (Fencode_char): Reverse arguments.
819
820         * mule-charset.c (charset_code_point): Fixed.
821
822 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
823
824         * mule-charset.c (Vcharset_mojikyo): Deleted.
825         (Vcharset_mojikyo_2022_1): Deleted.
826         (Vcharset_mojikyo_pj_{1..21}): Deleted.
827         (Qmin_code): New variable in UTF-2000.
828         (Qmax_code): Likewise.
829         (Qmother): Likewise.
830         (Qconversion): Likewise.
831         (Q94x60): Likewise.
832         (Qmojikyo): Deleted.
833         (Qmojikyo_2022_1): Deleted.
834         (Qmojikyo_pj_{1..22}): Deleted.
835         (mark_charset): Mark `cs->mother'.
836         (charset_description): Add description for `mother'.
837         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
838         new arguments `mother' and `conversion'; use
839         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
840         (charset_code_point): Moved from char-ucs.h; support `mother'
841         charset feature.
842         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
843         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
844         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
845         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
846         allow 2 as the value of `graphic' in UTF-2000; add new properties
847         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
848         require `final' in UTF-2000; modify for `make_charset'.
849         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
850         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
851         (Fcharset_property): Support `mother', `min-code' and `max-code'.
852         (Fencode_char): New function.
853         (syms_of_mule_charset): Add new builtin function `encode-char' in
854         UTF-2000; add new symbols `min-code', `max-code', `mother',
855         `conversion' and `94x60'; delete symbols `mojikyo',
856         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
857         (complex_vars_of_mule_charset): Modify for `make_charset' change;
858         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
859         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
860
861         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
862         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
863
864         * char-ucs.h (Vcharset_mojikyo): Deleted.
865         (Vcharset_mojikyo_2022_1): Deleted.
866         (LEADING_BYTE_MOJIKYO): Deleted.
867         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
868         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
869         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
870         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
871         add new member `mother'; add new member `conversion'.
872         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
873         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
874         (CHARSET_MOTHER): New macro.
875         (CHARSET_CONVERSION): New macro.
876         (CONVERSION_IDENTICAL): New macro.
877         (CONVERSION_94x60): New macro.
878         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
879         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
880         (XCHARSET_MOTHER): New macro.
881         (XCHARSET_CONVERSION): New macro.
882         (MIN_CHAR_MOJIKYO): Deleted.
883         (MAX_CHAR_MOJIKYO): Deleted.
884         (DECODE_MOJIKYO_2022): Deleted.
885         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
886         (charset_code_point): Changed to non-inline function.
887         (encode_char_1): Use `charset_code_point'.
888         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
889
890 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
891
892         * lread.c (read_compiled_function): Fix prototype.
893         (read_vector): Likewise.
894
895 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * lrecord.h (struct lrecord_header): Delete `older'.
898         (set_lheader_implementation): Delete code for `older'.
899         (set_lheader_older_implementation): Deleted.
900         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
901         (OLDER_RECORD_P): Deleted.
902         (OLDER_RECORD_HEADER_P): Deleted.
903         (alloc_older_lcrecord): Deleted.
904         (alloc_older_lcrecord_type): Deleted.
905
906         * alloc.c (all_older_lcrecords): Deleted.
907         (alloc_older_lcrecord): Deleted.
908         (disksave_object_finalization_1): Delete code for older objects.
909         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
910         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
911
912 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
913
914         * mule-charset.c (decoding_table_put_char): Use `make_vector'
915         instead of `make_older_vector'.
916         (put_char_ccs_code_point): Likewise.
917         (mark_charset): Mark `cs->decoding_table'.
918         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
919
920         * lisp.h (make_older_vector): Deleted.
921         (make_vector_newer): Deleted.
922
923         * config.h.in (HAVE_GGC): Deleted.
924
925         * alloc.c (make_older_vector): Deleted.
926         (make_vector_newer_1): Deleted.
927         (make_vector_newer): Deleted.
928
929 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
932         (Qideograph_daikanwa_2): New variable.
933         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
934         (complex_vars_of_mule_charset): Add new coded-charset
935         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
936         `LEADING_BYTE_DAIKANWA'.
937
938         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
939         (LEADING_BYTE_DAIKANWA_1): New macro.
940         (LEADING_BYTE_DAIKANWA_2): New macro.
941         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
942
943 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
944
945         * mule-charset.c (complex_vars_of_mule_charset): Change
946         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
947         the second revised version.
948
949 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * mule-charset.c (Vcharset_ucs_smp): New variable.
952         (Vcharset_ucs_sip): New variable.
953         (Qucs_smp): New variable.
954         (Qucs_sip): New variable.
955         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
956         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
957         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
958         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
959         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
960         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
961
962         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
963         (LEADING_BYTE_UCS_SIP): New macro.
964         (MIN_CHAR_SMP): New macro.
965         (MAX_CHAR_SMP): New macro.
966         (MIN_CHAR_SIP): New macro.
967         (MAX_CHAR_SIP): New macro.
968
969 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
970
971         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
972         utf-2000.
973
974 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
975
976         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
977         value; don't store value into `encoding_table' of `Lisp_Charset'.
978         (mark_charset): `encoding_table' was deleted.
979         (charset_description): Likewise.
980         (make_charset): Likewise.
981         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
982         `put_char_ccs_code_point'.
983
984         * chartab.h (Fput_char_attribute): New EXFUN.
985
986         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
987         is unified with normal symbol space.
988         (Fget_char_attribute): Likewise.
989         (Fput_char_attribute): Likewise; behavior of
990         `put_char_ccs_code_point' is changed.
991
992         * char-ucs.h: Include "elhash.h".
993         (Vchar_attribute_hash_table): New external variable.
994         (struct Lisp_Charset): Delete `encoding_table'.
995         (CHARSET_ENCODING_TABLE): New implementation; refer
996         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
997         `Lisp_Charset'.
998
999 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1000
1001         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1002         (cs) == 0.
1003
1004 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1005
1006         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1007         `chinese-big5'.
1008
1009 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1010
1011         * chartab.c (uint8_byte_table_description): New constant.
1012         (uint8-byte-table): Use `uint8_byte_table_description'.
1013         (uint16_byte_table_description): New constant.
1014         (uint16-byte-table): Use `uint16_byte_table_description'.
1015
1016 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1017
1018         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1019         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1020
1021 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1022
1023         * mule-charset.c (Vcharset_ucs_ks): New variable.
1024         (Qucs_ks): New variable.
1025         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1026         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1027
1028         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1029
1030 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1031
1032         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1033         (Fdecode_char): Likewise.
1034
1035         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1036         chartab.h.
1037         (Fdefine_char): Modify for Fdecode_char.
1038         (Ffind_char): Likewise.
1039
1040         * mule-charset.c (Fdecode_char): Add new optional argument
1041         `defined-only'.
1042         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1043
1044 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1045
1046         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1047         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1048         (allocate_coding_system): Initialize initial-charsets of
1049         CODESYS_BIG5 in XEmacs UTF-2000.
1050         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1051         CODESYS_BIG5 in XEmacs UTF-2000.
1052         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1053         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1054
1055         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1056         variables.
1057         (Qideograph_hanziku_{1 .. 12}): Likewise.
1058         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1059         .. 12}'.
1060         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1061         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1062         `ideograph-hanziku-{1 .. 12}'.
1063
1064         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1065         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1066         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1067         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1068         (DECODE_DEFINED_CHAR): New inline function.
1069         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1070
1071 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1072
1073         * mule-charset.c (Vcharset_china3_jef): Renamed from
1074         `Vcharset_japanese_jef_china3'.
1075         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1076         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1077         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1078         (syms_of_mule_charset): Rename `china3-jef' from
1079         `japanese-jef-china3'.
1080         (complex_vars_of_mule_charset): Likewise; rename
1081         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1082
1083         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1084         `LEADING_BYTE_JEF_CHINA3'.
1085         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1086         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1087
1088 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1089
1090         * mule-charset.c (encode_builtin_char_1): Comment out special code
1091         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1092
1093         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1094         (MAX_CHAR_MOJIKYO_0): Comment out.
1095         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1096         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1097         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1098         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1099
1100 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1101
1102         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1103         (Qideograph_cbeta): New variable.
1104         (encode_builtin_char_1): Comment out special code for
1105         coded-charset `mojikyo' and `japanese-jef-china3'.
1106         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1107         (complex_vars_of_mule_charset): Add new coded-charset
1108         `ideograph-cbeta'.
1109
1110         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1111         (MIN_CHAR_CBETA): New macro.
1112         (MAX_CHAR_CBETA): New macro.
1113
1114 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1115
1116         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1117         (LEADING_BYTE_JEF_CHINA3): New macro.
1118         (MIN_CHAR_JEF_CHINA3): New macro.
1119         (MAX_CHAR_JEF_CHINA3): Likewise.
1120         (DECODE_CHAR): Fixed.
1121
1122 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1123
1124         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1125         (Qjapanese_jef_china3): New variable.
1126         (encode_builtin_char_1): Support `japanese-jef-china3'.
1127         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1128         (complex_vars_of_mule_charset): Add new coded-charset
1129         `japanese-jef-china3'.
1130
1131 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1132
1133         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1134         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1135         94^4, 96^3, 96^4, 128^n and 256^n set.
1136         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1137         (map_char_table): Likewise.
1138
1139 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1140
1141         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1142         UTF-2000.
1143
1144 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1145
1146         * chartab.h (get_char_id_table): New inline function.
1147
1148         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1149         function.
1150
1151 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1152
1153         * chartab.h (decode_char_table_range): New prototype in XEmacs
1154         UTF-2000.
1155         (put_char_id_table): New inline function in XEmacs UTF-2000.
1156
1157         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1158         function.
1159         (decode_char_table_range): Delete static declaration in XEmacs
1160         UTF-2000.
1161
1162 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1163
1164         * chartab.c (put_char_id_table): Use `put_char_table'.
1165
1166 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1167
1168         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1169         (map_over_uint16_byte_table): Likewise.
1170         (map_over_byte_table): Likewise.
1171         (map_char_table): Modify for `map_over_uint8_byte_table',
1172         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1173         UTF-2000.
1174
1175 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1176
1177         * chartab.c (struct map_char_table_for_charset_arg): New
1178         structure.
1179         (map_char_table_for_charset_fun): New function.
1180         (map_char_table): Use `map_char_table' for encoding_table of
1181         `range->charset'.
1182
1183 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1184
1185         * chartab.c (map_char_table): Check a character is found in
1186         range->charset instead of non default value is defined in
1187         char-table when range is CHARTAB_RANGE_ROW.
1188
1189 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1190
1191         * chartab.c (map_char_id_table): Deleted.
1192         (Fmap_char_attribute): Use `map_char_table' instead of
1193         `map_char_id_table'.
1194
1195 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1198         UTF-2000.
1199         (update_syntax_table): Deleted in XEmacs UTF-2000.
1200
1201         * syntax.c (find_defun_start): Use `syntax_table' instead of
1202         `mirror_syntax_table' in XEmacs UTF-2000.
1203         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1204         UTF-2000.
1205         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1206         XEmacs UTF-2000.
1207         (Fmatching_paren): Likewise.
1208         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1209         in XEmacs UTF-2000.
1210         (find_start_of_comment): Likewise.
1211         (find_end_of_comment): Likewise.
1212         (Fforward_comment): Likewise.
1213         (scan_lists): Likewise.
1214         (char_quoted): Likewise.
1215         (Fbackward_prefix_chars): Likewise.
1216         (scan_sexps_forward): Likewise.
1217         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1218         (update_syntax_table): Likewise.
1219
1220         * search.c (skip_chars): Use `syntax_table' instead of
1221         `mirror_syntax_table' in XEmacs UTF-2000.
1222         (wordify): Likewise.
1223         (Freplace_match): Likewise.
1224
1225         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1226         `mirror_syntax_table' in XEmacs UTF-2000.
1227         (WORDCHAR_P_UNSAFE): Likewise.
1228         (re_match_2_internal): Likewise.
1229
1230         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1231         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1232
1233         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1234         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1235
1236         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1237         XEmacs UTF-2000.
1238
1239         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1240         UTF-2000.
1241         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1242         (char_table_description): Delete `mirror_table' in XEmacs
1243         UTF-2000.
1244         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1245         UTF-2000.
1246         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1247         (Fcopy_char_table): Likewise.
1248         (put_char_table): Don't call `update_syntax_table' in XEmacs
1249         UTF-2000.
1250
1251         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1252         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1253         (casify_region_internal): Likewise.
1254
1255         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1256
1257         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1258         `mirror_syntax_table' in XEmacs UTF-2000.
1259
1260         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1261         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1262         (Fexpand_abbrev): Likewise.
1263
1264 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1265
1266         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1267
1268 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1269
1270         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1271         (map_over_uint16_byte_table): Likewise.
1272         (map_over_byte_table): Likewise.
1273         (get_char_id_table): Refer `cit->default_value'.
1274         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1275         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1276         of character-id ranges.
1277         (mark_char_table): Mark `ct->default_value'.
1278         (char_table_description): Add `default_value'.
1279         (fill_char_table): Use `default_value'.
1280         (decode_char_table_range): Decode `nil' as
1281         `CHARTAB_RANGE_DEFAULT'.
1282         (get_char_id_table): Refer `cit->default_value'.
1283         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1284         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1285         temporary hack; check value of char-table is bound or not.
1286         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1287
1288         * chartab.h (struct Lisp_Char_Table): Add new member
1289         `default_value' in XEmacs UTF-2000.
1290         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1291         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1292         UTF-2000.
1293
1294 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1295
1296         * chartab.h (Lisp_Char_ID_Table): Deleted.
1297
1298         * chartab.c (char_table_description): Fix typo.
1299         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1300         `Lisp_Char_ID_Table'.
1301
1302 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1303
1304         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1305         `CHAR_ID_TABLE_P'.
1306
1307         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1308         `CHAR_ID_TABLE_P'.
1309
1310         * chartab.h (XCHAR_ID_TABLE): Deleted.
1311         (XSETCHAR_ID_TABLE): Deleted.
1312         (CHAR_ID_TABLE_P): Deleted.
1313
1314         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1315         `CHAR_ID_TABLE_P'.
1316         (Fget_composite_char): Likewise.
1317         (put_char_table): Likewise.
1318         (add_char_attribute_alist_mapper): Fixed.
1319         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1320         `CHAR_ID_TABLE_P'.
1321         (Fget_char_attribute): Likewise.
1322         (Fget_char_attribute): Likewise.
1323         (Fmap_char_attribute): Likewise.
1324
1325         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1326         `CHAR_ID_TABLE_P'.
1327         (encode_char_1): Likewise.
1328
1329 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1330
1331         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1332         `XCHAR_ID_TABLE'.
1333
1334         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1335         instead of `XCHAR_ID_TABLE'.
1336         (remove_char_ccs): Likewise.
1337
1338         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1339         `XCHAR_ID_TABLE'.
1340         (Fget_composite_char): Likewise.
1341         (Fchar_variants): Likewise.
1342         (put_char_table): Likewise.
1343         (add_char_attribute_alist_mapper): Likewise.
1344         (Fchar_attribute_alist): Likewise.
1345         (Fget_char_attribute): Likewise.
1346         (Fput_char_attribute): Likewise.
1347         (Fmap_char_attribute): Likewise.
1348         (Fmap_char_attribute): Likewise.
1349
1350         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1351         `XCHAR_ID_TABLE'.
1352         (encode_char_1): Likewise.
1353
1354 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1355
1356         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1357         `Lisp_Char_ID_Table'.
1358         (mark_char_id_table): Deleted.
1359         (print_char_id_table): Likewise.
1360         (char_id_table_equal): Likewise.
1361         (char_id_table_hash): Likewise.
1362         (char_id_table_description): Likewise.
1363         (char_id_table): Likewise.
1364         (make_char_id_table): Use `Fmake_char_table' and
1365         `fill_char_table'.
1366         (get_char_id_table): Use `Lisp_Char_Table' instead of
1367         `Lisp_Char_ID_Table'.
1368         (put_char_id_table): Likewise.
1369         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1370         `XCHAR_ID_TABLE'.
1371         (Fremove_char_attribute): Likewise.
1372         (syms_of_chartab): Don't define type `char-id-table'.
1373
1374         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1375         (char_id_table): Likewise.
1376         (GC_CHAR_ID_TABLE_P): Likewise.
1377         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1378         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1379         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1380         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1381         (get_char_id_table): Use `Lisp_Char_Table' instead of
1382         `Lisp_Char_ID_Table'.
1383         (put_char_id_table_0): Likewise.
1384         (put_char_id_table): Likewise.
1385
1386 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1387
1388         * chartab.h: Lisp_Byte_Table related codes are moved from
1389         chartab.h.
1390
1391         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1392
1393 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1394
1395         * chartab.h: Don't include "chartab.h".
1396         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1397         (Lisp_Char_ID_Table): Likewise.
1398         (char_id_table): Likewise.
1399         (XCHAR_ID_TABLE): Likewise.
1400         (XSETCHAR_ID_TABLE): Likewise.
1401         (CHAR_ID_TABLE_P): Likewise.
1402         (GC_CHAR_ID_TABLE_P): Likewise.
1403         (get_char_id_table): Likewise.
1404
1405         * char-ucs.h: Include "chartab.h".
1406         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1407         (Lisp_Char_ID_Table): Likewise.
1408         (char_id_table): Likewise.
1409         (XCHAR_ID_TABLE): Likewise.
1410         (XSETCHAR_ID_TABLE): Likewise.
1411         (CHAR_ID_TABLE_P): Likewise.
1412         (GC_CHAR_ID_TABLE_P): Likewise.
1413         (get_char_id_table): Likewise.
1414
1415 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1416
1417         * chartab.c (copy_uint8_byte_table): New function.
1418         (copy_uint16_byte_table): New function.
1419         (copy_byte_table): New function.
1420         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1421         characters to call.
1422         (map_over_uint16_byte_table): Likewise.
1423         (map_over_byte_table): Likewise.
1424         (get_byte_table): Move prototype to chartab.h.
1425         (put_byte_table): Likewise.
1426         (put_char_id_table_0): Moved to chartab.h.
1427         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1428         (char_table_entry_equal): Likewise.
1429         (char_table_entry_hash): Likewise.
1430         (char_table_entry_description): Likewise.
1431         (char_table_entry): Likewise.
1432         (make_char_table_entry): Likewise.
1433         (copy_char_table_entry): Likewise.
1434         (get_non_ascii_char_table_value): Likewise.
1435         (map_over_charset_ascii): Likewise.
1436         (map_over_charset_control_1): Likewise.
1437         (map_over_charset_row): Likewise.
1438         (map_over_other_charset): Likewise.
1439         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1440         (print_char_table): Likewise.
1441         (char_table_equal): Likewise.
1442         (char_table_hash): Likewise.
1443         (char_table_description): Likewise.
1444         (fill_char_table): Likewise.
1445         (Fcopy_char_table): Likewise.
1446         (get_char_table): Likewise.
1447         (Fget_range_char_table): Likewise.
1448         (put_char_table): Likewise.
1449         (map_char_table): Likewise.
1450         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1451         UTF-2000.
1452
1453 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1454
1455         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1456         `Vauto_fill_chars' in XEmacs UTF-2000.
1457
1458         * chartab.h (get_byte_table): New prototype [moved from
1459         chartab.c].
1460         (put_byte_table): Likewise [moved from chartab.c].
1461         (put_char_id_table_0): New inline function [moved from chartab.c].
1462         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1463         (Lisp_Char_Table_Entry): Likewise.
1464         (char_table_entry): Likewise.
1465         (XCHAR_TABLE_ENTRY): Likewise.
1466         (XSETCHAR_TABLE_ENTRY): Likewise.
1467         (CHAR_TABLE_ENTRYP): Likewise.
1468         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1469         (NUM_ASCII_CHARS): Likewise.
1470         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1471         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1472
1473 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1474
1475         * chartab.c (get_char_id_table): Change interface.
1476         (put_char_id_table_0): New function.
1477         (put_char_id_table): Change interface; new implementation.
1478         (Fget_composite_char): Modify for interface change of
1479         `get_char_id_table'.
1480         (Fchar_variants): Likewise.
1481         (add_char_attribute_alist_mapper): Likewise.
1482         (Fchar_attribute_alist): Likewise.
1483         (Fget_char_attribute): Likewise.
1484         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1485         as same as character as the first argument like `put-char-table';
1486         modify for interface change of `put_char_id_table'.
1487         (Fremove_char_attribute): Modify for interface change of
1488         `put_char_id_table'.
1489
1490 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1491
1492         * text-coding.c: Sync up with XEmacs 21.2.41.
1493         (COMPOSE_ADD_CHAR): Modify for interface change of
1494         `get_char_id_table'.
1495
1496         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1497         change of `put_char_id_table'.
1498         (remove_char_ccs): Likewise.
1499
1500         * chartab.h (put_char_id_table): Change interface.
1501
1502         * char-ucs.h (get_char_id_table): Change interface.
1503         (charset_code_point): Modify for interface change of
1504         `get_char_id_table'.
1505         (encode_char_1): Likewise.
1506
1507 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1508
1509         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1510         argument `ccs'.
1511         (map_over_uint16_byte_table): Likewise.
1512         (map_over_byte_table): Likewise.
1513         (map_char_id_table): Add new argument `range' like
1514         `map_char_table'.
1515         (Fmap_char_attribute): Add new argument `range' like
1516         `Fmap_char_table'.
1517
1518 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1519
1520         * chartab.c (map_over_uint8_byte_table): Change interface of
1521         mapping function to use struct chartab_range instead of Emchar.
1522         (map_over_uint16_byte_table): Likewise.
1523         (map_over_byte_table): Likewise.
1524         (map_char_id_table): Likewise.
1525         (struct slow_map_char_id_table_arg): Deleted.
1526         (slow_map_char_id_table_fun): Deleted.
1527         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1528         function `slow_map_char_table_fun' instead of struct
1529         `slow_map_char_id_table_arg' and function
1530         `slow_map_char_id_table_fun'.
1531
1532 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1533
1534         * mule-charset.c: Move char-it-table related codes to chartab.c.
1535         (Vutf_2000_version): Moved to chartab.c.
1536         (Fdefine_char): Likewise.
1537         (Ffind_char): Likewise.
1538         (syms_of_mule_charset): Move types `uint8-byte-table',
1539         `uint16-byte-table', `byte-table' and `char-id-table' to
1540         chartab.c; move functions `char_attribute_list,
1541         `find_char_attribute_table, `char_attribute_alist,
1542         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1543         `map_char_attribute, `define_char, `find_char, `char_variants and
1544         `get_composite_char to chartab.c; move symbols `=>ucs',
1545         `->decomposition', `compat', `isolated', `initial', `medial',
1546         `final', `vertical', `noBreak', `fraction', `super', `sub',
1547         `circle', `square', `wide', `narrow', `small' and `font' to
1548         chartab.c.
1549         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1550         setting codes for `Vcharacter_composition_table' and
1551         `Vcharacter_variant_table' to chartab.c.
1552         (complex_vars_of_mule_charset): Move setting code for
1553         `Vchar_attribute_hash_table' to chartab.c.
1554
1555         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1556         (make_char_id_table): New prototype.
1557         (put_char_id_table): Likewise.
1558         (Fget_char_attribute): Likewise.
1559
1560         * chartab.c: Move char-id-table related code from mule-charset.c.
1561         (Vutf_2000_version): Moved from mule-charset.c.
1562
1563         * char-ucs.h (Qucs): New external variable.
1564         (put_char_ccs_code_point): New prototype.
1565         (remove_char_ccs): Likewise.
1566
1567 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1568
1569         * mule-charset.c (Vcharset_ucs_jis): New variable.
1570         (Qucs_jis): Likewise.
1571         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1572         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1573
1574         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1575
1576 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1577
1578         * mule-charset.c (map_over_uint8_byte_table): New function.
1579         (map_over_uint16_byte_table): Likewise.
1580         (map_over_byte_table): Likewise.
1581         (map_char_id_table): Likewise.
1582         (slow_map_char_id_table_fun): Likewise.
1583         (Fmap_char_attribute): Likewise.
1584         (syms_of_mule_charset): Add new function `map-char-attribute'.
1585
1586 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1589         (syms_of_mule_charset): Add new function `find-char'.
1590
1591 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1592
1593         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1594         XEmacs UTF-2000.
1595         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1596         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1597         XEmacs UTF-2000.
1598         (complex_vars_of_mule_charset): Add new coded-charset
1599         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1600         `ideograph-gt-pj-*'.
1601
1602         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1603
1604 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1605
1606         * mule-charset.c (encode_builtin_char_1): Purge codes about
1607         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1608         {MIN|MAX}_CHAR_HEBREW.
1609         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1610         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1611
1612         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1613         (MAX_CHAR_GREEK): Purged.
1614         (MIN_CHAR_CYRILLIC): Purged.
1615         (MAX_CHAR_CYRILLIC): Purged.
1616         (MIN_CHAR_HEBREW): Commented out.
1617         (MAX_CHAR_HEBREW): Likewise.
1618
1619 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1620
1621         * mule-charset.c (Qto_ucs): New variable.
1622         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1623         (Fdefine_char): Likewise.
1624         (syms_of_mule_charset): Add new symbol `=>ucs'.
1625
1626 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1627
1628         * mule-charset.c (Fdecode_char): Fixed.
1629
1630 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1631
1632         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1633         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1634         "tcvn5712-1".
1635
1636 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1637
1638         * mule-charset.c (Vcharset_ucs_big5): New variable.
1639         (Qucs_big5): Likewise.
1640         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1641         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1642
1643         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1644
1645 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1646
1647         * mule-charset.c (decode_builtin_char): Check Big5 code range
1648         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1649
1650 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1651
1652         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1653         (Qchinese_gb12345): Likewise.
1654         (Fdecode_builtin_char): Fixed.
1655         (syms_of_mule_charset): Add `chinese-gb12345'.
1656         (complex_vars_of_mule_charset): Add coded-charset
1657         `chinese-gb12345'.
1658
1659         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1660         (LEADING_BYTE_CHINESE_GB12345): New macro.
1661
1662 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1663
1664         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1665         and `latin-viscii-upper' for `latin-viscii'.
1666
1667 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1668
1669         * mule-charset.c (Fdecode_builtin_char): Comment out
1670         regularization code for ISO-IR GR representation.
1671
1672 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1673
1674         * mule-charset.c (decode_builtin_char): New function; renamed from
1675         `make_builtin_char'; return -1 instead of signal.
1676         (Fdecode_builtin_char): Use `decode_builtin_char'.
1677
1678         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1679         `make_builtin_char'.
1680         (DECODE_CHAR): Use `decode_builtin_char' instead of
1681         `make_builtin_char'; use mapping table of `chinese-big5' for
1682         `chinese-big5-{1,2}'.
1683
1684 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1685
1686         * text-coding.c (char_encode_big5): New function.
1687         (char_finish_big5): Likewise.
1688         (reset_encoding_stream): Use `char_encode_big5' and
1689         `char_finish_big5' for CODESYS_BIG5.
1690         (mule_encode): Don't use `encode_coding_big5'.
1691         (encode_coding_big5): Deleted.
1692
1693 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1694
1695         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1696         0x81- in XEmacs UTF-2000.
1697         (detect_coding_big5): Likewise.
1698
1699 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1700
1701         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1702         generate character-id if the CCS property does not have
1703         corresponding predefined character.
1704         (make_builtin_char): Return -1 if corresponding predefined
1705         character is not found.
1706         (Fdecode_char): Return nil if corresponding character is not
1707         found.
1708         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1709         don't map to builtin ucs space.
1710
1711 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1712
1713         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1714         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1715
1716 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1717
1718         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1719         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1720         (Qideograph_gt): Likewise.
1721         (Qideograph_gt_pj_{1..11}): Likewise.
1722         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1723         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1724         `ideograph-gt-pj-11'.
1725         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1726         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1727         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1728
1729         * char-ucs.h (LEADING_BYTE_GT): New macro.
1730         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1731         (MIN_CHAR_GT): Likewise.
1732         (MAX_CHAR_GT): Likewise.
1733
1734 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1735
1736         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1737         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1738
1739         * doprnt.c (unsigned_int_converters): Add `c'.
1740         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1741
1742         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1743         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1744         `MIN_CHAR_MOJIKYO'.
1745         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1746         (MAX_CHAR_MOJIKYO_0): New macro.
1747         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1748
1749 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1750
1751         * mule-charset.c (Fdefine_char): Delete cemented out code.
1752         (encode_builtin_char_1): Modify for new allocation of builtin
1753         Mojikyo characters.
1754
1755         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1756
1757 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1758
1759         * mule-charset.c (Vcharset_ucs_cns): New variable.
1760         (Qucs_cns): New variable.
1761         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1762         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1763
1764 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1765
1766         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1767
1768 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1769
1770         * search.c (search_buffer): Make `charset_base_code' as
1771         character-id >> 6 to eliminate the corresponding last byte in
1772         UTF-8 representation [I'm not sure it is right thing].
1773         (boyer_moore): Likewise.
1774
1775 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1776
1777         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1778         representation in MULE.
1779
1780 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1781
1782         * text-coding.c (Fmake_coding_system): Use
1783         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1784         `EXTERNAL_PROPERTY_LIST_LOOP'.
1785
1786 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1787
1788         * text-coding.c (decode_output_utf8_partial_char): New function.
1789         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1790
1791 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1792
1793         * text-coding.c (decode_coding_utf8): Output original byte
1794         sequence if it is broken; change order of conditions.
1795
1796         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1797         of conditions.
1798
1799         * mb-multibyte.h (BYTE_ASCII_P):
1800         Use bit ops for char-signedness safety.
1801         (BYTE_C0_P): Use bit ops for char-signedness safety.
1802         (BYTE_C1_P): Use bit ops for char-signedness safety.
1803
1804         * character.h: (XCHAR_OR_CHAR_INT):
1805         Always use inline function.
1806         Remove redundant type checking assert() - XINT will abort quite
1807         nicely.
1808
1809 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1810
1811         * text-coding.c: (Fencode_shift_jis_char):
1812         (Fencode_big5_char):
1813         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1814         Replace 0 with '\0' when working with bytes.
1815         Replace initial "(" with "\(" in docstrings.
1816
1817         (Fmake_coding_system):
1818         When type is ccl and value is vector, register it with a proper
1819         symbol.  And checks whether the given ccl program is valid.
1820         (mule_decode): When calling ccl_driver, if src indicates
1821         NULL pointer, set an empty string instead.
1822         (mule_encode): Likewise.
1823
1824         (detect_eol_type):
1825         (detect_coding_sjis):
1826         (decode_coding_sjis):
1827         (detect_coding_big5):
1828         (decode_coding_big5):
1829         (detect_coding_ucs4):
1830         (decode_coding_ucs4):
1831         (detect_coding_utf8):
1832         (decode_coding_utf8):
1833         (detect_coding_iso2022):
1834         (decode_coding_iso2022):
1835         (decode_coding_no_conversion):
1836         (mule_decode):
1837         Make all detecting and decoding functions take an Extbyte * arg.
1838         (text_encode_generic):
1839         (encode_coding_big5):
1840         (encode_coding_no_conversion):
1841         (mule_encode):
1842         Make all encoding functions take a Bufbyte * arg.
1843         Use size_t instead of unsigned int for memory sizes.
1844         Only cast to unsigned char whenever dereferencing Extbyte *.
1845
1846         (struct lrecord_description fcd_description_1): Use countof.
1847         (complex_vars_of_file_coding):
1848         Use countof instead of sizeof.
1849         Use CHECK_NATNUM instead of CHECK_INT.
1850
1851 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1852
1853         * mule-charset.c (Fget_char_attribute): Add new optional argument
1854         `default-value'.
1855         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1856         (remove_char_ccs): Likewise.
1857
1858 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1859
1860         * text-coding.c (char_encode_shift_jis): New implementation in
1861         UTF-2000.
1862         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1863         ...)'.
1864
1865         * mule-charset.c (Vcharset_chinese_big5): New variable in
1866         UTF-2000.
1867         (Qchinese_big5): New variable in UTF-2000.
1868         (BIG5_SAME_ROW): New macro in UTF-2000.
1869         (make_builtin_char): Use builtin characters of
1870         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1871         characters of `Vcharset_chinese_big5'.
1872         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1873         (complex_vars_of_mule_charset): Add new coded-charset
1874         `chinese-big5' in UTF-2000.
1875
1876         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1877         (Vcharset_chinese_big5): New external variable declaration.
1878         (Vcharset_japanese_jisx0208_1990): Likewise.
1879
1880 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1881
1882         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1883         function.
1884         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1885
1886 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1887
1888         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1889         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1890         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1891         `mojikyo-pj-*'.
1892
1893 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1894
1895         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1896
1897 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1898
1899         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1900         to 0.17.
1901
1902 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1903
1904         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1905         for `CHARSET_BY_ATTRIBUTES'.
1906         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1907         `CHARSET_BY_ATTRIBUTES'.
1908
1909         * text-coding.c (struct decoding_stream): Rename member `CH' to
1910         `CPOS'.
1911         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1912         (decode_coding_sjis): Likewise.
1913         (decode_coding_big5): Likewise.
1914         (decode_coding_ucs4): Likewise.
1915         (decode_coding_utf8): Likewise.
1916         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1917         `CHARSET_BY_ATTRIBUTES'.
1918         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1919         `str->counter'; decode 3, 4 bytes sets.
1920         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1921         sets.
1922         (decode_coding_no_conversion): Use `str->cpos' instead of
1923         `str->ch'.
1924
1925         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1926         (Qmojikyo_2022_1): New variable.
1927         (make_charset): Don't use `CHARSET_TYPE_*'.
1928         (range_charset_code_point): Support coded-charset
1929         `mojikyo-2022-1'.
1930         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1931         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1932         `CHARSET_BY_ATTRIBUTES'.
1933         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1934         `CHARSET_BY_ATTRIBUTES'.
1935         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1936         (complex_vars_of_mule_charset): Add new coded-charset
1937         `mojikyo-2022-1'.
1938
1939         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1940         interface; changed to inline function.
1941
1942         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1943         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1944         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1945         (CHARSET_TYPE_94): Deleted.
1946         (CHARSET_TYPE_94X94): Deleted.
1947         (CHARSET_TYPE_96): Deleted.
1948         (CHARSET_TYPE_96X96): Deleted.
1949         (CHARSET_TYPE_128): Deleted.
1950         (CHARSET_TYPE_128X128): Deleted.
1951         (CHARSET_TYPE_256): Deleted.
1952         (CHARSET_TYPE_256X256): Deleted.
1953         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1954         to inline function.
1955         (DECODE_MOJIKYO_2022): New inline function.
1956         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1957         `Vcharset_mojikyo_2022_1'.
1958
1959 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1960
1961         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1962         instead of `EQ'.
1963         (put_byte_table): Likewise.
1964         (char_id_table_equal): Use `get_byte_table' [new implementation].
1965
1966 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1967
1968         * mule-charset.c: Include <limits.h> in UTF-2000.
1969         (BT_UINT8_MIN): New macro in UTF-2000.
1970         (BT_UINT8_MAX): New macro in UTF-2000.
1971         (BT_UINT8_t): New macro in UTF-2000.
1972         (BT_UINT8_nil): New macro in UTF-2000.
1973         (BT_UINT8_unbound): New macro in UTF-2000.
1974         (INT_UINT8_P): New inline function in UTF-2000.
1975         (UINT8_VALUE_P): New inline function in UTF-2000.
1976         (UINT8_ENCODE): New inline function in UTF-2000.
1977         (UINT8_DECODE): New inline function in UTF-2000.
1978         (mark_uint8_byte_table): New function in UTF-2000.
1979         (print_uint8_byte_table): New function in UTF-2000.
1980         (uint8_byte_table_equal): New function in UTF-2000.
1981         (uint8_byte_table_hash): New function in UTF-2000.
1982         (make_uint8_byte_table): New function in UTF-2000.
1983         (uint8_byte_table_same_value_p): New function in UTF-2000.
1984         (BT_UINT16_MIN): New macro in UTF-2000.
1985         (BT_UINT16_MAX): New macro in UTF-2000.
1986         (BT_UINT16_t): New macro in UTF-2000.
1987         (BT_UINT16_nil): New macro in UTF-2000.
1988         (BT_UINT16_unbound): New macro in UTF-2000.
1989         (INT_UINT16_P): New inline function in UTF-2000.
1990         (UINT16_VALUE_P): New inline function in UTF-2000.
1991         (UINT16_ENCODE): New inline function in UTF-2000.
1992         (UINT16_DECODE): New inline function in UTF-2000.
1993         (UINT8_TO_UINT16): New inline function in UTF-2000.
1994         (mark_uint16_byte_table): New function in UTF-2000.
1995         (print_uint16_byte_table): New function in UTF-2000.
1996         (uint16_byte_table_equal): New function in UTF-2000.
1997         (uint16_byte_table_hash): New function in UTF-2000.
1998         (make_uint16_byte_table): New function in UTF-2000.
1999         (uint16_byte_table_same_value_p): New function in UTF-2000.
2000         (print_byte_table): New function in UTF-2000.
2001         (byte-table): Use `print_byte_table' as printer.
2002         (make_byte_table): Delete second argument `older'.
2003         (byte_table_same_value_p): New function in UTF-2000.
2004         (copy_byte_table): Deleted.
2005         (get_byte_table): New function in UTF-2000.
2006         (put_byte_table): New function in UTF-2000.
2007         (print_char_id_table): New function in UTF-2000.
2008         (char-id-table): Use `print_char_id_table' as printer.
2009         (make_char_id_table): Delete second argument `older'.
2010         (get_char_id_table): Use `get_byte_table [new implementation].
2011         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2012         implementation].
2013         (Ffind_char_attribute_table): New function in UTF-2000.
2014         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2015         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2016         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2017         (syms_of_mule_charset): Add new function
2018         `find-char-attribute-table' in UTF-2000.
2019
2020         * lrecord.h (enum lrecord_type): Add
2021         `lrecord_type_uint16_byte_table' and
2022         `lrecord_type_uint8_byte_table'.
2023
2024         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2025         (Lisp_Uint8_Byte_Table): New type.
2026         (XUINT8_BYTE_TABLE): New macro.
2027         (XSETUINT8_BYTE_TABLE): New macro.
2028         (UINT8_BYTE_TABLE_P): New macro.
2029         (GC_UINT8_BYTE_TABLE_P): New macro.
2030         (struct Lisp_Uint16_Byte_Table): New structure.
2031         (Lisp_Uint16_Byte_Table): New type.
2032         (XUINT16_BYTE_TABLE): New macro.
2033         (XSETUINT16_BYTE_TABLE): New macro.
2034         (UINT16_BYTE_TABLE_P): New macro.
2035         (GC_UINT16_BYTE_TABLE_P): New macro.
2036
2037 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2038
2039         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2040         (Vcharacter_ideographic_strokes_table): Deleted.
2041         (Vcharacter_total_strokes_table): Deleted.
2042         (Vcharacter_morohashi_daikanwa_table): Deleted.
2043         (Vcharacter_decomposition_table): Deleted.
2044         (Qname): Deleted because it is duplicated.
2045         (Qideographic_radical): Deleted.
2046         (Qideographic_strokes): Deleted.
2047         (Qtotal_strokes): Deleted.
2048         (Qmorohashi_daikanwa): Deleted.
2049         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2050         `ideographic-radical', `ideographic-strokes', `total-strokes',
2051         `morohashi-daikanwa' and `->decomposition'.
2052         (Fget_char_attribute): Likewise.
2053         (Fput_char_attribute): Likewise; use `make-vector' instead of
2054         `make_older_vector' for `->decomposition' value.
2055         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2056         `ideograph-daikanwa'.
2057         (syms_of_mule_charset): Delete builtin symbols `name',
2058         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2059         `morohashi-daikanwa'.
2060         (vars_of_mule_charset): Don't setup
2061         `Vcharacter_ideographic_radical_table',
2062         `Vcharacter_ideographic_strokes_table',
2063         `Vcharacter_total_strokes_table',
2064         `Vcharacter_morohashi_daikanwa_table' and
2065         `Vcharacter_decomposition_table'.
2066
2067 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2068
2069         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2070         `make_older_vector', `make_vector_newer_1' and
2071         `make_vector_newer'.
2072
2073         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2074         `make_older_vector' and `make_vector_newer'.
2075
2076         * config.h.in (HAVE_GGC): New macro.
2077
2078 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2079
2080         * mule-charset.c (struct char_attribute_list_closure): New
2081         structure in UTF-2000.
2082         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2083         (Fchar_attribute_list): Likewise.
2084         (Fset_charset_mapping_table): Use `make_vector_newer'.
2085         (Fdecode_builtin_char): New function in UTF-2000.
2086         (syms_of_mule_charset): Add new function `char-attribute-list' and
2087         `decode-builtin-char' in UTF-2000.
2088
2089         * lisp.h (make_vector_newer): New prototype.
2090
2091         * alloc.c (make_vector_newer_1): New function.
2092         (make_vector_newer): New function.
2093
2094 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2095
2096         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2097         50100)'.
2098
2099 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2100
2101         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2102         (Vcharacter_attribute_table): Deleted.
2103         (Vcharacter_name_table): Deleted.
2104         (put_char_attribute): Deleted.
2105         (remove_char_attribute): Deleted.
2106         (struct char_attribute_alist_closure): New structure.
2107         (add_char_attribute_alist_mapper): New function.
2108         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2109         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2110         (Fget_char_attribute): Likewise.
2111         (Fput_char_attribute): Likewise.
2112         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2113         of `remove_char_attribute'.
2114         (Fdefine_char): Return character.
2115         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2116         and `Vcharacter_name_table'.
2117         (complex_vars_of_mule_charset): Likewise
2118         `Vchar_attribute_hash_table'.
2119
2120 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2121
2122         * character.h (CHARC_CHARSET): New macro.
2123         (CHARC_CHARSET_ID): New macro.
2124         (CHARC_CODE_POINT): New macro.
2125         (CHARC_COLUMNS): New macro.
2126         (CHARC_TO_CHAR): New inline function.
2127         (CHARC_EQ): New inline function.
2128         (CHARC_ASCII_EQ): New inline function.
2129         (CHARC_IS_SPACE): New inline function.
2130         (ASCII_TO_CHARC): New inline function.
2131
2132         * char-ucs.h (encode_char_2): Deleted.
2133         (ENCODE_CHAR): Use `encode_char_1' again.
2134         (breakup_char_1): Likewise.
2135         (CHAR_TO_CHARC): New inline function.
2136
2137         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2138
2139 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2140
2141         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2142         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2143         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2144         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2145         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2146         `CHARC_IS_SPACE'.
2147         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2148
2149         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2150         `CHARC_CODE_POINT'.
2151         (x_output_display_block): Use `CHARC_CHARSET' and
2152         `CHARC_ASCII_EQ'.
2153
2154         * redisplay-tty.c (tty_output_display_block): Use
2155         `CHARC_ASCII_EQ'.
2156         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2157
2158         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2159
2160         * insdel.c (find_charsets_in_charc_string): Use
2161         `CHARC_CHARSET_ID'.
2162         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2163         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2164         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2165         (convert_charc_string_into_malloced_string): Likewise.
2166
2167 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2168
2169         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2170         instead of <Emchar_dynarr *> for buf; use
2171         `convert_bufbyte_string_into_charc_dynarr' instead of
2172         `convert_bufbyte_string_into_emchar_dynarr'; use
2173         `find_charsets_in_charc_string' instead of
2174         `find_charsets_in_emchar_string'.
2175
2176         * redisplay.h:
2177         - Include "character.h".
2178         (struct rune): New member `cglyph'; delete member `chr'.
2179
2180         * redisplay.c (redisplay_text_width_charc_string): New function;
2181         delete `redisplay_text_width_emchar_string'.
2182         (rtw_charc_dynarr): New variable; renamed from
2183         `rtw_emchar_dynarr'.
2184         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2185         `rtw_emchar_dynarr'; use
2186         `convert_bufbyte_string_into_charc_dynarr' instead of
2187         `convert_bufbyte_string_into_emchar_dynarr'; use
2188         `redisplay_text_width_charc_string' instead of
2189         `redisplay_text_width_emchar_string'.
2190         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2191         instead of `rtw_emchar_dynarr'; use
2192         `convert_bufbyte_string_into_charc_dynarr' instead of
2193         `convert_bufbyte_string_into_emchar_dynarr'.
2194         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2195         `redisplay_text_width_charc_string' instead of
2196         `redisplay_text_width_emchar_string'.
2197         (create_text_block): Modify for <struct rune> change.
2198         (generate_formatted_string_db): Likewise.
2199         (create_string_text_block): Likewise.
2200         (pixel_to_glyph_translation): Likewise.
2201
2202         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2203         instead of <const Emchar *>.
2204         (x_text_width): Likewise.
2205         (x_output_display_block): Use <Charc_dynarr *> instead
2206         <Emchar_dynarr *>; modify for <structure rune> change.
2207         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2208         *>.
2209
2210         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2211         <const Emchar *>; use `charc_string_displayed_columns' instead of
2212         `emchar_string_displayed_columns'.
2213         (tty_output_display_block): Use <Charc_dynarr *> instead of
2214         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2215         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2216         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2217         `tty_output_emchar_dynarr_dynarr'.
2218         (tty_output_charc_dynarr): New function; delete
2219         `tty_output_charc_dynarr'.
2220
2221         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2222         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2223         <Emchar_dynarr *> for buf; use
2224         `convert_bufbyte_string_into_charc_dynarr' instead of
2225         `convert_bufbyte_string_into_emchar_dynarr'.
2226
2227         * frame.c (title_string_charc_dynarr): New variable; renamed from
2228         `title_string_emchar_dynarr'.
2229         (generate_title_string): Use `title_string_charc_dynarr' instead
2230         of `title_string_emchar_dynarr'; use
2231         `convert_charc_string_into_malloced_string' instead of
2232         `convert_emchar_string_into_malloced_string'.
2233         (init_frame): Use `title_string_charc_dynarr' instead of
2234         `title_string_emchar_dynarr'.
2235
2236         * console.h:
2237         - Include "character.h".
2238         (struct console_methods): Use <const Charc *> instead of <const
2239         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2240         <Emchar_dynarr *> in output_string_method.
2241
2242         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2243         <Emchar_dynarr *>.
2244
2245         * console-stream.c (stream_text_width): Use <const Charc *>
2246         instead of <const Emchar *>.
2247
2248         * character.h (Charc_dynarr): New type.
2249
2250         * char-ucs.h (structure Charc): New structure; define new type
2251         `Charc'.
2252
2253         * char-lb.h (DECODE_CHAR): New inline function.
2254         (encode_char_1): New inline function.
2255         (ENCODE_CHAR): New macro.
2256         (structure Charc): New structure; define new type `Charc'.
2257
2258         * char-1byte.h (Vcharset_control_1): New macro.
2259         (Vcharset_latin_iso8859_1): New macro.
2260         (DECODE_CHAR): New inline function.
2261         (encode_char_1): New inline function.
2262         (ENCODE_CHAR): New macro.
2263         (structure Charc): New structure; define new type `Charc'.
2264
2265         * insdel.c (find_charsets_in_charc_string): New function; delete
2266         `find_charsets_in_emchar_string'.
2267         (charc_string_displayed_columns): New function; delete
2268         `emchar_string_displayed_columns'.
2269         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2270         `convert_bufbyte_string_into_emchar_dynarr'.
2271         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2272         `convert_charc_string_into_bufbyte_dynarr'.
2273         (convert_charc_string_into_malloced_string): New function; delete
2274         `convert_charc_string_into_malloced_string'.
2275
2276         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2277         `find_charsets_in_emchar_string'.
2278         (charc_string_displayed_columns): New prototype; delete
2279         `emchar_string_displayed_columns'.
2280         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2281         `convert_charc_string_into_bufbyte_dynarr'.
2282         (convert_charc_string_into_malloced_string): New prototype; delete
2283         `convert_charc_string_into_malloced_string'.
2284
2285 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2286
2287         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2288
2289 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2290
2291         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2292
2293         * char-ucs.h: Use <short> for <Charset_ID>.
2294
2295         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2296         <Charset_ID>.
2297
2298 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2299
2300         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2301         to 0.16.
2302
2303 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2304
2305         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2306         variable.
2307         (Qmorohashi_daikanwa): New variable.
2308         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2309         for `morohashi-daikanwa' attribute.
2310         (Fget_char_attribute): Likewise.
2311         (Fput_char_attribute): Likewise.
2312         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2313         has the same value of `ideograph-daikanwa'.
2314         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2315         (vars_of_mule_charset): Setup
2316         `Vcharacter_morohashi_daikanwa_table'.
2317
2318 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2319
2320         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2321         attributes.
2322         (add_charset_to_list_mapper): Add `key' instead of
2323         `XCHARSET_NAME (value)' to return aliases.
2324
2325 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2326
2327         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2328         variable.
2329         (Vcharacter_ideographic_strokes_table): New variable.
2330         (Qideographic_radical): New variable.
2331         (Qideographic_strokes): New variable.
2332         (Fchar_attribute_alist): Use
2333         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2334         attribute; use `Vcharacter_ideographic_strokes_table' for
2335         `ideographic-strokes' attribute.
2336         (Fget_char_attribute): Likewise.
2337         (Fput_char_attribute): Likewise.
2338         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2339         `ideographic-strokes'.
2340         (vars_of_mule_charset): Setup
2341         `Vcharacter_ideographic_radical_table' and
2342         `Vcharacter_ideographic_strokes_table'.
2343
2344 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2345
2346         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2347         (Qtotal_strokes): New variable.
2348         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2349         `total-strokes' attribute.
2350         (Fget_char_attribute): Likewise.
2351         (Fput_char_attribute): Likewise.
2352         (syms_of_mule_charset): Add new symbol `total-strokes'.
2353         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2354
2355 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2356
2357         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2358         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2359         are found.
2360         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2361         `->decomposition' attribute.
2362         (Fput_char_attribute): Likewise.
2363         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2364
2365 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2366
2367         * mule-charset.c (decoding_table_check_elements): New function.
2368         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2369
2370 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2371
2372         * mule-charset.c (Fset_charset_mapping_table): Use
2373         `put_char_ccs_code_point'.
2374
2375 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2376
2377         * mule-charset.c (decoding_table_put_char): New inline function.
2378         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2379
2380 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2381
2382         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2383         (XCHARSET_BYTE_SIZE): New macro.
2384         (decoding_table_remove_char): New inline function.
2385         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2386         `decoding_table_remove_char'.
2387         (remove_char_ccs): Use `decoding_table_remove_char'.
2388         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2389
2390 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2391
2392         * mule-charset.c (Vcharacter_name_table): New variable.
2393         (Qname): New variable.
2394         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2395         attribute.
2396         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2397         `Vcharacter_name_table' for `name' attribute.
2398         (Fremove_char_attribute): Use function `remove_char_ccs'.
2399         (put_char_ccs_code_point): New function.
2400         (remove_char_ccs): New function.
2401         (syms_of_mule_charset): Add new symbol `name'.
2402         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2403
2404 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2405
2406         * mule-charset.c (make_byte_table): Add new argument `older'.
2407         (make_char_id_table): Likewise.
2408         (copy_char_id_table): Comment out because it is not used.
2409         (put_char_id_table): Modify for `make_byte_table'.
2410         (Fput_char_attribute): Make encoding_table as older object;
2411         inherit older bit of `Vcharacter_composition_table'.
2412         (mark_charset): Don't mark `cs->encoding_table'.
2413         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2414         normal object; make `Vcharacter_composition_table' as an older
2415         object; delete staticpro for `Vcharacter_composition_table'; make
2416         `Vcharacter_variant_table' as a normal object.
2417
2418         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2419         (mark_object): Don't check older object in UTF-2000.
2420
2421         * lrecord.h (struct lrecord_header): Add new member `older' in
2422         UTF-2000.
2423         (set_lheader_implementation): Setup `SLI_header->older' in
2424         UTF-2000.
2425         (set_lheader_older_implementation): New macro in UTF-2000.
2426         (OLDER_RECORD_P): New macro in UTF-2000.
2427         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2428         (alloc_older_lcrecord): New prototype in UTF-2000.
2429         (alloc_older_lcrecord_type): New macro in UTF-2000.
2430
2431 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * mule-charset.c (byte_table_description): Use
2434         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2435         (char_id_table_description): Delete bogus `, 1'.
2436         (Fget_char_attribute): Refer encoding_table of each coded-charset
2437         to get value of coded-charset attribute of a character.
2438         (Fput_char_attribute): Use `make_older_vector' instead of
2439         `make_vector'; use encoding_table of each coded-charset to store
2440         value of coded-charset attribute of a character.
2441         (Fremove_char_attribute): Use encoding_table of each coded-charset
2442         to store value of coded-charset attribute of a character.
2443         (mark_charset): Mark `cs->encoding_table'; don't mark
2444         `cs->decoding_table'.
2445         (charset_description): Add description of new member
2446         `encoding_table'.
2447         (make_charset): Initialize `encoding_table'.
2448
2449         * char-ucs.h (struct Lisp_Charset): Add new member
2450         `encoding_table'.
2451         (CHARSET_ENCODING_TABLE): New macro.
2452         (XCHARSET_ENCODING_TABLE): New macro.
2453         (charset_code_point): New implementation.
2454         (encode_char_1): Likewise.
2455
2456         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2457         (disksave_object_finalization_1): Call finalizers of
2458         `all_older_lcrecords' in UTF-2000.
2459         (make_older_vector): New function in UTF-2000.
2460         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2461         UTF-2000.
2462
2463         * lisp.h (make_older_vector): New prototype in UTF-2000.
2464
2465 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2466
2467         * lrecord.h (enum lrecord_type): Rename
2468         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2469
2470         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2471         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2472         `get_char_code_table'.
2473
2474         * mule-charset.c (mark_char_id_table): Renamed from
2475         `mark_char_code_table'.
2476         (char_id_table_equal): Renamed from `char_code_table_equal'.
2477         (char_id_table_hash): Renamed from `char_code_table_hash'.
2478         (make_char_id_table): Renamed from `make_char_code_table'.
2479         (copy_char_id_table): Renamed from `copy_char_code_table'.
2480         (get_char_id_table): Renamed from `get_char_code_table'.
2481         (put_char_id_table): Renamed from `put_char_code_table'.
2482         (to_char_id): Renamed from `to_char_code'.
2483
2484         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2485         `Lisp_Char_Code_Table'.
2486         (char_id_table): Renamed from `char_code_table'.
2487         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2488         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2489         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2490         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2491         (get_char_id_table): Renamed from `get_char_code_table'.
2492
2493 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2494
2495         * lrecord.h (enum lrecord_type): Rename
2496         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2497
2498         * mule-charset.c (mark_byte_table): Renamed from
2499         `mark_char_byte_table'.
2500         (byte_table_equal): Renamed from `char_byte_table_equal'.
2501         (byte_table_hash): Renamed from `byte_table_hash'.
2502         (make_byte_table): Renamed from `make_byte_table'.
2503         (copy_byte_table): Renamed from `copy_char_byte_table'.
2504
2505         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2506         `Lisp_Char_Byte_Table'.
2507         (byte_table): Renamed from `char_byte_table'.
2508         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2509         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2510         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2511         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2512
2513 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2514
2515         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2516         (dfc_convert_to_internal_format): Likewise.
2517         
2518         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2519         * text-coding.c (Fcoding_system_alias_p): New function.
2520         * text-coding.c (Fcoding_system_aliasee): New function.
2521         * text-coding.c (append_suffix_to_symbol): New function.
2522         * text-coding.c (dangling_coding_system_alias_p): New function.
2523         * text-coding.c (Ffind_coding_system):
2524         * text-coding.c (Fcopy_coding_system):
2525         * text-coding.c (encode_coding_no_conversion):
2526         * text-coding.c (syms_of_file_coding):
2527         * text-coding.c (vars_of_file_coding):
2528         Rewrite coding system alias code.
2529         Allow nested aliases, like symbolic links.
2530         Allow redefinition of coding system aliases.
2531         Prevent existence of dangling coding system aliases.
2532         Eliminate convert_to_external_format.
2533         Eliminate convert_to_internal_format.
2534         
2535         * text-coding.c: Change enum eol_type to eol_type_t.
2536
2537 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2538
2539         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2540         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2541
2542         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2543         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2544
2545 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2546
2547         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2548         `ideograph-daikanwa'.
2549
2550         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2551         (Vcharset_ucs_bmp): Likewise.
2552         (Vcharset_mojikyo): Add new extern variable definition.
2553         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2554         (Vcharset_latin_iso8859_3): Likewise.
2555         (Vcharset_latin_iso8859_4): Likewise.
2556         (Vcharset_latin_iso8859_9): Likewise.
2557         (Vcharset_latin_viscii_lower): Likewise.
2558         (Vcharset_latin_viscii_upper): Likewise.
2559         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2560         `mojikyo' code-point is used to decode.
2561         (encode_char_2): New function [to convert `mojikyo' code-point to
2562         Mojikyo font encoding].
2563         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2564         (breakup_char_1): Likewise.
2565         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2566
2567 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2568
2569         * text-coding.c (Fmake_coding_system): Add document about
2570         `disable-composition' property.
2571
2572 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2573
2574         * text-coding.c (Qdisable_composition): New variable; delete
2575         `Qcomposite'.
2576         (Fmake_coding_system): Add new property `disable-composite';
2577         delete property `composite'.
2578         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2579         instead of `!CODING_SYSTEM_COMPOSITE'.
2580         (syms_of_file_coding): Add new symbol `disable-composition';
2581         delete symbol `composite'.
2582
2583         * file-coding.h (struct Lisp_Coding_System): Add
2584         `disable_composition'; delete `enable_composition'.
2585         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2586         `CODING_SYSTEM_COMPOSITE'.
2587         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2588         `XCODING_SYSTEM_COMPOSITE'.
2589
2590 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2591
2592         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2593         to 0.15.
2594
2595 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2596
2597         * text-coding.c (Qcomposite): New variable.
2598         (Fmake_coding_system): Add new property `composite'.
2599         (struct decoding_stream): Add `combined_char_count',
2600         `combined_chars' and `combining_table' in UTF-2000.
2601         (COMPOSE_FLUSH_CHARS): New macro.
2602         (COMPOSE_ADD_CHAR): New macro.
2603         (reset_decoding_stream): Reset `str->combined_char_count' and
2604         `str->combining_table' in UTF-2000.
2605         (decode_coding_iso2022): Modify for character-decomposition.
2606         (syms_of_file_coding): Add new symbol `composite'.
2607
2608 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2611         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2612         of `Vcharacter_composition_table' if `->decomposition' property
2613         has only 1 element.
2614         (Qlatin_tcvn5712): New variable.
2615         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2616         (complex_vars_of_mule_charset): Add new coded-charset
2617         `latin-tcvn5712'.
2618
2619         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2620
2621 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2622
2623         * file-coding.h (struct Lisp_Coding_System): Add
2624         `enable_composition'.
2625         (CODING_SYSTEM_COMPOSITE): New macro.
2626         (XCODING_SYSTEM_COMPOSITE): New macro.
2627
2628 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2629
2630         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2631
2632 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2633
2634         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2635         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2636
2637 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2638
2639         * mule-charset.c (Vcharset_mojikyo): New variable.
2640         (Fdefine_char): Don't use coded-charset which does not have
2641         non-builtin character range to allocate character-id.
2642         (Qmojikyo): New variable.
2643         (syms_of_mule_charset): Add new symbol `mojikyo'.
2644         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2645
2646         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2647         (LEADING_BYTE_MOJIKYO): New macro.
2648         (MIN_CHAR_MOJIKYO): New macro.
2649         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2650         (MAX_CHAR_MOJIKYO): New macro.
2651
2652 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2653
2654         * mule-charset.c (remove_char_attribute): Fixed.
2655
2656 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2657
2658         * mule-charset.c (remove_char_attribute): New function.
2659         (Fremove_char_attribute): New function.
2660         (encode_builtin_char_1): Comment out builtin-support for
2661         greek-iso8859-7 and cyrillic-iso8859-5.
2662         (Fdecode_char): Check `code' is an integer.
2663         (syms_of_mule_charset): Add `remove-char-attribute'.
2664         (MIN_CHAR_GREEK): Deleted.
2665         (MAX_CHAR_GREEK): Likewise.
2666         (MIN_CHAR_CYRILLIC): Likewise.
2667         (MAX_CHAR_CYRILLIC): Likewise.
2668         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2669         MAX_CHAR_GREEK for `greek-iso8859-7'.
2670
2671         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2672         (MAX_CHAR_GREEK): Likewise.
2673         (MIN_CHAR_CYRILLIC): Likewise.
2674         (MAX_CHAR_CYRILLIC): Likewise.
2675
2676 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2677
2678         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2679         format is used without `ucs' property.
2680         (Fdecode_char): Fix problem with GR representation.
2681         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2682         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2683
2684 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2685
2686         * mule-charset.c (make_builtin_char): New function.
2687         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2688         (Fset_charset_mapping_table): Modify for new representation of
2689         code-point.
2690         (Fdecode_char): New function.
2691         (syms_of_mule_charset): Add new builtin function `decode-char' in
2692         UTF-2000.
2693
2694         * char-ucs.h (make_builtin_char): New prototype.
2695         (DECODE_CHAR): New inline function.
2696         (MAKE_CHAR): Use `DECODE_CHAR'.
2697
2698 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2699
2700         * text-coding.c (parse_charset_conversion_specs): Use
2701         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2702         `XCHARSET_TYPE'.
2703         (iso2022_designate): Likewise.
2704
2705         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2706         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2707
2708         * mule-charset.c (Vcharset_ucs): New variable.
2709         (print_charset): Change design; use `CHARSET_CHARS' and
2710         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2711         (make_charset): Change signature to specify `chars' and
2712         `dimension' instead of `type'.
2713         (range_charset_code_point): Modify for 256^n-set.
2714         (encode_builtin_char_1): Encode as `ucs' in default.
2715         (Fmake_charset): Modify for `make_charset'.
2716         (Fmake_reverse_direction_charset): Likewise.
2717         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2718         UTF-2000.
2719         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2720         for `make_charset'.
2721
2722         * char-ucs.h (Vcharset_ucs): New variable.
2723         (LEADING_BYTE_UCS): New macro.
2724         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2725         and `chars' to `unsigned short' from `unsigned int'.
2726         (CHARSET_TYPE): Deleted.
2727         (XCHARSET_TYPE): Deleted.
2728
2729 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2730
2731         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2732
2733         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2734         (ENCODE_CHAR): New macro.
2735
2736 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2737
2738         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2739         to 0.14 (Kawachi-Katakami).
2740
2741 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2742
2743         * text-coding.c (char_encode_shift_jis): Modify for
2744         `charset_code_point'.
2745         (char_encode_iso2022): Likewise.
2746
2747         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2748         (integer) instead of list of <Lisp_Object>s (integers) as the
2749         format of code-point of a coded-charset.
2750         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2751         (encode_builtin_char_1): New function; delete
2752         `split_builtin_char'.
2753         (charset_code_point): Return <int> instead of <Lisp_Object>.
2754         (Fsplit_char): Don't use `SPLIT_CHAR'.
2755
2756         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2757         prototype for `split_builtin_char'.
2758         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2759         (charset_code_point): Likewise.
2760         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2761         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2762
2763 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2764
2765         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2766         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2767
2768 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2769
2770         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2771
2772         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2773         (MAX_CHAR_OBS_94x94): Deleted.
2774
2775 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2776
2777         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2778
2779         * char-ucs.h (MAX_CHAR_BMP): New macro.
2780
2781 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2782
2783         * text-coding.c: Sync with r21-2-24.
2784
2785 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2786
2787         * file-coding.c: Modify for UTF-2000.
2788
2789 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2790
2791         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2792         to 0.13 (Takaida).
2793
2794 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2795
2796         * mule-charset.c (split_builtin_char): Delete builtin support for
2797         `katakana-jisx0201'.
2798         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2799         BMP area in builtin representation.
2800
2801         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2802         `Vcharset_katakana_jisx0201'.
2803
2804 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2805
2806         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2807         (Qisolated): New variable.
2808         (Qinitial): New variable.
2809         (Qmedial): New variable.
2810         (Qfinal): New variable.
2811         (Qvertical): New variable.
2812         (Qsmall): New variable.
2813         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2814         `Qvertical' and `Qsmall'.
2815         (Qmojikyo_pj_[1 .. 21]): New variable.
2816         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2817         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2818         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2819         .. 21]'.
2820
2821 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2822
2823         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2824         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2825         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2826
2827 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2828
2829         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2830         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2831         BMP.
2832         (Qjapanese_jisx0208_1990): New variable.
2833         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2834         (complex_vars_of_mule_charset): Add new coded-charset
2835         `japanese-jisx0208-1990'.
2836
2837         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2838         (MIN_CHAR_JIS_X0208_1990): New macro.
2839         (MAX_CHAR_JIS_X0208_1990): New macro.
2840
2841 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2842
2843         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2844         coded-charset is not found.
2845
2846 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2847
2848         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2849         (Fdefine_char): Use `Fmake_char'.
2850
2851 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2852
2853         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2854         (Vcharset_hiragana_jisx0208): Deleted.
2855         (Vcharset_katakana_jisx0208): Deleted.
2856         (Qideograph_daikanwa): New variable.
2857         (Qhiragana_jisx0208): Deleted.
2858         (Qkatakana_jisx0208): Deleted.
2859         (split_builtin_char): Split `ideograph-daikanwa'.
2860         (Fsplit_char): New implementation for UTF-2000.
2861         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2862         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2863         (complex_vars_of_mule_charset): Add new coded-charset
2864         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2865         `katakana-jisx0208'.
2866
2867         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2868         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2869         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2870         (MIN_CHAR_DAIKANWA): New macro.
2871         (MAX_CHAR_DAIKANWA): New macro.
2872
2873 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2874
2875         * data.c (Fstring_to_number): Don't recognize floating point if
2876         base is not 10.
2877
2878 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2879
2880         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2881
2882 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2883
2884         * mule-charset.c (Qsquare): New variable.
2885         (to_char_code): Add `Qsquare'.
2886         (syms_of_mule_charset): Add new symbol `square'.
2887
2888 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2889
2890         * mule-charset.c (Qcircle): New variable.
2891         (to_char_code): Add `Qcircle'.
2892         (syms_of_mule_charset): Add new symbol `circle'.
2893
2894 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2895
2896         * mule-charset.c (Qfont): New variable.
2897         (to_char_code): Add `Qfont'.
2898         (syms_of_mule_charset): Add new symbol `font'.
2899
2900 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2901
2902         * mule-charset.c (Qsub): New variable.
2903         (to_char_code): Add `Qsub'.
2904         (syms_of_mule_charset): Add new symbol `sub'.
2905
2906 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2907
2908         * mule-charset.c (Fput_char_attribute): Convert each element of
2909         VALUE to GL position if ATTRIBUTE is a GR-set,
2910
2911 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2912
2913         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2914         coded-charset is a GR-set.
2915
2916 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2917
2918         * mule-charset.c (Fput_char_attribute): Check each element of
2919         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2920
2921 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2922
2923         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2924         UTF-2000.
2925         (Qethiopic_ucs): New variable in UTF-2000.
2926         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2927         (complex_vars_of_mule_charset): Add new coded-charset
2928         `ethiopic-ucs' in UTF-2000.
2929
2930         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2931         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2932         9)'.
2933         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2934         10)'.
2935         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2936
2937 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2938
2939         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2940         `ascii'.
2941
2942 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2943
2944         * mule-charset.c (Vcharacter_variant_table): New variable.
2945         (Q_ucs): New variable.
2946         (Fchar_variants): New function.
2947         (Fput_char_attribute): Register `->ucs' value to
2948         `Vcharacter_variant_table'.
2949         (syms_of_mule_charset): Add new function `char-variants' and new
2950         symbol `->ucs'.
2951         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2952
2953 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2954
2955         * mule-charset.c (get_char_code_table): Allow negative character
2956         code.
2957         (put_char_code_table): Likewise.
2958         (Vcharacter_composition_table): New variable.
2959         (Q_decomposition): New variable.
2960         (Qwide): New variable.
2961         (Qnarrow): New variable.
2962         (Qcompat): New variable.
2963         (QnoBreak): New variable.
2964         (Qsuper): New variable.
2965         (Qfraction): New variable.
2966         (to_char_code): New function.
2967         (Fget_composite_char): New function.
2968         (Fput_char_attribute): Register `->decomposition' value to
2969         `Vcharacter_composition_table'.
2970         (syms_of_mule_charset): Add new function `get-composite-char', new
2971         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2972         `super' and `fraction'.
2973         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2974
2975 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2976
2977         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2978         character; copy the return value.
2979
2980 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2981
2982         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2983
2984         * mule-charset.c (range_charset_code_point): Must use make_int.
2985         (split_builtin_char): New function.
2986
2987 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2988
2989         * mule-charset.c (char_byte_table): Change name from
2990         "char-code-table" to "char-byte-table".
2991         (mark_char_code_table): New function.
2992         (char_code_table_equal): New function.
2993         (char_code_table_hash): New function.
2994         (char_code_table_description): New constant.
2995         (char_code_table): New type.
2996         (make_char_code_table): New function.
2997         (copy_char_code_table): New function.
2998         (get_char_code_table): Modify for `char_code_table' type.
2999         (put_char_code_table): Likewise.
3000         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3001         (Kashiwara).
3002
3003         * char-ucs.h (char_code_table): New type.
3004         (XCHAR_CODE_TABLE): New macro.
3005         (XSETCHAR_CODE_TABLE): New macro.
3006         (CHAR_CODE_TABLE_P): New macro.
3007         (GC_CHAR_CODE_TABLE_P): New macro.
3008         (struct Lisp_Char_Code_Table): New structure.
3009
3010 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3011
3012         * mule-charset.c (Fmake_charset): Setup byte_offset for
3013         {94|96}^n-set.
3014
3015 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3016
3017         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3018         character.
3019
3020 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3021
3022         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3023         is found.
3024
3025 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3026
3027         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3028         charset, it is regarded as a charset.
3029         (put_char_attribute): New function in UTF-2000.
3030         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3031         charset, mapping-table of the charset is modified.
3032         (Fdefine_char): New function in UTF-2000.
3033         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3034         `Fput_char_attribute'.
3035         (syms_of_mule_charset): Add new function `define-char' and new
3036         symbol `ucs' in UTF-2000.
3037         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3038
3039 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3040
3041         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3042         non-UTF-2000 configuration.
3043
3044 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3045
3046         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3047         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3048
3049         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3050         deleted.
3051         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3052         (Fset_charset_mapping_table): Likewise.
3053
3054         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3055         (CHARSET_ENCODING_TABLE): Delete.
3056         (XCHARSET_ENCODING_TABLE): Delete.
3057         (charset_code_point): New interface.
3058
3059 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3060
3061         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3062         instead of `charset_get_byte1' and `charset_get_byte2'.
3063
3064         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3065         (charset_get_byte2): Deleted.
3066
3067 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3068
3069         * char-ucs.h (SPLIT_CHAR): New inline function.
3070         (breakup_char_1): Use `SPLIT_CHAR'.
3071
3072         * mule-charset.c (range_charset_code_point): New function.
3073         (charset_code_point): New function.
3074
3075         * char-ucs.h (range_charset_code_point): New interface.
3076         (breakup_char_1): Use `range_charset_code_point'.
3077
3078 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3079
3080         * mule-charset.c (Fmake_charset): Delete unused local variable
3081         `code_offset'.
3082
3083         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3084         (breakup_char_1): Find a charset and code-point in
3085         `Vcharacter_attribute_table'.
3086
3087 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3088
3089         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3090         to 0.10 (Yao).
3091
3092 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3093
3094         * mule-charset.c (Vcharacter_attribute_table): New variable.
3095         (Fchar_attribute_alist): New function.
3096         (Fget_char_attribute): New function.
3097         (Fput_char_attribute): New function.
3098         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3099         too.
3100         (syms_of_mule_charset): Add new function `char-attribute-alist',
3101         `get-char-attribute' and `put-char-attribute'.
3102         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3103
3104 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3105
3106         * mule-charset.c (Fmake_charset): Just use
3107         `get_unallocated_leading_byte'.
3108
3109         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3110         sets; don't use final-byte based number for private sets.
3111
3112 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3113
3114         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3115         integer.
3116
3117 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3118
3119         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3120         to 0.9.
3121
3122 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3123
3124         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3125         of `CHAR_LEADING_BYTE' in UTF-2000.
3126
3127         * insdel.c (find_charsets_in_bufbyte_string): Use
3128         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3129         (find_charsets_in_emchar_string): Likewise.
3130
3131         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3132         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3133
3134         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3135         (CHAR_CHARSET_ID): New macro.
3136
3137 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3138
3139         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3140         charset-id - MIN_LEADING_BYTE.
3141         (put_char_table): Likewise.
3142
3143 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3144
3145         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3146         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3147         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3148         (CHARSET_ID_OFFSET): New macro.
3149         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3150         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3151         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3152         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3153         4).
3154         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3155         5).
3156         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3157         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3158         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3159         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3160         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3161
3162 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3163
3164         * mule-charset.c (next_allocated_leading_byte): New variable in
3165         UTF-2000.
3166         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3167         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3168         (get_unallocated_leading_byte): Simply use
3169         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3170         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3171         UTF-2000.
3172
3173         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3174         (MAX_LEADING_BYTE_PRIVATE): New macro.
3175         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3176         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3177
3178 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3179
3180         * mule-charset.c (Fmake_charset): Allocate final-byte based
3181         charset-id for 94-set, 96-set and 94x94-set.
3182
3183 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3184
3185         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3186         ambiguous `else'.
3187         (Fmake_charset): Likewise.
3188         (complex_vars_of_mule_charset): Modify the font registry of
3189         `ucs-bmp' not to match `Ethiopic-Unicode'.
3190
3191 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3192
3193         * mule-charset.c (complex_vars_of_mule_charset): Add font
3194         registory of `ucs-bmp'.
3195
3196 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3197
3198         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3199         coded-charsets in `default-coded-charset-priority-list' when
3200         breaking up a character.
3201
3202         * mule-charset.c (Vcharset_latin_viscii): New variable.
3203         (Qlatin_viscii): New variable.
3204         (make_charset): Don't use `decoding_table'.
3205         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3206         byte_offset.
3207         (Fset_charset_mapping_table): New implementation.
3208         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3209         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3210         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3211         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3212         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3213         charset `latin_viscii'.
3214
3215         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3216         (CHARSET_TYPE_94X94): Change to 1 from 2.
3217         (CHARSET_TYPE_96): Change to 2 from 1.
3218         (CHARSET_TYPE_128): New macro.
3219         (CHARSET_TYPE_128X128): Change to 5 from 4.
3220         (CHARSET_TYPE_256): New macro.
3221         (CHARSET_TYPE_256X256): Change to 7 from 5.
3222         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3223
3224 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3225
3226         * text-coding.c (char_encode_shift_jis): Refer
3227         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3228         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3229
3230         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3231         (char_byte_table_equal): New function in UTF-2000.
3232         (char_byte_table_hash): New function in UTF-2000.
3233         (char_byte_table_description): New constant in UTF-2000.
3234         (char_byte_table): New type in UTF-2000.
3235         (make_char_byte_table): New function in UTF-2000.
3236         (copy_char_byte_table): New function in UTF-2000.
3237         (make_char_code_table): New macro in UTF-2000.
3238         (get_char_code_table): New function in UTF-2000.
3239         (put_char_code_table): New function in UTF-2000.
3240         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3241         (charset_description): Add setting in UTF-2000.
3242         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3243         `CHARSET_TO_BYTE1_TABLE(cs)'.
3244         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3245         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3246         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3247         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3248         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3249         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3250         `CHARSET_TO_BYTE2_TABLE(cs)'.
3251
3252         * char-ucs.h (char_byte_table): New type.
3253         (XCHAR_BYTE_TABLE): New macro.
3254         (XSETCHAR_BYTE_TABLE): New macro.
3255         (CHAR_BYTE_TABLE_P): New macro.
3256         (GC_CHAR_BYTE_TABLE_P): New macro.
3257         (struct Lisp_Char_Byte_Table): New structure.
3258         (get_char_code_table): New interface.
3259         (Emchar_to_byte_table): Deleted.
3260         (get_byte_from_character_table): Deleted.
3261         (struct Lisp_Charset): Add `encoding_table'; delete
3262         `to_byte1_table' and `to_byte2_table'.
3263         (CHARSET_ENCODING_TABLE): New macro.
3264         (CHARSET_TO_BYTE1_TABLE): Deleted.
3265         (CHARSET_TO_BYTE2_TABLE): Deleted.
3266         (XCHARSET_ENCODING_TABLE): New macro.
3267         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3268         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3269
3270 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3271
3272         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3273         `vietnamese-viscii-*'.
3274
3275 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3276
3277         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3278         (Qvietnamese_viscii_upper): New variable.
3279         (Fdefine_charset_alias): New function.
3280         (syms_of_mule_charset): Add new function `define-charset-alias'.
3281         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3282         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3283         `latin-viscii-*'.
3284
3285 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3286
3287         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3288         (MAX_CHAR_OBS_94x94): New macro.
3289         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3290         for 94x94 sets.
3291
3292         * mule-charset.c (put_byte_from_character_table): Change unit size
3293         from 128 to 256.
3294         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3295         not defined.
3296         (Fmake_reverse_direction_charset): Modify dummy argument of
3297         `make_charset' for non-UTF-2000 environment.
3298
3299 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3300
3301         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3302
3303         * mule-charset.c (destroy_byte_from_character_table): New macro.
3304         (latin_jisx0201_to_ucs): Deleted.
3305         (latin_iso8859_2_to_ucs): Deleted.
3306         (latin_iso8859_3_to_ucs): Deleted.
3307         (latin_iso8859_4_to_ucs): Deleted.
3308         (latin_iso8859_9_to_ucs): Deleted.
3309         (latin_viscii_lower_to_ucs): Deleted.
3310         (latin_viscii_upper_to_ucs): Deleted.
3311         (mark_charset): Mark `cs->decoding_table'.
3312         (Fcharset_mapping_table): Fix DOC-string.
3313         (Fset_charset_mapping_table): New function.
3314         (syms_of_mule_charset): Add nwe function
3315         `set-charset-mapping-table'.
3316         (complex_vars_of_mule_charset): Don't setup and use
3317         `latin_*_to_ucs'.
3318
3319 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3320
3321         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3322         charset.
3323
3324 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3325
3326         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3327         (Vcharset_katakana_jisx0208): New variable.
3328         (Qhiragana_jisx0208): New variable.
3329         (Qkatakana_jisx0208): New variable.
3330         (make_charset): Add new argument `byte_offset'.
3331         (charset_get_byte1): Modify for new coded-charset definition; use
3332         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3333         `XCHARSET_BYTE_OFFSET'.
3334         (Fmake_charset): Modify for `make_charset'.
3335         (Fmake_reverse_direction_charset): Likewise.
3336         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3337         `katakana-jisx0208'.
3338         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3339         `.'  in font registry of charset `katakana-jisx0201',
3340         `latin-jisx0201', `vietnamese-viscii-lower' and
3341         `vietnamese-viscii-upper'; modify DOC-string of charset
3342         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3343         registry of charset `japanese-jisx0208' not to use font for JIS
3344         X0208:1990; add new charset `hiragana-jisx0208' and
3345         `katakana-jisx0208'.
3346
3347         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3348         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3349         (struct Lisp_Charset): Add `byte_offset'.
3350         (CHARSET_BYTE_OFFSET): New macro.
3351         (XCHARSET_UCS_MIN): New macro.
3352         (XCHARSET_UCS_MAX): New macro.
3353         (XCHARSET_CODE_OFFSET): New macro.
3354         (XCHARSET_BYTE_OFFSET): New macro.
3355         (MIN_CHAR_HIRAGANA): New macro.
3356         (MAX_CHAR_HIRAGANA): New macro.
3357         (MIN_CHAR_KATAKANA): New macro.
3358         (MAX_CHAR_KATAKANA): New macro.
3359         (MAKE_CHAR): Modify for new coded-charset definition; use
3360         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3361         `XCHARSET_BYTE_OFFSET'.
3362
3363 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3364
3365         * mule-charset.c (CHAR96): Deleted.
3366         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3367         <Lisp_Object>.
3368         (latin_iso8859_2_to_ucs): Likewise.
3369         (latin_iso8859_3_to_ucs): Likewise.
3370         (latin_iso8859_4_to_ucs): Likewise.
3371         (latin_iso8859_9_to_ucs): Likewise.
3372         (latin_viscii_lower_to_ucs): Likewise.
3373         (latin_viscii_upper_to_ucs): Likewise.
3374         (latin_tcvn5712_to_ucs): Commented out.
3375         (make_charset): Change type of argument `decoding_table' from
3376         <Emchar*> to <Lisp_Object> [vector of characters].
3377         (Fmake_charset): Modify for `make_charset'.
3378         (Fmake_reverse_direction_charset): Likewise.
3379         (Fcharset_mapping_table): New function in UTF-2000.
3380         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3381         UTF-2000.
3382         (complex_vars_of_mule_charset): Modify for type change of
3383         `*_to_ucs'; modify for `make_charset'.
3384
3385         * char-ucs.h (struct Lisp_Charset): Change type of
3386         `decoding_table' from <Emchar*> to <Lisp_Object>.
3387         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3388
3389 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3390
3391         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3392         error with non-UTF-2000-Mule.
3393
3394 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3395
3396         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3397         in lisp again].
3398         (Vcharset_chinese_cns11643_4): Likewise.
3399         (Vcharset_chinese_cns11643_5): Likewise.
3400         (Vcharset_chinese_cns11643_6): Likewise.
3401         (Vcharset_chinese_cns11643_7): Likewise.
3402         (Qchinese_cns11643_3): Likewise.
3403         (Qchinese_cns11643_4): Likewise.
3404         (Qchinese_cns11643_5): Likewise.
3405         (Qchinese_cns11643_6): Likewise.
3406         (Qchinese_cns11643_7): Likewise.
3407         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3408         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3409         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3410         (complex_vars_of_mule_charset): Likewise.
3411
3412 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3413
3414         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3415         96-set.
3416         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3417         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3418
3419 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3420
3421         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3422         0xFF60.
3423         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3424         (breakup_char_1): Likewise.
3425
3426         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3427         one of them includes the specified character.
3428
3429 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3430
3431         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3432
3433 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3434
3435         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3436
3437 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3438
3439         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3440         definition for non-UTF-2000 Mule.
3441         (latin_iso8859_3_to_ucs): Likewise.
3442         (latin_iso8859_4_to_ucs): Likewise.
3443         (latin_iso8859_9_to_ucs): Likewise.
3444         (latin_jisx0201_to_ucs): Likewise.
3445         (MIN_CHAR_THAI): Likewise.
3446         (MAX_CHAR_THAI): Likewise.
3447         (MIN_CHAR_GREEK): Likewise.
3448         (MAX_CHAR_GREEK): Likewise.
3449         (MIN_CHAR_HEBREW): Likewise.
3450         (MAX_CHAR_HEBREW): Likewise.
3451         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3452         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3453         (MIN_CHAR_CYRILLIC): Likewise.
3454         (MAX_CHAR_CYRILLIC): Likewise.
3455
3456 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3457
3458         * char-ucs.h (breakup_char_1): Use
3459         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3460         thai-tis620 and katakana-jisx0201 area.
3461
3462 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3463
3464         * char-ucs.h (breakup_char_1): Use
3465         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3466         area.
3467
3468         * text-coding.c (reset_encoding_stream): Fixed.
3469         (char_encode_ucs4): Delete `& 255'.
3470
3471         * char-ucs.h (breakup_char_1): Use
3472         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3473
3474 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3475
3476         * file-coding.c (Fmake_coding_system): Don't set up
3477         `codesys->fixed.size'.
3478         (encode_coding_no_conversion): Don't refer
3479         `str->codesys->fixed.size'.
3480
3481 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3482
3483         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3484         (latin_a_char_to_byte1): Deleted.
3485         (latin_a_char_to_byte2): Deleted.
3486
3487 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3488
3489         * mule-charset.c (make_charset): Add new argument `ucs_min',
3490         `ucs_max' and `code_offset'.
3491         (charset_get_byte1): New implementation [delete specific charset
3492         depended implementations].
3493         (Fmake_charset): Modify for `make_charset'.
3494         (Fmake_reverse_direction_charset): Likewise.
3495         (complex_vars_of_mule_charset): Likewise.
3496
3497         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3498         `code_offset'.
3499         (CHARSET_UCS_MIN): New macro.
3500         (CHARSET_UCS_MAX): New macro.
3501         (CHARSET_CODE_OFFSET): New macro.
3502         (MAKE_CHAR): Delete charset depended definitions [except
3503         katakana-jisx0201].
3504
3505 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3506
3507         * char-ucs.h (breakup_char_1): Use
3508         `Vdefault_coded_charset_priority_list' for C0-Controls,
3509         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3510
3511 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3512
3513         * char-ucs.h (charset_get_byte1): New function.
3514         (XCHARSET_GET_BYTE1): Deleted.
3515         (charset_get_byte2): New function.
3516         (XCHARSET_GET_BYTE2): Deleted.
3517         (Vdefault_coded_charset_priority_list): New external variable.
3518         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3519         `Vdefault_preferred_coded_charset_list'.
3520
3521         * mule-charset.c (charset_get_byte1): New function.
3522         (charset_get_byte2): New function.
3523         (Vdefault_coded_charset_priority_list): New variable.
3524         (vars_of_mule_charset): Add new variable
3525         `default-coded-charset-priority-list'.
3526
3527 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3528
3529         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3530         (XCHARSET_GET_BYTE2): New inline function.
3531         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3532         `XCHARSET_GET_BYTE2'.
3533
3534 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3535
3536         * mule-charset.c (make_charset): Initialize
3537         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3538         NULL if table is not defined.
3539
3540 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3541
3542         * text-coding.c (char_encode_shift_jis): Use
3543         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3544         `ucs_to_latin_jisx0201'.
3545
3546         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3547         (ucs_to_latin_iso8859_2): Deleted.
3548         (ucs_to_latin_iso8859_3): Deleted.
3549         (ucs_to_latin_iso8859_4): Deleted.
3550         (ucs_to_latin_iso8859_9): Deleted.
3551         (ucs_to_latin_viscii_lower): Deleted.
3552         (ucs_to_latin_viscii_upper): Deleted.
3553         (ucs_to_latin_tcvn5712): Deleted.
3554         (make_charset): Add new argument `decoding_table'; set up
3555         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3556         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3557         `decoding_table' is defined in UTF-2000.
3558         (Fmake_charset): Modify for `make_charset'.
3559         (Fmake_reverse_direction_charset): Likewise.
3560         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3561         and `GENERATE_96_SET'.
3562
3563         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3564         (ucs_to_latin_jisx0201): Deleted.
3565         (latin_iso8859_2_to_ucs): Deleted.
3566         (ucs_to_latin_iso8859_2): Deleted.
3567         (latin_iso8859_3_to_ucs): Deleted.
3568         (ucs_to_latin_iso8859_3): Deleted.
3569         (latin_iso8859_4_to_ucs): Deleted.
3570         (ucs_to_latin_iso8859_4): Deleted.
3571         (latin_iso8859_9_to_ucs): Deleted.
3572         (ucs_to_latin_iso8859_9): Deleted.
3573         (latin_viscii_lower_to_ucs): Deleted.
3574         (ucs_to_latin_viscii_lower): Deleted.
3575         (latin_viscii_upper_to_ucs): Deleted.
3576         (ucs_to_latin_viscii_upper): Deleted.
3577         (struct Lisp_Charset): Renamed `encoding_table' to
3578         `to_byte1_table'; add `to_byte2_table'.
3579         (CHARSET_DECODING_TABLE): New macro.
3580         (CHARSET_TO_BYTE1_TABLE): New macro.
3581         (CHARSET_TO_BYTE2_TABLE): New macro.
3582         (XCHARSET_DECODING_TABLE): New macro.
3583         (XCHARSET_TO_BYTE1_TABLE): New macro.
3584         (XCHARSET_TO_BYTE2_TABLE): New macro.
3585         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3586         tables.
3587         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3588         don't use `ucs_to_*' tables.
3589
3590 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3591
3592         * text-coding.c (Fmake_coding_system): Don't set up
3593         `codesys->fixed.size'.
3594         (encode_coding_no_conversion): Use `if' instead of `switch'.
3595
3596         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3597
3598 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3599
3600         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3601         (Fmake_charset): Modify for `make_charset'.
3602         (Fmake_reverse_direction_charset): Likewise.
3603         (complex_vars_of_mule_charset): Likewise.
3604
3605 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3606
3607         * text-coding.c (char_encode_shift_jis): Use table
3608         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3609
3610 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3611
3612         * text-coding.c (text_encode_generic): Use `if' instead of
3613         `switch'.
3614         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3615         decode JIS-Latin.
3616
3617 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3618
3619         * text-coding.c (encode_coding_sjis): Deleted.
3620         (char_encode_shift_jis): New function.
3621         (char_finish_shift_jis): New function.
3622         (reset_encoding_stream): Set up `encode_char' and `finish' for
3623         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3624         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3625         (char_encode_utf8): Treat `eol_type'.
3626
3627 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3628
3629         * file-coding.c (decode_coding_iso2022): Use
3630         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3631
3632 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3633
3634         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3635         to 0.7 (Hirano).
3636
3637 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3638
3639         * char-lb.h (CHAR_COLUMNS): New macro.
3640
3641 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3642
3643         * text-coding.c (char_encode_ucs4): New function.
3644         (char_finish_ucs4): New function.
3645         (encode_coding_ucs4): Deleted.
3646         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3647         (text_encode_generic): Delete local variable `charset' and `half'.
3648         (ucs_to_mule_table): Deleted.
3649         (mule_to_ucs_table): Deleted.
3650         (Fset_ucs_char): Deleted.
3651         (ucs_to_char): Deleted.
3652         (Fucs_char): Deleted.
3653         (Fset_char_ucs): Deleted.
3654         (Fchar_ucs): Deleted.
3655         (decode_ucs4): Deleted.
3656         (mule_char_to_ucs4): Deleted.
3657         (encode_ucs4): Deleted.
3658         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3659         (decode_coding_utf8): Likewise.
3660         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3661         (char_encode_iso2022): Fixed.
3662         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3663         `Fset_char_ucs' and `Fchar_ucs'.
3664         (complex_vars_of_file_coding): Don't initialize
3665         `ucs_to_mule_table'.
3666
3667         * objects-tty.c (tty_initialize_font_instance): Don't use
3668         `XCHARSET_COLUMNS'.
3669
3670         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3671         UTF-2000.
3672
3673         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3674         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3675
3676         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3677         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3678         (emchar_string_displayed_columns): Likewise.
3679
3680         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3681         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3682         (string_column_at_point): Likewise.
3683         (Fmove_to_column): Likewise.
3684
3685         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3686         `encoding_table' and `decoding_table'.
3687         (CHARSET_REP_BYTES): Deleted.
3688         (XCHARSET_REP_BYTES): Deleted.
3689         (XCHARSET_COLUMNS): Deleted.
3690         (CHAR_COLUMNS): New macro.
3691         (lookup_composite_char): Deleted unconditionally.
3692         (composite_char_string): Likewise.
3693
3694 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3695
3696         * char-ucs.h (Emchar_to_byte_table): New type.
3697         (get_byte_from_character_table): New function interface.
3698         (Vcharset_latin_jisx0201): New variable.
3699         (latin_jisx0201_to_ucs): New variable.
3700         (ucs_to_latin_jisx0201): New variable.
3701         (Vcharset_latin_iso8859_2): New variable.
3702         (latin_iso8859_2_to_ucs): New variable.
3703         (ucs_to_latin_iso8859_2): New variable.
3704         (Vcharset_latin_iso8859_3): New variable.
3705         (latin_iso8859_3_to_ucs): New variable.
3706         (ucs_to_latin_iso8859_3): New variable.
3707         (Vcharset_latin_iso8859_4): New variable.
3708         (latin_iso8859_4_to_ucs): New variable.
3709         (ucs_to_latin_iso8859_4): New variable.
3710         (Vcharset_latin_iso8859_9): New variable.
3711         (latin_iso8859_9_to_ucs): New variable.
3712         (ucs_to_latin_iso8859_9): New variable.
3713         (Vcharset_latin_viscii_lower): New variable.
3714         (latin_viscii_lower_to_ucs): New variable.
3715         (ucs_to_latin_viscii_lower): New variable.
3716         (Vcharset_latin_viscii_upper): New variable.
3717         (latin_viscii_upper_to_ucs): New variable.
3718         (ucs_to_latin_viscii_upper): New variable.
3719         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3720         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3721         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3722         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3723         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3724         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3725         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3726         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3727         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3728         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3729
3730         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3731         (Vcharset_latin_viscii_upper): New variable.
3732         (make_byte_from_character_table): New function.
3733         (put_byte_from_character_table): New function.
3734         (get_byte_from_character_table): New function.
3735         (CHAR96): New macro.
3736         (ucs_to_latin_jisx0201): New variable.
3737         (latin_jisx0201_to_ucs): New variable.
3738         (ucs_to_latin_iso8859_2): New variable.
3739         (latin_iso8859_2_to_ucs): New variable.
3740         (ucs_to_latin_iso8859_3): New variable.
3741         (latin_iso8859_3_to_ucs): New variable.
3742         (ucs_to_latin_iso8859_4): New variable.
3743         (latin_iso8859_4_to_ucs): New variable.
3744         (ucs_to_latin_iso8859_9): New variable.
3745         (latin_iso8859_9_to_ucs): New variable.
3746         (ucs_to_latin_viscii_lower): New variable.
3747         (latin_viscii_lower_to_ucs): New variable.
3748         (ucs_to_latin_viscii_upper): New variable.
3749         (latin_viscii_upper_to_ucs): New variable.
3750         (ucs_to_latin_tcvn5712): New variable.
3751         (latin_tcvn5712_to_ucs): New variable.
3752         (Qlatin_viscii_lower): New variable.
3753         (Qlatin_viscii_upper): New variable.
3754         (syms_of_mule_charset): Set up new symbol
3755         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3756         (complex_vars_of_mule_charset): Set up new charset
3757         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3758         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3759         `ucs_to_<CHARSET>' tables.
3760
3761 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3762
3763         * text-coding.c: New file.
3764
3765 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3766
3767         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3768
3769         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3770         (MAKE_CHAR): Modify for `ucs-bmp'.
3771         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3772         non-MULE characters of BMP.
3773
3774 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3775
3776         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3777         to 0.6.
3778
3779 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3780
3781         * lstream.h:
3782         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3783         - Include character.h for `CHAR_ASCII_P'.
3784
3785         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3786
3787         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3788         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3789
3790         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3791         (BYTE_C0_P): Likewise.
3792         (BYTE_C1_P): Likewise.
3793         (Lstream_get_emchar_1): Likewise.
3794         (Lstream_fput_emchar): Likewise.
3795         (Lstream_funget_emchar): Likewise.
3796         (copy_internal_to_external): Likewise.
3797         (copy_external_to_internal): Likewise.
3798
3799         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3800         (BYTE_C0_P): Likewise.
3801         (BYTE_C1_P): Likewise.
3802         (Lstream_get_emchar_1): Likewise.
3803         (Lstream_fput_emchar): Likewise.
3804         (Lstream_funget_emchar): Likewise.
3805         (copy_internal_to_external): Likewise.
3806         (copy_external_to_internal): Likewise.
3807
3808         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3809         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3810
3811         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3812         (BYTE_ASCII_P): Moved to mb-1byte.h.
3813
3814 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3815
3816         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3817
3818         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3819         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3820         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3821         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3822         (VALIDATE_CHARPTR_FORWARD): Likewise.
3823         (simple_charptr_emchar): Moved to mb-multibyte.h.
3824         (simple_set_charptr_emchar): Likewise.
3825         (simple_charptr_copy_char): Likewise.
3826         (non_ascii_charptr_emchar): Likewise.
3827         (non_ascii_set_charptr_emchar): Likewise.
3828         (non_ascii_charptr_copy_char): Likewise.
3829         (charptr_emchar): Moved to mb-*byte.h.
3830         (set_charptr_emchar): Likewise.
3831         (charptr_copy_char): Likewise.
3832
3833         * mb-1byte.h, mb-multibyte.h: New files.
3834
3835 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3836
3837         * mb-utf-8.h (MULTIBYTE): New macro.
3838         (MAX_EMCHAR_LEN): Moved from buffer.h.
3839         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3840
3841         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3842
3843         * mb-lb.h, multibyte.h: New files.
3844
3845         * char-1byte.h (Charset_ID): Moved from buffer.h.
3846         (MIN_LEADING_BYTE): Likewise.
3847         (LEADING_BYTE_ASCII): Likewise.
3848         (NUM_LEADING_BYTES): Likewise.
3849         (CHARSETP): Likewise.
3850         (CHARSET_BY_LEADING_BYTE): Likewise.
3851         (XCHARSET_LEADING_BYTE): Likewise.
3852         (XCHARSET_GRAPHIC): Likewise.
3853         (XCHARSET_COLUMNS): Likewise.
3854         (XCHARSET_DIMENSION): Likewise.
3855         (CHAR_CHARSET): Likewise.
3856         (CHAR_LEADING_BYTE): Likewise.
3857         (BREAKUP_CHAR): Likewise.
3858         (Vcharset_ascii): Likewise.
3859
3860         * buffer.h: Include multibyte.h unconditionally.
3861         (VALID_CHARPTR_P): Moved to multibyte.h.
3862         (ASSERT_VALID_CHARPTR): Likewise.
3863         (REAL_INC_CHARPTR): Likewise.
3864         (REAL_INC_CHARBYTIND): Likewise.
3865         (REAL_DEC_CHARPTR): Likewise.
3866         (INC_CHARPTR): Likewise.
3867         (INC_CHARBYTIND): Likewise.
3868         (DEC_CHARPTR): Likewise.
3869         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3870         (VALIDATE_CHARPTR_FORWARD): Likewise.
3871         (charptr_n_addr): Likewise.
3872         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3873         (simple_charptr_emchar): Moved to multibyte.h.
3874         (simple_set_charptr_emchar): Likewise.
3875         (simple_charptr_copy_char): Likewise.
3876         (non_ascii_charptr_emchar): Likewise.
3877         (non_ascii_set_charptr_emchar): Likewise.
3878         (non_ascii_charptr_copy_char): Likewise.
3879         (charptr_emchar): Likewise.
3880         (set_charptr_emchar): Likewise.
3881         (charptr_copy_char): Likewise.
3882         (charptr_emchar_n): Likewise.
3883         (Charset_ID): Moved to char-1byte.h.
3884         (Vcharset_ascii): Likewise.
3885         (CHAR_CHARSET): Likewise.
3886         (CHAR_LEADING_BYTE): Likewise.
3887         (LEADING_BYTE_ASCII): Likewise.
3888         (NUM_LEADING_BYTES): Likewise.
3889         (MIN_LEADING_BYTE): Likewise.
3890         (CHARSETP): Likewise.
3891         (CHARSET_BY_LEADING_BYTE): Likewise.
3892         (XCHARSET_LEADING_BYTE): Likewise.
3893         (XCHARSET_GRAPHIC): Likewise.
3894         (XCHARSET_COLUMNS): Likewise.
3895         (XCHARSET_DIMENSION): Likewise.
3896         (BREAKUP_CHAR): Likewise.
3897
3898 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3899
3900         * character.h: Add document about interface for characters.
3901
3902         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3903         (MAKE_CHAR): Delete comment about
3904         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3905         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3906         (BREAKUP_CHAR): Modify name of arguments.
3907         (CHAR_CHARSET): Modify name of argument.
3908
3909         * buffer.h: Delete document about Emchar accessors.
3910
3911 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3912
3913         * character.h (CHAR_INTP): Moved from buffer.h
3914         (CHAR_OR_CHAR_INTP): Likewise.
3915         (XCHAR_OR_CHAR_INT): Likewise.
3916         (CHECK_CHAR_COERCE_INT): Likewise.
3917
3918         * buffer.h (CHAR_INTP): Moved to character.h
3919         (CHAR_OR_CHAR_INTP): Likewise.
3920         (XCHAR_OR_CHAR_INT): Likewise.
3921         (CHECK_CHAR_COERCE_INT): Likewise.
3922
3923 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3924
3925         * character.h:
3926         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3927         - Include char-1byte.h, char-lb.h or char-ucs.h.
3928
3929         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3930
3931         * buffer.h: Include character unconditionally.
3932         (valid_char_p): Moved to char-*.h.
3933         (non_ascii_valid_char_p): Moved to char-lb.h.
3934
3935         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3936
3937 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3938
3939         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3940         in UTF-2000 because it is not ported yet and not to use
3941         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3942         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3943         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3944
3945         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3946         (CHAR_ASCII_P): Moved from character.h.
3947
3948         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3949         (CHAR_ASCII_P): Likewise.
3950         (CHAR_FIELD1_MASK): Deleted.
3951         (CHAR_FIELD2_MASK): Deleted.
3952         (CHAR_FIELD3_MASK): Deleted.
3953         (MAX_CHAR_BASIC_LATIN): New macro.
3954         (CHAR_FIELD1): Deleted.
3955         (CHAR_FIELD2_INTERNAL): Deleted.
3956         (CHAR_FIELD3_INTERNAL): Deleted.
3957         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3958         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3959         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3960         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3961         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3962         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3963         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3964         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3965         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3966         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3967         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3968         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3969         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3970         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3971         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3972         (MIN_CHAR_COMPOSITION): Deleted.
3973         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3974         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3975
3976 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3977
3978         * buffer.h: Include mb-utf-8.h in UTF-2000.
3979
3980         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3981
3982         * mb-utf-8.h: New file.
3983
3984 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3985
3986         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3987         instead of `int'.
3988
3989         * mule-charset.h, buffer.h (Charset_ID): New type.
3990
3991 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3992
3993         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3994         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3995         instead of `MULE_CHAR_PRIVATE_OFFSET',
3996         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3997         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3998         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3999
4000         * character.h (Vcharset_japanese_jisx0212): New variable
4001         definition.
4002
4003 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4004
4005         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4006         (charset_by_attributes): Delete array about direction.
4007         (latin_a_char_to_charset): New variable in UTF-2000.
4008         (latin_a_char_to_byte1): New variable in UTF-2000.
4009         (latin_a_char_to_byte2): New variable in UTF-2000.
4010         (Qucs_bmp): New variable.
4011         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4012         `Bufbyte'.
4013         (next_allocated_2_byte_leading_byte): Likewise.
4014         (non_ascii_set_charptr_emchar): Likewise.
4015         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4016         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4017         `charset_by_attributes'.
4018         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4019         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4020         and `CHARSET_BY_LEADING_BYTE'.
4021         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4022         `utf-2000-version' to `vars_of_mule_charset'.
4023         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4024         define `leading-code-private-11' in UTF-2000; move setting of
4025         `utf-2000-version' from `syms_of_mule_charset'.
4026         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4027         UTF-2000.
4028
4029         * character.h (Charset_ID): New type.
4030         (LEADING_BYTE_UCS_BMP): New macro.
4031         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4032         (CHARSET_ID_OFFSET_94): New macro.
4033         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4034         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4035         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4036         final-byte.
4037         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4038         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4039         (CHARSET_ID_OFFSET_96): New macro.
4040         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4041         CHARSET_ID_OFFSET_96 and final-byte.
4042         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4043         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4044         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4045         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4046         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4047         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4048         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4049         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4050         (LEADING_BYTE_THAI_TIS620): Likewise.
4051         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4052         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4053         (CHARSET_ID_OFFSET_94x94): New macro.
4054         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4055         CHARSET_ID_OFFSET_94x94 and final-byte.
4056         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4057         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4058         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4059         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4060         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4061         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4062         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4063         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4064         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4065         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4066         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4067         (CHARSET_TYPE_128X128): New macro.
4068         (CHARSET_TYPE_256X256): New macro.
4069         (XCHARSET_PRIVATE_P): Delete unconditionally.
4070         (charset_by_attributes): Delete array about direction.
4071         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4072         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4073         (MIN_CHAR_94): New macro.
4074         (MAX_CHAR_94): New macro.
4075         (MIN_CHAR_96): New macro.
4076         (MAX_CHAR_96): New macro.
4077         (MIN_CHAR_94x94): New macro.
4078         (MAX_CHAR_94x94): New macro.
4079         (MIN_CHAR_96x96): New macro.
4080         (MAX_CHAR_96x96): New macro.
4081         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4082         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4083         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4084         - 32)'.
4085         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4086         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4087         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4088         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4089         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4090         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4091         `XCHARSET_LEADING_BYTE' to make code-point.
4092         (latin_a_char_to_charset): New variable.
4093         (latin_a_char_to_byte1): New variable.
4094         (latin_a_char_to_byte2): New variable.
4095         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4096         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4097         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4098
4099         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4100         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4101         (find_charsets_in_emchar_string): Likewise.
4102         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4103
4104         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4105         `int'.
4106         (decode_coding_iso2022): Likewise.
4107
4108         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4109         of `unsigned char'.
4110
4111         * redisplay.c (redisplay_text_width_emchar_string): Use
4112         `Charset_ID' instead of `unsigned char'.
4113         (redisplay_frame_text_width_string): Likewise.
4114
4115         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4116         `unsigned char'.
4117
4118         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4119         instead of `unsigned char'.
4120         (face_cachel_charset_font_metric_info): Likewise.
4121
4122         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4123         (get_non_ascii_char_table_value): Likewise.
4124         (get_char_table): Likewise.
4125         (put_char_table): Likewise.
4126         (map_over_other_charset): Likewise.
4127         (map_char_table): Likewise.
4128
4129         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4130         instead of `unsigned char'.
4131
4132 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4133
4134         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4135         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4136
4137         * mule-charset.c (leading_code_private_11): Don't define in
4138         UTF-2000.
4139
4140         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4141         in UTF-2000 because it is not ported yet and not to use
4142         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4143
4144 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4145
4146         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4147
4148 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4149
4150         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4151         in UTF-2000.
4152
4153         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4154         of unsigned char to store leading-byte.
4155
4156         * chartab.c (get_non_ascii_char_table_value): Don't use
4157         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4158
4159         * file-coding.c (encode_coding_big5): Delete bogus implementation
4160         in UTF2000.
4161
4162         * character.h (LEADING_BYTE_*): Delete definition for
4163         non-UTF-2000.
4164         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4165         (LEADING_BYTE_PREFIX_P): Deleted.
4166         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4167         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4168         (BUFBYTE_LEADING_BYTE_P): Deleted.
4169         (CHARSET_PRIVATE_P): Deleted unconditionally.
4170         (rep_bytes_by_first_byte): Deleted unconditionally.
4171         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4172         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4173         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4174         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4175         (CHAR_FIELD2): Deleted.
4176         (CHAR_FIELD3): Deleted.
4177         (MAKE_CHAR): Delete definition for non-UTF-2000.
4178         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4179         (breakup_char_1): New implementation.
4180         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4181         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4182
4183 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4184
4185         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4186         condition.
4187
4188 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4189
4190         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4191         (CHARSET_PRIVATE_P): Likewise.
4192         (XCHARSET_PRIVATE_P): Likewise.
4193         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4194
4195         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4196         UTF2000.
4197         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4198
4199 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4200
4201         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4202         (NUM_LEADING_BYTES): Changed from 128 to 256.
4203         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4204         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4205         UTF2000.
4206         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4207
4208         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4209         UTF2000.
4210         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4211         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4212         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4213         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4214         (Qchinese_cns11643_3): New variable in UTF2000.
4215         (Qchinese_cns11643_4): New variable in UTF2000.
4216         (Qchinese_cns11643_5): New variable in UTF2000.
4217         (Qchinese_cns11643_6): New variable in UTF2000.
4218         (Qchinese_cns11643_7): New variable in UTF2000.
4219         (syms_of_mule_charset): Define `chinese-cns11643-3',
4220         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4221         and `chinese-cns11643-7' in UTF2000.
4222         (vars_of_mule_charset): Initialize
4223         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4224         + 1 in UTF2000.
4225         (complex_vars_of_mule_charset): Setup charset
4226         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4227         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4228
4229 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4230
4231         * mule-charset.c: Move setting for `leading-code-private-11' from
4232         `syms_of_mule_charset' to `vars_of_mule_charset'.
4233
4234 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4235
4236         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4237         and `NUM_LEADING_BYTES' in assert.
4238
4239 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4240
4241         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4242         instead of 128.
4243         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4244         `NUM_LEADING_BYTES' instead of 128.
4245
4246 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4247
4248         * mule-charset.h (charset_by_leading_byte): Use
4249         `NUM_LEADING_BYTES' instead of 128.
4250         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4251
4252         * mule-charset.c (charset_by_leading_byte): Use
4253         `NUM_LEADING_BYTES' instead of 128.
4254         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4255
4256         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4257         128.
4258
4259 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4260
4261         * mule-charset.c (syms_of_mule_charset): Update to
4262         0.4 (Shin-Imamiya).
4263
4264 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4265
4266         * file-coding.c (encode_coding_sjis): New implementation for
4267         UTF2000.  (decode_coding_sjis): Ditto.
4268
4269 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4270
4271         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4272         Don't define in UTF2000.
4273
4274         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4275         defined.
4276
4277         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4278         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4279         MULE.
4280
4281 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4282
4283         * config.h.in (CHAR_IS_UCS4): New macro.
4284
4285         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4286         conventional MULE representation.
4287         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4288
4289         * mule-charset.h: Reverted to original.
4290
4291         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4292         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4293         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4294
4295         * character.h: New file.
4296
4297         * file-coding.c (Fmake_coding_system): Set 1 to
4298         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4299         defined.
4300         (encode_coding_no_conversion): New implementation for UTF2000.
4301
4302         * file-coding.h (struct Lisp_Coding_System): Add new member
4303         `fixed.size'.
4304
4305 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4306
4307         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4308         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4309         (encode_coding_iso2022): New implementation for UTF2000.
4310
4311 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4312
4313         * mule-canna.c (c2mu): New implementation for UTF2000.
4314         (m2c): Likewise.
4315
4316 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4317
4318         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4319
4320 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4321
4322         * file-coding.c (reset_encoding_stream): Set 0 to
4323         `str->iso2022.current_char_boundary' in UTF2000.
4324         (encode_utf8): Don't define in UTF2000.
4325         (encode_coding_utf8): New implementation for UTF-8 representation
4326         of UTF2000.
4327         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4328
4329 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4330
4331         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4332
4333         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4334         UTF2000.
4335         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4336
4337         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4338
4339         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4340         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4341         as UTF-8 in UTF2000.
4342         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4343         (non_ascii_valid_char_p): Don't define in UTF2000.
4344         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4345         (Lstream_get_emchar_1): Likewise.
4346         (utf-2000-version): New variable in UTF2000.
4347
4348         * lread.c (read_escape): Add new reader `u'.
4349
4350         * insdel.c (three_to_one_table): Don't define in UTF2000.
4351         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4352         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4353         UTF2000.
4354         (bytind_to_bufpos_func): Likewise.
4355         (buffer_mule_signal_inserted_region): Likewise.
4356         (vars_of_insdel): Don't initialize `three_to_one_table'.
4357         (init_buffer_text): Use `buf->text->mule_size' instead of
4358         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4359         UTF2000.
4360
4361         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4362         UTF-8 representation in UTF2000.
4363         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4364         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4365         (decode_coding_iso2022): Don't define local variable `lb' in
4366         UTF2000; don't use LEADING_BYTE in UTF2000; use
4367         `DECODE_ADD_UCS_CHAR' in UTF2000.
4368         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4369
4370         * config.h.in (UTF2000): New macro.
4371
4372         * buffer.h (struct buffer_text): Add new member `mule_size' and
4373         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4374         (valid_char_p): Return always 1 in UTF2000.
4375         (MAX_EMCHAR_LEN): 6 in UTF2000.
4376         (three_to_one_table): Don't define in UTF2000.
4377         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4378         UTF2000.
4379         (real_bytind_to_bufpos): Likewise.
4380
4381         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4382
4383 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4384
4385         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4386         representation change.
4387         (Vutf_2000_version): New variable.
4388         (leading_code_private_11): New variable.
4389         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4390         `leading-code-private-11'.
4391
4392         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4393         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4394         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4395         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4396         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4397         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4398         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4399         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4400         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4401         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4402         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4403         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4404         (MIN_CHAR_GREEK): New macro.
4405         (MAX_CHAR_GREEK): New macro.
4406         (MIN_CHAR_CYRILLIC): New macro.
4407         (MAX_CHAR_CYRILLIC): New macro.
4408         (MIN_CHAR_HEBREW): New macro.
4409         (MAX_CHAR_HEBREW): New macro.
4410         (MIN_CHAR_THAI): New macro.
4411         (MAX_CHAR_THAI): New macro.
4412         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4413         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4414         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4415         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4416         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4417         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4418         (CHAR_FIELD2): New inline function.
4419         (CHAR_FIELD3): New inline function.
4420         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4421         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4422         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4423         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4424         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4425         (MIN_CHAR_COMPOSITION): Likewise.
4426         (CHAR_LEADING_BYTE): Modified for character representation change.
4427         (MAKE_CHAR): Likewise.
4428
4429         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4430         (Vcharset_greek_iso8859_7): Likewise.
4431         (Vcharset_cyrillic_iso8859_5): Likewise.
4432         (Vcharset_hebrew_iso8859_8): Likewise.
4433         (Vcharset_thai_tis620): Likewise.
4434         (Vcharset_katakana_jisx0201): Likewise.
4435
4436 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
4437
4438         * XEmacs 21.4.9 "Informed Management" is released.
4439
4440 2002-08-19  Andy Piper  <andy@xemacs.org>
4441
4442         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
4443         win32 format.
4444
4445         * realpath.c (xrealpath): normalize drive spec also so that dir
4446         sep chars are not mixed on cygwin.
4447
4448 2002-08-06  Jerry James  <james@xemacs.org>
4449
4450         * window.c (Fsplit_window): Count only half of the divider width
4451         against the left window when splitting horizontally. 
4452
4453 2002-06-24  Andy Piper  <andy@xemacs.org>
4454
4455         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
4456         toolbar was cleared.
4457
4458         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
4459         function. Split out from mswindows_output_frame_toolbars.
4460         (mswindows_output_frame_toolbars): move clear pieces to
4461         mswindows_output_frame_toolbars.
4462
4463         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
4464         out from gtk_output_frame_toolbars.
4465         (gtk_output_frame_toolbars): move clear pieces to
4466         gtk_clear_frame_toolbars.
4467
4468         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
4469         the frame is cleared. How this ever worked before is a mystery.
4470         (x_output_frame_toolbars): Only output toolbars.
4471         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
4472
4473         * gutter.c (update_gutter_geometry):
4474         Mark frame layout changed.
4475         (update_frame_gutter_geometry, update_frame_gutters):
4476         Respect frame_layout_changed.
4477
4478         * console.h (struct console_methods): add
4479         clear_frame_toolbars_method.
4480
4481         * redisplay.c (redisplay_frame): call
4482         update_frame_toolbars_geometry and re-order update_frame_toolbars.
4483
4484         * toolbar.h: declare update_frame_toolbars_geometry.
4485
4486         * toolbar.c (update_frame_toolbars_geometry): new function. Split
4487         out from update_frame_toolbars.  Call clear_frame_toolbars.
4488         (update_frame_toolbars): only output, do not change geometry.
4489
4490         * redisplay.c: add frame_layout_changed.
4491
4492         * redisplay.h: add frame_layout_changed.
4493         (CLASS_RESET_CHANGED_FLAGS): set it.
4494         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
4495         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
4496         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
4497
4498         * device.h (struct device): add frame_layout_changed.
4499         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
4500
4501         * frame.h (struct frame): add frame_layout_changed.
4502         (MARK_FRAME_LAYOUT_CHANGED): new.
4503
4504 2002-06-30  Mike Alexander  <mta@arbortext.com>
4505
4506         * event-msw.c (mswindows_need_event): Don't wait for a new message
4507         if the queue is not empty.  Suggested by Paul Moore.
4508
4509 2002-06-12  Andy Piper  <andy@xemacs.org>
4510
4511         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
4512         for printing on accurately.
4513
4514 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
4515
4516         * event-msw.c (mswindows_wnd_proc): Add a handler for the
4517         WM_ACTIVATE message. Make sure that the frame is visible if the
4518         window is visible. This seemss to fix the problem where XEmacs
4519         appears to freeze after switching desktops with certain virtual
4520         window managers.
4521         (debug_output_mswin_message): Added code to output message
4522         parameters for WM_WINDOWPOSCHANGED, 
4523         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
4524
4525 2002-05-25  Andy Piper  <andy@xemacs.org>
4526
4527         * select-x.c (vars_of_select_x): Fix docstring of
4528         x-selection-strict-motif-ownership
4529
4530 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4531
4532         * keymap.c (get_keymap):
4533         Add comment about do_autoload GCPROs own args.
4534
4535 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4536
4537         * bytecode.c (execute_optimized_program): check_opcode ifdef
4538         ERROR_CHECK_BYTE_CODE.
4539
4540 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4541
4542         Thanks to Ben Wing and Michael Sperber.
4543
4544         * eval.c (Fcommand_execute):
4545         (Feval):
4546         (Ffuncall):
4547         (Fmacroexpand_internal):
4548         (function_argcount):
4549         callint.c (Fcall_interactively):
4550         Add comment about do_autoload GCPROs own args.
4551
4552         * (do_autoload): GCPRO both args as well as local Lisp_Object.
4553
4554         * eval.c (Ffuncall): Extra braces to placate GCC.
4555
4556 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
4557
4558         * backtrace.h (grow_specpdl):
4559         (SPECPDL_RESERVE):
4560         * EmacsFrame.c (EmacsFrameSetValues):
4561         * eval.c (grow_specpdl):
4562         * ExternalShell.c (hack_event_masks_1):
4563         * glyphs-x.c (convert_EImage_to_XImage): 
4564         (x_finalize_image_instance):
4565         * ralloc.c (page_size):
4566         (r_alloc_sbrk):
4567         * xgccache.c (gc_cache_hash):
4568         Fix unsigned comparison warnings.
4569
4570 2002-07-29  Jerry James  <james@xemacs.org>
4571
4572         * lread.c (locate_file): Any nonnegative return value indicates
4573         success if MODE is nonnegative.
4574
4575 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
4576
4577         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
4578         argument. 
4579
4580 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
4581
4582         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
4583
4584         * dumper.c (pdump_get_indirect_count):
4585         (pdump_scan_by_alignment):
4586         (pdump_dump_root_struct_ptrs):
4587         (pdump_dump_rtables):
4588         (pdump_dump_root_objects):
4589         (pdump):
4590         * nas.c (WaveOpenDataForReading):
4591         * fns.c (print_bit_vector):
4592         * font-lock.c (SINGLE_SYNTAX_STYLE):
4593         * glyphs.c (check_for_ignored_expose):
4594         (find_matching_subwindow):
4595         * glyphs-eimage.c:
4596         * imgproc.c (get_histogram):
4597         * redisplay.c (point_in_line_start_cache):
4598         * redisplay-output.c (redisplay_unmap_subwindows):
4599         * symbols.c (defsymbol_massage_name_1):
4600         (defkeyword_massage_name):
4601         (deferror_massage_name_and_message):
4602         * redisplay-x.c (x_output_string): 
4603         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
4604         * frame.h (struct frame):
4605         * filelock.c (current_lock_owner):
4606         * doprnt.c (emacs_doprnt_1):
4607         * lisp.h (struct Lisp_Bit_Vector):
4608         (DO_REALLOC):
4609         Fix warnings.
4610
4611 2002-02-13  Ben Wing  <ben@xemacs.org>
4612
4613         * event-stream.c (reset_key_echo):
4614         * event-stream.c (reset_this_command_keys):
4615         * event-stream.c (execute_command_event):
4616         If console is dead as a result of C-x 5 0, then post-command stuff
4617         needs to be careful and do only non-console-specific stuff.
4618
4619 2002-07-01  Mike Sperber <mike@xemacs.org>
4620
4621         * process-unix.c (unix_send_process): Mark coding_outstream as
4622         non-open upon SIGPIPE.
4623
4624         * event-stream.c (Fnext_event): Reorder switch cases to something
4625         that makes sense.
4626
4627 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
4628
4629         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
4630         Don't bogusly reinitialize ascii_character property.
4631
4632 2002-07-08  Mike Sperber <mike@xemacs.org>
4633
4634         * process.c (Fstart_process_internal): Do error checking before we
4635         fork off the child, so the child can't muck with the state of the
4636         parent.
4637
4638 2002-07-08  Mike Sperber <mike@xemacs.org>
4639
4640         * ralloc.c (init_ralloc): Allocate properly for pdump.
4641
4642 2002-06-12  Andy Piper  <andy@xemacs.org>
4643
4644         * glyphs.c (query_string_geometry): check the string.
4645
4646         * glyphs-widget.c (widget_logical_unit_height): cope with nil
4647         widget names.
4648
4649 2002-06-17  Jerry James  <james@xemacs.org>
4650
4651         * sysdll.c: Remove RTLD_GLOBAL initialization.
4652         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
4653
4654 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
4655
4656         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
4657
4658 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
4659
4660         * sysdep.c (sys_rename): Make sys_rename work for the case where
4661         Windows rename sets errno to EACCES if target file exists.
4662
4663 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
4664
4665         * device-msw.c (mswindows_handle_page_setup_dialog_box):
4666         Fix detection of metric units to work on Win95
4667
4668 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
4669
4670         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
4671
4672 2002-04-25  Andy Piper  <andy@xemacs.org>
4673
4674         * redisplay.c (create_text_block): Remove extra comment trailer.
4675
4676 2002-04-24  Andy Piper  <andy@xemacs.org>
4677
4678         * redisplay.c (create_text_block): Don't actually add propagation
4679         data if the line ends after we have added a glyph.
4680
4681 2002-04-22  Andy Piper  <andy@xemacs.org>
4682
4683         * extents.c (extent_fragment_update): check for glyphs we have
4684         previously displayed.
4685         * extents.c (print_extent_1): warning removal.
4686         * extents.h: change prototype.
4687         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
4688         widths correctly for wide glyphs.
4689         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
4690         * redisplay.c (prop_type): add PROP_GLYPH.
4691         * redisplay.c (struct prop_block): add glyph type
4692         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
4693         to the propagation data.
4694         * redisplay.c (create_text_block): if there is a glyph in the
4695         propagation data use it to salt extent_fragment_update.
4696         * redisplay.c (create_string_text_block): ditto.
4697
4698 2002-04-13  Nix  <nix@esperi.demon.co.uk>
4699
4700         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
4701         * redisplay-output.c (compare_runes): Compare them.
4702         * redisplay.c: Update copyright date.
4703         * redisplay.c (pos_data): Add need_baseline_computation field.
4704         * redisplay.c (add_glyph_rune): Update ascent, descent, and
4705         need_baseline_computation; zero yoffset. Set max_pixmap_height
4706         for all pixmaps, not just automatically positioned ones.
4707         * redisplay.c (calculate_yoffset): New, compute yoffset values.
4708         * redisplay.c (calculate_baseline): New, compute textual baseline.
4709         * redisplay.c (add_glyph_rune): Call them.
4710         * redisplay.c (create_text_block): Likewise.
4711         * redisplay.c (create_overlay_glyph_block): Likewise.
4712         * redisplay.c (add_margin_runes): Likewise.
4713         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
4714
4715         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
4716         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
4717         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
4718         * redisplay-msw.c (mswindows_output_string): Likewise.
4719         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
4720         * redisplay-gtk.c (gtk_output_display_block): Likewise.
4721         * redisplay-x.c (x_output_display_block): Likewise.
4722
4723 2002-03-28  Ben Wing  <ben@xemacs.org>
4724
4725         * redisplay.c: Fixed bug in redisplay
4726         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
4727         and down of the lines, since they're bigger than the line
4728         size. (It was seen most obviously when there's a horizontal scroll
4729         bar, e.g. do C-h a glyph or something like that.) The problem was
4730         that the glyph-contrib-p setting on glyphs was ignored even if it
4731         was set properly, which it wasn't until now.
4732
4733 2002-04-24  Andy Piper  <andy@xemacs.org>
4734
4735         * lisp.h (Dynarr_end): Fix definition.
4736
4737 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
4738
4739         * redisplay.c (mark_redisplay): Remove call to
4740         update_frame_window_mirror.
4741
4742 2001-11-15  Andy Piper  <andy@xemacs.org>
4743
4744         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
4745         cygwin (again).
4746
4747 2002-02-13  Andy Piper  <andy@xemacs.org>
4748
4749         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
4750         we did in fact enqueue the XM_MAPFRAME event.
4751
4752 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
4753
4754         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
4755         to fix problem switching between virtual desktops under virtuawin
4756         virtual window manager.
4757
4758 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
4759
4760         * event-msw.c: Typo fix.
4761         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
4762         magic XM_MAPFRAME event has been sent.
4763
4764 2001-11-23  Andy Piper  <andy@xemacs.org>
4765
4766         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
4767
4768 2001-11-21  Andy Piper  <andy@xemacs.org>
4769
4770         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
4771         mouse events outside the frame.
4772
4773 2002-03-20  Andy Piper  <andy@xemacs.org>
4774
4775         * menubar-msw.c (mswindows_popup_menu): warning removal.
4776         * dialog-msw.c (dialog_popped_down): ditto.
4777
4778 2001-12-11  Andy Piper  <andy@xemacs.org>
4779
4780         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
4781         * dialog-msw.c (mswindows_make_dialog_box_internal): set
4782         popup_up_p.
4783         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
4784         * menubar-msw.c (mswindows_handle_wm_command): ditto.
4785         * menubar-msw.c (mswindows_popup_menu): ditto.
4786
4787 2001-10-29  Andy Piper  <andy@xemacs.org>
4788
4789         * dialog-msw.c (handle_directory_dialog_box): quit if the user
4790         cancels.
4791
4792 2002-01-03  Andy Piper  <andy@xemacs.org>
4793
4794         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
4795         letters.
4796         (xrealpath): ditto.
4797
4798 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
4799
4800         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
4801         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
4802         * device-msw.c (mswindows_handle_page_setup_dialog_box):
4803         Detect and handle case where machine is set up for metric units
4804
4805 2002-04-02  Andy Piper  <andy@xemacs.org>
4806
4807         * dired-msw.c (mswindows_get_files): 
4808         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
4809         completely handled by XEmacs. Suggested by Thomas Vogler
4810         <mail@thomas-vogler.de>.
4811
4812 2001-11-14  Andy Piper  <andy@xemacs.org>
4813
4814         * nt.c (REG_ROOT): change registry key to XEmacs.
4815
4816 2002-04-27  Andy Piper  <andy@xemacs.org>
4817
4818         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
4819
4820 2002-04-26  Andy Piper  <andy@xemacs.org>
4821
4822         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
4823         behavior.
4824
4825 2002-03-14  Mike Alexander  <mta@arbortext.com>
4826
4827         * event-msw.c (mswindows_unwait_process): New, remove process from
4828         wait list
4829         * process-nt.c (nt_finalize_process_data): Call
4830         mswindows_unwait_process
4831         * console-msw.h: Declare mswindows_unwait_process
4832
4833 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
4834
4835         * editfns.c (Fdecode_time):
4836         (Fformat_time_string):
4837         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
4838         (make_time): Warning elimination (change arg name).
4839
4840 2001-11-24  Andy Piper  <andy@xemacs.org>
4841
4842         * window.c (Fsplit_window): Doc return type.
4843
4844 2002-04-01  Andy Piper  <andy@xemacs.org>
4845
4846         * emacs.c (Fkill_emacs): Only output message box in interactive
4847         mode.
4848
4849 2002-04-26  Andy Piper  <andy@xemacs.org>
4850  
4851         * config.h.in: pull in 21.5.x change to stop alloca warnings under
4852         cygwin.
4853
4854 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
4855
4856         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
4857         bit platform.
4858
4859 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
4860
4861         * XEmacs 21.4.8 "Honest Recruiter" is released.
4862
4863 2002-05-07  Nix  <nix@esperi.demon.co.uk>
4864
4865         Supersedes 2002-04-17 patch.
4866
4867         * process.h (PROCESS_LIVE_P): Use the process status as
4868         evidence of health, not the state of the input stream.
4869         (PROCESS_READABLE_P): Say if the process is readable
4870         from. (It may be dead nonetheless.)
4871         (CHECK_READABLE_PROCESS): Test for that condition.
4872
4873         * process.c (create_process): Use PROCESS_READABLE_P.
4874         (read_process_output, set_process_filter): Likewise.
4875
4876         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
4877         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
4878
4879         This code is #if 0'd, this is not the time to add new functions:
4880
4881         * process.c (Fprocess_readable_p): Report readability status.
4882         * process.c (Qprocess_readable_p): New, associated symbol...
4883         * process.c (syms_of_process): ... initialize it.
4884
4885 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
4886
4887         * XEmacs 21.4.7 "Economic Science" is released.
4888
4889 2002-04-17  Nix  <nix@esperi.demon.co.uk>
4890
4891         * process.h (PROCESS_LIVE_P): Use the process status as
4892         evidence of health, not the state of the input stream.
4893
4894 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
4895
4896         * sysdep.c (sys_siglist): change "signum" to "signal"
4897
4898 2001-04-21  Martin Buchholz  <martin@xemacs.org>
4899
4900         * s/darwin.h: New file.
4901         Thanks to Greg Parker <gparker@cs.stanford.edu>.
4902         
4903 2002-04-23  Andreas Jaeger  <aj@suse.de>
4904
4905         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
4906         which use lib64 for 64-bit libs.
4907         (START_FILES): Likewise.
4908
4909 2002-02-11  Mike Sperber  <mike@xemacs.org>
4910
4911         * device-x.c: 
4912         (x_IO_error_handler):
4913         (x_init_device): Temporarily keep device in static variable
4914         `device_being_initialized' so we can recover gracefully from
4915         internal XOpenDevice failure.  (XOpenDevice is documented to
4916         return NULL on failure, but sometimes calls the IO error handler
4917         instead.)
4918
4919 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
4920
4921         * dired.c (Ffile_name_all_completions): Change documentation --
4922         remove reference to completion-ignored-extensions.
4923         * dired.c (vars_of_dired): Change documentation for
4924         completion-ignored-extensions -- remove reference to
4925         file-name-all-completions.
4926
4927 2002-03-06  Jerry James  <james@xemacs.org>
4928
4929         * emodules.c (emodules_load): Fix multiple loading of same module.
4930
4931 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
4932         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
4933         RTLD_LAZY to avoid incorrect symbol binding when using nested
4934         shared libraries on Solaris.
4935
4936 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
4937
4938         * fileio.c (Ffind_file_name_handler): Improve docstring.
4939
4940 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
4941
4942         * fns.c (Fmapconcat): Improve docstring.
4943
4944 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
4945
4946         * device-gtk.c: Add prototype for
4947         emacs_gtk_selection_clear_event_handle.
4948         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
4949         selection.  Setup signal handler for "selection_clear_event"
4950         (emacs_gtk_selection_clear_event_handle).
4951
4952         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
4953         other applications owning the clipboard (based on
4954         x_handle_selection_clear).
4955
4956 2001-12-23  William M. Perry  <wmperry@gnu.org>
4957
4958         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
4959         
4960 2002-01-04  Martin Buchholz  <martin@xemacs.org>
4961
4962         * keymap.c (define_key_alternate_name): Parenthesize EQ.
4963
4964 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
4965
4966         * XEmacs 21.4.6 "Common Lisp" is released.
4967
4968 2001-12-16  Torsten Duwe  <duwe@caldera.de>
4969
4970         * search.c (Freplace_match): Add missing sub-expression functionality.
4971
4972         * buffer.c (decode_buffer): Add a check for pointer type to
4973         decode_buffer, before gcc's CSE optimization reorders a
4974         dereference in front of the allow_string test.
4975
4976 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
4977
4978         * window.c (window_loop): Fix bug that sometimes prevented
4979         window_loop() from iterating across multiple devices.  Also, at
4980         Ben's request, changed infloop-detecting code to abort() instead
4981         of silently terminating window_loop().
4982
4983 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
4984
4985         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
4986         * editfns.c (make_time): New function.
4987         (Fencode_time): Use it instead of wasteful_word_to_lisp.
4988         * lisp.h (make_time): Prototype and comment it.
4989         * dired.c (wasteful_word_to_lisp): Deprecate.
4990         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
4991
4992 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
4993
4994         * fileio.c (auto_save_1): Use current coding system, not
4995         escape-quoted.
4996
4997 2001-11-13  Ben Wing  <ben@xemacs.org>
4998
4999         * window.c:
5000         * window.c (window_truncation_on):
5001         * window.c (syms_of_window):
5002         truncate-partial-width-windows should respect the buffer being
5003         displayed, like other redisplay vars.
5004
5005 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5006
5007         * event-stream.c (Fread_key_sequence): save current buffer.
5008
5009 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5010
5011         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5012
5013 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5014
5015         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5016
5017 2001-10-26  Mike Alexander  <mta@arbortext.com>
5018
5019         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5020
5021 2001-10-25  Andy Piper  <andy@xemacs.org>
5022
5023         * ChangeLog:
5024         * dialog-msw.c (handle_directory_proc): new function.
5025          (handle_directory_dialog_box): new fucntion.
5026          (handle_file_dialog_box): use new directory dialog support.
5027          (mswindows_make_dialog_box_internal): ditto.
5028         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5029         handling.
5030         (mswindows_find_frame): make global.
5031         * fileio.c (Fexpand_file_name): build fix.
5032         * general-slots.h: add Qdirectory.
5033         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5034         handling.
5035         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5036         cygwin not leaving win32 paths unchanged.
5037         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5038         cygwin runtime to do path conversion.
5039         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5040         (syms_of_win32): add new function.
5041         * window.c (window_loop): build fix.
5042
5043 2001-10-15  Andy Piper  <andy@xemacs.org>
5044
5045         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5046
5047 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5048
5049         * XEmacs 21.4.5 "Civil Service" is released.
5050
5051 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5052
5053         * glyphs-x.c: Force buffer-tab highlight update when moving the
5054         buffer, avoiding an ugly black border, used for keyboard focus
5055         indication, on a widget that can never have keyboard focus, the
5056         buffer tab.
5057
5058 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5059
5060         * process-unix.c (unix_open_multicast_group): Remove too much
5061         conversion between host and network byte order.
5062
5063 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5064
5065         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5066         before replacing them.
5067
5068         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5069         operation.
5070
5071         * src/window.c (undedicate_windows): Use it.
5072         * src/window.h: Add prototype.
5073
5074 2001-09-17  Ben Wing  <ben@xemacs.org>
5075
5076         * fileio.c (normalize_filename):
5077         * fileio.c (Fexpand_file_name):
5078         Fix various C++ compile errors in Andy's recent code.
5079         
5080         * callint.c (Fcall_interactively):
5081         * editfns.c (Ftemp_directory):
5082         * editfns.c (Fuser_full_name):
5083         * emacs.c (argmatch):
5084         * lread.c (locate_file_map_suffixes):
5085         * redisplay-x.c (x_ring_bell):
5086         Fix sign-compare warnings.
5087         
5088 2001-09-08  Andy Piper  <andy@xemacs.org>
5089
5090         * fileio.c (normalize_filename): copied from nt.c
5091         * (Ffile_name_directory): enable win32 paths under cygwin.
5092         * (Ffile_name_nondirectory): ditto.
5093         * (directory_file_name): ditto.
5094         * (Fexpand_file_name): ditto.
5095         * (Ffile_truename): ditto.
5096         * (Fsubstitute_in_file_name): ditto.
5097         * (Ffile_name_absolute_p): ditto.
5098         * (Ffile_readable_p): ditto.
5099
5100 2001-09-08  Andy Piper  <andy@xemacs.org>
5101
5102         * device-msw.c (mswindows_finish_init_device): remove dde
5103         initialization.
5104         * device-msw.c (mswindows_init_dde): factor out from
5105         mswindows_finish_init_device()
5106         * device-msw.c (init_mswindows_very_early): new function
5107         initialize but don't enable dde.
5108         * emacs.c (main_1): call init_mswindows_very_early.
5109         * event-msw.c:
5110         * event-msw.c (mswindows_dde_callback): only execute when we are
5111         ready.
5112         * symsinit.h: declare init_mswindows_very_early.
5113
5114 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5115
5116         [sjt: This has been in 21.5 for months with no complaints.]
5117
5118         * console.h (struct console_methods): Added flags member.
5119         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5120         (CONMETH_IMPL_FLAG):
5121         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5122         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5123
5124         * device.c (window_system_pixelated_geometry): Use the above macros.
5125
5126         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5127         implememntation flag.
5128         * device.h (DEVICE_DISPLAY_P): Use it.
5129
5130         * frame.c (delete_frame_internal): Use the above macro.
5131
5132         * redisplay.c (redisplay_device): Use it.
5133         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5134         (redisplay_frame): Ditto.
5135
5136         * device-msw.c (mswindows_device_implementation_flags): Removed.
5137         (msprinter_device_implementation_flags): Removed.
5138         (console_type_create_device_mswindows): Removed references to
5139         implementation_flags methods, set implementation flags here.
5140         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5141
5142         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5143         (console_type_create_device_gtk): Removed method declaration.
5144         Added commented out statement which semantically matches the
5145         commented out statement in the above removed method.
5146
5147 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5148
5149         The attached patch fixes a few warnings. 
5150
5151         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5152         * src/frame-gtk.c: guard against GNOME calls in GTK only
5153         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5154         * src/select-gtk.c: prototype lisp_to_time
5155
5156 2001-06-08  Ben Wing  <ben@xemacs.org>
5157
5158         ------ gc-in-window-procedure fixes ------
5159         
5160         * alloc.c:
5161         * alloc.c (struct post_gc_action):
5162         * alloc.c (register_post_gc_action):
5163         * alloc.c (run_post_gc_actions):
5164         * alloc.c (garbage_collect_1):
5165         Create "post-gc actions", to avoid those dreaded "GC during window
5166         procedure" problems.
5167
5168         * event-msw.c:
5169         Abort, clean and simple, when GC in window procedure.  We want
5170         to flush these puppies out.
5171
5172         * glyphs-msw.c:
5173         * glyphs-msw.c (finalize_destroy_window):
5174         * glyphs-msw.c (mswindows_finalize_image_instance):
5175         Use a post-gc action when destroying subwindows.
5176
5177         * lisp.h:
5178         Declare register_post_gc_action().
5179
5180         * scrollbar-msw.c:
5181         * scrollbar-msw.c (unshow_that_mofo):
5182         Use a post-gc action when unshowing scrollbar windows, if in gc.
5183
5184         * redisplay.c (mark_redisplay):
5185         Add comment about the utter evilness of what's going down here.
5186
5187         ------ cygwin setitimer fixes ------
5188         
5189         * Makefile.in.in (sheap_objs):
5190         * Makefile.in.in (profile_objs):
5191         * Makefile.in.in (objs):
5192         Compile profile.c only when HAVE_SETITIMER.
5193         
5194         * nt.c (mswindows_sigset):
5195         * nt.c (mswindows_sighold):
5196         * nt.c (mswindows_sigrelse):
5197         * nt.c (mswindows_sigpause):
5198         * nt.c (mswindows_raise):
5199         * nt.c (close_file_data):
5200         Style fixes.
5201         
5202         * nt.c:
5203         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5204         
5205         * profile.c:
5206         * profile.c (Fstart_profiling):
5207         * profile.c (Fstop_profiling):
5208         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5209         instead of just plain setitimer().
5210         
5211         * signal.c:
5212         * signal.c (set_one_shot_timer):
5213         * signal.c (alarm):
5214         Define qxe_setitimer() as an encapsulation around setitimer() --
5215         call setitimer() directly unless Cygwin or MS Win, in which case
5216         we use our simulated version in win32.c.
5217         
5218         * systime.h:
5219         * systime.h (struct itimerval):
5220         * systime.h (ITIMER_REAL):
5221         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5222         comment about "qxe" and the policy regarding encapsulation.
5223
5224         * win32.c:
5225         * win32.c (setitimer_helper_proc):
5226         * win32.c (setitimer_helper_period):
5227         * win32.c (setitimer_helper):
5228         * win32.c (mswindows_setitimer):
5229         Move setitimer() emulation here, so Cygwin can use it.
5230         Rename a couple of functions and variables to be longer and more
5231         descriptive.  In setitimer_helper_proc(), send the signal
5232         using either mswindows_raise() or (on Cygwin) kill().  If for
5233         some reason we are still getting lockups, we'll change the kill()
5234         to directly invoke the signal handlers.
5235
5236         ------ windows shell fixes ------
5237         
5238         * callproc.c:
5239         * ntproc.c:
5240         Comments about how these two files must die.
5241
5242         * callproc.c (init_callproc):
5243         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5244         not just COMSPEC. (more correct and closer to FSF.) Don't
5245         force a value for SHELL into the environment. (Comments added
5246         to explain why not.)
5247         
5248         * nt.c (init_user_info):
5249         Don't shove a fabricated SHELL into the environment.  See above.
5250
5251 2001-06-01  Ben Wing  <ben@xemacs.org>
5252
5253         * Makefile.in.in (ldflags):
5254         eliminate that pesky "defaulting to 00401000" warning.
5255         * nt.h:
5256         eliminate warnings.
5257
5258 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5259
5260         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5261         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5262
5263 2001-04-24  Jerry James <james@xemacs.org>
5264
5265         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5266         correct order.
5267
5268 2001-06-01  Ben Wing  <ben@xemacs.org>
5269
5270         * event-msw.c (debug_mswin_messages):
5271         conditionalize the messages that were causing compile errors.
5272         (if only macros could generate #ifdef statements ...)
5273
5274 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5275
5276         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5277
5278 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5279
5280         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5281
5282 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5283
5284         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5285         * process-unix.c (unix_canonicalize_host_name):
5286         sysdep.c (init_system_name):
5287         Use it to conditionally support IPv6 canonicalization.
5288
5289 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5290
5291         * event-msw.c:
5292         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5293
5294 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5295
5296         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5297         attempt is made to scroll when no scroll bar is available.
5298
5299 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5300
5301         * input-method-motif.c (XIM_delete_frame): New callback.
5302         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5303         got deleted from 21.4.3.)
5304
5305 2001-06-01  Ben Wing  <ben@xemacs.org>
5306
5307         * nt.c (mswindows_utime):
5308         * nt.c (close_file_data):
5309         fix off-by-one-indirection error.
5310
5311 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5312
5313         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5314         because set_file_times() now takes Lisp_Object path, instead of
5315         char*.
5316         * nt.c: Include buffer.h.
5317         * nt.c (convert_from_time_t): New.
5318         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5319         not set mtime correctly.
5320         * nt.h: Declare mswindows_utime().
5321         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5322         path, instead of char*.
5323         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5324
5325 2001-05-30  Ben Wing  <ben@xemacs.org>
5326
5327         For 21.4:
5328
5329         (Stephen, just take all event-msw.c patches.  This includes
5330         the "iconify" fix below.)
5331
5332         * event-msw.c:
5333         * event-msw.c (mswindows_dequeue_dispatch_event):
5334         * event-msw.c (assert):
5335         * event-msw.c (emacs_mswindows_quit_p):
5336         * event-msw.c (debug_mswin_messages):
5337         * event-msw.c (debug_output_mswin_message):
5338         * event-msw.c (vars_of_event_mswindows):
5339         Fix yet more problems with C-g handling.
5340         Implement debug-mswindows-events.
5341         
5342 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5343
5344         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5345         
5346 2001-05-23  Ben Wing  <ben@xemacs.org>
5347
5348         * event-msw.c (winsock_writer):
5349         * event-msw.c (winsock_closer):
5350         prior kludgy code was clobbering the buffer, thinking it was
5351         "unused" space to store an unneeded return value; instead, use
5352         the variable we've already got staring us in the face.
5353
5354 2001-05-17  Andy Piper  <andy@xemacs.org>
5355
5356         * sysfile.h: don't assume that file attributes are boolean
5357
5358 2001-05-23  Ben Wing  <ben@xemacs.org>
5359
5360         * device-msw.c (msprinter_init_device):
5361         signal an error rather than crash with an unavailable network
5362         printer (from Mike Alexander).
5363         
5364         * event-msw.c:
5365         * event-msw.c (struct winsock_stream):
5366         * event-msw.c (winsock_writer):
5367         * event-msw.c (winsock_closer):
5368         * event-msw.c (make_winsock_stream_1):
5369         cleanup headers.  fix (hopefully) an error with data corruption
5370         when sending to a network connection.
5371
5372         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5373         to handle the ~user prefix by (a) always assuming we're referencing
5374         ourselves and not even verifying the user -- hence any file with
5375         a tilde as its first char is invalid! (b) if there wasn't a slash
5376         following the filename, the pointer was set *past* the end of
5377         file and we started reading from uninitialized memory.  Now we
5378         simply treat these as files, always.
5379
5380         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5381         
5382 2001-05-19  Ben Wing  <ben@xemacs.org>
5383
5384         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5385
5386         * process-nt.c:
5387         * process-nt.c (vars_of_process_nt):
5388         remove unused mswindows-quote-process-args.  rec for 21.4.
5389         
5390 2001-05-12  Ben Wing  <ben@xemacs.org>
5391
5392         * event-msw.c (mswindows_dde_callback):
5393         * event-msw.c (mswindows_wnd_proc):
5394         eliminate cygwin warnings.
5395
5396 2001-05-06  Ben Wing  <ben@xemacs.org>
5397
5398         * console-msw.h:
5399         * device-msw.c:
5400         * device-msw.c (print_dialog_worker):
5401         * device-msw.c (mswindows_handle_print_dialog_box):
5402         * device-msw.c (syms_of_device_mswindows):
5403         * dialog-msw.c (mswindows_make_dialog_box_internal):
5404         * general-slots.h:
5405         implement printing the selection when it's selected.
5406
5407 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5408
5409         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5410
5411 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5412
5413         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5414         EMACS_INT is signed.
5415
5416 2001-04-15  Michael Lausch  <mla@1012surf.net>
5417
5418         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5419         gtk_widget_request_size() to give scrollbar >0 width for
5420         GTK >1.2.8.
5421
5422 2001-05-30  William M. Perry  <wmperry@gnu.org>
5423
5424         * event-gtk.c: Check for buttons as modifier keys.
5425
5426 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5427
5428         * s\mingw32.h:
5429         Properly find MinGW's <process.h> inside Cygwin's restructured
5430         include directories.  Don't try to include <cygwin/version.h>
5431         since we are dropping support for MinGW in versions of Cygwin
5432         earlier than b21.
5433         * nt.c:
5434         Drop support for MinGW in versions of Cygwin before b21.
5435         * sysdep.c:
5436         Properly find MinGW's <process.h> inside Cygwin's restructured
5437         include directories.
5438         * syswindows.h:
5439         Drop support for MinGW in versions of Cygwin before b21.
5440         * unexcw.c:
5441         Even though a.out.h is no longer detected by configure, allow
5442         MinGW to use it until we figure out how to do the job with Win32.
5443
5444 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
5445
5446         * syntax.c (find_start_of_comment):
5447         Fix `unbalanced parentheses' bug when dealing with mixed comment
5448         styles in c++/java/etc. mode
5449
5450 2001-05-29  Mike Alexander  <mta@arbortext.com>
5451
5452         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
5453         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
5454
5455 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
5456
5457         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
5458
5459 2001-03-31  Mike Sperber <mike@xemacs.org>
5460
5461         * search.c (Freplace_match): Support FSF-style specification of
5462         match subexpression when applied to a buffer.
5463
5464 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5465
5466         * event-stream.c (is_scrollbar_event): add missing semicolon
5467
5468 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
5469
5470         * Makefile.in.in: Use TAR macro instead of hardcoding
5471           tar.  Allows use of GNU tar instead of system tar
5472
5473 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5474
5475         * event-stream.c (is_scrollbar_event): add missing semicolon
5476
5477 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5478
5479         * XEmacs 21.4.3 "Academic Rigor" is released.
5480
5481 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5482
5483         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
5484
5485 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
5486
5487         * buffer.c (Vcase_fold_search): Remove obsolete
5488           comment about non ASCII case-fold-search.  This
5489           bug has been fixed by case-table changes.
5490
5491 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
5492
5493         * event-msw.c: Restore include of events-mod.h.
5494
5495 2001-04-22   zhaoway  <zw@debian.org>
5496
5497         * event-stream.c (is_scrollbar_event): Noop returning 0 if
5498         !HAVE_SCROLLBARS.
5499
5500 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
5501
5502         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
5503
5504 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
5505
5506         * mule-charset.c (Fmake_charset): Add missing else.
5507
5508 2001-04-23  Ben Wing  <ben@xemacs.org>
5509
5510         * event-msw.c (FAKE_MOD_QUIT):
5511         * event-msw.c (mswindows_dequeue_dispatch_event):
5512         * event-msw.c (mswindows_wnd_proc):
5513         * event-msw.c (emacs_mswindows_quit_p):
5514         Get critical quit working.
5515
5516 2001-05-05  Ben Wing  <ben@xemacs.org>
5517
5518         * console-msw.h:
5519         * device-msw.c:
5520         * device-msw.c (mswindows_get_default_margin):
5521         * frame-msw.c (mswindows_size_frame_internal):
5522         * frame-msw.c (msprinter_init_frame_1):
5523         * frame-msw.c (vars_of_frame_mswindows):
5524         Change top/bottom margin defaults to 0.5 inches.
5525
5526 2001-05-01  Martin Buchholz  <martin@xemacs.org>
5527
5528         Fix link error with gcc 3.0 on Linux.
5529         * terminfo.c (UP): Remove.
5530         * terminfo.c (BC): Remove.
5531         * terminfo.c (PC): Remove.
5532         They weren't used, and in any case, these symbols should be
5533         defined in the *library*.
5534
5535 2001-05-03  Martin Buchholz  <martin@xemacs.org>
5536
5537         * s/aix4.h: Fix crash with xlc -O3.
5538         Improve comment explaining how -O3 works.
5539
5540 2001-04-15  Ben Wing  <ben@xemacs.org>
5541
5542         * event-stream.c:
5543         * event-stream.c (Fnext_event):
5544         * event-stream.c (is_scrollbar_event):
5545         * event-stream.c (execute_command_event):
5546         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
5547         crash' problem.  His fix introduces other problems.  We filter
5548         out scrollbar events specifically, making them somewhat invisible
5549         to command-building, and not appearing in `this-command-keys'.
5550         More work is still needed (see comments in event-stream.c), but
5551         this fixes all the major problems.
5552
5553 2001-04-20  Ben Wing  <ben@xemacs.org>
5554
5555         * .cvsignore: Added stuff for Windows.
5556
5557 2001-04-28  Ben Wing  <ben@xemacs.org>
5558
5559         * buffer.c (Ferase_buffer):
5560         * editfns.c (buffer_insert1):
5561         * editfns.c (Finsert_before_markers):
5562         * editfns.c (Finsert_string):
5563         * editfns.c (Finsert_char):
5564         * editfns.c (Fdelete_region):
5565         * editfns.c (Fwiden):
5566         * editfns.c (Fnarrow_to_region):
5567         remove bogus lines setting zmacs_region_stays to 0.
5568         
5569 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5570
5571         * process-unix.c (unix_open_network_stream): If connect() fails
5572         invalidate file descriptor after closing it.
5573
5574 2001-03-08  Mike Alexander  <mta@arbortext.com>
5575
5576         * event-msw.c (mswindows_need_event_in_modal_loop):
5577         Don't dispatch a message if we didn't get one.
5578         (mswindows_need_event):
5579         Terminate the correct process when one exits instead of the first
5580         one on Vprocess_list and look for process termination when in
5581         mswindows_protect_modal_loop.
5582
5583 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
5584
5585         * XEmacs 21.4.1 "Copyleft" is released.
5586
5587 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5588
5589         * input-method-motif.c (XIM_delete_frame): New callback.
5590         (XIM_init_frame): Register it.
5591
5592 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5593
5594         * XEmacs 21.4.0 "Solid Vapor" is released.
5595
5596 2001-04-15  Ben Wing  <ben@xemacs.org>
5597
5598         * cmdloop.c (call_command_loop):
5599         Fix braino in bit-rotting code.
5600         
5601 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
5602
5603         * extents.c (Fset_extent_endpoints): Force creation of extent info
5604         in buffer_or_string.
5605
5606         * extents.c (process_extents_for_insertion_mapper): Correctly
5607         check for open-open zero-length extents.
5608
5609 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5610
5611         * lisp.h: New typedefs Memory_count, Element_count.
5612         * regex.c:
5613         * regex.h:
5614         Sign-compare warning elimination: several unsigned -> signed.
5615         Based on work by Ben Wing <ben@xemacs.org>.
5616
5617 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
5618
5619         * XEmacs 21.2.47 "Zephir" is released.
5620
5621 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
5622
5623         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
5624
5625 2001-04-03  Mike Sperber <mike@xemacs.org>
5626
5627         * search.c: Revert previous patch due because of release.
5628
5629 2001-03-30  Ben Wing  <ben@xemacs.org>
5630
5631         * s\cygwin32.h:
5632         Add missing killpg prototype.
5633
5634         * elhash.c:
5635         Add a comment about fixing problems when a new entry is added
5636         while mapping.
5637
5638         * frame-msw.c (mswindows_init_frame_1):
5639         Fix compile warnings.
5640
5641         * menubar.c (vars_of_menubar):
5642         Provide `menu-accelerator-support' to indicate that we properly
5643         support %_ in menu specifications, so that package code can
5644         conditionalize on this (and remove %_ from menu specifications
5645         on older versions).
5646
5647         * event-msw.c:
5648         * scrollbar-msw.c:
5649         * scrollbar-msw.c (can_scroll):
5650         * scrollbar-msw.h:
5651         Fix handling of mouse wheel under Windows to follow standards --
5652         now scrolls window under pointer, not selected window.
5653
5654 2001-03-31  Mike Sperber <mike@xemacs.org>
5655
5656         * search.c (Freplace_match): Support FSF-style specification of
5657         match subexpression when applied to a buffer.
5658
5659 2001-03-15  Martin Buchholz  <martin@xemacs.org>
5660
5661         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
5662         function to modify KEYMAP, so map over a copy of the hash table.
5663
5664 2001-03-21  Martin Buchholz <martin@xemacs.org>
5665
5666         * XEmacs 21.2.46 "Urania" is released.
5667
5668 2001-03-20  Dan Holmsand  <dan@eyebee.com>
5669
5670         * realpath.c (xrealpath): Make file-truename work with symlinks to
5671         /cygdrive paths on cygwin. Always lowercase drive-letters on
5672         native windows.
5673         (cygwin_readlink): Don't try to find canonical filename unless
5674         file exists.
5675
5676 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
5677
5678         * ChangeLog: Log GTK merge.
5679
5680         * dumper.c:
5681         * select-x.c:
5682         * specifier.c:
5683         * symeval.h:
5684         Revert gratuitous whitespace changes from GTK merge.
5685
5686         * emacs.c: Document end of complex #ifdef @ l. 1495.
5687
5688
5689 2001-03-12  Andy Piper  <andy@xemacs.org>
5690
5691         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
5692         have to do likewise.
5693
5694 2001-03-12  Andy Piper  <andy@xemacs.org>
5695
5696         * sysdep.c: we only support mingw now.
5697
5698 2001-03-09  Andy Piper  <andy@xemacs.org>
5699
5700         * unexcw.c (copy_executable_and_dump_data_section): making approx
5701         overrun a warning only.
5702
5703 2001-03-10  William M. Perry  <wmperry@aventail.com>
5704
5705         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
5706         satisfy Stephen's identical-after-cpp plea.
5707
5708 2001-03-02  Ben Wing  <ben@xemacs.org>
5709
5710         * cmds.c:
5711         * cmds.c (Fforward_char):
5712         * syntax.c:
5713         * window.c:
5714
5715         Augment documentation of the most common motion commands to make
5716         note of the shifted-motion support.
5717         
5718 2001-03-02  Ben Wing  <ben@xemacs.org>
5719
5720         * nt.c (mswindows_fstat):
5721         * nt.c (mswindows_stat):
5722         * search.c (boyer_moore):
5723         Fix compile warnings under Windows.
5724         
5725         * sysdep.c (sys_readdir):
5726         Fix buggy filename-conversion code under Mule.
5727
5728 2001-03-09  William M. Perry  <wmperry@aventail.com>
5729
5730         * Makefile.in.in:
5731         * config.h.in:
5732         * console.c:
5733         * console.h:
5734         * device.c:
5735         * device.h:
5736         * dragdrop.c:
5737         * emacs.c:
5738         * event-stream.c:
5739         * events.c:
5740         * events.h:
5741         * faces.c:
5742         * frame.h:
5743         * general-slots.h:
5744         * glyphs.c:
5745         * gutter.c:
5746         * inline.c:
5747         * lisp.h:
5748         * lrecord.h:
5749         * make-src-depend:
5750         * redisplay-output.c:
5751         * redisplay.c:
5752         * symsinit.h:
5753         * sysfile.h:
5754         * toolbar.c:
5755         * window.c:
5756         The Great GTK Merge.
5757
5758         * ChangeLog.GTK:
5759         * console-gtk.c:
5760         * console-gtk.h:
5761         * device-gtk.c:
5762         * emacs-marshals.c:
5763         * emacs-widget-accessors.c:
5764         * event-gtk.c:
5765         * frame-gtk.c:
5766         * gccache-gtk.c:
5767         * gccache-gtk.h:
5768         * glade.c:
5769         * glyphs-gtk.c:
5770         * glyphs-gtk.h:
5771         * gtk-glue.c:
5772         * gtk-xemacs.c:
5773         * gtk-xemacs.h:
5774         * gui-gtk.c:
5775         * gui-gtk.h:
5776         * menubar-gtk.c:
5777         * native-gtk-toolbar.c:
5778         * objects-gtk.c:
5779         * objects-gtk.h:
5780         * redisplay-gtk.c:
5781         * scrollbar-gtk.c:
5782         * scrollbar-gtk.h:
5783         * select-gtk.c:
5784         * toolbar-gtk.c:
5785         * ui-byhand.c:
5786         * ui-gtk.c:
5787         * ui-gtk.h:
5788         The Great GTK Merge: new files.
5789
5790 2001-02-26  Ben Wing  <ben@xemacs.org>
5791
5792         Reapplied Lstream change.
5793
5794 2001-02-26  Ben Wing  <ben@xemacs.org>
5795
5796         Undid the last change, since it is more controversial than I
5797         thought.  It should be back in at some point soon.
5798         
5799 2001-02-25  Ben Wing  <ben@xemacs.org>
5800
5801         * buffer.c:
5802         * callproc.c (Fold_call_process_internal):
5803         * event-msw.c (ntpipe_slurp_reader):
5804         * event-msw.c (ntpipe_shove_writer):
5805         * event-msw.c (winsock_reader):
5806         * event-msw.c (winsock_writer):
5807         * file-coding.c:
5808         * file-coding.c (detect_eol_type):
5809         * file-coding.c (detect_coding_type):
5810         * file-coding.c (determine_real_coding_system):
5811         * file-coding.c (Fdetect_coding_region):
5812         * file-coding.c (decoding_reader):
5813         * file-coding.c (decoding_writer):
5814         * file-coding.c (mule_decode):
5815         * file-coding.c (Fdecode_coding_region):
5816         * file-coding.c (encoding_reader):
5817         * file-coding.c (encoding_writer):
5818         * file-coding.c (mule_encode):
5819         * file-coding.c (Fencode_coding_region):
5820         * file-coding.c (detect_coding_sjis):
5821         * file-coding.c (decode_coding_sjis):
5822         * file-coding.c (encode_coding_sjis):
5823         * file-coding.c (detect_coding_big5):
5824         * file-coding.c (decode_coding_big5):
5825         * file-coding.c (encode_coding_big5):
5826         * file-coding.c (detect_coding_ucs4):
5827         * file-coding.c (decode_coding_ucs4):
5828         * file-coding.c (encode_coding_ucs4):
5829         * file-coding.c (detect_coding_utf8):
5830         * file-coding.c (decode_coding_utf8):
5831         * file-coding.c (encode_coding_utf8):
5832         * file-coding.c (detect_coding_iso2022):
5833         * file-coding.c (decode_coding_iso2022):
5834         * file-coding.c (encode_coding_iso2022):
5835         * file-coding.c (decode_coding_no_conversion):
5836         * file-coding.c (encode_coding_no_conversion):
5837         * glyphs-x.c (write_lisp_string_to_temp_file):
5838         * gpmevent.c (tty_get_foreign_selection):
5839         * lisp.h:
5840         * lstream.c:
5841         * lstream.c (Lstream_flush_out):
5842         * lstream.c (Lstream_adding):
5843         * lstream.c (Lstream_write_1):
5844         * lstream.c (Lstream_write):
5845         * lstream.c (Lstream_raw_read):
5846         * lstream.c (Lstream_read_more):
5847         * lstream.c (Lstream_read):
5848         * lstream.c (Lstream_unread):
5849         * lstream.c (Lstream_fputc):
5850         * lstream.c (stdio_reader):
5851         * lstream.c (stdio_writer):
5852         * lstream.c (filedesc_reader):
5853         * lstream.c (filedesc_writer):
5854         * lstream.c (lisp_string_reader):
5855         * lstream.c (struct fixed_buffer_stream):
5856         * lstream.c (make_fixed_buffer_input_stream):
5857         * lstream.c (make_fixed_buffer_output_stream):
5858         * lstream.c (fixed_buffer_reader):
5859         * lstream.c (fixed_buffer_writer):
5860         * lstream.c (struct resizing_buffer_stream):
5861         * lstream.c (resizing_buffer_writer):
5862         * lstream.c (dynarr_writer):
5863         * lstream.c (lisp_buffer_reader):
5864         * lstream.c (lisp_buffer_writer):
5865         * lstream.h:
5866         * lstream.h (lstream_implementation):
5867         * lstream.h (struct lstream):
5868         * md5.c (Fmd5):
5869         * process-nt.c (nt_send_process):
5870         * process-unix.c (unix_send_process):
5871         
5872         Correct Lstream lossage due to mixing of signed and unsigned
5873         quantities.  All Lstream uses of size_t and ssize_t are now a
5874         single signed data type Lstream_data_count.  This fixes problems
5875         under Windows with sending large quantities of data to a process,
5876         and may well fix other subtle bugs.
5877
5878 2001-02-23  Martin Buchholz <martin@xemacs.org>
5879
5880         * XEmacs 21.2.45 "Thelxepeia" is released.
5881
5882 2001-02-21  Martin Buchholz  <martin@xemacs.org>
5883
5884         * lisp-union.h (XSETINT): 
5885         (XSETCHAR):
5886         (XSETOBJ): 
5887         Reverse previous change of 2001-02-06.
5888
5889 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
5890
5891         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
5892         buffers.
5893         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5894         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
5895         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
5896         * regex.c (POS_AS_IN_BUFFER): removed
5897         * regex.c (re_search_2):
5898         * regex.c (re_match_2):
5899         Don't use an offset of 1 when calculating buffer positions, since
5900         `BI_BUF_BEGV' does it already.
5901
5902 2001-02-18  Wim Dumon  <wim@easics.be>
5903
5904         * insdel.c (prepare_to_modify_buffer): Also check for
5905         supersession when clash-detection is enabled. 
5906
5907 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
5908
5909         * regex.c (re_match_2_internal):
5910         Convert temp characters from 'const unsigned char' to 're_char'.
5911         Fix crashing bug with extended characters under mule.
5912         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
5913         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
5914         font-lock, pdump, and new syntax-table code.
5915         * syntax.c (find_start_of_comment):
5916         (find_end_of_comment):
5917         (forward-comment):
5918         Fix crashing bugs involving moving beyond end of buffer.
5919         * syntax.c (find_start_of_comment):
5920         Fixed logic to allow proper detection of cases where the same
5921         character is used to end both a two-char comment start and a
5922         two-char comment end sequence. Fixes `(forward-comment -1)'.
5923         * syntax.c (find_start_of_comment):
5924         Return position just past last comment-end character for all cases
5925         (previously was only done for two-char comment-end sequences).
5926         * syntax.c (forward-comment):
5927         Take value returned from `find_end_of_comment', rather than
5928         incrementing it.
5929         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5930         Properly deal with BUFFERP (syntax_cache.object)
5931
5932 2001-02-17  Martin Buchholz  <martin@xemacs.org>
5933
5934         * alloc.c (Fgarbage_collect): 
5935         * alloc.c (make_bit_vector_from_byte_vector):
5936         -Wsign-compare-correctness.
5937
5938 2001-02-16  Martin Buchholz  <martin@xemacs.org>
5939
5940         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
5941         (XSETCHAR): Likewise.
5942         (XSETOBJ): Likewise.
5943
5944 2001-02-15  Martin Buchholz  <martin@xemacs.org>
5945
5946         * mule-canna.c (canna-func-delete_previous): 
5947         Rename to canna-func-delete-previous.
5948
5949 2001-02-14  Martin Buchholz  <martin@xemacs.org>
5950
5951         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
5952
5953 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
5954
5955         * font-lock.c (find_context): Fix C++ compile errors introduced by
5956         recent patch
5957
5958 2001-02-13  Martin Buchholz  <martin@xemacs.org>
5959
5960         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
5961         pragma, but earlier ones barf on the same pragma.
5962
5963 2001-02-06  Mike Sperber <mike@xemacs.org>
5964
5965         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
5966         `configure-mule-lisp-directory'.
5967
5968 2001-02-12  Martin Buchholz  <martin@xemacs.org>
5969
5970         Make sure dump-id.c is compiled in the same way as other .c's.
5971         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
5972         * dump-id.h: Remove.
5973         * emacs.c: Move dump-id.h into dumper.h.
5974         * dumper.h: Move dump-id.h into dumper.h.
5975         * Makefile.in.in:
5976         Use standard .c.o rule for building dump-id.o.
5977         Remove preprocessor flags from link command.
5978         Add dump-id.o to ${otherobjs} if PDUMP.
5979
5980 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
5981
5982         Port FSF 20.7 syntax table improvements.
5983         * syntax.c.
5984         * syntax.h.
5985
5986         Fixups for new syntax table stuff.
5987         * dired.c: Include syntax.c.
5988         (Fdirectory_files): Initialize regex_match_object and
5989         regex_emacs_buffer.
5990         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
5991         and Fget_char_property.
5992
5993         Use ported FSF 20.7 syntax table improvements.
5994         * font-lock.c.
5995         * regex.c.
5996         * search.c.
5997         
5998 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5999
6000         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6001         Unixware's enum boolean from sys/types.h.
6002
6003 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6004
6005         Fix support for building with latest Purify.
6006         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6007         (PURIFY_FLAGS): Likewise.
6008
6009 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6010
6011         * fileio.c (lisp_string_set_file_times): New.
6012         * fileio.c (Fcopy_file): Use it.
6013         Fixes bug:
6014         (copy-file filename non-ascii-filename t t)
6015         ==> No such file or directory, non-ascii-filename
6016
6017 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6018
6019         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6020         USHRT_MAX seems clearer than ~0 anyways.
6021
6022 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6023
6024         dumper improvements.  Inspired by Olivier.
6025         * dumper.c (pdump_max_align): New.
6026         * dumper.c (pdump_add_entry): Use pdump_max_align.
6027         * dumper.c (pdump_get_entry_list): Likewise.
6028         * dumper.c (pdump_scan_by_alignment): Likewise.
6029         Don't iterate through unnecessary alignments.
6030         * dumper.c (pdump_file_get): No need to align result of malloc().
6031         * dumper.c (pdump_mallocadr): Remove.  
6032         The result of malloc() is guaranteed to be maximally aligned.
6033         * dumper.c: s/elmt/elt/g;
6034         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6035         * dumper.c (pdump_alert_undump_object): Likewise.
6036         * dumper.c (pdump_align_table): 
6037         Don't support alignments > 64.
6038         Store ALIGNOF's, not shift counts, in table.
6039
6040 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6041
6042         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6043         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6044         * systime.h: Use HAVE_UTIME.
6045         * sysdep.c (struct utimbuf): Remove.
6046         * sysdep.c (set_file_times): Prefer utime() to utimes().
6047         * config.h.in (HAVE_UTIME): New.
6048         * config.h.in (HAVE_UTIME_H): Remove.
6049         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6050
6051 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6052
6053         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6054
6055 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6056
6057         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6058
6059 2001-02-08  Martin Buchholz <martin@xemacs.org>
6060
6061         * XEmacs 21.2.44 "Thalia" is released.
6062
6063 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6064
6065         Fixes crashes in kill-emacs on some systems.
6066         * process-unix.c (unix_kill_child_process):
6067         It's OK for kill() to fail with ESRCH.
6068
6069 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6070
6071         Contortions to make .gdbinit tricks work on most systems.
6072         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6073         * alloc.c (dbg_valmask): Make non-const.
6074         * alloc.c (dbg_typemask): Make non-const.
6075         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6076         * alloc.c (dbg_valbits): Make non-const.
6077         * alloc.c (dbg_gctypebits): Make non-const.
6078         * .gdbinit (decode_object): Make it work with AIX cc.
6079
6080 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6081
6082         * elhash.c (make_general_lisp_hash_table):
6083         Use simpler and more efficient calloc to clear entries.
6084
6085 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6086
6087         * window.c (window_scroll): Work around an AIX C compiler bug.
6088         Fixes 'scroll-up' does nothing problem with xlC.
6089
6090 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6091
6092         * .gdbinit: Remove obsolete comment.
6093
6094 2001-01-31  Mike Alexander  <mta@arbortext.com>
6095
6096         * select.c (Fown_selection_internal): Set owned_p for device
6097         method correctly.
6098
6099 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6100
6101         Port to g++ 2.97.
6102         "not" cannot be used as a macro name as it is an operator in C++
6103         * config.h.in: Stop #defining `not'.
6104         * chartab.c (check_category_char): not ==> not_p
6105         * chartab.h: Likewise.
6106         * regex.c (re_match_2_internal): Likewise.
6107
6108 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6109
6110         * lisp-disunion.h: Fix up comments.
6111
6112 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6113
6114         * keymap.c (define_key_check_and_coerce_keysym):
6115         (syms_of_keymap):
6116         Support mouse-6 and mouse-7 bindings in the obvious way.
6117
6118 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6119
6120         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6121
6122 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6123
6124         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6125         Previous patch missed DEFVAR_INT_MAGIC.
6126         Make sure future DEFVAR_foo use correct types.
6127         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6128         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6129         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6130         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6131         * (DEFVAR_INT): Likewise.
6132         * redisplay.c (vertical_clip): Should be of type Fixnum.
6133         * redisplay.c (horizontal_clip): Likewise.
6134         * lisp.h (dump_add_opaque_int): New.
6135         (dump_add_opaque_fixnum): New.
6136
6137 2001-01-29  Andy Piper  <andy@xemacs.org>
6138
6139         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6140         since they can be eval'ed
6141
6142 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6143
6144         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6145         Oops, XEmacs redefines `class'.  Use `typename' instead.
6146
6147 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6148
6149         * dumper.c: Fix C++ compile errors.
6150
6151 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6152
6153         * tparam.c: Use correct prototypes.
6154
6155 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6156
6157         * sysproc.h: #include util.h for NetBSD's openpty.
6158
6159 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6160
6161         More 64-bit correctness.
6162         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6163         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6164         Fix up comments.
6165         This finally finishes the 64-bit SGI port.
6166         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6167         * symbols.c: Fix up comments and type casts.
6168         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6169         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6170         * symeval.h (Fixnum): New type.
6171         * symeval.h (symbol_value_type): Fix up comment.
6172
6173         * commands.h:
6174         * nt.c:
6175         * emacs.c:
6176         * data.c:
6177         * redisplay.c:
6178         * abbrev.c:
6179         * dired-msw.c:
6180         * event-Xt.c:
6181         * eldap.c:
6182         * window.c:
6183         * sound.c:
6184         * event-stream.c:
6185         * eval.c:
6186         * buffer.c:
6187         * mule-canna.c: A million DEFVAR_INTs here...
6188         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6189         * extents.c:
6190         * cmdloop.c:
6191         * lisp.h:
6192         * select-x.c:
6193         * console-x.h:
6194         * event-msw.c:
6195         * mule-wnnfns.c:
6196         * hpplay.c:
6197         * ralloc.c:
6198         * alloc.c:
6199         * keymap.c:
6200         * profile.c:
6201         s/int/Fixnum/g in DEFVAR_INT declarations.
6202
6203 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6204
6205         Port pdump to SGI alignment-sensitive environment.
6206         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6207         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6208         properly aligned.
6209         Define and use aligned reading and writing macros.
6210         Use buffered stdio instead of posix i/o for faster dumping.
6211         Eliminate kludgy 256 byte space for header.
6212         Read and write from dump file using structs for alignment safety.
6213         * dumper.c (pdump_align_stream): New.
6214         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6215         * dumper.c (PDUMP_READ_ALIGNED): New.
6216         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6217         * dumper.c (pdump_static_Lisp_Object): New struct.
6218         * dumper.c (pdump_static_pointer): New struct.
6219         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6220         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6221         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6222         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6223
6224         * dumper.c (pdump_backtrace):
6225         * dumper.c (pdump_get_indirect_count):
6226         * dumper.c (pdump_register_object):
6227         * dumper.c (pdump_register_struct):
6228         * dumper.c (pdump_reloc_one):
6229         * dumper.c (pdump_scan_by_alignment):
6230         * dumper.c (pdump_dump_from_root_struct_ptrs):
6231         * dumper.c (pdump_dump_opaques):
6232         * dumper.c (pdump_dump_rtables):
6233         * dumper.c (pdump_dump_from_root_objects):
6234         * dumper.c (pdump):
6235         * dumper.c (pdump_load_finish):
6236         Use aligned reading and writing.
6237
6238         * dumper.c (pdump_free): Make static.
6239         * dumper.c (pdump_hFile): Likewise.
6240         * dumper.c (pdump_hMap): Likewise.
6241
6242 2001-01-26  Martin Buchholz <martin@xemacs.org>
6243
6244         * XEmacs 21.2.43 "Terspichore" is released.
6245
6246 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6247
6248         Type fiddling for window_config.saved_windows_count
6249         * window.c (struct window_config): 
6250         Make saved_windows_count member unsigned.
6251         * window.c (sizeof_window_config_for_n_windows): 
6252         Make parameter unsigned.
6253         * window.c (mark_window_config):
6254         * window.c (window_config_equal):
6255         * window.c (free_window_configuration):
6256         * window.c (Fset_window_configuration):
6257         * window.c (count_windows):
6258         * window.c (Fcurrent_window_configuration):
6259         * window.c (reinit_vars_of_window):
6260         Update all callers and users.
6261
6262 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6263
6264         Alignment correctness for flexible arrays.
6265         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6266         Make alignment-correct. Add interesting comments.
6267         * alloc.c (size_vector):
6268         * alloc.c (make_vector_internal):
6269         * alloc.c (make_bit_vector_internal):
6270         * alloc.c (sweep_bit_vectors_1):
6271         * fns.c (size_bit_vector):
6272         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6273         * window.c (sizeof_window_config_for_n_windows): 
6274         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6275
6276 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6277
6278         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6279
6280 2001-01-23  Andy Piper  <andy@xemacs.org>
6281
6282         * select.c (Fown_selection_internal): pass owned_p
6283
6284         * select-msw.c (mswindows_own_selection): New Signature.
6285
6286         * console.h (struct console_methods): add owned_p to
6287         _own_selection.
6288
6289         * select-x.c (x_own_selection): pass owned_p
6290         (hack_motif_clipboard_selection): use owned_p
6291         (vars_of_select_x): new variable -
6292         x_selection_strict_motif_ownership.
6293
6294 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6295
6296         * specifier.h (specifier_data_offset): Remove pointless parens.
6297         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6298
6299 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6300
6301         Make Lisp_Object sizeof methods be alignment-correct.
6302         pdump must restore objects to the same alignment as the C compiler
6303         assumes.  It really matters on SGIs.
6304         * lstream.c (aligned_sizeof_lstream): New.
6305         (sizeof_lstream): Use aligned_sizeof_lstream.
6306         (Lstream_new): Likewise.
6307         * opaque.c (aligned_sizeof_opaque): New.
6308         (sizeof_opaque): Use aligned_sizeof_opaque.
6309         (make_opaque): Likewise.
6310         * specifier.c (aligned_sizeof_specifier): New.
6311         (sizeof_specifier): Use aligned_sizeof_specifier.
6312         (make_specifier_internal): Likewise.
6313
6314 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6315
6316         * lstream.h (struct lstream): Use max_align_t for trailing data.
6317         * specifier.h (struct Lisp_Specifier): Likewise.
6318
6319 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6320
6321         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6322         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6323         (CCL_SUSPEND): Likewise.
6324         (CCL_INVALID_CMD): Likewise.
6325         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6326         (ccl_driver): Likewise.
6327         (CCL_WRITE_CHAR): Macro hygiene.
6328         (CCL_WRITE_STRING): Macro hygiene.
6329
6330 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6331
6332         Port "portable" dumper to SunOS 4 and HP-UX.
6333         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6334         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6335         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6336
6337 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6338
6339         * lisp.h (ALIGNOF): A better definition for C++.
6340
6341 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6342
6343         Macro hygiene.
6344         Fix printf warnings: int format, long int arg.
6345         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6346         (PUSH_FAILURE_POINT): Use correct printf formats.
6347         (POP_FAILURE_POINT): Use correct printf formats.  
6348         Use do {...} while (0)
6349
6350 2001-01-20  Martin Buchholz <martin@xemacs.org>
6351
6352         * XEmacs 21.2.42 "Poseidon" is released.
6353
6354 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6355
6356         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6357
6358 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6359
6360         De-kludgify FIXED_TYPE free list frobbing.
6361         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6362         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6363         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6364         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6365         * alloc.c (LRECORD_FREE_P): New.
6366         * alloc.c (MARK_LRECORD_AS_FREE): New.
6367         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6368         * alloc.c (STRUCT_FREE_P): Deleted.
6369         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6370         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6371         * alloc.c (STRING_CHARS_FREE_P): New.
6372         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6373         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6374         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6375         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6376         * alloc.c (resize_string): Use new definitions.
6377         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6378         * alloc.c (verify_string_chars_integrity): Use new definitions.
6379         * alloc.c (compact_string_chars): Use new definitions.
6380         * alloc.c: Update monster comments.
6381         * lrecord.h (lrecord_type): Add some new lrecord types for
6382         alloc.c's use.
6383
6384 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6385
6386         Improve alignment hackery.
6387         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6388         (max_align_t): Moved from opaque.h - general purpose.
6389         (ALIGN_PTR): Use size_t, not long.
6390         * opaque.h (max_align_t): Move to lisp.h.
6391
6392 2001-01-18  Norbert Koch  <nk@LF.net>
6393
6394         * gui.h: Fix and add prototypes to fix build problems.
6395
6396 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6397
6398         temacs is going away, so `dump-temacs' is now a bad name.
6399         * .dbxrc (dump-temacs): Rename to `dmp'.
6400         * .gdbinit (dump-temacs): Rename to `dmp'.
6401
6402 2001-01-17  Andy Piper  <andy@xemacs.org>
6403
6404         * glyphs.c (print_image_instance): comment to make martin happy.
6405
6406         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6407         change.
6408
6409         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6410         activation.
6411         (mswindows_tab_control_redisplay): warning suppression.
6412
6413         * glyphs-widget.c (widget_update): re-write to cope with updated
6414         items.
6415         (widget_instantiate): use new gui_item functions.
6416         (tab_control_update): deleted.
6417         (progress_gauge_update): deleted.
6418         (image_instantiator_progress_guage): take out update reference.
6419         (image_instantiator_tree_view): ditto.
6420         (image_instantiator_tab_control): ditto.
6421
6422         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6423         Right the new way.
6424         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6425         return whether anything was changed.
6426         (update_gui_item_keywords): as it sounds.
6427
6428         * gui.h: declare widget_gui_parse_item_keywords.
6429
6430         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
6431         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
6432
6433 2001-01-17  Martin Buchholz <martin@xemacs.org>
6434
6435         * XEmacs 21.2.41 "Polyhymnia" is released.
6436
6437 2001-01-16  Didier Verna  <didier@xemacs.org>
6438
6439         * glyphs.c (image_instantiate): don't use fallbacks when
6440         instantiating a face's background pixmap by inheritance.
6441
6442 2001-01-14  Mike Sperber <mike@xemacs.org>
6443
6444         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
6445         Conditionalize accordingly.
6446
6447 2001-01-16  Martin Buchholz  <martin@xemacs.org>
6448
6449         * dumper.c (pdump_file_get): Fix a compiler warning.
6450
6451 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6452
6453         Make Purify happy when pdumping.
6454         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
6455         iniitalizing all bits of new lisp object memory.
6456         * symbols.c (Fmake_local_variable): Likewise.
6457         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
6458         * symbols.c (Fdefvaralias): Likewise.
6459         * mule-charset.c (vars_of_mule_charset): Likewise.
6460
6461 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6462         Add the `-nd' flag when running pre-dump operations under the debugger.
6463         * .dbxrc (run-temacs): Add `-nd'.
6464         * .dbxrc (update-elc): Likewise.
6465         * .dbxrc (dump-temacs): Likewise.
6466         * .gdbinit (run-temacs): Likewise.
6467         * .gdbinit (check-temacs): Likewise.
6468         * .gdbinit (update-elc): Likewise.
6469         * .gdbinit (dump-temacs): Likewise.
6470
6471 2001-01-14  Martin Buchholz  <martin@xemacs.org>
6472
6473         Allow building 64-bit executables on AIX with GNU malloc, e.g.
6474         export OBJECT_MODE=64
6475         configure --pdump --use-union-type=no
6476         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
6477         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
6478
6479         * miscplay.c (sndcnv8U_2mono):
6480         Avoid two uses of `++' in the same expression.
6481         Suppresses a GCC warning.
6482
6483 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6484
6485         Make sure future compilers don't miscompile alloc.c.
6486         * alloc.c:
6487         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
6488         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
6489
6490 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6491
6492         * dumper.c: A little post-pdump-rename comment fixup.
6493
6494 2001-01-09  Jerry James  <james@eecs.ku.edu>
6495
6496         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
6497
6498 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6499
6500         * *.[ch]: Globally rename symbols using the following `pdump-rename'
6501         script:
6502         #!/bin/sh
6503         replace_symbol () {
6504           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
6505         }
6506
6507         replace_symbol pdump_wire_lists pdump_weak_object_chains
6508         replace_symbol pdump_wire_list dump_add_weak_object_chain
6509
6510         replace_symbol pdump_wires pdump_root_objects
6511         replace_symbol pdump_wire dump_add_root_object
6512
6513         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
6514         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
6515
6516         replace_symbol dumpstructinfos pdump_root_struct_ptrs
6517         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
6518         replace_symbol dumpstructinfo pdump_root_struct_ptr
6519         replace_symbol dumpstruct dump_add_root_struct_ptr
6520
6521         replace_symbol dumpopaque dump_add_opaque
6522         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
6523         replace_symbol dumpopaqueinfos pdump_opaques
6524         replace_symbol dumpopaqueinfo pdump_opaque
6525
6526         replace_symbol nb_structdump nb_root_struct_ptrs
6527         replace_symbol nb_opaquedump nb_opaques
6528
6529         replace_symbol align_table pdump_align_table
6530         replace_symbol dump_header pdump_header
6531
6532         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
6533         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
6534
6535
6536 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6537
6538         * s/aix4.h: Keep the C for AIX compiler from overaggressively
6539         optimizing bytecount_to_charcount().
6540
6541 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6542
6543         * config.h.in:
6544         (HAVE_DLFCN_H): Removed.
6545         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
6546
6547 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6548
6549         Portable dumper maintainability improvements.
6550         * alloc.c (staticpro):
6551         * alloc.c (staticpro_nodump):
6552         * alloc.c (garbage_collect_1):
6553         * alloc.c (reinit_alloc_once_early):
6554         * alloc.c (init_alloc_once_early):
6555         * alloc.c: Move dumper functions to alloc.c.
6556         * dumper.c (pdump_backtrace):
6557         * dumper.c (pdump_dump_structs):
6558         * dumper.c (pdump_dump_opaques):
6559         * dumper.c (pdump_dump_rtables):
6560         * dumper.c (pdump_dump_wired):
6561         * dumper.c (pdump):
6562         * dumper.c (pdump_load_check):
6563         * dumper.c (pdump_load_finish):
6564         * dumper.c (pdump_file_unmap):
6565         * dumper.c (pdump_file_get):
6566         * dumper.c (pdump_resource_free):
6567         * dumper.c (pdump_resource_get):
6568         * dumper.c (pdump_file_free):
6569         * dumper.c (pdump_file_try):
6570         * dumper.c (pdump_load):
6571         Remove fixed size limits on staticpro(), staticpro_nodump(),
6572         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
6573         Remove custom code for dumping lrecord_implementations_table - use
6574         dumpopaque instead.
6575         Remove (most of the) custom code for dumping staticpros - dump it
6576         like any other dynarr.
6577
6578         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
6579         * dumper.c: Moved functions from alloc.c.
6580         * alloc.c (dumpstruct): Moved to dumper.c.
6581         * alloc.c (dumpopaque): Likewise.
6582         * alloc.c (pdump_wire): Likewise.
6583         * alloc.c (pdump_wire_list): Likewise.
6584
6585         * lisp.h (Dynarr_sizeof): New.
6586         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
6587         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
6588         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
6589
6590         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
6591         * lisp.h (dumpopaque): ditto.
6592         * lisp.h (pdump_wire): ditto.
6593         * lisp.h (pdump_wire_list): ditto.
6594
6595 2001-01-09  Martin Buchholz  <martin@xemacs.org>
6596
6597         * make-src-depend (PrintPatternDeps):
6598         Use `sort' to make output independent of perl version.
6599
6600 2001-01-08  Martin Buchholz  <martin@xemacs.org>
6601
6602         Port to Netbsd 1.5.
6603         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
6604         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
6605
6606 2001-01-03  Didier Verna  <didier@xemacs.org>
6607
6608         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
6609         that `focus_frame' is alive before thinking of calling
6610         `redisplay_redraw_cursor' on it.
6611
6612 2001-01-08  Martin Buchholz <martin@xemacs.org>
6613
6614         * XEmacs 21.2.40 is released.
6615
6616 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6617
6618         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
6619
6620 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6621
6622         * alloc.c (dbg_valmask): Make const.
6623         * alloc.c (dbg_typemask): Make const.
6624         * alloc.c (dbg_USE_UNION_TYPE): Make const.
6625         * alloc.c (dbg_valbits): Make const.
6626         * alloc.c (dbg_gctypebits): Make const.
6627
6628 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
6629
6630         * redisplay-x.c (x_bevel_area):
6631         redisplay.h (struct rune):
6632         Typo fixes in comments.
6633
6634 2001-01-05  Andy Piper  <andy@xemacs.org>
6635
6636         * glyphs-x.c (x_redisplay_widget): use size changed for offset
6637         adjustment.
6638
6639         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
6640
6641 2001-01-05  Martin Buchholz  <martin@xemacs.org>
6642
6643         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
6644
6645         * mule-ccl.c (stack_idx_of_map_multiple):
6646         Non const global data must not be initialized!
6647         Found by MIYASHITA Hisashi.
6648
6649 2001-01-02  Andy Piper  <andy@xemacs.org>
6650
6651         * frame.c (change_frame_size): make sure frame size is always
6652         marked as changed.
6653
6654         * glyphs.c (image_instance_layout): minor code reuse.
6655
6656         * window.c (Fcurrent_window_configuration): revert previous
6657         change.
6658
6659 2001-01-02  Martin Buchholz  <martin@xemacs.org>
6660
6661         * glyphs.h:
6662         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
6663
6664 2000-12-31  Andy Piper  <andy@xemacs.org>
6665
6666         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
6667         when widget gets unmapped.
6668
6669         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
6670         function. Make sure widgets losing focus don't just drop it.
6671         (handle_focus_event_1): record the widget with focus.
6672
6673 2000-12-31  Andy Piper  <andy@xemacs.org>
6674
6675         * window.c (allocate_window): use
6676         make_image_instance_cache_hash_table.
6677         (make_dummy_parent): ditto.
6678         (Fset_window_configuration): ditto.
6679
6680         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
6681
6682         * glyphs.c (process_image_string_instantiator): use
6683         INSTANTIATOR_TYPE.
6684         (get_image_instantiator_governing_domain): ditto.
6685         (normalize_image_instantiator): ditto.
6686         (instantiate_image_instantiator): ditto.
6687         (make_image_instance_1): ditto.
6688         (image_instantiate): ditto. Key on glyph *and* instantiator type.
6689         (instantiator_eq_equal): new function for use with instance hash
6690         tables.
6691         (instantiator_eq_hash): ditto.
6692         (make_image_instance_cache_hash_table): create a suitable hash
6693         table for storing image instances.
6694
6695         * elhash.h (hash_table_weakness): new internal weakness type
6696         HASH_TABLE_KEY_CAR_VALUE_WEAK.
6697         declare new functions.
6698
6699         * elhash.c (finish_marking_weak_hash_tables): introduce yet
6700         another weakness type for glyphs.
6701         (make_standard_lisp_hash_table): new function split out from
6702         make_general_lisp_hash_table.
6703         (make_lisp_hash_table): call make_standard_lisp_hash_table.
6704         (hash_table_instantiate): ditto.
6705         (Fmake_hash_table): ditto.
6706
6707 2000-12-31  Martin Buchholz <martin@xemacs.org>
6708
6709         * XEmacs 21.2.39 is released.
6710
6711 2000-12-29  Andy Piper  <andy@xemacs.org>
6712
6713         * menubar.c (menubar_visible_p_changed): signal the frame changed.
6714
6715         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
6716         the frame has changed so that we pick up geometry changes such as
6717         menubar visibility.
6718
6719 2000-12-28  Andy Piper  <andy@xemacs.org>
6720
6721         * lastfile.c (my_ebss): make a char array so we can pad the
6722         bss. Fixes cygwin unexec.
6723
6724         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
6725
6726 2000-12-26  Andy Piper  <andy@xemacs.org>
6727
6728         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
6729         comments and try and be more precise about a non-/SIGIO world.
6730         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
6731         SIGIO.
6732
6733         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
6734         we don't normalize to zero width or height.
6735
6736 2000-12-24  Andy Piper  <andy@xemacs.org>
6737
6738         * Makefile.in.in (ldflags): add -mwindows when appropriate.
6739
6740 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
6741
6742         * s/sco5.h: SCO 5 has pty support.
6743
6744 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
6745
6746         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
6747         input-method-xlib.c contains whole contents of input-method-xfs.c,
6748         so we can use input-method-xlib.c's code for USE_XFONTSET
6749         using #ifdefs.
6750         * input-method-xfs.c: removed.
6751
6752 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
6753
6754         * file-coding.h (enum coding_category_type): reorder enumerators to
6755         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
6756         (now one greater than largest real coding_category_type enumerator).
6757         * file-coding.c (coding_category_symbol, coding_category_by_priority,
6758         coding_category_system, fcd_descriptihon_1, decode_coding_category,
6759         Fcoding_category_list, Fset_coding_priority_list,
6760         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
6761         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
6762
6763 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6764
6765         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
6766         * redisplay-output.c (redisplay_output_window): Clear top of window
6767         when face is changed.
6768         * redisplay-x.c (x_redraw_exposed_window): Call
6769         redisplay_clear_top_of_window.
6770         * redisplay.h: Publish redisplay_clear_top_of_window.
6771
6772 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6773
6774         * buffer.c (Fkill_buffer): Map over all devices.
6775         * window.c (window_loop): Remove UNSHOW_BUFFER code.
6776         (list_windows): New function.
6777         (list_all_windows): Ditto.
6778         (Freplace_buffer_in_windows): Use them.
6779
6780 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6781
6782         * database.c (berkdb_subtype): Recognize new subtype `queue'.
6783         (Fopen_database): Use `db_create' instead of `db_open'.
6784         (syms_of_database): Initialize Qqueue.
6785
6786 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6787
6788         * buffer.c (common_init_complex_vars_of_buffer): Initialize
6789         buffer_local_face_property.
6790         * buffer.h (struct buffer): New member buffer_local_face_property.
6791         * window.c (Fset_window_buffer):  Mark window's face as changed
6792         when buffer has buffer local face.
6793         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
6794         * objects.c (color_after_change): Set buffer_local_face_property
6795         when locale of face specifier is buffer.
6796         * objects.c (font_after_change): Ditto.
6797         * objects.c (face_boolean_after_change): Ditto.
6798         * glyphs.c (image_after_change): Ditto.
6799
6800 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6801
6802         * nt.c (mswindows_fstat): Report file permissions, volume serial
6803         number, etc. Code adapted from FSF Emacs 20.7.
6804
6805 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6806
6807         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
6808         of stat when we don't have symbolic links, to make sure
6809         mswindows_stat is called on mswindows.
6810
6811 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6812
6813         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
6814
6815 2000-12-12  Martin Buchholz  <martin@xemacs.org>
6816
6817         * doprnt.c (emacs_doprnt_1): More printing fixes.
6818         Make printing of numbers compatible with libc and FSF Emacs.
6819         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
6820         Use the system printf to do most of the hard work of formatting,
6821         instead of doprnt_1().
6822         Calculate memory to allocate for format string.
6823         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
6824         (doprnt_1): Cleaner code and documentation.
6825
6826 2000-12-01  Jerry James  <james@eecs.ukans.edu>
6827
6828         * Makefile.in.in: Use the loop variable to install headers.
6829
6830 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6831
6832         * window.c (Fsplit_window): Don't invalidate face cache.
6833
6834 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6835
6836         * minibuf.c (Fall_completions): Undo the previous change
6837         which removed checking elements start with space.
6838
6839 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6840
6841         * mule-canna.c: Didier suppression.
6842
6843 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6844
6845         * mule-canna.c: rename static unsigned char buf[] to key_buffer
6846         (warning suppression).  Add English comment translations.
6847
6848 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6849
6850         * unexelfsgi.c (unexec): Better test for mmap failure.
6851
6852 2000-12-05  Martin Buchholz <martin@xemacs.org>
6853
6854         * XEmacs 21.2.38 is released.
6855
6856 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6857
6858         * redisplay.c (bar-cursor): Make a user variable.
6859
6860         * symsinit.h: Add init_postgresql_from_environment.
6861
6862 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6863
6864         * regex.c: Convert to clean C.
6865
6866 2000-12-05  Dan Holmsand  <dan@eyebee.com>
6867
6868         * realpath.c:
6869         Don't #include sysfile.h. Revert to duplicating PATH_MAX
6870         initialization.
6871         (sys_readlink): renamed to system_readlink to avoid conflict with
6872         the other sys_readlink.
6873
6874 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
6875
6876         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
6877
6878 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
6879
6880         * postgresql.c (init_postgresql_from_environment): new function.
6881         (vars_of_postgresql): Move code initializing Lisp variables out and
6882         into init_postgresql_from_environment.
6883         emacs.c (main_1): Call init_postgresql_from_environment if and only
6884         if running a dumped XEmacs.
6885
6886 2000-08-31  Dan Holmsand  <dan@eyebee.com>
6887
6888         * buffer.c: Make find-file-compare-truenames default to true on
6889         windows.
6890
6891         * realpath.c (win32_abs_start):
6892         (cygwin_readlink):
6893         (win32_readlink): New functions.
6894         (xrealpath): Return really real filenames on windows.
6895
6896         * fileio.c (Ffile_truename): Make file-truename work on windows.
6897
6898 2000-11-29  Didier Verna  <didier@xemacs.org>
6899
6900         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
6901         * faces.c (update_face_cachel_data): use it.
6902         * faces.c (add_face_cachel): use it. Complete background pixmap
6903         frobbing in face cache if `update_face_cachel_data' has not done so.
6904
6905 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
6906
6907         * search.c (string_match_1): Don't set last_thing_searched
6908         when search failed.
6909
6910 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
6911
6912         * buffer.c: Include casetab.h
6913         (common_init_complex_vars_of_buffer): Use new case-table object.
6914         * buffer.h: Include casetab.h
6915         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
6916         (DOWNCASE_TABLE_OF): Ditto.
6917         * bufslots.h: Remove char-tables and add case-table.
6918         * casetab.c: Include casetab.h
6919         (CASE_TABLE_P): Removed.
6920         (mark_case_table): New function.
6921         (allocate_case_table): New function.
6922         (Fcase_table_p): Use new case-table.
6923         (case_table_char): New function.
6924         (Fget_case_table): Ditto.
6925         (Fput_case_table): Ditto.
6926         (Fput_case_table_pair): Ditto.
6927         (Fcopy_case_table): Ditto.
6928         (Fcurrent_case_table): Return case-table.
6929         (Fstandard_case_table): Return case-table.
6930         (Fset_case_table): Fix doc-string.
6931         (set_case_table): Use case-table
6932         (syms_of_casetab): DEFSUBR new functions.
6933         (complex_vars_of_casetab): Set up standard case-table.
6934         * casetab.h: New file.
6935         * editfns.c: Include casetab.h
6936         (Fcompare_buffer_substrings): Use case-table.
6937         * inline.c: Include casetab.h
6938         * lisp.h: Remove bogus extern.
6939         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
6940         * search.c: Include casetab.h
6941         (TRANSLATE_ASCII): Removed.
6942         (TRANSLATE): Unconditionally translate character.
6943         (looking_at_1): Use case-table.
6944         (string_match_1): Ditto.
6945         (fast_string_match): Ditto.
6946         (search_command): Ditto.
6947         (search_buffer): Separate boyer_moore.  Check whether
6948         boyer_moore is possible.
6949         (simple_search): New function.
6950         (boyer_moore): Separated from search_buffer. Translate char.
6951
6952 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6953
6954         * regex.c (RE_TR_ASCII): Removed.
6955         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
6956         (PATFETCH): Call PATFETCH_RAW.
6957         (PATFETCH_RAW): Fetch Emchar.
6958         (PATUNFETCH): Decrement charptr.
6959         (GET_BUFFER_SPACE): Rename b to buf_end.
6960         (BUF_PUSH): Ditto.
6961         (BUF_PUSH_2): Ditto.
6962         (BUF_PUSH_3): Ditto.
6963         (EXTEND_BUFFER): Ditto.
6964         (SET_LIST_BIT): Ditto.
6965         (regex_compile): Ditto.  Translate non ASCII char.
6966         (compile_range): Ditto.
6967         (re_search_2): Ditto.
6968         (re_match_2_internal): Compare Emchar.
6969         (bcmp_translate): Ditto.
6970
6971 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
6972
6973         * lisp.h (basic char/int typedefs):  comment improvement.
6974
6975 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
6976
6977         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
6978         unstomp inhibit_site_lisp.  Improve comments.
6979
6980 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
6981
6982         * mule-charset.c (Fcharset_property):  improve type checking, comments.
6983
6984 2000-11-28  Andy Piper  <andy@xemacs.org>
6985
6986         * redisplay-output.c (redisplay_output_subwindow): make sure we do
6987         clipped display for windows in the gutter also.
6988         (redisplay_display_boxes_in_window_p): change semantics of return
6989         codes to be more intuitive.
6990
6991         * gutter.h: declare display_boxes_in_gutter_p.
6992
6993         * gutter.c (display_boxes_in_gutter_p): new function for
6994         redisplay.
6995
6996 2000-11-22  Andy Piper  <andy@xemacs.org>
6997
6998         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
6999         autodetect domain.
7000
7001 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7002
7003         * callproc.c (Fold_call_process_internal):
7004         * gpm.c (Freceive_gpm_event):
7005         (tty_get_foreign_selection): Might be just warning supression.
7006         * fileio.c (Fwrite_region_internal):
7007         (Fset_visited_file_modtime):
7008         * keymap.c (event_matches_key_specifier_p):
7009         Initialize GCPROed variable.
7010
7011         * menubar-x.c (command_builder_find_menu_accelerator):
7012         Initialize before use.
7013
7014 2000-11-23  Andy Piper  <andy@xemacs.org>
7015
7016         * unexcw.c (unexec): make the resulting executable executable.
7017
7018 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7019
7020         * doc.c (get_doc_string):
7021         Use size_t, not int, for result of XSTRING_LENGTH.
7022
7023         * cmds.c (Fdelete_char):
7024         * cmds.c (Fpoint_at_eol):
7025         * cmds.c (Fself_insert_command):
7026         Use EMACS_INT, not int, for result of XINT.
7027         Someday, someone will want to insert more than 2**31 identical characters.
7028
7029         * cmds.c (Fdelete_char):
7030         * cmds.c (Fdelete_backward_char):
7031         * syntax.c (Fforward_word):
7032         * syntax.c (Fforward_comment):
7033         Make COUNT argument optional, for consistency with forward-char et al.
7034
7035 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7036
7037         * lisp.h:
7038         * print.c (long_to_string):
7039         Return a useful value: the pointer at end of data written.
7040
7041         * doprnt.c:
7042         Use `static const char * const' for constant strings.
7043         (union printf_arg): Delete `i', `ui' members.
7044         (get_doprnt_args):
7045         (emacs_doprnt_1):
7046         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7047         Do all printf-ing via the `l' specifier.
7048         Use EMACS_INT instead of int.
7049         Optimize.
7050
7051 2000-11-20  Didier Verna  <didier@xemacs.org>
7052
7053         * faces.c (update_face_cachel_data): don't frob the background
7054         pixmap when the window is being created. The face is needed but
7055         does not exist yet.
7056
7057 2000-11-20  Andy Piper  <andy@xemacs.org>
7058
7059         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7060         messing with a debug environment.
7061
7062 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7063
7064         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7065
7066 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7067
7068         * casetab.c (Fcase_table_p): Fix compile error and crash.
7069
7070 2000-11-18  Philip Aston  <philipa@mail.com>
7071
7072         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7073
7074 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7075
7076         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7077         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7078
7079 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7080
7081         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7082         * unexelf.c: Use HAVE_ELF_H.
7083         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7084         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7085         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7086         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7087         for testing.
7088         So this is an unexelfsgi.c from a different line of development.
7089
7090 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7091
7092         * regex.c (RE_TR_ASCII): New function.
7093         (RE_TRANSLATE): Call it.
7094
7095 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7096
7097         * buffer.h (TRT_TABLE_OF): Remove assert.
7098         (IN_TRT_TABLE_DOMAIN): Removed.
7099
7100 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7101
7102         * free-hook.c (log_gcpro):
7103         (show_gcprohist): Add support for GCPRO5.
7104
7105 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7106
7107         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7108
7109 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7110
7111         * symeval.h: Declare flush_all_buffer_local_cache.
7112
7113         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7114         (flush_buffer_local_cache): Added.
7115         (flush_all_buffer_local_cache): Added.
7116
7117         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7118
7119         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7120         (pdump_dump_data): Ditto.
7121         (pdump_reloc_one): Ditto.
7122         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7123         before dumping.
7124
7125
7126 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7127
7128         * buffer.c: Remove if 0'ed entry.
7129         * buffer.h: Rewrite TRT to use char-table.
7130         * bufslots.h: Remove mirror tables.
7131         * casetab.c: Remove mirror tables.
7132         (CASE_TABLE_P): New macro.
7133         (Fcase_table_p): Element of a case table is string or char-table.
7134         (make_mirror_trt_table): Removed.
7135         (set_case_table): Setup char-table from strings for backward
7136         compatibility.
7137         * dired.c (Fdirectory_files):
7138         * dired-msw.c: (mswindows_get_files):
7139         * lisp.h: Change prototype of re_pattern_buffer.
7140         * regex.c: (RE_TRANSLATE): New macro.
7141         (TRANSLATE_P): Ditto.
7142         Change translate to type RE_TRANSLATE_TYPE.
7143         * regex.h: Define RE_TRANSLATE_TYPE
7144         * search.c (TRANSLATE): New macro.
7145         (TRANSLATE_ASCII): New macro.
7146         Translate table is changed to Lisp_Object.
7147         (signal_failure): Inhibit return.
7148
7149 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7150
7151         * device-msw.c:
7152         * eldap.c:
7153         * event-Xt.c:
7154         * event-stream.c:
7155         * print.c:
7156         Do UNGCPRO before return.
7157
7158 2000-11-14  Martin Buchholz <martin@xemacs.org>
7159
7160         * XEmacs 21.2.37 is released.
7161
7162 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7163
7164         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7165         Add comments about discarded return value.
7166
7167 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7168
7169         * callint.c:
7170         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7171
7172 2000-10-27  Andy Piper  <andy@xemacs.org>
7173
7174         * gutter.c (Fset_default_gutter_position): default left and right
7175         gutters to visible.
7176         (calculate_gutter_size): calculate resonable heuristic for left
7177         and right gutter sizes.
7178         (specifier_vars_of_gutter): change left and right gutter sizes to
7179         autodetect.
7180         (calculate_gutter_size_from_display_lines): new function.
7181         (output_gutter): check for resizing on left and right gutters.
7182         (clear_gutter): don't special case top and left gutters.
7183         (specifier_vars_of_gutter): use new signature for
7184         set_specifier_caching.
7185
7186         * glyphs-x.c (x_redisplay_widget): spelling fix.
7187         * glyphs.c (specifier_vars_of_glyphs):
7188         * menubar.c (specifier_vars_of_menubar):
7189         * redisplay.c (specifier_vars_of_redisplay):
7190         * toolbar.c (specifier_vars_of_toolbar):
7191         * window.c (specifier_vars_of_window):
7192         * scrollbar.c (specifier_vars_of_scrollbar):
7193         (complex_vars_of_scrollbar): use new signature for
7194         set_specifier_caching.
7195
7196         * specifier.c (set_specifier_caching): include recompute flag.
7197         (recompute_one_cached_specifier_in_window): always recompute if
7198         flag set.
7199         (recompute_one_cached_specifier_in_frame): ditto.
7200
7201         * specifier.h (struct specifier_caching): add recompute flag.
7202
7203 2000-10-24  Andy Piper  <andy@xemacs.org>
7204
7205         * unexcw.c (copy_executable_and_dump_data_section): add new
7206         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7207         5.0 happy.
7208
7209 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7210
7211         * console-x.h (x_device): New member modifier_release_time.
7212         * event-Xt.c (x_handle_sticky_modifiers):
7213         Bound interval modifier keys are sticky.
7214         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7215         * events.h: extern it.
7216
7217 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7218
7219         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7220
7221 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7222
7223         * event-stream.c (execute_command_event): Preserve current_events
7224         and the like when event is misc-user-event.
7225         Inhibit quit during the call to maybe_echo_keys.
7226
7227 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7228
7229         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7230         symlink when buffer is killed.
7231         (inhibit_clash_detection): New variable.
7232
7233 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7234
7235         * console.c (Fset_input_method): Trigger redisplay on tty.
7236
7237 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7238
7239         * process.c (Fprocess_status): Revert to previous behavior:
7240         (process-status "nosuchprocess") ==> nil
7241
7242 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7243
7244         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7245         Work around another GCC 2.95.2 optimizer bug.
7246
7247 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7248
7249         * process.c (Fget_process): Use LIST_LOOP_2.
7250         (kill_buffer_processes): Use LIST_LOOP_2.
7251
7252         * minibuf.c (Fall_completions):
7253         Delete old non-functional code for FSF fourth argument.
7254
7255         * frame.c (frame_matches_frame_spec):
7256         Renamed from `frame_matches_frametype'.  Update all callers.
7257         (device_matches_device_spec):
7258         Renamed from 'device_matches_console_spec'.  Update all callers.
7259
7260         * doc.c (Fsubstitute_command_keys):
7261         Remove buffer overflow crash.  Small code cleanups.
7262
7263         * casetab.c (check_case_table): Simpler code.
7264
7265         * window.c (Freplace_buffer_in_windows):
7266         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7267         (and similar implementation) as Fdelete_windows_on.
7268         Update all callers.
7269
7270         * alloc.c (Fmake_list):
7271         * alloc.c (make_vector):
7272         * alloc.c (Fmake_vector):
7273         * alloc.c (make_bit_vector):
7274         * alloc.c (Fmake_bit_vector):
7275         * alloc.c (Fbit_vector):
7276         * alloc.c (Fmake_string):
7277         * alloc.c (Fpurecopy):
7278         * alloc.c (Fmemory_limit):
7279         * buffer.c:
7280         * buffer.c (Fget_buffer):
7281         * buffer.c (Fkill_buffer):
7282         * buffer.c (complex_vars_of_buffer):
7283         * bytecode.c (Fcompiled_function_stack_depth):
7284         * callint.c (Fprefix_numeric_value):
7285         * event-stream.c:
7286         * event-stream.c (Fread_key_sequence):
7287         * casetab.c:
7288         * casetab.c (Fcase_table_p):
7289         * casetab.c (check_case_table):
7290         * casetab.c (Fset_case_table):
7291         * casetab.c (Fset_standard_case_table):
7292         * chartab.c:
7293         * chartab.c (Fchar_table_type):
7294         * chartab.c (Freset_char_table):
7295         * chartab.c (Fget_char_table):
7296         * chartab.c (Fget_range_char_table):
7297         * chartab.c (Fput_char_table):
7298         * chartab.c (Fmap_char_table):
7299         * chartab.c (Fcategory_table_p):
7300         * chartab.c (Fcheck_category_at):
7301         * chartab.c (Fchar_in_category_p):
7302         * chartab.c (Fcategory_table):
7303         * chartab.c (Fcopy_category_table):
7304         * chartab.c (Fset_category_table):
7305         * chartab.c (Fcategory_designator_p):
7306         * chartab.c (Fcategory_table_value_p):
7307         * cmds.c (Fdelete_char):
7308         * cmds.c (Fdelete_backward_char):
7309         * cmds.c (Fself_insert_command):
7310         * cmds.c (Fself_insert_internal):
7311         * console.c (Fvalid_console_type_p):
7312         * console.c (Fcdfw_console):
7313         * console.c (Fconsole_type):
7314         * console.c (Fconsole_name):
7315         * console.c (Fconsole_device_list):
7316         * console.c (Fconsole_on_window_system_p):
7317         * data.c:
7318         * data.c (Feq):
7319         * data.c (Fold_eq):
7320         * data.c (Fsubr_interactive):
7321         * data.c (Fchar_to_int):
7322         * data.c (Fint_to_char):
7323         * data.c (Fsetcar):
7324         * data.c (Fsetcdr):
7325         * data.c (Fnumber_to_string):
7326         * data.c (Fstring_to_number):
7327         * data.c (Frem):
7328         * database.c (mark_database):
7329         * database.c (finalize_database):
7330         * database.c (Fdatabase_live_p):
7331         * database.c (Fdatabasep):
7332         * device-x.c (Fx_get_resource):
7333         * device.c (Fdfw_device):
7334         * dired.c:
7335         * dired.c (Ffile_name_completion):
7336         * dired.c (Ffile_name_all_completions):
7337         * dired.c (Fuser_name_completion):
7338         * dired.c (Fuser_name_completion_1):
7339         * dired.c (Fuser_name_all_completions):
7340         * doc.c (Fdocumentation):
7341         * doc.c (Fdocumentation_property):
7342         * doc.c (Fsubstitute_command_keys):
7343         * editfns.c:
7344         * editfns.c (Fchar_to_string):
7345         * editfns.c (Fstring_to_char):
7346         * editfns.c (Ftemp_directory):
7347         * editfns.c (Finsert_char):
7348         * editfns.c (Fbuffer_substring_no_properties):
7349         * editfns.c (Fnarrow_to_region):
7350         * editfns.c (Fchar_equal):
7351         * editfns.c (Fchar_Equal):
7352         * editfns.c (Ftranspose_regions):
7353         * emacs.c (Fdump_emacs):
7354         * eval.c (Fthrow):
7355         * eval.c (Fcommand_execute):
7356         * eval.c (Fautoload):
7357         * eval.c (Fbacktrace):
7358         * eval.c (Fbacktrace_frame):
7359         * events.c:
7360         * events.c (Fcopy_event):
7361         * events.c (Fcharacter_to_event):
7362         * events.c (Fevent_button):
7363         * events.c (Fevent_process):
7364         * extents.c:
7365         * extents.c (Fnext_extent_change):
7366         * extents.c (Fextent_property):
7367         * faces.c (Ffacep):
7368         * faces.c (Fmake_face):
7369         * file-coding.c:
7370         * file-coding.c (Fencode_shift_jis_char):
7371         * file-coding.c (Fencode_big5_char):
7372         * fileio.c (Ffile_name_directory):
7373         * fileio.c (Ffile_name_nondirectory):
7374         * fileio.c (Ffile_name_as_directory):
7375         * fileio.c (Fdirectory_file_name):
7376         * fileio.c (Ffile_truename):
7377         * fileio.c (Fsubstitute_in_file_name):
7378         * fileio.c (Ffile_modes):
7379         * fileio.c (Fset_file_modes):
7380         * fileio.c (Fset_default_file_modes):
7381         * fileio.c (Fverify_visited_file_modtime):
7382         * floatfns.c (Facos):
7383         * floatfns.c (Fasin):
7384         * floatfns.c (Fatan):
7385         * floatfns.c (Fcos):
7386         * floatfns.c (Fsin):
7387         * floatfns.c (Ftan):
7388         * floatfns.c (Fbessel_j0):
7389         * floatfns.c (Fbessel_j1):
7390         * floatfns.c (Fbessel_jn):
7391         * floatfns.c (Fbessel_y0):
7392         * floatfns.c (Fbessel_y1):
7393         * floatfns.c (Fbessel_yn):
7394         * floatfns.c (Ferf):
7395         * floatfns.c (Ferfc):
7396         * floatfns.c (Flog_gamma):
7397         * floatfns.c (Fexp):
7398         * floatfns.c (Fexpt):
7399         * floatfns.c (Flog):
7400         * floatfns.c (Flog10):
7401         * floatfns.c (Fsqrt):
7402         * floatfns.c (Fcube_root):
7403         * floatfns.c (Facosh):
7404         * floatfns.c (Fasinh):
7405         * floatfns.c (Fatanh):
7406         * floatfns.c (Fcosh):
7407         * floatfns.c (Fsinh):
7408         * floatfns.c (Ftanh):
7409         * floatfns.c (Fabs):
7410         * floatfns.c (Ffloat):
7411         * floatfns.c (Flogb):
7412         * floatfns.c (Fceiling):
7413         * floatfns.c (Ffloor):
7414         * floatfns.c (Fround):
7415         * floatfns.c (Ftruncate):
7416         * floatfns.c (Ffceiling):
7417         * floatfns.c (Fffloor):
7418         * floatfns.c (Ffround):
7419         * floatfns.c (Fftruncate):
7420         * fns.c (Fstring_equal):
7421         * fns.c (Fstring_lessp):
7422         * fns.c (concat2):
7423         * fns.c (concat3):
7424         * fns.c (vconcat2):
7425         * fns.c (vconcat3):
7426         * fns.c (Fsubstring):
7427         * fns.c (Fassoc):
7428         * fns.c (Fold_assoc):
7429         * fns.c (assoc_no_quit):
7430         * fns.c (Fassq):
7431         * fns.c (Fold_assq):
7432         * fns.c (assq_no_quit):
7433         * fns.c (Frassoc):
7434         * fns.c (Fold_rassoc):
7435         * fns.c (Frassq):
7436         * fns.c (Fold_rassq):
7437         * fns.c (rassq_no_quit):
7438         * fns.c (Fremassoc):
7439         * fns.c (remassoc_no_quit):
7440         * fns.c (Fremassq):
7441         * fns.c (remassq_no_quit):
7442         * fns.c (Fremrassoc):
7443         * fns.c (Fremrassq):
7444         * fns.c (remrassq_no_quit):
7445         * fns.c (Fsort):
7446         * fns.c (Fplist_get):
7447         * fns.c (Fplist_put):
7448         * fns.c (Fplist_remprop):
7449         * fns.c (Fplist_member):
7450         * fns.c (Flax_plist_get):
7451         * fns.c (Flax_plist_put):
7452         * fns.c (Flax_plist_remprop):
7453         * fns.c (Flax_plist_member):
7454         * fns.c (Fequal):
7455         * fns.c (Fold_equal):
7456         * fns.c (Frequire):
7457         * fns.c (Fbase64_encode_region):
7458         * fns.c (Fbase64_encode_string):
7459         * fns.c (Fbase64_decode_region):
7460         * frame.c:
7461         * frame.c (frame_matches_frame_spec):
7462         * frame.c (device_matches_device_spec):
7463         * frame.c (next_frame):
7464         * frame.c (previous_frame):
7465         * frame.c (Fnext_frame):
7466         * frame.c (Fprevious_frame):
7467         * frame.c (Fframe_property):
7468         * frame.c (Fset_frame_height):
7469         * frame.c (Fset_frame_size):
7470         * frame.h:
7471         * glyphs.c:
7472         * glyphs.c (if):
7473         * glyphs.c (decode_error_behavior_flag):
7474         * glyphs.c (Fmake_image_instance):
7475         * indent.c (Findent_to):
7476         * intl.c (Fignore_defer_gettext):
7477         * keymap.c (Fkeymapp):
7478         * keymap.c (Flookup_key):
7479         * lread.c:
7480         * lread.c (Fload_internal):
7481         * lread.c (Feval_buffer):
7482         * lread.c (Feval_region):
7483         * macros.c (Fexecute_kbd_macro):
7484         * marker.c (set_marker_internal):
7485         * marker.c (Fset_marker):
7486         * marker.c (set_marker_restricted):
7487         * marker.c (Fcopy_marker):
7488         * marker.c (noseeum_copy_marker):
7489         * menubar.c:
7490         * menubar.c (Fpopup_menu):
7491         * minibuf.c:
7492         * mule-charset.c (Fcharset_name):
7493         * mule-charset.c (Fchar_charset):
7494         * mule-charset.c (Fchar_octet):
7495         * mule-charset.c (Fsplit_char):
7496         * mule-wnnfns.c (Fwnn_open):
7497         * mule-wnnfns.c (Fwnn_dict_comment):
7498         * mule-wnnfns.c (Fwnn_quit_henkan):
7499         * mule-wnnfns.c (Fwnn_word_toroku):
7500         * mule-wnnfns.c (Fwnn_word_sakujo):
7501         * mule-wnnfns.c (Fwnn_word_use):
7502         * mule-wnnfns.c (Fwnn_hindo_set):
7503         * objects.c:
7504         * objects.c (Fmake_color_instance):
7505         * objects.c (Fmake_font_instance):
7506         * print.c (Fwrite_char):
7507         * process.c:
7508         * process.c (mark_process):
7509         * process.c (print_process):
7510         * process.c (get_process_from_usid):
7511         * process.c (Fprocessp):
7512         * process.c (Fprocess_live_p):
7513         * process.c (Fget_process):
7514         * process.c (Fget_buffer_process):
7515         * process.c (get_process):
7516         * process.c (Fprocess_id):
7517         * process.c (Fprocess_name):
7518         * process.c (Fprocess_command):
7519         * process.c (init_process_io_handles):
7520         * process.c (start_process_unwind):
7521         * process.c (Fstart_process_internal):
7522         * process.c (Fopen_multicast_group_internal):
7523         * process.c (Fset_process_window_size):
7524         * process.c (read_process_output):
7525         * process.c (send_process):
7526         * process.c (Fprocess_tty_name):
7527         * process.c (Fset_process_buffer):
7528         * process.c (Fprocess_buffer):
7529         * process.c (Fprocess_mark):
7530         * process.c (set_process_filter):
7531         * process.c (Fset_process_filter):
7532         * process.c (Fprocess_filter):
7533         * process.c (Fprocess_send_region):
7534         * process.c (Fprocess_send_string):
7535         * process.c (exec_sentinel):
7536         * process.c (Fset_process_sentinel):
7537         * process.c (Fprocess_sentinel):
7538         * process.c (status_notify):
7539         * process.c (Fprocess_status):
7540         * process.c (Fprocess_exit_status):
7541         * process.c (process_send_signal):
7542         * process.c (Fprocess_send_eof):
7543         * process.c (deactivate_process):
7544         * process.c (remove_process):
7545         * process.c (Fdelete_process):
7546         * process.c (kill_buffer_processes):
7547         * process.c (Fprocess_kill_without_query):
7548         * process.c (Fprocess_kill_without_query_p):
7549         * rangetab.c:
7550         * rangetab.c (Fget_range_table):
7551         * rangetab.c (Fput_range_table):
7552         * rangetab.c (Fremove_range_table):
7553         * rangetab.c (Fclear_range_table):
7554         * search.c:
7555         * search.c (Fskip_chars_forward):
7556         * search.c (Fskip_chars_backward):
7557         * search.c (Fskip_syntax_forward):
7558         * search.c (Fskip_syntax_backward):
7559         * search.c (search_command):
7560         * search.c (Freplace_match):
7561         * search.c (Fregexp_quote):
7562         * select.c (Fown_selection_internal):
7563         * select.c (Fselection_owner_p):
7564         * select.c (Fselection_exists_p):
7565         * select.c (Fget_selection_internal):
7566         * specifier.c:
7567         * symbols.c:
7568         * symbols.c (Fintern):
7569         * symbols.c (Fintern_soft):
7570         * symbols.c (Funintern):
7571         * symbols.c (Fapropos_internal):
7572         * symbols.c (Fset_default):
7573         * syntax.c:
7574         * syntax.c (Fsyntax_table_p):
7575         * syntax.c (Fcopy_syntax_table):
7576         * syntax.c (Fset_syntax_table):
7577         * syntax.c (Fchar_syntax):
7578         * syntax.c (syntax_match):
7579         * syntax.c (Fmatching_paren):
7580         * syntax.c (Fforward_word):
7581         * syntax.c (scan_lists):
7582         * syntax.c (Fscan_lists):
7583         * syntax.c (Fscan_sexps):
7584         * syntax.c (Fparse_partial_sexp):
7585         * toolbar.c (Fcheck_toolbar_button_syntax):
7586         * tooltalk.doc:
7587         * window.c:
7588         * window.c (Fwindowp):
7589         * window.c (Fwindow_live_p):
7590         * window.c (Fwindow_point):
7591         * window.c (Fdelete_window):
7592         * window.c (Fnext_window):
7593         * window.c (Fprevious_window):
7594         * window.c (Fother_window):
7595         * window.c (window_loop):
7596         * window.c (Fget_lru_window):
7597         * window.c (Fsplit_window):
7598         * window.c (Fenlarge_window):
7599         * window.c (Fenlarge_window_pixels):
7600         * window.c (Fshrink_window):
7601         * window.c (Fshrink_window_pixels):
7602         * window.c (change_window_height):
7603         * window.c (Fwindow_configuration_p):
7604         * window.c (Fcurrent_window_configuration):
7605         * window.h:
7606         * casefiddle.c (casify_object):
7607         * casefiddle.c (Fupcase):
7608         * casefiddle.c (Fdowncase):
7609         * casefiddle.c (Fcapitalize):
7610         * casefiddle.c (Fupcase_initials):
7611         * casefiddle.c (casify_region_internal):
7612         * casefiddle.c (casify_region):
7613         * casefiddle.c (Fupcase_region):
7614         * casefiddle.c (Fdowncase_region):
7615         * casefiddle.c (Fcapitalize_region):
7616         * casefiddle.c (Fupcase_initials_region):
7617         * casefiddle.c (Fupcase_word):
7618         * casefiddle.c (Fdowncase_word):
7619         * casefiddle.c (Fcapitalize_word):
7620         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
7621         Replace 0 with '\0' when working with bytes.
7622         Replace initial "(" with "\(" in docstrings.
7623
7624 2000-11-01  Martin Buchholz  <martin@xemacs.org>
7625
7626         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
7627
7628         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
7629
7630 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7631
7632         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
7633
7634 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7635
7636         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
7637         correctly.
7638
7639 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7640
7641         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
7642         (inhibit_auto_save_session): New variable.
7643         (vars_of_fileio): Declare and initialize them.
7644         * fileio.c (Fdo_auto_save): Don't create session file if
7645         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
7646
7647 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7648
7649         * sgiplay.c (play_internal): C++ compilability.
7650         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
7651         * callproc.c (Fold_call_process_internal):
7652         Remove unused vars `env', `first'.
7653         * scrollbar.c (update_scrollbar_instance):
7654         #### unused var `current_window'.
7655         * redisplay-tty.c: Put currently unused vars insert_mode_on,
7656         etc. within #ifdef NOT_YET.
7657         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
7658         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
7659         * specifier.c (specifier_instance):
7660         #### unused var `tag'.
7661         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
7662
7663 2000-10-27  Martin Buchholz  <martin@xemacs.org>
7664
7665         * fns.c (Fbutlast):
7666         * fns.c (list_sort):
7667         * fns.c (Ffillarray):
7668         * fns.c (bytecode_nconc2):
7669         * fns.c (Fnconc):
7670         * fns.c (mapcar1):
7671         * fns.c (Fmapconcat):
7672         Be pedantically 64-bit correct.  For the time when someone will
7673         want to have a list with length > 2**32.
7674
7675         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7676         Work around MIPSpro compiler bug.
7677
7678         * process-unix.c (unix_kill_child_process): Add snarky comment.
7679         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
7680
7681         * config.h.in: Oops, _getpt ==> _getpty
7682
7683 2000-10-26  Martin Buchholz  <martin@xemacs.org>
7684
7685         * config.h.in:
7686         * regex.c:
7687         Use void*, not char*, as return type of alloca().
7688
7689         * alloc.c (free_marker): Side effect inside assert expression!
7690
7691 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
7692
7693         * mule-charset.c (Fset_charset_ccl_program): To check
7694         if the given ccl program is valid, use setup_ccl_program()
7695         instead of CHECK_VECTOR().
7696         (Fmake_charset): Likewise.
7697
7698 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
7699
7700         * faces.c (get_extent_fragment_face_cache_index):
7701         Fix cachel.merged_faces memory leak.
7702
7703 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
7704
7705         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
7706         Reset MSB of octets obtained by DECODE_SJIS
7707         because of the incompatibility with Emacs.
7708         (ccl_driver)<CCL_ENCODE_SJIS>:
7709         Set MSB of octets before passing them to
7710         ENCODE_SJIS because of the incompatibility
7711         with Emacs.
7712
7713 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
7714
7715         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
7716         (DECLARE_LRECORD): Undo the last change.
7717         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
7718
7719 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
7720
7721         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
7722         the implementation to lrecord_implementations_table.
7723
7724 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
7725
7726         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
7727         initial value of `lrecord_type_##c_name' and
7728         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
7729         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
7730         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
7731         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
7732         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
7733
7734 2000-10-17  Martin Buchholz  <martin@xemacs.org>
7735
7736         * miscplay.c (sndcnv8S_2mono):
7737         (sndcnv2monounsigned):
7738         (sndcnvULaw_2linear):
7739         (sndcnv16swap):
7740         Remove implementation-defined behavior.
7741
7742 2000-10-12  Martin Buchholz  <martin@xemacs.org>
7743
7744         * input-method-xlib.c: Warning suppression.
7745
7746 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
7747
7748         * mule-ccl.c: Sync up with Emacs 21.0.90.
7749         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
7750         Do nothing.
7751         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
7752         Likewise.
7753         (ccl_driver[WriteMultibyteChar2]): Bug fix.
7754         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
7755         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
7756         leading char belongs to official 2-dimensional charset.
7757         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
7758         write the given character as is.  Otherwise,
7759         if it is a multibyte char, convert it by
7760         non_ascii_set_charptr_emchar, then write it.
7761         (CCL_WRITE_STRING): Likewise.
7762         (ccl_get_compiled_code): New function.
7763         (setup_ccl_program): When ccl_prog is invalid,
7764         return -1.
7765         (Fregister_code_conversion_map): New function.
7766         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
7767
7768         * mule-ccl.h: Sync up with Emacs 21.0.90.
7769         (Fregister_ccl_program): export it.
7770
7771         * redisplay-msw.c (separate_textual_runs):
7772         If ccl program is not valid, don't do ccl conversion.
7773
7774         * redisplay-x.c (separate_textual_runs): Ditto.
7775
7776         * file-coding.c (Fmake_coding_system):
7777         When type is ccl and value is vector, register it
7778         with a proper symbol.  And checks whether the
7779         given ccl program is valid.
7780         (mule_decode): When calling ccl_driver, if src indicates
7781         NULL pointer, set an empty string instead.
7782         (mule_encode): Likewise.
7783
7784 2000-10-11  Martin Buchholz  <martin@xemacs.org>
7785
7786         The following large batch of changes gets us back to a state of
7787         C++ compilability.  Extbyte is now a char, which means that
7788         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
7789
7790         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
7791
7792         * sound.c (Fplay_sound): Type correctness.
7793
7794         * select-x.c (hack_motif_clipboard_selection): Type correctness.
7795         (x_get_window_property): Type correctness.
7796         (receive_incremental_selection): unsigned char ==> Extbyte
7797         (selection_data_to_lisp_data): unsigned char ==> Extbyte
7798         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
7799         (Fx_store_cutbuffer_internal): Type correctness.
7800
7801         * process-unix.c (try_to_initialize_subtty): Type correctness.
7802
7803         * objects-x.c (x_print_color_instance): Type correctness.
7804         (x_print_font_instance): Type correctness.
7805         (x_list_fonts): SExtbyte ==> Extbyte.
7806         (valid_x_font_name_p): SExtbyte ==> Extbyte.
7807         (x_find_charset_font): SExtbyte ==> Extbyte.
7808         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
7809         (truename_via_XListFonts): SExtbyte ==> Extbyte.
7810         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
7811         Use bufbyte_strcmp.
7812
7813         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
7814         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
7815         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
7816         (BYTE_C0_P): Use bit ops for char-signedness safety.
7817         (BYTE_C1_P): Use bit ops for char-signedness safety.
7818         (CHARSET_BY_LEADING_BYTE):
7819         (CHARSET_BY_ATTRIBUTES):
7820         Always use inline function.
7821         Use type_checking_assert.
7822         Hide chlook.
7823
7824         * mule-charset.c (non_ascii_charptr_copy_char):
7825         Modify to work with both ASCII and non-ASCII characters.
7826         Improve docs and variable names.
7827         Replace over-clever fall-through switch with a simple loop.
7828         (Lstream_get_emchar_1):
7829         Replace over-clever fall-through switch with a simple loop.
7830
7831         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7832         Warning suppression.
7833
7834         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
7835         the return value of Lstream_getc, which could be EOF as well.
7836
7837         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
7838
7839         * lisp.h: Make Extbyte a char, not unsigned char, so that external
7840         APIs can be used on Extbytes without casts.  Risky!
7841         (SExtbyte): Remove.
7842         (UExtbyte): Remove.
7843
7844         * input-method-xlib.c (XIM_init_device):
7845         Use Xlib.h instead of IntrinsicP.h.
7846         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
7847         which will break in X11R7.
7848         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
7849         to call XRegisterIMInstantiateCallback with correct types.
7850
7851         * gui-x.c (button_item_to_widget_value): Type correctness.
7852
7853         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
7854
7855         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
7856         (xbm_instantiate_1): Type correctness.
7857         (BUILD_GLYPH_INST):  Type correctness.
7858
7859         * fileio.c (Fsubstitute_in_file_name): Type correctness.
7860
7861         * file-coding.c:
7862         (decode_coding_sjis):
7863         (decode_coding_big5):
7864         (decode_coding_ucs4):
7865         (decode_coding_utf8):
7866         (decode_coding_iso2022):
7867         (decode_coding_no_conversion):
7868         Make all decoding functions take an Extbyte * arg.
7869         (encode_coding_sjis):
7870         (encode_coding_big5):
7871         (encode_coding_ucs4):
7872         (encode_coding_utf8):
7873         (encode_coding_iso2022):
7874         (encode_coding_no_conversion):
7875         Make all encoding functions take a Bufbyte * arg.
7876         Use size_t instead of unsigned int for memory sizes.
7877         Only cast to unsigned char whenever dereferencing Extbyte *.
7878
7879         * doc.c (unparesseuxify_doc_string): Type correctness.
7880
7881         * console-x.c (split_up_display_spec):
7882         Rewrite without using details of internal string representation.
7883         (x_semi_canonicalize_device_connection): Type correctness.
7884
7885         * config.h.in:
7886         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
7887         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
7888         (HAVE_XFREE386): Removed.
7889
7890         * buffer.h (DEC_CHARPTR): `const' correctness.
7891         (bufbyte_strcmp): New.
7892         (bufbyte_memcmp): New.
7893
7894         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
7895
7896         * buffer.h (XCHAR_OR_CHAR_INT):
7897         Always use inline function.
7898         Remove redundant type checking assert() - XINT will abort quite nicely.
7899
7900 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7901
7902         * search.c (Freplace_match): Set newtext to an empty string.
7903
7904 2000-10-10  Martin Buchholz  <martin@xemacs.org>
7905
7906         * s/decosf1-3.h: Remove #include of stropts.h
7907         * s/ptx.h: Remove #include of stropts.h
7908         * s/usg5-4.h: Remove #include of stropts.h
7909         * sysproc.h:
7910         * config.h.in:
7911         Use stropts.h, not sys/stropts.h.
7912         Use strtio.h, not sys/strtio.h.
7913
7914 2000-10-04  Martin Buchholz <martin@xemacs.org>
7915
7916         * XEmacs 21.2.36 is released.
7917
7918 2000-09-21  Andy Piper  <andy@xemacs.org>
7919
7920         * glyphs-x.c (x_redisplay_widget): make sure non-structural
7921         changes still involve copying the widget tree.
7922         (update_widget_face): make sure a change is register in the widget
7923         tree. Call update_tab_widget_face appropriately.
7924         (update_tab_widget_face): ditto.
7925         (x_tab_control_redisplay): make sure non-structural changes still
7926         involve copying the widget tree.
7927
7928 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
7929
7930         * lread.c (locate_file): Check the path element is non-nil.
7931
7932 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7933
7934         * lisp.h: Warning suppression for SCO compilers.
7935
7936         * redisplay-tty.c (reset_tty_modes): Fix crash.
7937         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
7938
7939 2000-09-27  Martin Buchholz  <martin@xemacs.org>
7940
7941         Big signal/process handling overhaul.  Bugs fixed:
7942         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
7943         M-x comint-kill-subjob should work for both values nil and t of
7944         process-connection-type. It was broken on most platforms.
7945         Testing on Irix and Cygwin still needed.  Other plaforms tested.
7946         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
7947         * process-unix.c: Signal/Process handling overhaul.
7948         (pty_name): make 64 bytes, as `expect' does, for paranoia.
7949         (allocate_pty): Use all available modern methods of allocating
7950         ptys, falling back to old style BSD allocation as a last resort.
7951         Use allegedly more secure Unix98 pty allocation by default.
7952         (allocate_pty_the_old_fashioned_way): New. the last resort.
7953         (unix_create_process): Push ptem, ldterm, ttcompat where
7954         available.  Autoconfiscate.
7955         (try_to_initialize_subtty): New.
7956         (unix_kill_child_process): Proper signal handling for ptys on most
7957         platforms, using special knowledge of AIX, BSD, etc...
7958         (unix_create_process): Always disconnect_controlling_terminal() for
7959         subprocesses, whether using ptys or not.
7960         * process.h: Remove old getpt-dependent PTY code.
7961         * process.c (Fprocess_send_signal): New, obvious generic function.
7962         (decode_signal): New.
7963         (Finterrupt_process):
7964         (Fkill_process):
7965         (Fquit_process):
7966         (Fstop_process):
7967         (Fcontinue_process):
7968         (Fsignal_process): Use decode_signal.
7969         (process_send_signal):
7970         Many docstring corrections.
7971         Allow any signal to be sent to a process object.
7972         * config.h.in: Add symbols for big signal/process overhaul.
7973         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
7974         * sysproc.h: Include process-related headers, where available:
7975         sys/stropts.h sys/strtio.h pty.h libutil.h
7976         * s/irix4-0.h:
7977         * s/irix5-0.h:
7978         * s/cygwin32.h:
7979         * s/gnu.h:
7980         * s/linux.h:
7981         * s/hpux.h:
7982         * s/aix3-1.h:
7983         Remove old S&M pty stuff.
7984         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
7985         * systty.h: Simplify cpp hackery, improve comments.
7986         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
7987
7988         * editfns.c (Fformat_time_string):
7989         Be a little more paranoid with the return value of ctime.
7990
7991         * fileio.c (check_executable):
7992         (check_writable):
7993         Use symbolic constants X_OK, W_OK.
7994
7995         * console-x.c (split_up_display_spec): Fix a warning.
7996
7997 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7998
7999         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8000         * ntproc.c (sys_spawnve): make_string ==> build_string
8001         Small clarity improvements.
8002
8003 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8004
8005         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8006
8007         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8008
8009         * config.h.in (HAVE_STRCASECMP): Remove.
8010
8011 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8012
8013         * redisplay-output.c (redisplay_output_pixmap):
8014         Cleaner and possibly more 64-bit correct code.
8015
8016 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8017
8018         * dumper.c (pdump_load_finish): move restoration of
8019         `noninteractive1' to emacs.c (main_1).
8020         * emacs.c (main_1): protect LISP-visible command-line flags
8021         from pdump_load().
8022
8023 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8024
8025         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8026         DUMP_TARGET instead of literal program names.
8027
8028 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8029
8030         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8031
8032 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8033
8034         * *: Spelling mega-patch
8035
8036 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8037
8038         * fns.c (bad_bad_turtle):
8039         Delete "Eek!" comment, since we fixed the bug to which it refers.
8040
8041 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8042
8043         * alloca.c: Replace REGISTER with register.
8044
8045 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8046
8047         * file-coding.c (ucs_to_char): Use countof.
8048
8049 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8050
8051         * file-coding.c: (ucs_to_char):
8052         (complex_vars_of_file_coding):
8053         Use countof instead of sizeof.
8054         Use CHECK_NATNUM instead of CHECK_INT.
8055
8056         * sysdep.c (strcasecmp): Remove.
8057         * device-x.c (ascii_strcasecmp): New.
8058         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8059         Avoid using non-standard non-portable strcasecmp.
8060
8061 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8062
8063         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8064         * font-lock.c: remove reference to emacsfns.h.
8065         * search.c: small doc improvement.
8066         * event-Xt.c: correct file names in comments.
8067         * console-x.h Correct file names in comments.
8068         * frame.c: Correct file names in comments.
8069         * event-stream.c: remove Energize from comments.
8070
8071 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8072
8073         * symeval.h (DEFERROR_STANDARD):
8074         (DEFERROR):
8075         (DEFSYMBOL):
8076         (DEFSYMBOL_NO_DUMP):
8077         (DEFSYMBOL_MULTIWORD_PREDICATE):
8078         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8079         (DEFKEYWORD):
8080         The construct &##name is not sensible C.
8081         Fixes compilation errors with Unixware native compiler.
8082
8083 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8084
8085         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8086         (next_frame_internal): Removed.  We now just have next_frame.
8087         (next_frame):
8088         Write a simpler and cleaner one-pass algorithm.
8089         Remove called_from_delete_device arg and #ifdefed-out code.
8090         (previous_frame):
8091         Renamed from prev_frame.  Update callers.
8092         Cleaned up to have an analogous implementation to next_frame.
8093         (other_visible_frames_internal): Remove the
8094         called_from_delete_device bogus arg, and hence, remove this
8095         function.  Just use other_visible_frames().
8096
8097         * window.c (Fnext_window):
8098         Prettify docstring.
8099         Since next_frame() is guaranteed to return a frame, remove check
8100         for nil inserted in previous patch.
8101         (Fprevious_window):
8102         Prettify docstring.
8103         Make code look more like Fnext_window.
8104         (window_loop):
8105         Respect the `console' arg when iterating through windows.
8106         Fixes bug: (get-buffer-window buffer t device) not respecting
8107         the `device' arg.
8108         This function needs more work, as others have pointed out.
8109
8110         * frame.h: Rename prev_frame to previous_frame.
8111         device_matches_console_spec no longer takes a `frame' arg.
8112
8113         * s/gnu.h:
8114         * s/linux.h:
8115         * s/hpux.h:
8116         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8117         From "Golubev I. N." <gin@mo.msk.ru>.
8118
8119         * make-src-depend: Fix typo.
8120
8121 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8122
8123         * window.c (Fnext_window):
8124         next_frame() might return nil, not a frame.
8125         Fixes this crash:
8126         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8127
8128         * frame.c (next_frame_internal):
8129         We've passed a frame if we've passed its device.
8130         Fixes this crash:
8131         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8132 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8133
8134 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8135
8136         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8137         Allow option to suppress accelerators in menu/dialog items.
8138         (populate_or_checksum_helper): Pass dialog title through above.
8139
8140 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8141
8142         * event-msw.c (mswindows_key_to_emacs_keysym):
8143         Add "pause" key, fix "menu" key.
8144
8145 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8146
8147         * eval.c (reinit_vars_of_eval):
8148         Increase max_lisp_eval_depth to 1000,
8149         required for thai-xtis.el to byte-compile under some circumstances.
8150
8151 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8152
8153         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8154         From Kenichi Handa.
8155
8156 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8157
8158         * make-src-depend: Make the generated Makefiles smaller.
8159
8160         * s/hpux.h (SETUP_SLAVE_PTY):
8161         Provide a %d in the format string for the errno argument.
8162
8163         * editfns.c (Ftemp_directory):
8164         Warning fix.
8165         Avoid buffer overrun on very long file name.
8166
8167         * input-method-xlib.c (XIM_init_device):
8168         6th parameter of XRegisterIMInstantiateCallback has different
8169         pointer types on different OSes, so simply cast to (void *).
8170
8171         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8172
8173         * sysdll.c (dll_open):
8174         shl_load will hang hard if passed a NULL filename.
8175         Simply return NULL for compatibility with dlopen.
8176         * sysdll.c: Conform to XEmacs coding standards.
8177
8178         * sysdep.c (get_pty_max_bytes):
8179         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8180
8181 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8182
8183         * tooltalk.c: Add #include <syssignal.h>
8184
8185 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8186
8187         * s/hpux.h: Don't use undefined function sigunblock().
8188
8189 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8190
8191         * config.h.in: Add HAVE_BALLOON_HELP.
8192         * emacs.c: Use HAVE_BALLOON_HELP.
8193         * Makefile.in.in (x_objs):
8194         Make Balloon Help conditional on finding shape.h.
8195
8196 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8197
8198         * syntax.c (regex_emacs_buffer_p): New variable.
8199         * syntax.h (regex_emacs_buffer_p): extern.
8200         * search.c (looking_at_1):
8201         (string_match_1):
8202         (fast_string_match):
8203         (search_buffer): Set regex_emacs_buffer_p.
8204         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8205         when before_dot, at_dot, after_dot.
8206
8207 2000-08-23  Andy Piper  <andy@xemacs.org>
8208
8209         * gui-x.c (popup_selection_callback): Only set action_occurred
8210         when we really have an image instance.
8211         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8212
8213 2000-08-23  Andy Piper  <andy@xemacs.org>
8214
8215         * gui-msw.c (mswindows_handle_gui_wm_command): set
8216         action_occurred.
8217         * gui-x.c (popup_selection_callback): ditto.
8218
8219         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8220         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8221         (struct Lisp_Image_Instance): add action_occurred flag.
8222
8223         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8224         (image_instance_changed): ditto.
8225         (reset_frame_subwindow_instance_cache): only unmap windows - do
8226         not remove them from the cache also.
8227
8228         * glyphs-widget.c (tab_control_update): better debug.
8229         (progress_gauge_update): ditto.
8230         (layout_update): ditto.
8231         (layout_instantiate): ditto.
8232         (tab_control_order_only_changed): cope with null pending items.
8233
8234         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8235         debug. Force selection of an item when an action occurred. Cope
8236         with null pending_items.
8237         (mswindows_progress_gauge_redisplay): better debug.
8238         * glyphs-x.c (x_tab_control_redisplay): ditto.
8239
8240         * redisplay.c (redisplay_frame): reset the frame cache if the
8241         frame is garbaged.
8242
8243         * window.c (Fset_window_configuration): potentially re-enable
8244         frame cache reset.
8245         (window_unmap_subwindows): need to finalize instances here since
8246         it is only used in mark_window_as_deleted.
8247
8248 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8249
8250         * nas.c (SndOpenDataForReading):
8251         nas.c (WaveOpenDataForReading):
8252         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8253         Somehow escaped from the 2000-08-14 patch.
8254
8255 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8256
8257         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8258         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8259
8260 2000-08-21  Andy Piper  <andy@xemacs.org>
8261
8262         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8263         window if it is not already displayed.
8264
8265         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8266         it is not already displayed.
8267
8268         * window.c (Fset_window_configuration): don't reset the frame
8269         cache.
8270
8271         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8272         instances from the frame cache if we are actually finalizing them.
8273         (reset_frame_subwindow_instance_cache): reset frame cache only
8274         after unmapping everything.
8275         (map_subwindow): set displayed flag after mapping.
8276
8277 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8278
8279         * data.c (indirect_function):
8280         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8281
8282         * eval.c (function_argcount):
8283         Use original function when signaling errors.
8284
8285 2000-08-18  Andy Piper  <andy@xemacs.org>
8286
8287         * frame.c (delete_frame_internal): use new
8288         free_frame_subwindow_instances name.
8289
8290         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8291         (add_tab_item): make return type correct.
8292         (mswindows_tab_control_instantiate): assert index of tab.
8293         (mswindows_tab_control_redisplay): Re-code to use
8294         gui_item_equal_sans_selected and gui_item_list_find_selected.
8295
8296         * glyphs-widget.c (tab_control_update): Correct comment.
8297
8298         * window.c (window_unmap_subwindows): use new
8299         unmap_subwindow_instance_cache_mapper.
8300         (window_unmap_subwindows_cache_mapper): deleted.
8301         (Fset_window_configuration): comparisons should now be with
8302         EQ. Preserve the subwindow instance cache across configuration
8303         changes.
8304         (allocate_window): ditto.
8305         (make_dummy_parent): ditto.
8306
8307         * glyphs.c (free_frame_subwindow_instances): rename from
8308         free_frame_subwindow_instance_cache. finalize all instances rather
8309         than just those in the display cache.
8310         (finalize_all_subwindow_instances): walk windows unmapping and
8311         finalizing subwindows.
8312         (unmap_subwindow_instance_cache_mapper): moved from
8313         window.c. Allow finalization as well as unmapping.
8314
8315         * gui.c (gui_item_list_find_selected): new function.
8316
8317         * gui.h (gui_item_list_find_selected): declare.
8318
8319         * glyphs-x.c (x_tab_control_redisplay): pick tab
8320         explicitly. Re-code to use gui_item_equal_sans_selected and
8321         gui_item_list_find_selected.
8322
8323         * glyphs-x.h: add lwlib-utils.h
8324
8325         * buffer.c (Frecord_buffer): undo previous change.
8326
8327 2000-08-09  Vin Shelton  <acs@xemacs.org>
8328
8329         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8330         possible.  Create temporary files more securely.  The patch was
8331         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8332         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8333         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8334         for details.
8335
8336 2000-08-07  Ben Wing  <ben@xemacs.org>
8337
8338         * getloadavg.c: remove duplicate (and windows-breaking)
8339         includes of fcntl.h and sys/file.h.
8340
8341         * nt.c: remove duplicate getloadavg() definition.
8342
8343         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8344         encodings.
8345
8346 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8347
8348         * eval.c (function_argcount): If function needs to be autoloaded
8349         actually use the loaded definition.
8350         GCPRO function.
8351
8352 2000-08-05  Ben Wing  <ben@xemacs.org>
8353
8354         * getloadavg.c: add prototype for getloadavg().  remove
8355         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8356         of the code).  remove duplicate header includes.
8357
8358         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8359
8360         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8361         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8362         useful load average.
8363
8364         * alloc.c (reinit_alloc_once_early): removed references to
8365         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8366         the lisp vars are the only things referencing the malloc_sbrk_*
8367         vars, and they were already if 0'd out.  these vars only exist
8368         in the older malloc.c, which is basically unused, and they're
8369         only for informational purposes.
8370
8371         * m\*.h: removed useless VIRT_ADDR_VARIES.
8372
8373         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8374
8375 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8376
8377         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8378         color if the image is a mono pixmap.
8379
8380 2000-07-30  Ben Wing  <ben@xemacs.org>
8381
8382         * Makefile.in.in (release):
8383         Remove stray @.
8384
8385         * buffer.c (directory_is_current_directory):
8386         * dired-msw.c (mswindows_get_files):
8387         * dired.c:
8388         * dired.c (Fdirectory_files):
8389         * dired.c (file_name_completion_stat):
8390         * dired.c (Ffile_attributes):
8391         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8392         preprocessor tricks, to avoid problems on some machines
8393         (e.g. SCO).
8394
8395         * callproc.c (egetenv): GC docs.
8396
8397         * console-msw.h:
8398         * console-msw.h (struct mswindows_dialog_id):
8399         * lrecord.h (lrecord_type):
8400         New object for use with MSW dialogs.
8401
8402         * console.h (struct console_methods):
8403         New enable/disable frame methods, for proper modal dialogs.
8404
8405         * device-msw.c (msprinter_default_printer): Fix to follow
8406         proper Mule conventions.
8407
8408         * device-msw.c:
8409         * device-msw.c (signal_open_printer_error):
8410         * device-msw.c (msprinter_init_device):
8411         * device-msw.c (ensure_not_printing):
8412         * device-msw.c (plist_get_margin):
8413         * device-msw.c (Fmsprinter_select_settings):
8414         * device-msw.c (finalize_devmode):
8415         * device-msw.c (Fmsprinter_settings_despecialize):
8416         * device-msw.c (signal_enum_priner_error):
8417         * extents.c (decode_extent):
8418         * extents.c (decode_map_extents_flags):
8419         * extents.c (decode_extent_at_flag):
8420         * extents.c (Fextent_at):
8421         * extents.c (Fextents_at):
8422         * extents.c (symbol_to_glyph_layout):
8423         [[[[2]]]] Use structured errors.
8424
8425         * dialog-msw.c:
8426         * dialog-msw.c (mswindows_is_dialog_msg):
8427         * dialog-msw.c (mark_mswindows_dialog_id):
8428         * dialog-msw.c (dialog_proc):
8429         * dialog-msw.c (handle_question_dialog_box):
8430         * dialog-msw.c (syms_of_dialog_mswindows):
8431         Define new object to clean up marking; use it as a dialog identifier.
8432         Call new delete-dialog-box-hook.
8433
8434         * dialog-x.c (dbox_selection_callback):
8435         * dialog-x.c (dbox_descriptor_to_widget_value):
8436         * dialog-x.c (x_make_dialog_box_internal):
8437         Call new delete-dialog-box-hook.
8438         Return an id.
8439
8440         * dialog.c:
8441         * dialog.c (syms_of_dialog):
8442         * dialog.c (vars_of_dialog):
8443         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
8444
8445         * eval.c:
8446         * eval.c (signal_call_debugger):
8447         when noninteractive, output stack traces on the console instead
8448         of in a (never-seen) buffer.
8449
8450         * eval.c (signal_type_error):
8451         * eval.c (invalid_argument_2):
8452         * lisp.h:
8453         new funs for use w/structured errors.
8454
8455         * event-Xt.c:
8456         * event-Xt.c (x_to_emacs_keysym):
8457         * event-Xt.c (describe_event):
8458         * event-Xt.c (emacs_Xt_event_handler):
8459         * event-Xt.c (vars_of_event_Xt):
8460         * event-msw.c:
8461         * event-msw.c (mswindows_wnd_proc):
8462         * event-msw.c (vars_of_event_mswindows):
8463         rename {x,mswindows}-debug-events to debug-{}-events for
8464         consistency with other debug-foo variables.
8465
8466         * event-stream.c:
8467         document next-event more clearly.
8468
8469         * fileio.c (Ffile_name_directory):
8470         * fileio.c (Ffile_name_nondirectory):
8471         * fileio.c (Funhandled_file_name_directory):
8472         * fileio.c (file_name_as_directory):
8473         * fileio.c (Ffile_name_as_directory):
8474         * fileio.c (directory_file_name):
8475         * fileio.c (Fdirectory_file_name):
8476         * fileio.c (Fmake_temp_name):
8477         * fileio.c (Ffile_truename):
8478         * fileio.c (Fsubstitute_in_file_name):
8479         * fileio.c (expand_and_dir_to_file):
8480         * fileio.c (barf_or_query_if_file_exists):
8481         * fileio.c (check_executable):
8482         * fileio.c (Ffile_exists_p):
8483         * fileio.c (Ffile_writable_p):
8484         * fileio.c (Ffile_directory_p):
8485         * fileio.c (Ffile_regular_p):
8486         * fileio.c (Ffile_modes):
8487         * fileio.c (Ffile_newer_than_file_p):
8488         * fileio.c (Fverify_visited_file_modtime):
8489         * fileio.c (Fset_visited_file_modtime):
8490         * fileio.c (auto_save_1):
8491         (1). (2).
8492         fix up gcpro's.
8493
8494         * frame-msw.c:
8495         * frame-msw.c (mswindows_init_frame_1):
8496         * frame-msw.c (mswindows_enable_frame):
8497         * frame-msw.c (error_frame_unsizable):
8498         * frame-msw.c (msprinter_init_frame_1):
8499         * frame-msw.c (msprinter_init_frame_3):
8500         * frame-msw.c (console_type_create_frame_mswindows):
8501         (2).
8502         implement new enable/disable frame methods.
8503
8504         * frame-x.c:
8505         * frame-x.c (x_enable_frame):
8506         * frame-x.c (console_type_create_frame_x):
8507         implement new enable/disable frame methods.
8508
8509         * frame.c:
8510         * frame.c (Fdisable_frame):
8511         * frame.c (syms_of_frame):
8512         * frame.h (struct frame):
8513         implement new enable/disable frame methods/functions.
8514
8515         * general-slots.h:
8516         add initial-focus.
8517
8518         * glyphs-msw.c (mswindows_widget_instantiate):
8519         comment that initial-focus should be implemented.
8520
8521         * glyphs-widget.c:
8522         * glyphs-widget.c (check_valid_instantiator):
8523         * glyphs-widget.c (check_valid_orientation):
8524         * glyphs-widget.c (check_valid_tab_orientation):
8525         * glyphs-widget.c (check_valid_justification):
8526         * glyphs-widget.c (check_valid_border):
8527         * glyphs-widget.c (check_valid_callback):
8528         * glyphs-widget.c (check_valid_int_or_function):
8529         * glyphs-widget.c (check_valid_string_or_vector):
8530         * glyphs-widget.c (check_valid_item_list_1):
8531         * glyphs-widget.c (widget_validate):
8532         * glyphs-widget.c (combo_box_validate):
8533         * glyphs-widget.c (widget_instantiate):
8534         * glyphs-widget.c (syms_of_glyphs_widget):
8535         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
8536         * glyphs-widget.c (image_instantiator_combo_box):
8537         * glyphs-widget.c (image_instantiator_scrollbar):
8538         * glyphs-widget.c (image_instantiator_tab_control):
8539         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
8540         (2).
8541         support (unimplemented) keyword initial-focus.
8542         reindent long macros.
8543
8544         * glyphs-x.c (x_redisplay_widget):
8545         * glyphs-x.c (x_button_instantiate):
8546         * glyphs-x.c (x_button_redisplay):
8547         * glyphs-x.c (x_progress_gauge_instantiate):
8548         * glyphs-x.c (x_edit_field_instantiate):
8549         * glyphs-x.c (x_combo_box_instantiate):
8550         * glyphs-x.c (x_tab_control_instantiate):
8551         * glyphs-x.c (x_label_instantiate):
8552         * gui-x.c:
8553         * gui-x.c (button_item_to_widget_value):
8554         * gui-x.c (gui_items_to_widget_values_1):
8555         * gui-x.c (gui_item_children_to_widget_values):
8556         * gui-x.c (gui_items_to_widget_values):
8557         * gui-x.h:
8558         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8559         add new flag to gui-parsing routines to indicate whether
8560         accelerator specs should be supported.
8561
8562         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
8563
8564         * glyphs.h (struct Lisp_Image_Instance):
8565         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
8566         add initial-focus flag.
8567
8568         * gui.c:
8569         * gui.c (syms_of_gui):
8570         * gui.c (vars_of_gui):
8571         clean up menu-no-selection-hook.
8572
8573         * gui.h:
8574         support delete-dialog-box-hook.
8575
8576         * lread.c (Fload_internal):
8577         * lread.c (locate_file_in_directory_mapper):
8578         (1).
8579
8580         * lrecord.h:
8581         * lrecord.h (struct toolbar_button):
8582         * lrecord.h (syms_of_toolbar):
8583         document how to create a new object.
8584
8585         * menubar-msw.c (mswindows_char_is_accelerator):
8586         may be called on frames w/o menus.
8587
8588         * menubar.c (vars_of_menubar):
8589         clean up :filter docs.
8590
8591         * nt.c (readdir):
8592         * ntproc.c:
8593         (1).
8594
8595         * process-nt.c:
8596         * process-nt.c (validate_signal_number):
8597         * process-nt.c (signal_cannot_launch):
8598         * process-nt.c (nt_create_process):
8599         * process-nt.c (nt_send_process):
8600         * process-nt.c (nt_kill_child_process):
8601         * process-nt.c (nt_open_network_stream):
8602         * process-nt.c (syms_of_process_nt):
8603         (2).
8604         delete quote-handling.  call new lisp code that does it better.
8605
8606         * process-unix.c (connect_to_file_descriptor):
8607         * process-unix.c (allocate_pty):
8608         * process-unix.c (unix_send_process):
8609         * process-unix.c (unix_kill_child_process):
8610         * process-unix.c (unix_open_network_stream):
8611         * process-unix.c (unix_open_multicast_group):
8612         (1). (2).
8613
8614         * process.c:
8615         * process.c (Fstart_process_internal):
8616         (2).  need to canonicalize process path even if absolute.
8617
8618         * select-msw.c (symbol_to_ms_cf):
8619         * select-msw.c (ms_cf_to_symbol):
8620         * select-msw.c (cf_is_autofreed):
8621         * select-msw.c (mswindows_destroy_selection):
8622         * select.c:
8623         * select.c (syms_of_select):
8624         * select.h:
8625         support dibv5, fix bugs. (from Mike Alexander)
8626
8627         * select.c (Fget_selection_internal):
8628         * select.c (select_convert_out):
8629
8630         * sysdep.c:
8631         * sysdep.c (xemacs_stat):
8632         renamed.
8633
8634         * sysdep.c (mkdir):
8635         * sysdep.c (rmdir):
8636         but keep original stat() here because we provide encapsulation
8637         around these funs.
8638
8639         * sysfile.h:
8640         * sysfile.h (fstat):
8641         remove stat garbage.
8642
8643         * syswindows.h:
8644         fix X/MSW conflict.
8645         don't include tchar.h.  it's inappropriate because it makes
8646         compile-time distinctions when we want runtime distinctions.
8647         (we provide our own tchar replacements)
8648
8649         * toolbar.c:
8650         use default object printer for toolbar-button.
8651
8652         * unexcw.c:
8653         make sure we don't encapsulate.
8654
8655         * window.c (vars_of_window):
8656         emphasize that temp-buffer-show-hook is obsolete.
8657
8658 2000-08-05  Martin Buchholz  <martin@xemacs.org>
8659
8660         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
8661         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
8662
8663         * events.c (Fevent_timestamp_lessp):
8664         Not 64-bit clean.  Use EMACS_INT, not int.
8665
8666 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
8667
8668         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
8669         unsigned int and changed the last enum to
8670         lrecord_type_last_built_in_type.
8671         (lrecord_implementations_table): changed prototype to know how
8672         long the array is supposed to be.
8673         (lrecord_type_count): new unsigned int to keep track of the
8674         current number of lisp lrecord types.
8675         (DEFINE_EXTERNAL_LRECORD):
8676         (DECLARE_EXTERNAL_LRECORD): Added these two for external
8677         dynamic-modules to declare new lisp types. They are the same
8678         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
8679         int for each new type, and increment lrecord_type_count by 1.
8680
8681         * alloc.c (lrecord_implementations_table): Changed to reference
8682         lrecord_type_last_built_in_type for the size of the array.
8683         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
8684
8685 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8686
8687         * glyphs.h (check_valid_item_list): Renamed from
8688         check_valid_item_list_1.
8689
8690 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
8691
8692         * select.c (Qselect_coerce): New.
8693         * select.c (Vselection_coercion_alist): New.
8694         * select.c (syms_of_select): Declare.
8695         * select.c (get-selection-internal): Use it.
8696         Use the new select-coerce functionality.
8697
8698         * select.c (select_coerce): New.
8699         * select.h (select_coerce): Declare.
8700         New function to coerce one type of data into another.
8701
8702 2000-08-03  Martin Buchholz  <martin@xemacs.org>
8703
8704         * callproc.c (Fcall_process_internal):
8705         (Fcall_process_internal):
8706         * process-unix.c (unix_create_process):
8707         Save and restore the value of errno, so that error messages are accurate.
8708
8709 2000-08-01  Martin Buchholz  <martin@xemacs.org>
8710
8711         * elhash.c (print_hash_table):
8712         Fix printing of hash tables to also use `key-and-value' instead of `t'.
8713         Prettify docstrings and indentation.
8714
8715 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8716
8717         * window.c (Fwindow_pixel_edges): Subtract frame border and
8718         gutter size.
8719
8720 2000-07-31  Andy Piper  <andy@xemacs.org>
8721
8722         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
8723         will acknowledge the change.
8724
8725         * glyphs.h: declare tab_control_order_only_changed.
8726
8727         * glyphs-x.c (x_tab_control_redisplay): use
8728         tab_control_order_only_changed.
8729
8730         * glyphs-widget.c (tab_control_order_only_changed): new function.
8731
8732         * glyphs-msw.c (mswindows_tab_control_redisplay): use
8733         tab_control_order_only_changed.
8734
8735         * gui.c (gui_item_equal_sans_selected): new function.
8736         (gui_item_equal): use it.
8737
8738         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
8739         :properties in favor of :items..
8740
8741         * glyphs-widget.c (check_valid_item_list): rename from
8742         check_valid_item_list_1.
8743         (check_valid_item_list_1): renamed.
8744         (combo_box_validate): deprecate :properties in favor of :items.
8745         (widget_instantiate): ditto.
8746         (tab_control_update): ditto.
8747         (image_instantiator_combo_box): ditto.
8748         (image_instantiator_tree_view): ditto.
8749         (image_instantiator_tab_control): ditto.
8750         (layout_post_instantiate): remove dead code.
8751
8752         * print.c (debug_print_no_newline): only write to debugger if in
8753         WIN32_NATIVE.
8754
8755         * elhash.c (Fmake_hash_table): update doc string.
8756
8757         * event-msw.c (mswindows_wnd_proc): don't allow processing of
8758         messages whilst in GC. This at least stops XEmacs crashing but has
8759         the potential for wierd behaviour.
8760
8761 2000-07-31  Martin Buchholz  <martin@xemacs.org>
8762
8763         * config.h.in:
8764         Make existence of s&m files optional.
8765
8766         * s/bsd386.h: Remove HAVE_GETLOADAVG.
8767         * s/freebsd.h: Remove HAVE_GETLOADAVG.
8768         * s/gnu.h: Remove HAVE_GETLOADAVG.
8769         * s/netbsd.h: Remove HAVE_GETLOADAVG.
8770         * s/sol2.h: Remove HAVE_GETLOADAVG.
8771         * lisp.h: Remove getloadavg() declaration.
8772         * fns.c:
8773         Include <sys/loadavg.h> if available.
8774         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
8775         * config.h.in:  Group together getloadavg()-related macros.
8776         Use only configure-time tests to detect getloadavg().
8777
8778 2000-07-30  Martin Buchholz  <martin@xemacs.org>
8779
8780         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
8781
8782 2000-07-25  Andy Piper  <andy@xemacs.org>
8783
8784         * syswindows.h: add tchar.h for native builds.
8785
8786         * frame.c (syms_of_frame): remove set-glyph-image.
8787
8788         * general-slots.h: add Qset_glyph_image.
8789
8790         * glyphs-widget.c (layout_update): add domain arg to
8791         set-glyph-image.
8792         (syms_of_glyphs_widget): remove set-glyph-image.
8793
8794 2000-07-23  Ben Wing  <ben@xemacs.org>
8795
8796         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
8797         Vpopup_frame_list.
8798
8799 2000-07-22  Andy Piper  <andy@xemacs.org>
8800
8801         * symsinit.h: add syms_of_win32().
8802
8803         * gui-msw.c (syms_of_gui_mswindows): remove
8804         Fmswindows_shell_execute.
8805         (Fmswindows_shell_execute): moved to win32.c.
8806
8807         * emacs.c (main_1): add syms_of_win32 ().
8808
8809         * win32.c (init_potentially_nonexistent_functions): rewrite in
8810         compiler-friendly terms.
8811         (Fmswindows_shell_execute): move here from gui-msw.c.
8812         (syms_of_win32): new.
8813
8814         * device-msw.c (Fmswindows_printer_list): clean up args to
8815         EnumPrinters.
8816         Don't include tchar under cygwin or mingw.
8817         (msprinter_default_printer): make cygwin-friendly.
8818
8819 2000-07-21  Andy Piper  <andy@xemacs.org>
8820
8821         * glyphs-widget.c (image_instantiator_tree_view): use tab
8822         control's update function.
8823         (layout_property): new function. Retrieve items.
8824
8825         * glyphs-msw.c (mswindows_tree_view_redisplay): new
8826         function. Re-populate the tree view from the pending items.
8827
8828         * glyphs.c (instantiate_image_instantiator): Make sure the domain
8829         is designated the parent if the domain is an image instance. This
8830         is needed so that dirtiness can be cascade up the hierarchy and
8831         thus for layout children to be redisplayed correctly.
8832         (allocate_image_instance): rename glyph -> parent.
8833
8834         * redisplay.h: change redisplay_output_layout signature.
8835
8836         * redisplay-msw.c (mswindows_output_display_block): use domain
8837         arg.
8838
8839         * redisplay-x.c (x_output_display_block): use domain arg.
8840
8841 2000-07-10  Andy Piper  <andy@xemacs.org>
8842
8843         * window.c (Fset_window_configuration): add comment.
8844
8845         * redisplay-output.c (compare_runes):
8846         (redisplay_output_subwindow): redisplay rather than update subwindow.
8847         (redisplay_output_layout): ditto.
8848
8849         * redisplay-msw.c (mswindows_frame_output_end):
8850         (mswindows_frame_output_end): make defer window pos optional.
8851
8852         * lisp.h: add Flast.
8853
8854         * glyphs.h (struct image_instantiator_methods): add dest_mask top
8855         normalize method. Change update method to be for changed
8856         instantiators. Add redisplay method. Change signature of layout
8857         method.
8858         (struct Lisp_Image_Instance): add instantiator.
8859         (IMAGE_INSTANCE_INSTANTIATOR): new.
8860         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
8861         (XIMAGE_INSTANCE_INSTANTIATOR): new.
8862         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
8863
8864         * glyphs.c:
8865         (find_instantiator_differences): new function.
8866         (Fset_instantiator_property): new convenience function.
8867         (check_image_instance_structure): strictly check for vector
8868         instantiators.
8869         (normalize_image_instantiator): make non-static.
8870         (instantiate_image_instantiator): pass on dest_mask and use new
8871         signatures for image_instance_layout and friends.
8872         (mark_image_instance): mark the instantiator. Mark the subwindow
8873         face not the widget face.
8874         (image_instance_equal): add instantiator.
8875         (image_instance_hash): ditto.
8876         (allocate_image_instance): ditto.
8877         (Fset_image_instance_property): removed.
8878         (Fimage_instance_file_name): ditto.
8879         (Fcolorize_image_instance): ditto.
8880         (image_instance_layout): add offsets to be set.
8881         (update_image_instance): new function. update an image instance
8882         from its changed instantiator.
8883         (inherit_normalize): add dest_mask.
8884         (xbm_normalize): ditto.
8885         (xface_normalize): ditto.
8886         (xpm_normalize): ditto.
8887         (text_update): set_property -> update.
8888         (image_instantiate): use the glyph identity as a hash key, not the
8889         instantiator.
8890         (glyph_width): use new image_instance_layout signature.
8891         (glyph_ascent): ditto.
8892         (glyph_descent): ditto.
8893         (glyph_height): ditto.
8894         (glyph_query_geometry): ressurrect.
8895         (glyph_layout): ditto.
8896         (redisplay_subwindow): update -> redisplay.
8897         (syms_of_glyphs): add Fset_instantiator_property.
8898         (image_instantiator_format_create): set_property -> update.
8899
8900         * glyphs-x.c:
8901         (autodetect_normalize): add dest_maks to signature.
8902         (x_redisplay_subwindow): update -> redisplay.
8903         (x_redisplay_widget): ditto.
8904         (x_button_redisplay): ditto.
8905         (x_progress_gauge_redisplay): ditto.
8906         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
8907         stacking order.
8908         (console_type_create_glyphs_x): update -> redisplay.
8909         (image_instantiator_format_create_glyphs_x): ditto.
8910
8911         * glyphs-widget.c:
8912         (check_valid_instantiator): disallow glyphs in the instantiator,
8913         they must now be vectors.
8914         (check_valid_instantiator_list): ditto.
8915         (glyph_instantiator_to_glyph): use internal symbol rather than
8916         intern.
8917         (widget_update): renamed from widget_set_property. Call cascaded
8918         update methods.
8919         (redisplay_widget): renamed from update_widget.
8920         (widget_layout): image_instance_layout now takes position as well
8921         as size.
8922         (widget_normalize): ditto.
8923         (widget_instantiate): ditto.
8924         (tab_control_query_geometry) ditto.:
8925         (tab_control_update): renamed from tab_control_set_property.
8926         (progress_gauge_update): set_property -> update.
8927         (layout_normalize): rewrite so that child instantiators are
8928         normalized also.
8929         (layout_update): new function. Create glyphs from the normalized
8930         children and cope with any other layout keywords. We do not
8931         instantiate children here that will be take care of by
8932         redisplay_output_layout.
8933         (layout_instantiate): call layout_update and not much else.
8934         (layout_post_instantiate): not sure whether this is needed
8935         anymore.
8936         (layout_query_geometry): query glyph geometry rather than
8937         image_instance geometry.
8938         (layout_layout): set offsets from pass in parameters. Use glyph
8939         geometry and layout functions rather than image instance ones.
8940         (native_layout_layout): ditto.
8941         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
8942         (image_instantiator_widget): set_property -> update.
8943         (image_instantiator_buttons): ditto.
8944         (image_instantiator_progress_guage): ditto.
8945         (image_instantiator_tab_control): ditto.
8946         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
8947         (image_instantiator_layout): add update method.
8948
8949         * glyphs-msw.c (bmp_normalize):
8950         (mswindows_resource_normalize): add dest_mask so that it can be
8951         proprogated by layout_normalize.
8952         (begin_defer_window_pos): make optional because it may not be the
8953         right thing to do and it introduces differences with X.
8954         (mswindows_unmap_subwindow): ditto.
8955         (mswindows_map_subwindow): ditto.
8956         (mswindows_redisplay_subwindow): renamed from
8957         mswindows_update_subwindow.
8958         (mswindows_redisplay_widget): ditto.
8959         (mswindows_button_redisplay): renamed from
8960         mswindows_button_update. Update is now what the instantiation
8961         function does for a changed instantiator.
8962         (mswindows_progress_gauge_instantiate): set the progress value
8963         here if appropriate.
8964         (mswindows_tab_control_redisplay): cope with re-ordering of the
8965         members of the tab widget by simply selecting the new top
8966         widget. This makes things appear ok if you click on a tab.
8967         (mswindows_combo_box_instantiate): image_instance_layout now takes
8968         position as well as size.
8969         (mswindows_progress_gauge_redisplay): renamed from
8970         mswindows_progress_gauge_update.
8971         (console_type_create_glyphs_mswindows): fix update -> redisplay.
8972         (image_instantiator_format_create_glyphs_mswindows): ditto.
8973
8974         * glyphs-eimage.c (jpeg_normalize):
8975         (gif_normalize):
8976         (png_normalize):
8977         (tiff_normalize): add dest_mask so that it can be proprogated by
8978         layout_normalize.
8979
8980         * elhash.c:
8981         (print_hash_table):
8982         (hash_table_weakness_validate):
8983         (decode_hash_table_weakness):
8984         (Fhash_table_weakness):
8985         (Fhash_table_type):
8986         (syms_of_elhash): use Ben's naming scheme for hashtable types..
8987
8988         * console.h (struct console_methods): move update_* to
8989         redisplay_*.
8990
8991 2000-07-20  Ben Wing  <ben@xemacs.org>
8992
8993         * *.[ch] (XSETOBJ): remove unused middle argument.
8994         lisp-disunion.h: correct wrap_object() to one argument.
8995
8996 2000-07-15  Ben Wing  <ben@xemacs.org>
8997
8998         * s/cygwin32.h:
8999         * s/cygwin32.h (CYGWIN_CONV_PATH):
9000         Add missing logb prototype for v1.1.
9001         Use post-b20 names and alias to pre-b20 names when pre-b20.
9002
9003         * s/windowsnt.h: [5].
9004
9005 2000-07-15  Ben Wing  <ben@xemacs.org>
9006
9007         * Makefile.in.in (x_objs):
9008         * Makefile.in.in (sheap_objs):
9009         * Makefile.in.in (objs):
9010         added win32.o, cosmetic cleanups.
9011
9012         * alloc.c (Fmake_byte_code):
9013         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9014         etc. macros which declare their own args now.
9015
9016         * alloc.c (syms_of_alloc):
9017         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9018
9019         * buffer.c:
9020         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9021
9022         * buffer.c (Fget_file_buffer):
9023         Fixed GCPRO problem.
9024
9025         * buffer.c (get_truename_buffer):
9026         Fixed comment about GC checking.
9027
9028         * buffer.c (syms_of_buffer):
9029         Undeclared those dedicated frame funs.
9030         [2].
9031
9032         * buffer.h:
9033         Define convenience macros for internal/external conversions.
9034         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9035         and Qenvironment_variable_encoding for cleaner code.
9036
9037         * bufslots.h:
9038         Remove dedicated-frame; in lisp.
9039
9040         * bytecode.c (funcall_compiled_function):
9041         [1].
9042
9043         * bytecode.c (syms_of_bytecode):
9044         [2].
9045
9046         * console-msw.c:
9047         * console-msw.c (mswindows_show_console): Rewrote.
9048
9049         * console-msw.c (Fmswindows_debugging_output): New.
9050         Sends to OutputDebugString (special MSWin debugger interface).
9051
9052         * console-msw.c (Fmswindows_message_box):
9053         Fixed stupid bugs so it works when called from kill-emacs.
9054
9055         * console-msw.c (syms_of_console_mswindows):
9056         Declare Fmswindows_debugging_output.
9057
9058         * console-msw.h:
9059         New MSWin prototypes.
9060
9061         * console-msw.h (struct mswindows_frame):
9062         New entry last-click-mods for improved button-modifier support.
9063
9064         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9065         New struct entry `popup' with corresponding accessor.
9066
9067         * console-x.c:
9068         * console-x.c (split_up_display_spec):
9069         * console-x.c (get_display_arg_connection):
9070         * console-x.c (x_semi_canonicalize_console_connection):
9071         * console-x.c (x_canonicalize_device_connection):
9072         [[[6]]]: Change char to more specific type.
9073         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9074
9075         * console-x.c (x_semi_canonicalize_console_connection):
9076         * console-x.c (x_canonicalize_device_connection):
9077         [[[9]]]: Fix up error signalling to use new structured error system.
9078
9079         * console-x.h:
9080         [[[4]]]: Define codesys aliases:
9081         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9082         Qx_color_name_encoding, Qx_display_name_encoding.
9083
9084         * console.h (struct console_methods):
9085         New method make_dialog_box_internal supersedes older
9086         popup_dialog_box method.
9087
9088         * data.c:
9089         Define many new errors, part of new structured errors.
9090
9091         * data.c (init_errors_once_early):
9092         * data.c (syms_of_data):
9093         [2].
9094
9095         * device-msw.c (mswindows_init_device):
9096         [[[5]]]: Cleanup to support NT 3.51.
9097
9098         * device-msw.c (decode_devmode): Cleanup.
9099
9100         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9101         * device-msw.c (mswindows_handle_print_dialog_box):
9102         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9103         * device-msw.c (syms_of_device_mswindows):
9104         Delete the dialog box primitives recently introduced by Kirill and
9105         instead interface to general dialog box interface.
9106
9107         * device-x.c:
9108         * device-x.c (compute_x_app_name):
9109         * device-x.c (x_init_device):
9110         * device-x.c (Fx_valid_keysym_name_p):
9111         * device-x.c (Fx_set_font_path):
9112         [6].
9113         [7].
9114
9115         * device.h (wrap_device): New.
9116         First of its kind; meant to replace XSETDEVICE.
9117
9118         * dialog-msw.c: Many file-dialog symbols.
9119
9120         * dialog-msw.c (mswindows_register_popup_frame): New.
9121         * dialog-msw.c (mswindows_is_dialog_msg): New.
9122         For supporting kbd traversal in dialog boxes.
9123
9124         * dialog-msw.c (dialog_proc):
9125         Support hitting ESC in dialogs.
9126
9127         * dialog-msw.c (struct):
9128         Common dialog box errors.
9129
9130         * dialog-msw.c (handle_file_dialog_box): New.
9131         Add file dialog code.
9132
9133         * dialog-msw.c (handle_question_dialog_box):
9134         Redo existing code to support new question dialog syntax.
9135
9136         * dialog-msw.c (console_type_create_dialog_mswindows):
9137         We support new dialog console method.
9138
9139         * dialog-msw.c (syms_of_dialog_mswindows):
9140         * dialog-msw.c (vars_of_dialog_mswindows):
9141         New file dialog symbols, vars.
9142
9143         * dialog-x.c:
9144         * dialog-x.c (maybe_run_dbox_text_callback):
9145         * dialog-x.c (dbox_descriptor_to_widget_value):
9146         * dialog-x.c (x_make_dialog_box_internal):
9147         * dialog-x.c (console_type_create_dialog_x):
9148         Mule-ize entire file.
9149         Redo to support question dialog syntax.
9150         [6].
9151
9152         * dialog.c:
9153         * dialog.c (Fmake_dialog_box_internal):
9154         * dialog.c (syms_of_dialog):
9155         Kill old popup-dialog-box, replace with new primitive.
9156         Just call device method or signal error.
9157
9158         * eldap.c (Fldap_open):
9159         * eldap.c (Fldap_search_basic):
9160         * eldap.c (Fldap_add):
9161         * eldap.c (Fldap_modify):
9162         [1].
9163         [7].
9164
9165         * emacs.c:
9166         * emacs.c (make_arg_list_1):
9167         * emacs.c (make_arg_list):
9168         Mule-ize call to dll_init().
9169         [6].
9170         [8].
9171
9172         * emacs.c (make_argc_argv):
9173         * emacs.c (free_argc_argv):
9174         * emacs.c (init_cmdargs):
9175         * emacs.c (main_1):
9176         * emacs.c (Fkill_emacs):
9177         * emacs.c (Fdump_emacs):
9178         Update comments about what can be used in syms_* etc.
9179         Call init_win32() when necessary.
9180         Fix up MS Win dialog box in kill-buffer to actually work right.
9181         [7].
9182
9183         * eval.c:
9184         * eval.c (For):
9185         * eval.c (Fand):
9186         * eval.c (Fprogn):
9187         * eval.c (Fprog1):
9188         * eval.c (Fprog2):
9189         * eval.c (FletX):
9190         * eval.c (Flet):
9191         * eval.c (condition_case_3):
9192         * eval.c (Feval):
9193         * eval.c (function_argcount):
9194         * eval.c (funcall_lambda):
9195         [1].
9196
9197         * eval.c (type_error): New.
9198         * eval.c (maybe_type_error): New.
9199         * eval.c (continuable_type_error): New.
9200         * eval.c (maybe_continuable_type_error): New.
9201         * eval.c (type_error_with_frob): New.
9202         * eval.c (maybe_type_error_with_frob): New.
9203         * eval.c (continuable_type_error_with_frob): New.
9204         * eval.c (maybe_continuable_type_error_with_frob): New.
9205         New functions for use with structured errors.
9206
9207         * event-Xt.c:
9208         * event-Xt.c (x_event_to_emacs_event):
9209         Buttons are now modifiers too.
9210
9211         * event-Xt.c (emacs_Xt_current_event_timestamp):
9212         Implement new event method.
9213         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9214
9215         * event-msw.c:
9216         * event-msw.c (ntpipe_shove_writer): [5].
9217         * event-msw.c (mswindows_enqueue_mouse_button_event):
9218         * event-msw.c (mswindows_drain_windows_queue):
9219         * event-msw.c (mswindows_wnd_proc): [7].
9220         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9221         * event-msw.c (mswindows_modifier_state):
9222         Throughout: support new button modifiers.
9223
9224         * event-msw.c (emacs_mswindows_current_event_timestamp):
9225         Implement new event method.
9226         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9227
9228         * event-stream.c:
9229         * event-stream.c (event_stream_current_event_timestamp): New.
9230         * event-stream.c (maybe_kbd_translate): New functionality.
9231         * event-stream.c (vars_of_event_stream):
9232         Document new kbd-translate-table functionality.
9233
9234         * event-stream.c (Fcurrent_event_timestamp): New.
9235         New primitive for use in fabricated events.
9236         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9237
9238         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9239
9240         * events.c:
9241         * events.c (Fmake_event):
9242         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9243         [1].
9244         [9].
9245
9246         * events.c (format_event_object): fix gcc warnings.
9247
9248         * events.c (Fevent_timestamp): Document new primitives.
9249
9250         * events.c (TIMESTAMP_HALFSPACE): New.
9251
9252         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9253         comparing timestamps correctly (half-space algorithm).
9254
9255         * events.c (Fevent_modifier_bits): Doc fix.
9256
9257         * events.c (Fevent_modifiers): Major doc addition.
9258         * events.c (event_x_y_pixel_internal): Typo fix.
9259         * events.c (syms_of_events): Declare new primitives.
9260
9261         * events.h:
9262         Update long comment for button modifiers, timestamps.
9263
9264         * events.h (struct event_stream):
9265         New current_event_timestamp method.
9266
9267         * extents.c:
9268         * extents.c (extent_in_region_p):
9269         * extents.c (decode_extent):
9270         * extents.c (Fset_extent_parent):
9271         * extents.c (decode_map_extents_flags):
9272         Fix gcc warnings.
9273         [9].
9274
9275         * extents.c (struct extent_at_arg):
9276         * extents.c (decode_extent_at_flag):
9277         * extents.c (extent_at_mapper):
9278         * extents.c (extent_at_bytind):
9279         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9280         * extents.c (Fextents_at): New primitive. [9].
9281         * extents.c (symbol_to_glyph_layout): [9].
9282         Support new primitive `extents-at'.
9283
9284
9285         * extents.c (get_text_property_bytind):
9286         extent_at_bytind has another arg.
9287         [9].
9288
9289         * extents.c (syms_of_extents): New primitive.
9290
9291         * file-coding.c (Fmake_coding_system): [1].
9292         * file-coding.c (subsidiary_coding_system): fix gcc warning
9293         * file-coding.c (syms_of_file_coding): [2].
9294
9295         * fileio.c (Fexpand_file_name):
9296         * fileio.c (Fsysnetunam):
9297         * fileio.c (Ffile_exists_p):
9298         * fileio.c (Ffile_executable_p):
9299         * fileio.c (Fverify_visited_file_modtime):
9300         Clean up GCPROing.
9301
9302         * fileio.c (syms_of_fileio): [2].
9303
9304         * filelock.c (lock_file_1):
9305         * filelock.c (current_lock_owner):
9306         * filelock.c (lock_if_free):
9307         * filelock.c (lock_file):
9308         * filelock.c (unlock_file):
9309         Clean up GCPROing.
9310
9311         * fns.c (concat): Fix gcc warning.
9312
9313         * fns.c (Fmember):
9314         * fns.c (Fold_member):
9315         * fns.c (Fmemq):
9316         * fns.c (Fold_memq):
9317         * fns.c (memq_no_quit):
9318         * fns.c (Fassoc):
9319         * fns.c (Fold_assoc):
9320         * fns.c (Fassq):
9321         * fns.c (Fold_assq):
9322         * fns.c (assq_no_quit):
9323         * fns.c (Frassoc):
9324         * fns.c (Fold_rassoc):
9325         * fns.c (Frassq):
9326         * fns.c (Fold_rassq):
9327         * fns.c (rassq_no_quit):
9328         * fns.c (Fdelete):
9329         * fns.c (Fold_delete):
9330         * fns.c (Fdelq):
9331         * fns.c (Fold_delq):
9332         * fns.c (delq_no_quit):
9333         * fns.c (Fremassoc):
9334         * fns.c (Fremassq):
9335         * fns.c (remassq_no_quit):
9336         * fns.c (Fremrassoc):
9337         * fns.c (Fremrassq):
9338         * fns.c (remrassq_no_quit):
9339         * fns.c (Freverse):
9340         * fns.c (mapcar1):
9341         [1].
9342
9343         * frame-msw.c (mswindows_init_frame_1):
9344         * frame-msw.c (mswindows_delete_frame):
9345         Register popups with dialog code so keyboard traversing works.
9346
9347         * frame-tty.c (tty_raise_frame_no_select): [1].
9348
9349         * frame-x.c:
9350         * frame-x.c (x_set_frame_text_value):
9351         * frame-x.c (x_set_frame_properties):
9352         * frame-x.c (x_create_widgets):
9353         [7].
9354
9355         * frame.c:
9356         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9357
9358         * frame.h (wrap_frame): New.
9359         Macro like wrap_device.
9360
9361         * general.c:
9362         * general.c (SYMBOL):
9363         * general.c (syms_of_general):
9364         Major reorg.  This is now just a wrapper and symbols themselves
9365         are listed in general-slots.h.
9366
9367         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9368         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9369
9370         * glyphs-msw.c (mswindows_native_layout_instantiate):
9371         Add DS_CONTROL so keyboard traversal will work.
9372
9373         * glyphs-widget.c:
9374         * glyphs-widget.c (syms_of_glyphs_widget):
9375         Move some symbols to general-slots.h.
9376
9377         * glyphs-x.c:
9378         * glyphs-x.c (xbm_instantiate_1):
9379         * glyphs-x.c (x_xbm_instantiate):
9380         * glyphs-x.c (x_xface_instantiate):
9381         * glyphs-x.c (autodetect_instantiate):
9382         * glyphs-x.c (cursor_font_instantiate):
9383         * glyphs-x.c (x_update_widget):
9384         * glyphs-x.c (x_widget_instantiate):
9385         * glyphs.c (bitmap_to_lisp_data):
9386         * glyphs.c (pixmap_to_lisp_data):
9387         [7].
9388
9389         * glyphs.c (syms_of_glyphs):
9390         [2].
9391
9392         * gui-x.c:
9393         * gui-x.c (print_widget_value):
9394         * gui-x.c (menu_separator_style_and_to_external):
9395         * gui-x.c (add_accel_and_to_external):
9396         * gui-x.c (button_item_to_widget_value):
9397         * gui-x.c (gui_items_to_widget_values_1):
9398         * gui-x.c (gui_items_to_widget_values):
9399         * gui-x.c (syms_of_gui_x):
9400         * gui-x.c (vars_of_gui_x):
9401         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9402         [9].
9403
9404         * gui-x.h:
9405         Muleize, prototype changes matching gui-x.c.
9406
9407         * gui.c:
9408         * gui.c (separator_string_p):
9409         * gui.c (gui_item_add_keyval_pair):
9410         * gui.c (make_gui_item_from_keywords_internal):
9411         * gui.c (signal_too_long_error):
9412         * gui.c (parse_gui_item_tree_item):
9413         * gui.c (syms_of_gui):
9414         * gui.c (vars_of_gui):
9415         * gui.h:
9416         menu-no-selection-hook moved here (used by MSWin).
9417         Move some symbols to general-slots.h.
9418         [6].
9419         [9].
9420
9421         * insdel.c (get_buffer_pos_char):
9422         * insdel.c (get_buffer_range_char):
9423         Add GC comments.
9424
9425         * keymap.c (keymap_lookup_directly):
9426         * keymap.c (keymap_store):
9427         * keymap.c (ensure_meta_prefix_char_keymapp):
9428         * keymap.c (describe_map):
9429         * keymap.h:
9430         Support new button modifiers.
9431
9432         * lisp-disunion.h (wrap_object):
9433         * lisp-disunion.h (XSETOBJ):
9434         Rename make_obj to wrap_object.
9435
9436         * lisp-union.h:
9437         * lisp-union.h (make_int):
9438         * lisp-union.h (make_char):
9439         Support wrap_object.
9440
9441         * lisp.h:
9442         * lisp.h (LIST_LOOP):
9443         * lisp.h (EXTERNAL_LIST_LOOP):
9444         * lisp.h (LIST_LOOP_2):
9445         * lisp.h (EXTERNAL_LIST_LOOP_1):
9446         * lisp.h (EXTERNAL_LIST_LOOP_2):
9447         * lisp.h (EXTERNAL_LIST_LOOP_3):
9448         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
9449         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9450         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
9451         * lisp.h (EXTERNAL_ALIST_LOOP_5):
9452         * lisp.h (EXTERNAL_ALIST_LOOP_6):
9453         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
9454         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
9455         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
9456         * lisp.h (struct Lisp_Symbol):
9457         * lisp.h (maybe_continuable_error_with_frob):
9458         Fix up section comments.
9459         Add new types for char to indicate usage.
9460         Delete symbols auto-generated from general-slots.h.
9461         Add prototypes for structured error functions.
9462         Add long comments describing looping macros and change interface
9463         so that lvalues are automatically declared.
9464         Add NO_DECLARE macro in case callers want to declare lvalues
9465         themselves.
9466
9467         * lread.c (read_syntax_error):
9468         * lread.c (continuable_read_syntax_error):
9469         * lread.c (read_structure):
9470         * lread.c (sequence_reader):
9471         * lread.c (read_list_conser):
9472         * lread.c (read_compiled_function):
9473         Rename syntax_error and continuable_syntax_error to avoid clash
9474         with same-named structured error functions.
9475
9476         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9477         * menubar-msw.c (populate_menu_add_item):
9478         * menubar-msw.c (populate_or_checksum_helper):
9479         [5].
9480         [9].
9481
9482         * menubar-x.c:
9483         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9484         Mule-ize whole file.
9485
9486         * menubar.c (Fnormalize_menu_item_name): Add optimization.
9487
9488         * mule-charset.c (Fmake_charset):
9489         * mule-wnnfns.c (Fwnn_set_param):
9490         [1].
9491
9492         * ntproc.c (create_child):
9493         * ntproc.c (Fwin32_set_current_locale):
9494         Add comments portending doom.
9495
9496         * objects-msw.c:
9497         * objects-msw.c (old_font_enum_callback_2):
9498         * objects-msw.c (font_enum_callback_1):
9499         * objects-msw.c (mswindows_enumerate_fonts):
9500         [5].
9501
9502         * objects-x.c:
9503         * objects-x.c (allocate_nearest_color):
9504         * objects-x.c (x_parse_nearest_color):
9505         * objects-x.c (x_initialize_color_instance):
9506         * objects-x.c (x_print_color_instance):
9507         * objects-x.c (x_finalize_color_instance):
9508         * objects-x.c (x_valid_color_name_p):
9509         * objects-x.c (x_initialize_font_instance):
9510         * objects-x.c (x_print_font_instance):
9511         * objects-x.c (valid_x_font_name_p):
9512         * objects-x.c (truename_via_FONT_prop):
9513         * objects-x.c (truename_via_random_props):
9514         * objects-x.c (truename_via_XListFonts):
9515         * objects-x.c (x_font_truename):
9516         * objects-x.c (x_font_instance_truename):
9517         * objects-x.c (x_font_instance_properties):
9518         * objects-x.c (x_list_fonts):
9519         * objects-x.c (x_find_charset_font):
9520         Mule-ize entire file.
9521         [7].
9522
9523         * objects-x.h:
9524         Mule-verify.
9525
9526         * print.c:
9527         * print.c (std_handle_out_external):
9528         * print.c (debug_print_no_newline):
9529         * print.c (syms_of_print):
9530         Output to all debugger kinds in debug-print.
9531         Fix console-output code under MSWin to actually work.
9532
9533         * process-nt.c (send_signal):
9534         * process-nt.c (nt_create_process):
9535         Use newer Unicode macros.
9536
9537         * process-unix.c (unix_create_process):
9538         * process-unix.c (unix_canonicalize_host_name):
9539         * process-unix.c (unix_open_network_stream):
9540         [7].
9541
9542         * scrollbar-x.c:
9543         Mule-verify.
9544
9545         * search.c (syms_of_search):
9546         [2].
9547
9548         * select-msw.c (mswindows_destroy_selection):
9549         Use LIST_LOOP_2.
9550
9551         * select-x.c (symbol_to_x_atom):
9552         [7].
9553
9554         * select.c (syms_of_select):
9555         [2].
9556
9557         * sound.c (Fplay_sound_file):
9558         [7].
9559
9560         * specifier.c:
9561         * specifier.c (decode_specifier_type):
9562         * specifier.c (Fvalid_specifier_locale_type_p):
9563         * specifier.c (check_valid_locale_or_locale_type):
9564         * specifier.c (decode_locale):
9565         * specifier.c (decode_locale_type):
9566         * specifier.c (decode_locale_list):
9567         * specifier.c (check_valid_domain):
9568         * specifier.c (decode_specifier_tag_set):
9569         * specifier.c (Fcanonicalize_tag_set):
9570         * specifier.c (Fdefine_specifier_tag):
9571         * specifier.c (Fspecifier_tag_predicate):
9572         * specifier.c (check_valid_inst_list):
9573         * specifier.c (check_valid_spec_list):
9574         * specifier.c (decode_how_to_add_specification):
9575         * specifier.c (check_modifiable_specifier):
9576         * specifier.c (specifier_add_spec):
9577         * specifier.c (boolean_validate):
9578         * specifier.c (display_table_validate):
9579         [9].
9580
9581         * specifier.c (syms_of_specifier):
9582         Move some symbols to general-slots.h.
9583         [2].
9584
9585         * symbols.c:
9586         * symbols.c (Fmapatoms):
9587         * symbols.c (Fapropos_internal):
9588         Add GCPROs.
9589
9590         * symbols.c (set_default_buffer_slot_variable):
9591         * symbols.c (set_default_console_slot_variable):
9592         [1].
9593
9594         * symbols.c (defsymbol_massage_name_1):
9595         * symbols.c (defkeyword_massage_name):
9596         * symbols.c (deferror_1):
9597         * symbols.c (deferror):
9598         * symbols.c (deferror_massage_name_and_message):
9599         * symeval.h:
9600         * symeval.h (DEFSYMBOL):
9601         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
9602
9603         * symbols.c (syms_of_symbols):
9604         [2].
9605
9606         * symsinit.h:
9607         * symsinit.h (init_win32): New.
9608         Also new is syms_of_dialog_mswindows.
9609
9610         * syswindows.h:
9611         Add new Unicode macros, missing Cygwin wide-char functions,
9612         convenience conversion macros for Qmswindows_tstr, macros for
9613         encapsulating required MSWin <-> Cygwin filename conversions,
9614         prototype for dynamically-extracted (not in NT 3.51) functions.
9615
9616         * toolbar-x.c:
9617         Mule-verify.
9618
9619         * tooltalk.c (Fadd_tooltalk_message_arg):
9620         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
9621         * tooltalk.c (Fadd_tooltalk_pattern_arg):
9622         [7].
9623
9624         * tooltalk.c (syms_of_tooltalk):
9625         [2].
9626
9627         * unexnt.c:
9628         * unexnt.c (unexec):
9629         Fix up headers, declaration of unexec() to be more standard.
9630
9631 2000-07-20  Martin Buchholz  <martin@xemacs.org>
9632
9633         * offix.h: Revert change to guard macros - they're used in offix.c!
9634
9635 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9636
9637         * lisp.h: Defsubred Fdelete.
9638
9639         * console-msw.h:  (msprinter_default_printer): Added.
9640
9641         * console-msw.c (msprinter_canonicalize_console_connection):
9642         (msprinter_canonicalize_device_connection): Added.
9643
9644         * device-msw.c (msprinter_default_printer):
9645         (Fmswingows_get_default_printer):
9646         (signal_enum_priner_error):
9647         (Fmswingows_printer_list): Added.
9648
9649 2000-07-19  Martin Buchholz <martin@xemacs.org>
9650
9651         * XEmacs 21.2.35 is released.
9652
9653 2000-07-19  Martin Buchholz  <martin@xemacs.org>
9654
9655         * select-x.c (x_handle_selection_request):
9656         Text selected in xemacs and pasted into xterm failed to appear.
9657         Spelling fixes and cosmetic changes.
9658
9659 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9660
9661         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
9662         XEmacs frame (fix for doubling chars in dialog boxes).
9663
9664 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9665
9666         * select.c (select_convert_in, select_convert_out):
9667         Don't call intern() every time.
9668
9669         * select.c (Qselect_convert_in, Qselect_convert_out): New.
9670         * select.c (vars_of_select): Initialise them.
9671
9672 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9673
9674         * select.c (selection-coercible-types): New.
9675
9676         * select.c (own-selection-internal):
9677         * select.c (get-selection-internal):
9678         MULE bug fix - these should default to COMPOUND_TEXT and not
9679         STRING for MULE. I think.
9680
9681         * select.c (select_convert_out): Use selection-coercible-types
9682         to find types that we can attempt to perform coercions on.
9683
9684 2000-07-18  Martin Buchholz  <martin@xemacs.org>
9685
9686         * mule-wnnfns.c:
9687         * mule-canna.c:
9688         Add coding: cookie to identify encoding.
9689
9690         * mule-canna.c (CANNA_mode_keys): make static.
9691         Use proper prototypes, even for functions of no arguments.
9692         Remove external prototype for Fding().
9693
9694         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
9695
9696         * select.c (syms_of_select): Add missing DEFSUBR.
9697
9698 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9699
9700         * select.c (get_selection_internal, own_selection_internal):
9701         Make the type default to STRING, rather than placing a nil type
9702         into Vselection_alist.
9703
9704 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9705
9706         * gpmevent.c (tty_selection_exists_p):
9707         * gpmevent.c (tty_own_selection):
9708         Updated parameter lists.
9709
9710 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
9711
9712         * select.h (selection-alist): Removed declaration.
9713
9714         * select.h (get_local_selection):
9715         * select.c (get_local_selection):
9716         Made static.
9717
9718         * select.h (convert_selection): Removed declaration.
9719         * select.c (convert_selection): Removed.
9720         This function belongs in Lisp.
9721
9722         * select.h (select_convert_in): Declare.
9723         * select.h (select_convert_out): Declare.
9724         * select.c (select_convert_in): New.
9725         * select.c (select_convert_out): New.
9726         New conversion functions for other files to call.
9727
9728         * select.h (select_notify_buffer_kill): Declare.
9729         * select.c (select_notify_buffer_kill): New.
9730         New functions that get called from kill-buffer.
9731
9732         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
9733         X-specific lisp code.
9734
9735         * select.h: Declare some of the lisp-visible functions for
9736         external use.
9737
9738         * select.c (clean_local_selection_data): Removed. This was
9739         a disgusting function, and previously should have been in
9740         select-x.c in any case. The functionality is now provided
9741         in select-convert-from-integer (select.el).
9742
9743         * select.c (available-selection-types): Fixed stupidity where
9744         INTEGER and ATOM got added twice. Also add STRING when we see an
9745         extent.
9746
9747         * select.c (get-selection-internal): Removed symbol stripping. No
9748         longer causes conversion when data comes from the internal cache.
9749
9750         * select.c (syms_of_select): Added new functions.
9751
9752         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
9753         error checking - previously this called abort!
9754
9755         * select-x.c (x_own_selection): Changed comment.
9756
9757         * select-x.c (x_handle_selection_request): Use select_convert_out.
9758         Don't mess with selection-alist; it's an internal variable of select.c.
9759
9760         * select-x.c (x_get_foreign_selection): Use select_convert_in.
9761
9762         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
9763         rather than messing with selection-alist.
9764
9765         * select-msw.c (mswindows_get_foreign_selection):
9766         Use TO_INTERNAL_FORMAT rather than hacking.
9767
9768 2000-07-14  Martin Buchholz  <martin@xemacs.org>
9769
9770         * process-unix.c (unix_open_multicast_group):
9771         (unix_open_multicast_group): Remove useless casts.
9772
9773 2000-07-13  Martin Buchholz  <martin@xemacs.org>
9774
9775         * sound.c (Fplay_sound): Fix `unused variable' warning.
9776
9777         * emacs.c (main): Use correct type for _environ on SCO5.
9778
9779 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
9780
9781         * console.h (own_selection_method):
9782         * console.h (selection_exists_p_method):
9783         * console.h (available_selection_types_method): New.
9784         * console.h (register_selection_data_type_method): New.
9785         * console.h (selection_data_type_name): New.
9786
9787         * console-msw.h (mswindows_destroy_selection): Declare it.  New
9788         function & alist to track GlobalAlloc()'d handles that need
9789         releasing when the clipboard data gets replaced or emptied.
9790
9791         * event-msw.c (mswindows_wnd_proc): Call it.
9792
9793         * lisp.h, general.c (Qappend): New symbol representing a
9794         `how-to-add' mode.
9795
9796         * select.c (own-selection-internal):
9797         * select.c (selection-exists-p):
9798         * select.c (available-selection-types): New.
9799         * select.c (register-selection-data-type): New.
9800         * select.c (selection-data-type-name): New.  New functions to deal
9801         with device-specific selection data formats.
9802         * select.c (selection-converter-out-alist): Renamed.
9803         * select.c (selection-converter-in-alist): New.
9804         * select.c (selection-appender-alist): New.  Added new alists.
9805         * select.c (syms_of_select, vars_of_select): Added new symbols &
9806         variables.
9807         * select.c (get_local_selection): Split.
9808         * select.c: Removed spurious type checking - selections may now be
9809         of any type, not just strings.
9810         * select.c (own-selection-internal):
9811
9812         * select.h, select.c (convert_selection): New. Created
9813         convert_selection() function based on get_local_selection().
9814         * select.h, select.c (QCF_*): New symbols representing mswindows
9815         clipboard formats.
9816         * select.h, select.c (Qreplace_all, Qreplace_existing): New
9817         symbols representing `how-to-add' modes.
9818
9819         * select-msw.c (x_sym_p): New.
9820         * select-msw.c (symbol_to_ms_cf): New.
9821         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
9822         symbols & clipboard formats. Can also handle string names.
9823         * select-msw.c (mswindows_own_selection):
9824         * select-msw.c (mswindows_selection_exists_p):
9825         Added `data-type' parameter. Use it.
9826         * select-msw.c (mswindows_available_selection_types): New.
9827         * select-msw.c (mswindows_register_selection_data_type): New.
9828         * select-msw.c (mswindows_selection_data_type_name): New.
9829         * select-msw.c (mswindows_own_selection):
9830         * select-msw.c (mswindows_get_foreign_selection):
9831         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
9832         * select-msw.c (console_create_select_mswindows): Added new methods.
9833         * select-msw.c (mswindows_destroy_selection): New.
9834         * select-msw.c (Vhandle_alist): New list.
9835         * select-msw.c (mswindows_own_selection):
9836
9837         * select-x.c (x_own_selection):
9838         * select-x.c (x_selection_exists_p):
9839         * select-x.c: Added some comments about maybe using new
9840         functionality.
9841         * select-x.c (x_own_selection):
9842
9843         * specifier.c: Remove definition of Qappend (now in general.c)
9844         * specifier.c (syms_of_specifier): Remove Qappend.
9845
9846 2000-07-12  Martin Buchholz  <martin@xemacs.org>
9847
9848         * config.h.in: Add socklen_t.
9849
9850         * s/decosf4-0.h: No special compiler flags needed or desired.
9851         In particular, undefine _BSD for DEC OSF 4.0.
9852
9853 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9854
9855         * redisplay-msw.c (msprinter_frame_output_end): Added.
9856         (console_type_create_redisplay_mswindows): Referred the above.
9857
9858         * frame.c (setup_frame_without_minibuffer): Do not create a
9859         default minibuffer frame on a printer device.
9860
9861         * frame-msw.c (apply_dc_geometry): Added.
9862         (msprinter_start_page):
9863         (msprinter_init_frame_3):
9864         (msprinter_eject_page): Use it.
9865
9866         * console-msw.h (struct msprinter_frame): Added pix_left and top,
9867         and removed residual duplex and orientation properties.
9868
9869 2000-07-11  Martin Buchholz  <martin@xemacs.org>
9870
9871         * eval.c (function_argcount): Work around a DEC CC compiler bug.
9872
9873         * unexalpha.c: Remove system prototypes from C sources!
9874
9875 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
9876
9877         * eval.c: Remove references to M-x edit-options in DEFUNs for
9878         `defvar' and `defconst'.
9879
9880 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9881
9882         * config.h.in: Remove SMART_INCLUDE hackery.
9883
9884         PostgreSQL hacking:
9885         * config.h.in: Don't use SMART_INCLUDE.
9886
9887         * postgresql.h: Include libpq-fe.h here.  Fix typo.
9888         * inline.c: Simply #include "postgresql.h"
9889         * postgresql.c:
9890         - Don't use SMART_INCLUDE
9891         - Use simply "const".
9892         - Use standard doc string conventions.
9893         - Use correct type for result of PQstatus.
9894
9895 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9896
9897         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
9898
9899         C++ compilation changes.
9900         * config.h.in (EXTERN_C): Define.
9901         * config.h.in (not): This is also a C++ keyword.
9902         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
9903         * cm.c: Use EXTERN_C.
9904         * redisplay-tty.c: Use EXTERN_C.
9905         * sysdep.c: Use EXTERN_C.  Remove Gould support.
9906
9907 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9908
9909         * general.c: Remove duplicate definition for Qfunction.
9910
9911 2000-07-08  Ben Wing  <ben@xemacs.org>
9912
9913         * device-msw.c (msprinter_init_device):
9914         * device-msw.c (sync_printer_with_devmode):
9915         * device-msw.c (handle_devmode_changes):
9916         * device-msw.c (print_dialog_worker):
9917         * device-msw.c (Fmsprinter_apply_settings):
9918         * device-msw.c (hash_devmode):
9919         * device-msw.c (Fmsprinter_settings_despecialize):
9920         use Qmswindows_tstr, not Qctext.
9921
9922         * vm-limit.c (check_memory_limits):
9923         avoid infinite loop printing warning messages.
9924
9925 2000-07-05  Craig Lanning  <lanning@scra.org>
9926
9927         * Makefile.in.in: Add support for including the Windows resources
9928         when building with the cygwin and mingw targets.
9929
9930         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
9931         not set or not correct.
9932         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
9933         (init_initial_directory): Don't try to use $PWD on the
9934         WIN32_NATIVE target.
9935
9936         * s\cygwin32.h:
9937         [[Add -mwindows to eliminate console window.]] not required --ben
9938         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9939         (MAIL_USE_POP): removed; now handled by configure.
9940
9941         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
9942         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
9943         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9944         (MAIL_USE_POP): removed; now handled by configure.
9945         (ENCAPSULATE_STAT): from Dan Holmsand, added.
9946         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
9947         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
9948         constant string.
9949         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
9950         up from <winsock.h> via systime.h.
9951         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
9952         (getpagesize): from Dan Holmsand, added.
9953         Added #endif which was left dangling by Ben's mega patch; added
9954         comment to help prevent this in the future.
9955
9956         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
9957
9958 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9959
9960         * console-msw.h (struct mswindows_device): Removed unnecessary
9961         cached device geometry values.
9962         Added update_tick and an accessor macro.
9963         (Lisp_Devmode): Added lrecord declaration.
9964         (struct msprinter_device): Contain devmode as a Lisp object.
9965         Added mswindows_get_selected_frame_hwnd();
9966
9967         * console.h (struct console_methods): Indentation nitpicking.
9968
9969         * device-msw.c (mswindows_init_device): Do not initialize geometry
9970         cache. Initialize update tick.
9971         (mswindows_device_system_metrics): Ask the device for its geometry.
9972         (global_free_2_maybe):
9973         (devmode_to_hglobal):
9974         (handle_printer_changes):
9975         (ensure_not_printing):
9976         (print_dialog_worker):
9977         (Fmsprinter_print_setup_dialog):
9978         (Fmsprinter_print_dialog):
9979         (plist_get_margin):
9980         (plist_set_margin):
9981         (Fmsprinter_page_setup_dialog): Added functions.
9982         (sync_printer_with_devmode):
9983         (handle_devmode_changes):
9984         (Fmsprinter_get_settings):
9985         (Fmsprinter_select_settings):
9986         (Fmsprinter_apply_settings):
9987         (allocate_devmode):
9988         (Fmsprinter_settings_copy):
9989         (Fmsprinter_settings_despecialize):
9990         (print_devmode):
9991         (finalize_devmode):
9992         (equal_devmode):
9993         (hash_devmode): Added functions
9994         (syms_of_device_mswindows): Init devmode lrecord class.
9995
9996         * device.h: Added an exfun for find-device.
9997
9998         * event-msw.c (mswindows_wnd_proc): Do not update the cached
9999         geometry; although, recreate the device compatible DC.
10000
10001         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10002         (msprinter_init_frame_3):
10003         (msprinter_frame_property):
10004         (msprinter_internal_frame_property_p):
10005         (msprinter_frame_properties):
10006         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10007         print job properties (will move to device settings).
10008
10009         * lisp.h: Added symbols.
10010
10011         * general.c (syms_of_general): Declared them.
10012
10013         * hash.c (string_hash): Added.
10014
10015         * lrecord.h (lrecord_type): Added devmode lrecord type.
10016
10017 2000-07-02  Mike Sperber <mike@xemacs.org>
10018
10019         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10020         FreeBSD 4.0.
10021
10022 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10023
10024         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10025         integer.
10026
10027 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10028
10029         * data.c (Fstring_to_number): Don't recognize floating point if
10030         base is not 10.
10031
10032 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10033
10034         * glyphs-widget.c (tab_control_query_geometry):
10035         (widget_query_geometry):
10036         (button_query_geometry):
10037         * glyphs.c (text_query_geometry):
10038         Enforce type correctness.
10039
10040 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10041
10042         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10043         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10044
10045 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10046
10047         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10048         conflicts with gcc's fixincluded version of FOO.h.
10049
10050         * glyphs.h (image_instance_geometry): Remove trailing `,'
10051
10052 2000-06-08  Mike Alexander  <mta@arbortext.com>
10053
10054         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10055         (shove_thread): Don't write the same output twice
10056         (make_ntpipe_output_stream): Increase priority of shove thread
10057         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10058         chance to run
10059         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10060         it.
10061
10062 2000-06-12  Ben Wing  <ben@xemacs.org>
10063
10064         * s\mingw32.h (sigset):
10065         * s\windowsnt.h (sigset):
10066         rename msw_ to mswindows_ for consistency with general convention.
10067
10068 2000-06-12  Ben Wing  <ben@xemacs.org>
10069
10070         * console-msw.c:
10071         * console-msw.c (mswindows_get_console_hwnd):
10072         * console-msw.c (mswindows_ensure_console_allocated):
10073         * console-msw.c (mswindows_hide_console):
10074         * console-msw.c (mswindows_show_console):
10075         * console-msw.c (mswindows_ensure_console_buffered):
10076         * console-msw.c (mswindows_output_console_string):
10077         * console-msw.c (mswindows_windows9x_p):
10078         * console-msw.h:
10079         * device-msw.c (mswindows_get_workspace_coords):
10080         * device-msw.c (mswindows_device_system_metrics):
10081         * dialog-msw.c (mswindows_popup_dialog_box):
10082         * event-msw.c (mswindows_wnd_proc):
10083         * frame-msw.c (mswindows_size_frame_internal):
10084         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10085         * menubar-msw.c (displayable_menu_item):
10086         * menubar-msw.c (mswindows_char_is_accelerator):
10087         * nt.c:
10088         * nt.c (mswindows_sigset):
10089         * nt.c (mswindows_sigrelse):
10090         * nt.c (mswindows_sigpause):
10091         * nt.c (mswindows_raise):
10092         * nt.c (timer_proc):
10093         * ntproc.c:
10094         * ntproc.c (find_child_console):
10095         * ntproc.c (sys_kill):
10096         * print.c:
10097         * print.c (std_handle_out_external):
10098         * process-nt.c (find_child_console):
10099         * process-nt.c (send_signal_the_95_way):
10100         * process-nt.c (ensure_console_window_exists):
10101         * process-nt.c (nt_create_process):
10102         * syssignal.h:
10103         rename msw_ to mswindows_ for consistency with general convention.
10104
10105         * emacs.c:
10106         * dumper.c:
10107         include nt.h, not syswindows.h.
10108
10109         * nt.c (mswindows_fstat):
10110         * nt.c (mswindows_stat):
10111         prefix mswindows_ instead of attempting to directly override the
10112         library functions.  fix declarations.
10113
10114         * nt.h:
10115         include syswindows.h.  move some sysdep.h stuff here.
10116
10117         * ntheap.h:
10118         include syswindows.h, not <windows.h>.
10119
10120         * ntplay.c:
10121         clean up headers.
10122
10123         * sysdep.c:
10124         clean up headers.
10125
10126         * sysdep.c (sys_fstat):
10127         * sysdep.c (sys_stat):
10128         call mswindows versions when appropriate.
10129
10130         * sysdep.h:
10131         move mswin decls to nt.h.
10132
10133         * syswindows.h:
10134         add long comment describing appropriate use of the various windows
10135         headers.
10136
10137 2000-06-11  Ben Wing  <ben@xemacs.org>
10138
10139         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10140
10141 2000-06-10  Ben Wing  <ben@xemacs.org>
10142
10143         * Makefile.in.in (release):
10144         Correction to make sure xemacs.exe always dumped when correct.
10145
10146         * alloca.c:
10147         * balloon_help.c:
10148         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10149
10150         * buffer.c (set_buffer_internal):
10151         [[[[2]]]]: Remove HAVE_FEP code.
10152
10153         * buffer.c (init_initial_directory):
10154         [3].
10155
10156         * bytecode.c:
10157         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10158         individual files.
10159
10160         * callproc.c:
10161         * callproc.c (call_process_cleanup):
10162         * callproc.c (Fold_call_process_internal):
10163         * callproc.c (child_setup):
10164         * callproc.c (getenv_internal):
10165         * callproc.c (init_callproc):
10166         * callproc.c (vars_of_callproc):
10167         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10168         __CYGWIN32__ -> CYGWIN.
10169         DOS_NT -> WIN32_NATIVE.
10170         Remove MSDOS support/references, converting to WIN32_NATIVE
10171           where correct.
10172         __MINGW32__ -> MINGW.
10173         Fix windows.h includes.
10174         Remove bogus HAVE_NTGUI.
10175
10176         * config.h.in:
10177         [2].
10178
10179         * console-msw.c:
10180         mswindows_message_outputted added for use in allowing startup
10181         errors on the console to be seen.
10182
10183         * console-msw.c (msw_ensure_console_allocated):
10184         * console-msw.c (msw_output_console_string):
10185         * console-msw.c (DHEADER):
10186         * console-msw.c (DOPAQUE_DATA):
10187         * console-msw.c (DEVENT):
10188         * console-msw.c (DCONS):
10189         * console-msw.c (DCONSCDR):
10190         * console-msw.c (DSTRING):
10191         * console-msw.c (DVECTOR):
10192         * console-msw.c (DSYMBOL):
10193         * console-msw.c (DSYMNAME):
10194         Fix warnings.
10195
10196         * console-stream.c (stream_init_console):
10197         Fix text/binary problems.
10198
10199         * device-msw.c:
10200         * device-msw.c (mswindows_finish_init_device):
10201         * device-msw.c (mswindows_delete_device):
10202         [1].
10203
10204         * device.c (handle_asynch_device_change):
10205         [3].
10206
10207         * dgif_lib.c:
10208         * dgif_lib.c (DGifOpenFileName):
10209         * dgif_lib.c (DGifOpenFileHandle):
10210         * dgif_lib.c (DGifGetLine):
10211         * dgif_lib.c (DGifGetPixel):
10212         Added config.h/lisp.h, fix up includes.
10213         [1].
10214
10215         * dired-msw.c:
10216         [4].
10217
10218         * dired.c:
10219         * dired.c (file_name_completion):
10220         * dired.c (Ffile_attributes):
10221         * dired.c (syms_of_dired):
10222         [1].
10223
10224         * dumper.c:
10225         * dumper.c (pdump_file_unmap):
10226         * dumper.c (pdump_load):
10227         [1].
10228
10229         * editfns.c:
10230         * editfns.c (Ftemp_directory):
10231         * editfns.c (user_login_name):
10232         * editfns.c (Fuser_real_login_name):
10233         * editfns.c (get_home_directory):
10234         [1].
10235
10236         * elhash.c (finish_marking_weak_hash_tables):
10237         [[[[5]]]]: Fix GCC warnings.
10238
10239         * emacs.c:
10240         * emacs.c (mswindows_handle_hardware_exceptions):
10241         * emacs.c (make_arg_list_1):
10242         * emacs.c (main_1):
10243         * emacs.c (Fkill_emacs):
10244         * emacs.c (Fdump_emacs):
10245         [1].
10246         Fix problems with nested crashes, add long comment.
10247
10248         * event-Xt.c (init_event_Xt_late):
10249         [1].
10250
10251         * event-msw.c:
10252         * event-msw.c (mswindows_dde_callback):
10253         * event-msw.c (mswindows_handle_sticky_modifiers):
10254         * event-msw.c (mswindows_wnd_proc):
10255         [1].
10256         [5].
10257
10258         * events.c (character_to_event):
10259         [1].
10260
10261         * fileio.c:
10262         * fileio.c (Ffile_name_directory):
10263         * fileio.c (Ffile_name_nondirectory):
10264         * fileio.c (directory_file_name):
10265         * fileio.c (Fexpand_file_name):
10266         * fileio.c (Fsubstitute_in_file_name):
10267         * fileio.c (Ffile_name_absolute_p):
10268         * fileio.c (check_executable):
10269         * fileio.c (Ffile_readable_p):
10270         * fileio.c (Ffile_accessible_directory_p):
10271         * fileio.c (Ffile_modes):
10272         * fileio.c (Funix_sync):
10273         * fileio.c (vars_of_fileio):
10274         [1]. [4].
10275
10276         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10277
10278         Expand getdefdir defn.
10279         Fix bogus rename() comment.
10280
10281         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10282         to use standard XEmacs include files, e.g. sysfile.h, rather
10283         than system-specific includes.
10284
10285         * fns.c:
10286         * fns.c (Fsubseq):
10287         [5]. [6].
10288
10289         * frame.c (vars_of_frame):
10290         [1].
10291
10292         * getloadavg.c:
10293         * getloadavg.c (getloadavg):
10294         [1]. [6].
10295         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10296         (We don't use it elsewhere in the code; just add a comment.)
10297
10298         * gif_io.c:
10299         [6].
10300         Add config.h.
10301
10302         * glyphs-msw.c:
10303         * glyphs-msw.c (mswindows_resource_instantiate):
10304         [1].
10305
10306         * glyphs-x.c (x_native_layout_instantiate):
10307         [5].
10308
10309         * gui-msw.c (Fmswindows_shell_execute):
10310         [1].
10311
10312         * insdel.c:
10313         [4].
10314
10315         * lisp.h:
10316         [4]. [5].
10317
10318         * lread.c (locate_file_in_directory_mapper):
10319         [1].
10320
10321         * lstream.c:
10322         [4].
10323
10324         * mem-limits.h:
10325         * mem-limits.h (get_lim_data):
10326         [1].
10327
10328         * menubar-msw.c:
10329         [4].
10330
10331         * ndir.h:
10332         [1].
10333
10334         * nt.c:
10335         * nt.c (getwd):
10336         * nt.c (closedir):
10337         * nt.c (rva_to_section):
10338         * nt.c (mswindows_executable_type):
10339         [1]. [6].
10340         Fix closedir() defn.
10341
10342         * nt.h:
10343         [[[[8]]]]: *_OK defs moved to sysfile.h.
10344
10345         * ntproc.c:
10346         [6]. [7].
10347
10348         * objects-x.c:
10349         [4].
10350
10351         * print.c:
10352         * print.c (std_handle_out_external):
10353         [1]. [4].
10354
10355         * process-nt.c:
10356         * process-nt.c (nt_create_process):
10357         [6].
10358         try to fix process quoting somewhat.
10359
10360         * process-unix.c (unix_create_process):
10361         [1].
10362
10363         * process.c:
10364         * process.c (vars_of_process):
10365         Add Vnull_device.
10366
10367         * process.h:
10368         [1].
10369
10370         * realpath.c:
10371         * realpath.c (xrealpath):
10372         [1].
10373
10374         * redisplay-tty.c (init_tty_for_redisplay):
10375         [3].
10376
10377         * redisplay.c:
10378         [4]. [6].
10379
10380         * scrollbar-msw.c:
10381         [4].
10382
10383         * sheap.c:
10384         * sheap.c (more_static_core):
10385         * sheap.c (report_sheap_usage):
10386         [5]. [6].
10387
10388         * signal.c:
10389         * signal.c (alarm_signal):
10390         [1]. [6].
10391
10392         * sound.c:
10393         [6].
10394
10395         * strftime.c:
10396         * strftime.c (zone_name):
10397         [1]. [5].
10398
10399         * symsinit.h (init_sunpro):
10400         [1].
10401
10402         * syscommctrl.h:
10403         commctrl.h not in Cygwin b20.1.
10404
10405         * sysdep.c:
10406         * sysdep.c (endif):
10407         * sysdep.c (sys_subshell):
10408         * sysdep.c (init_baud_rate):
10409         * sysdep.c (emacs_get_tty):
10410         * sysdep.c (emacs_set_tty):
10411         * sysdep.c (tty_init_sys_modes_on_device):
10412         * sysdep.c (init_system_name):
10413         * sysdep.c (sys_open):
10414         * sysdep.c (interruptible_open):
10415         * sysdep.c (sys_fopen):
10416         * sysdep.c (sys_mkdir):
10417         * sysdep.c (sys_rename):
10418         * sysdep.c (get_process_times_1):
10419         [1]. [6].
10420
10421         * sysdep.h:
10422         [1].
10423
10424         * sysdir.h:
10425         * sysdir.h (DIRENTRY_NONEMPTY):
10426         [1]. [6].
10427
10428         * sysdll.c (dll_init):
10429         * sysdll.h:
10430         [1].
10431
10432         * sysfile.h:
10433         [1]. [6]. [8].
10434         added text/binary defs.
10435
10436         * sysfloat.h:
10437         [1].
10438
10439         * sysproc.h:
10440         * sysproc.h (EDESTADDRREQ):
10441         * sysproc.h (poll_fds_for_input):
10442         [1]. [6].
10443
10444         * syspwd.h:
10445         [6].
10446
10447         * syssignal.h:
10448         [1].
10449
10450         * systime.h:
10451         [1]. [6].
10452
10453         * systty.h:
10454         [1].
10455
10456         * syswindows.h:
10457         [1].
10458         Always define WIN32_LEAN_AND_MEAN.
10459
10460         * unexcw.c (unexec):
10461         [5].
10462
10463         * unexec.c:
10464         * unexec.c (copy_text_and_data):
10465         * unexec.c (adjust_lnnoptrs):
10466         [1].
10467
10468         * unexnt.c:
10469         * unexnt.c (_start):
10470         [1].
10471
10472 2000-06-07  Ben Wing  <ben@xemacs.org>
10473
10474         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
10475         was used only as a model.  We've long since extracted any useful
10476         logic or code out of this. (I just did an exhaustive search.)
10477
10478         * s\msdos.h: Removed.
10479
10480         * s\windows95.h: Removed.
10481
10482 2000-06-10  Ben Wing  <ben@xemacs.org>
10483
10484         * s\cygwin32.h:
10485         [1]. [5].
10486         Don't use extern with fun defs.
10487
10488         * s\mingw32.h:
10489         [1]. [7].
10490         Remove nt\inc include.
10491         Remove getdisk, getdefdir. (The former is unused, the latter
10492         expanded in fileio.h.)
10493
10494         * s\windowsnt.h:
10495         * s\windowsnt.h (WIN32_NATIVE):
10496         * s\windowsnt.h (HAVE_STRCASECMP):
10497         [1]. [7].
10498         Add long comment about preprocessor changes.
10499         Remove getdisk, getdefdir. (The former is unused, the latter
10500         expanded in fileio.h.)
10501
10502 2000-06-10  Ben Wing  <ben@xemacs.org>
10503
10504         * m\arm.h:
10505         * m\delta.h:
10506         * m\intel386.h:
10507         * m\sequent.h:
10508         * m\template.h:
10509         * m\windowsnt.h:
10510         [1].
10511         Remove bogus/unused NO_SOCK_SIGIO.
10512
10513 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
10514
10515         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
10516         not an Emchar.
10517
10518 2000-06-04  Mike Sperber <mike@xemacs.org>
10519
10520         * casetab.c (set_case_table): For `set-standard-case-table',
10521         actually deposit the new case tables where the rest of XEmacs can
10522         see them.
10523
10524 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
10525
10526         * data.c (Faset): Don't cast XCHAR() to unsigned char.
10527
10528 2000-06-05  Ben Wing  <ben@xemacs.org>
10529
10530         * callproc.c (child_setup): Don't do close_load_descs() under
10531         MS Windows.  Put in a comment explaining why.
10532
10533 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
10534
10535         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
10536         Toolkit shell" which breaks `kill-compilation' on Windows NT
10537         native, retaining STDERR handling improvements.
10538
10539 2000-06-01  Andreas Jaeger  <aj@suse.de>
10540
10541         * s/s390.h: Support for S390, based on a patch by Martin
10542         Schwidefsky <schwidefsky@de.ibm.com>.
10543
10544 2000-05-30  Andy Piper  <andy@xemacs.org>
10545
10546         * window.c (allocate_window):
10547         (make_dummy_parent):
10548         (Fset_window_configuration): use new hashtable type.
10549
10550         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
10551         (struct image_instantiator_methods):
10552         (struct Lisp_Image_Instance): make instance geometry signed.
10553
10554         * glyphs.c (instantiate_image_instantiator):
10555         (image_instance_query_geometry):
10556         (image_instance_layout):
10557         (image_instance_layout):
10558         (query_string_geometry):
10559         (text_query_geometry):
10560         (image_instantiate):
10561         (image_instantiate):
10562         (cache_subwindow_instance_in_frame_maybe):
10563         (subwindow_query_geometry): make instance geometry signed.
10564
10565         * glyphs-widget.c (widget_query_geometry):
10566         (widget_layout):
10567         (button_query_geometry):
10568         (tree_view_query_geometry):
10569         (tab_control_query_geometry):
10570         (layout_query_geometry):
10571         (layout_layout):
10572         (native_layout_layout): make instance geometry signed.
10573
10574 2000-05-29  Olivier Galibert  <galibert@pobox.com>
10575
10576         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
10577         constant.
10578
10579         * general.c (syms_of_general): Add Qfull_assoc symbol.
10580
10581         * data.c (finish_marking_weak_lists): Mark full-assoc lists
10582         correctly.
10583         (decode_weak_list_type): Decode full-assoc type.
10584         (encode_weak_list_type): Encode full-assoc type.
10585         (Fmake_weak_list): Update doc string.
10586
10587 2000-05-30  Andy Piper  <andy@xemacs.org>
10588
10589         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
10590
10591         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
10592         (decode_hash_table_weakness): ditto.
10593         (Fhash_table_weakness): ditto.
10594         (Fhash_table_type): ditto.
10595         (finish_marking_weak_hash_tables): ditto.
10596         (hash_table_weakness_validate): ditto.
10597         (syms_of_elhash): ditto.
10598
10599 2000-05-28  Martin Buchholz <martin@xemacs.org>
10600
10601         * XEmacs 21.2.34 is released.
10602
10603 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10604
10605         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
10606         start cache.
10607         (updating_line_start_cache): Gone.
10608         (regenerate_window): Replace resetting of VERTICAL_CLIP by
10609         generic code to force a minimum of 1 line laid out in the
10610         CMOTION_DISP case.
10611
10612 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10613
10614         * glyphs.c (instantiate_image_instantiator): Check for initialized
10615         height & width no longer special cases IMAGE_NOTHING.
10616         (nothing_instantiate): Set height and width of instance.
10617
10618 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10619
10620         * unexelf.c (unexec): Search for ".data" section.
10621         Initialize new_data2_offset from old_data_index.
10622         Remove redundant check for ElfW.
10623
10624 2000-05-23  Andy Piper  <andy@xemacs.org>
10625
10626         * glyphs.c (get_image_instantiator_governing_domain): allow more
10627         specific domains as the governing domain rather than expecting an
10628         exact match. This fixes problems with layouts.
10629
10630 2000-05-22  Andy Piper  <andy@xemacs.org>
10631
10632         * redisplay-output.c (compare_runes): check for non-images
10633
10634         * glyphs.c (set_glyph_dirty_p): ditto.
10635         (update_glyph_cachel_data): ditto.
10636
10637         * glyphs-widget.c (layout_post_instantiate): ditto.
10638         (layout_post_instantiate): ditto.
10639
10640         * event-msw.c (mswindows_wnd_proc): warning removal.
10641
10642 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
10643
10644         * s\mingw32.h: Added #undef for CLASH_DETECTION.
10645
10646         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
10647
10648         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
10649
10650         * nt.c (rva_to_section): mingw32 needs rva_to_section.
10651         (mswindows_executable_type): mingw32 now has enough headers for
10652         this to work.
10653
10654 2000-05-20  Andy Piper  <andy@xemacs.org>
10655
10656         * console-msw.c (mswindows_output_last_error): ; -> ,
10657
10658 2000-05-12  Andy Piper  <andy@xemacs.org>
10659
10660         * console-msw.c (FROB): compare ints with ints.
10661
10662 2000-05-11  Andy Piper  <andy@xemacs.org>
10663
10664         * glyphs-x.c (x_finalize_image_instance): make minimal build
10665         happy.
10666
10667 2000-05-20  Ben Wing  <ben@xemacs.org>
10668
10669         * event-Xt.c:
10670         * event-Xt.c (vars_of_event_Xt):
10671         move modifier-keys-are-sticky to event-stream.c.
10672
10673         * event-msw.c:
10674         * event-msw.c (mswindows_enqueue_mouse_button_event):
10675         * event-msw.c (key_needs_default_processing_p):
10676         * event-msw.c (XEMSW_LCONTROL):
10677         * event-msw.c (mswindows_handle_sticky_modifiers):
10678         * event-msw.c (FROB):
10679         * event-msw.c (clear_sticky_modifiers):
10680         * event-msw.c (output_modifier_keyboard_state):
10681         * event-msw.c (output_alt_keyboard_state):
10682         * event-msw.c (mswindows_wnd_proc):
10683         * event-msw.c (mswindows_modifier_state):
10684         * event-msw.c (emacs_mswindows_handle_magic_event):
10685         implement sticky modifiers.
10686
10687         * event-stream.c:
10688         * event-stream.c (vars_of_event_stream):
10689         move modifier-keys-are-sticky here.
10690
10691         * lisp.h:
10692         add CHECK_FUNCTION.
10693
10694         * rangetab.c:
10695         implement map-range-table.
10696
10697
10698 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
10699
10700         * redisplay-tty.c (reset_tty_modes):
10701         (tty_redisplay_shutdown): Adjust argument type to
10702         tty_frame_output_end.
10703
10704 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10705
10706         * eval.c (Fbacktrace): Don't output a line with only right
10707         parenthesis.
10708
10709 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
10710
10711         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
10712         (Fpq_reset_poll): Ditto.
10713
10714 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
10715
10716         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
10717
10718 2000-05-16  Ben Wing  <ben@xemacs.org>
10719
10720         * buffer.c:
10721         * buffer.c (dfc_convert_to/from_internal_format):
10722         * buffer.c (reinit_vars_of_buffer):
10723         Fix conversion functions to allow reentrancy.
10724
10725         * console-msw.c:
10726         * console-msw.c (mswindows_output_last_error):
10727         New fun, generally useful -- output a human-readable
10728         version of GetLastError() on the console.
10729
10730         * console-msw.h:
10731         * console-msw.h (struct mswindows_frame):
10732         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
10733
10734         * console-stream.c (stream_output_begin):
10735         * console-stream.c (stream_output_end):
10736         * console-stream.c (stream_output_vertical_divider):
10737         * console-stream.c (stream_clear_region):
10738         * console-stream.c (stream_flash):
10739         * console-stream.c (console_type_create_stream):
10740         Delete blank stream methods, not needed.
10741
10742         * console.h (struct console_methods):
10743         Split begin/end methods into window and frame.
10744
10745         * event-msw.c:
10746         * event-msw.c (mswindows_handle_paint):
10747         * event-msw.c (output_alt_keyboard_state):
10748         * event-msw.c (mswindows_wnd_proc):
10749         * event-msw.c (vars_of_event_mswindows):
10750         Comment about problems with ignored-expose.
10751         Define mswindows-debug-events; not really implemented.
10752
10753         * frame-msw.c (mswindows_init_frame_1):
10754         random cleanups.
10755
10756         * glyphs-msw.c:
10757         * glyphs-msw.c (begin_defer_window_pos):
10758         * glyphs-msw.c (mswindows_unmap_subwindow):
10759         * glyphs-msw.c (mswindows_map_subwindow):
10760         * glyphs-msw.c (mswindows_resize_subwindow):
10761         Use DeferWindowPos to reduce flashing when mapping/unmapping.
10762
10763         * glyphs.c (make_image_instance_1):
10764         Fix crash.
10765
10766         * gutter.c (Fredisplay_gutter_area):
10767         Use new begin/end methods.
10768
10769         * lisp.h (Dynarr_new2):
10770         New creation fun.
10771
10772         * redisplay-msw.c:
10773         * redisplay-msw.c (mswindows_frame_output_begin):
10774         * redisplay-msw.c (mswindows_frame_output_end):
10775         * redisplay-msw.c (console_type_create_redisplay_mswindows):
10776         New begin/end methods -- handle DeferWindowPos.
10777
10778         * redisplay-output.c (redisplay_move_cursor):
10779         * redisplay-output.c (redraw_cursor_in_window):
10780         * redisplay-output.c (redisplay_update_line):
10781         * redisplay-output.c (redisplay_output_window):
10782         New begin/end methods.
10783
10784         * redisplay-tty.c:
10785         * redisplay-tty.c (tty_frame_output_begin):
10786         * redisplay-tty.c (tty_frame_output_end):
10787         * redisplay-tty.c (console_type_create_redisplay_tty):
10788         New begin/end methods.
10789
10790         * redisplay-x.c:
10791         * redisplay-x.c (x_window_output_begin):
10792         * redisplay-x.c (x_window_output_end):
10793         * redisplay-x.c (console_type_create_redisplay_x):
10794         New begin/end methods.
10795
10796         * redisplay.c (redisplay_frame):
10797         * redisplay.c (Fredisplay_echo_area):
10798         New begin/end methods.
10799         use MAYBE_DEVMETH for clear_frame; it may not exist.
10800
10801         * window.h (WINDOW_XFRAME):
10802         WINDOW_XFOO macros -- get locale and decode struct pointer.
10803
10804
10805 2000-05-12  Ben Wing  <ben@xemacs.org>
10806
10807         * emacs.c:
10808         * emacs.c (ensure_no_quitting_from_now_on):
10809         * emacs.c (fatal_error_signal):
10810         * emacs.c (mswindows_handle_hardware_exceptions):
10811         * emacs.c (main):
10812         * emacs.c (Fkill_emacs):
10813         * emacs.c (shut_down_emacs):
10814         * emacs.c (assert_failed):
10815         various improvements in fatal error handling.
10816
10817         * eval.c:
10818         move preparing_for_armageddon to emacs.c.
10819
10820         * lisp.h:
10821         declare fatal_error_in_progress.
10822
10823         * print.c:
10824         * print.c (std_handle_out_external):
10825         * print.c (std_handle_out_va):
10826         * print.c (stderr_out):
10827         * print.c (stdout_out):
10828         use console under mswin when no standard output.
10829         don't do code conversion during fatal error.
10830
10831         * scrollbar.c (Fscrollbar_page_up):
10832         * scrollbar.c (Fscrollbar_page_down):
10833         fix missing else.  reindent.
10834
10835 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
10836
10837         Emergency fix.
10838
10839         * glyphs.h (GLYPH_CACHEL_DESCENT):
10840         (GLYPH_CACHEL_DESCENT):
10841         (GLYPH_CACHEL_DESCENT):
10842         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
10843         used in case these are inline functions.
10844         Use more absurd values to error check.
10845
10846         include window.h for error check functions.
10847
10848 2000-05-11  Ben Wing  <ben@xemacs.org>
10849
10850         * cmdloop.c (Freally_early_error_handler):
10851         Display message box under windows; otherwise, message will disappear
10852         before it can be viewed.
10853
10854         * console-msw.c:
10855         * console-msw.c (Fmswindows_message_box):
10856         * console-msw.c (FROB):
10857         * console-msw.c (syms_of_console_mswindows):
10858         Define new fun `mswindows-message-box'.
10859         #### I will merge this into `popup-dialog-box'; just give me
10860         a bit of time.
10861
10862         * general.c:
10863         * general.c (syms_of_general):
10864         Some new symbols used in `mswindows-message-box'.
10865
10866         * glyphs.c:
10867         * glyphs.c (Fset_image_instance_property):
10868         put warning in this fun.
10869
10870         * glyphs.h:
10871         * glyphs.h (GLYPH_CACHEL_WIDTH):
10872         * glyphs.h (GLYPH_CACHEL_ASCENT):
10873         * glyphs.h (GLYPH_CACHEL):
10874         * glyphs.h (GLYPH_CACHEL_GLYPH):
10875         define error-checking versions to try to catch a bug i've seen --
10876         redisplay gets in an infinite loop because the glyph width of the
10877         continuation glyph is 65535.
10878
10879         * lisp.h:
10880         Extern message-box stuff.
10881
10882         * window.c (allocate_window):
10883         * window.c (make_dummy_parent):
10884         * window.c (Fset_window_configuration):
10885         Use EQUAL not EQ for subwindow caches to make them work a bit
10886         better. (Something is still very broken.)
10887
10888
10889 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10890
10891         * glyphs.c (image_instantiate): Suppress gcc warnings.
10892         (Fmake_image_instance): Fix doc string.
10893         * specifier.c (Fmake_specifier): Ditto.
10894
10895 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
10896
10897         * paths.h.in (PATH_LOCK): Removed.
10898         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
10899         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
10900
10901 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10902
10903         * fns.c (Ffeaturep): Update e-mail address in doc-string.
10904         Document (featurep '(and xemacs 21.02)).
10905
10906 2000-05-09  Ben Wing  <ben@xemacs.org>
10907
10908         * buffer.c (complex_vars_of_buffer):
10909         update modeline-format doc.
10910
10911         * device.h:
10912         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
10913
10914         * emacs.c:
10915         timeline of all released versions of Emacs, for use in creating
10916         authorship comments and in synching up.
10917
10918         * glyphs-widget.c (image_instantiator_buttons):
10919         * glyphs-widget.c (image_instantiator_edit_fields):
10920         * glyphs-widget.c (image_instantiator_combo_box):
10921         * glyphs-widget.c (image_instantiator_scrollbar):
10922         * glyphs-widget.c (image_instantiator_progress_guage):
10923         * glyphs-widget.c (image_instantiator_tree_view):
10924         * glyphs-widget.c (image_instantiator_tab_control):
10925         * glyphs-widget.c (image_instantiator_labels):
10926         * glyphs-widget.c (image_instantiator_layout):
10927         * glyphs-widget.c (image_instantiator_native_layout):
10928         rename decode_domain method to governing_domain.
10929
10930         * glyphs.c:
10931         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
10932         * glyphs.c (add_entry_to_device_ii_format_list):
10933         make sure we don't put an entry more than once into the list.
10934         * glyphs.c (check_instance_cache_mapper):
10935         *************************************************************
10936         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10937         HAVE BEEN GETTING.
10938         *************************************************************
10939         * glyphs.c (get_image_instantiator_governing_domain):
10940         clean up, expand on new concept of governing domain.
10941         * glyphs.c (instantiate_image_instantiator):
10942         * glyphs.c (allocate_image_instance):
10943         use governing_domain instead of cache_domain in naming.
10944         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
10945         * glyphs.c (make_image_instance_1):
10946         * glyphs.c (Fmake_image_instance):
10947         allow for any domain (not just device), and process the
10948         governing domain correctly.  very big doc fix.
10949         * glyphs.c (Fimage_instance_domain):
10950         new primitive, to retrieve the governing domain of an image instance.
10951         * glyphs.c (image_instantiate):
10952         use new governing_domain stuff.  this fixes a crash you could get
10953         by instantiating certain widget glyphs in frame locales. (should
10954         signal an error instead of crashing.)
10955         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
10956         * glyphs.c (Fglyphp): clean up doc.
10957         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
10958         * glyphs.c (syms_of_glyphs):
10959         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
10960         * glyphs.c (image_instantiator_format_create): add some comments about
10961         bogus code.
10962         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
10963         for current-display-table. (Apparently Hrjove implemented in 1998 a
10964         design I wrote up in 1996, but didn't update the doc string.)
10965
10966         * glyphs.h: clean up a doc string.
10967         * glyphs.h (governing_domain):
10968         * glyphs.h (struct image_instantiator_methods):
10969         changes for governing_domain stuff.
10970
10971         * gutter.c:
10972         * gutter.c (Fgutter_specifier_p):
10973         * gutter.c (Fgutter_size_specifier_p):
10974         * gutter.c (Fgutter_visible_specifier_p):
10975         * objects.c:
10976         * objects.c (Fcolor_specifier_p):
10977         * objects.c (Ffont_specifier_p):
10978         * objects.c (Fface_boolean_specifier_p):
10979         doc strings moved to make-*-specifier.
10980
10981         * redisplay.c (add_disp_table_entry_runes_1):
10982         * redisplay.c (generate_fstring_runes):
10983         * redisplay.c (screen):
10984         add random comments and doc strings.
10985
10986         * specifier.c:
10987         * specifier.c (Fmake_specifier):
10988         major overhaul of this doc string.
10989
10990         * specifier.c (Fvalid_specifier_domain_p):
10991         comment about the bogosity of image instances being domains.
10992         * specifier.c (decode_domain):
10993         now non-static, used in glyphs.c.
10994         * specifier.c (specifier_instance):
10995         comment about the bogosity of image instances being domains.
10996         * specifier.c (Fgeneric_specifier_p):
10997         move doc string to make-generic-specifier.
10998         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
10999         rebackslashify.
11000
11001         * specifier.h:
11002         * specifier.h (DOMAIN_FRAME):
11003         * specifier.h (DOMAIN_LIVE_P):
11004         * specifier.h (DOMAIN_XDEVICE):
11005         rebackslashify.
11006         add comments about problems with these macros.
11007         prototype for decode_domain.
11008
11009         * toolbar.c:
11010         * toolbar.c (Ftoolbar_specifier_p):
11011         move doc string to `make-toolbar-specifier'.
11012
11013         * window.c (window_unmap_subwindows_cache_mapper):
11014         *************************************************************
11015         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11016         HAVE BEEN GETTING.
11017         *************************************************************
11018
11019 2000-05-09  Andy Piper  <andy@xemacs.org>
11020
11021         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11022
11023         * window.c (Fset_window_configuration): reset the frame subwindow
11024         cache and re-initialize the window subwindow caches.
11025
11026         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11027
11028 2000-05-09  Ben Wing  <ben@xemacs.org>
11029
11030         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11031         DWORD.
11032
11033 2000-04-26  Mike Woolley  <mike@bulsara.com>
11034
11035         * ntheap.c: Changed recreate_heap to limit the amount reserved
11036         for the heap to that which is actually available. Also now
11037         displays a message box (with some dignostics) in the event that
11038         it still can't start.
11039
11040 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11041
11042         * callproc.c (Fold_call_process_internal): GCPRO path
11043
11044 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11045
11046         Patch by Bill Perry.
11047
11048         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11049         back data instead of #ifdef.
11050         (Fscrollbar_page_down): ditto.
11051
11052 2000-05-07  Ben Wing  <ben@xemacs.org>
11053
11054         * buffer.h:
11055         Kludge for defining Qmswindows_tstr.
11056
11057         * nt.c:
11058         * nt.c (open_input_file):
11059         * nt.c (open_output_file):
11060         * nt.c (rva_to_section):
11061         * nt.c (mswindows_executable_type):
11062         Move all memory-mapped-file routines here (some were in unexnt.c,
11063         which is bad because they are used by process-nt.c, and unexnt
11064         won't be around when portable dumping).  Synched the above routines
11065         with FSF 20.6.
11066
11067         * nt.h:
11068         Removed ifdef'd out bogus code.
11069         Fixed some prototypes.
11070
11071         * nt.h (file_data):
11072         * nt.h (OFFSET_TO_RVA):
11073         * nt.h (RVA_TO_OFFSET):
11074         * nt.h (RVA_TO_PTR):
11075         Moved the memory-mapped-file structures, macros and prototypes
11076         here, to parallel nt.c.  ntheap.h should really be removed
11077         entirely, and it's a non-portable-dumper specific file.
11078
11079         * ntheap.h (round_to_next):
11080         Moved the memory-mapped-file structures, macros and prototypes
11081         to nt.h.
11082
11083         * ntproc.c (compare_env):
11084         Moved rva_to_section and mswindows_executable_type to nt.c.
11085         Moved compare_env to process-nt.c.
11086         ntproc.c will die, one day.
11087
11088         * ntproc.c (sys_spawnve):
11089         Account for win32_ -> mswindows_.
11090
11091         * process-nt.c:
11092         * process-nt.c (struct nt_process_data):
11093         * process-nt.c (ensure_console_window_exists):
11094         * process-nt.c (compare_env):
11095         * process-nt.c (nt_create_process):
11096         * process-nt.c (nt_kill_process_by_pid):
11097         * process-nt.c (syms_of_process_nt):
11098         * process-nt.c (vars_of_process_nt):
11099         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11100         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11101         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11102         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11103         Move compare_env here from ntproc.c.
11104
11105         * process.c (Fprocess_send_region):
11106         Takes an optional fourth argument, BUFFER, which should fix some
11107         problems with call-process.
11108
11109         * syscommctrl.h:
11110         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11111
11112         * syswindows.h:
11113         Move ICC_BAR_CLASSES to syscommctrl.h.
11114         Add preliminary macros for MSWindows/Mule.  More to come.
11115
11116         * unexnt.c:
11117         * unexnt.c (unexec):
11118         open_output_file moved to nt.c.
11119
11120
11121 2000-05-05  Andy Piper  <andy@xemacs.org>
11122
11123         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11124         instance from the frame cache also since GC may catch up too late
11125         to make frame deletion sane.
11126
11127 2000-05-04  Andy Piper  <andy@xemacs.org>
11128
11129         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11130         (x_finalize_image_instance): ungcpro on deletion.
11131
11132         * glyphs.c (image_instantiator_format_create): give pointers a
11133         query geometry method so that the geometry is at least set.
11134
11135         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11136         initialize layouts if using widgets.
11137
11138 2000-05-03  Andy Piper  <andy@xemacs.org>
11139
11140         * nt.c: remove bogus reference to sysmmsystem.h
11141
11142         * gui-x.c (popup_selection_callback): fix no selection abort.
11143
11144 2000-05-02  Andy Piper  <andy@xemacs.org>
11145
11146         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11147         (mswindows_widget_instantiate): ditto.
11148
11149         * glyphs-widget.c (initialize_widget_image_instance): initialize
11150         children correctly.
11151         (widget_instantiate): cope with children and items in the same
11152         instance.
11153
11154         * glyphs.c (mark_image_instance): cope with children as a first
11155         class member.
11156         (image_instance_equal): ditto.
11157         (image_instance_hash): ditto.
11158         (image_instance_changed): ditto.
11159
11160 2000-04-30  Andy Piper  <andy@xemacs.org>
11161
11162         * glyphs.c (subwindow_query_geometry): new function. Return some
11163         defaults.
11164         (subwindow_instantiate): don't assign dimensions if none have been
11165         given.
11166         (image_instantiator_format_create): add subwindow_query_geometry.
11167         (print_image_instance): cope with layouts as widgets.
11168
11169 2000-04-29  Andy Piper  <andy@xemacs.org>
11170
11171         * frame.c (delete_frame_internal): call
11172         free_frame_subwindow_instance_cache so that all subwindows are
11173         finalized before their parent.
11174         (mark_frame): remove subwindow_cachels.
11175         (Fmake_frame): remove subwindow_cachel manipulation.
11176         (allocate_frame_core): subwindow_instance_cache is a weak list.
11177         (delete_frame_internal): set subwindow_instance_cache to nil.
11178
11179         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11180         finalization safe.
11181         (mswindows_finalize_image_instance): use the device
11182         not the domain as the domain may have died already.
11183
11184         * glyphs-x.c (x_finalize_image_instance): ditto.
11185         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11186         HEIGHT.
11187
11188         * redisplay-output.c (redisplay_unmap_subwindows): update for
11189         subwindow instance cache as a weak list.
11190         (redisplay_unmap_subwindows_maybe): ditto.
11191         (redisplay_unmap_subwindows_except_us): ditto.
11192
11193         * glyphs.c (unmap_subwindow): error checking will check the domain
11194         so don't deal with it here. Don't use cachels anymore.
11195         (map_subwindow): ditto.
11196         (update_subwindow_cachel_data): remove old accessor names.
11197         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11198         (Fresize_subwindow): don't update cachel.
11199         (mark_subwindow_cachels):
11200         (update_subwindow_cachel_data):
11201         (add_subwindow_cachel):
11202         (get_subwindow_cachel_index):
11203         (update_subwindow_cachel):
11204         (reset_subwindow_cachels):
11205         (mark_subwindow_cachels_as_not_updated): deleted.
11206         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11207         subwindow instance to the frame cache.
11208         (find_matching_subwindow): update for subwindow instance cache as
11209         a weak list.
11210         (update_widget_instances): ditto.
11211         (image_instance_type_to_mask):inlined.
11212         (free_frame_subwindow_instance_cache): new function. finalize all
11213         subwindows that are instantiated.
11214
11215         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11216         of cachel information.
11217         (IMAGE_INSTANCE_DISPLAY_X):
11218         (IMAGE_INSTANCE_DISPLAY_Y):
11219         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11220         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11221         (XIMAGE_INSTANCE_DISPLAY_X):
11222         (XIMAGE_INSTANCE_DISPLAY_Y):
11223         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11224         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11225         remove subwindow_cachel structure and function references.
11226         (image_instance_type_to_mask): inline from glyphs.c
11227
11228         * redisplay.c (redisplay_frame): remove subwindow_cachel
11229         references.
11230
11231         * frame.h (struct frame): remove subwindow_cachels.
11232         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11233
11234         * frameslots.h: add subwindow_instance_cache.
11235
11236         * window.c (replace_window): check subwindow cache of replacement.
11237         (window_unmap_subwindows_cache_mapper):
11238         (window_unmap_subwindows): new functions. Unmap all subwindows
11239         cached on this window.
11240         (mark_window_as_deleted): unmap all subwindows.
11241
11242 2000-04-27  Andy Piper  <andy@xemacs.org>
11243
11244         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11245
11246         * glyphs-widget.c (widget_layout): return something.
11247         (layout_layout): return something. Fail if not initialized.
11248         (layout_query_geometry): ditto.
11249         (image_instantiator_native_layout): new function. Initialized the
11250         native layout type.
11251         (widget_instantiate): don't do layout stuff here.
11252
11253         * glyphs.c (instantiate_image_instantiator): reorded calling or
11254         instantiate and post_instantiate with layout in between.
11255         (image_instance_layout): be more selective about deciding whether
11256         the layout has been done or not.
11257
11258         * glyphs.h (struct image_instantiator_methods): return a value
11259         from layout_method.
11260
11261 2000-04-26  Andy Piper  <andy@xemacs.org>
11262
11263         * glyphs.c (allocate_image_instance): make initial width and
11264         height unspecified. Set initialized to 0.
11265
11266         * syscommctrl.h new file. Encapsulates commctrl.h.
11267
11268         * syswindows.h new file. Encapsulates windows.h.
11269
11270         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11271         * nt.c: ditto.
11272         * console-msw.h: ditto.
11273
11274         * redisplay-tty.c (tty_output_display_block): remove layout references.
11275
11276         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11277         window handle rather than just the frame.
11278
11279         * glyphs.c (mark_image_instance): remove layout references.
11280         (print_image_instance): ditto.
11281         (image_instance_equal): ditto.
11282         (image_instance_hash): ditto.
11283         (decode_image_instance_type): ditto.
11284         (encode_image_instance_type): ditto.
11285         (image_instantiate): ditto.
11286         (allocate_glyph): ditto.
11287         (Fimage_instance_height): ditto.
11288         (Fimage_instance_width): ditto.
11289         (update_subwindow): ditto.
11290
11291         * redisplay-x.c (x_output_display_block): recode for layouts as
11292         widgets.
11293
11294         * redisplay-output.c (redisplay_output_layout): recode for layouts
11295         as widgets.
11296         (compare_runes): remove layout references.
11297
11298         * redisplay-msw.c (mswindows_output_display_block): recode for
11299         layouts as widgets.
11300
11301         * glyphs-widget.c (image_instantiator_layout): remove
11302         layout_possible_dest_types.
11303         (layout_possible_dest_types): deleted.
11304
11305         * glyphs.h (image_instance_type): remove layout references.
11306         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11307         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11308         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11309
11310 2000-04-25  Andy Piper  <andy@xemacs.org>
11311
11312         * glyphs-widget.c (image_instantiator_buttons):
11313         (image_instantiator_edit_fields):
11314         (image_instantiator_combo_box):
11315         (image_instantiator_scrollbar):
11316         (image_instantiator_progress_guage):
11317         (image_instantiator_tree_view):
11318         (image_instantiator_tab_control):
11319         (image_instantiator_labels):
11320         (image_instantiator_layout): call default post_instantiate method.
11321         (widget_post_instantiate): new function. Simply lays out the
11322         widgets.
11323
11324         * glyphs.h (struct image_instantiator_methods): add
11325         post_instantiate method.
11326
11327         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11328         method calls.
11329
11330 2000-04-23  Andy Piper  <andy@xemacs.org>
11331
11332         * glyphs.h (struct image_instantiator_methods): add
11333         decode_domain_method.
11334         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11335         derived from the domain.
11336         (IMAGE_INSTANCE_FRAME): new accessor.
11337         (XIMAGE_INSTANCE_FRAME): ditto.
11338
11339         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11340         instead of _SUBWINDOW_FRAME.
11341         (finalize_image_instance): ditto.
11342         (Fimage_instance_foreground): ditto.
11343         (Fimage_instance_background): ditto.
11344         (image_instantiate): ditto.
11345         (update_subwindow_cachel): ditto.
11346         (update_subwindow): ditto.
11347         (unmap_subwindow): ditto.
11348         (map_subwindow): ditto
11349         (subwindow_instantiate): ditto.
11350         * glyphs-msw.c (mswindows_update_widget): ditto.
11351         (mswindows_progress_gauge_instantiate): ditto.
11352         (mswindows_tab_control_update): ditto.
11353         * glyphs-x.c (x_update_widget): ditto.
11354         (x_widget_instantiate): ditto.
11355         (x_tab_control_instantiate): ditto.
11356         (x_tab_control_update): ditto.
11357         * event-msw.c (mswindows_wnd_proc): ditto
11358
11359         * glyphs-widget.c (image_instantiator_layout): use
11360         subwindow_decode_domain.
11361         (image_instantiator_buttons): ditto.
11362         (image_instantiator_edit_fields): ditto.
11363         (image_instantiator_combo_box): ditto.
11364         (image_instantiator_scrollbar): ditto.
11365         (image_instantiator_progress_guage): ditto.
11366         (image_instantiator_tree_view): ditto.
11367         (image_instantiator_tab_control): ditto.
11368         (image_instantiator_labels): ditto.
11369         (image_instantiator_layout): ditto.
11370
11371         * glyphs.c: add instance error checking to many functions.
11372         (instantiate_image_instantiator): decode device from cache_domain.
11373         (image_instantiate): partially rewrite by using
11374         decode_image_instantiator_domain to determine what domain the
11375         instance needs to be cached in.
11376         (decode_image_instantiator_domain): new function. Determine what
11377         domain the image needs to be cached in.
11378         (check_window_subwindow_cache): new error checking function.
11379         (check_instance_cache_mapper): ditto.
11380         (check_image_instance_structure): ditto.
11381         (subwindow_decode_domain): new function. Encodes a window as a
11382         subwindow's cache domain.
11383         (image_instantiator_format_create): use it for text and
11384         subwindows.
11385
11386 2000-04-21  Andy Piper  <andy@xemacs.org>
11387
11388         * glyphs.c (image_instance_device): new function.
11389         (image_instance_frame): new function.
11390         (image_instance_window): new function.
11391         (image_instance_live_p): new function.
11392
11393         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11394         cache to nil.
11395
11396         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11397         (IMAGE_INSTANCE_DOMAIN): new accessor.
11398         (XIMAGE_INSTANCE_DOMAIN): ditto.
11399
11400         * glyphs-x.c (x_finalize_image_instance): device->domain.
11401
11402         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11403         (mswindows_finalize_image_instance): ditto.
11404
11405         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11406         (gif_instantiate): ditto.
11407         (png_instantiate): ditto.
11408         (tiff_instantiate): ditto.
11409
11410         * glyphs.c (instantiate_image_instantiator): use domain rather
11411         than device.
11412         (mark_image_instance): device -> domain.
11413         (print_image_instance): ditto.
11414         (finalize_image_instance): ditto.
11415         (image_instance_equal): ditto.
11416         (allocate_image_instance): ditto.
11417         (Fcolorize_image_instance): ditto.
11418         (query_string_geometry): ditto.
11419         (image_instantiate): ditto
11420         (query_string_font): ditto.
11421         (image_instantiate): ditto.
11422         (update_subwindow): ditto.
11423         (unmap_subwindow): ditto.
11424         (map_subwindow): ditto.
11425         (subwindow_instantiate): ditto.
11426
11427         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
11428         (DOMAIN_FRAME): ditto.
11429         (DOMAIN_WINDOW): ditto.
11430         (DOMAIN_LIVE_P): ditto.
11431         (XDOMAIN_DEVICE): ditto.
11432         (XDOMAIN_FRAME): ditto.
11433         (XDOMAIN_WINDOW): ditto.
11434
11435         * specifier.c (Fvalid_specifier_domain_p): add image instances as
11436         a valid specifier domain.
11437
11438 2000-04-19  Andy Piper  <andy@xemacs.org>
11439
11440         * glyphs-widget.c (syms_of_glyphs_widget): remove
11441         widget-callback-current-channel.
11442         (vars_of_glyphs_widget): ditto.
11443         * glyphs.h: ditto
11444
11445         * gui.c (get_gui_callback): revert to previous behaviour.
11446
11447 2000-04-18  Andy Piper  <andy@xemacs.org>
11448
11449         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
11450         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
11451         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
11452
11453         * glyphs.c (image_instance_equal): add margin_width.
11454         (image_instance_hash): ditto.
11455
11456         * glyphs-widget.c (widget_instantiate): deal with margin-width.
11457         (layout_query_geometry): ditto.
11458         (layout_layout): ditto.
11459         (syms_of_glyphs_widget): add margin-width.
11460         (image_instantiator_layout): allow margin-width.
11461
11462         * glyphs.c (update_widget_instances): make a normal function.
11463         (syms_of_glyphs): remove Qupdate_widget_instances.
11464         * glyphs.h: ditto.
11465
11466         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
11467         so that we don't corrupt ideas about the last event or
11468         command. Remove widget-callback-current-channel fiddling.
11469         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11470
11471 2000-05-01  Martin Buchholz <martin@xemacs.org>
11472
11473         * XEmacs 21.2.33 is released.
11474
11475 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
11476
11477         * make-src-depend: Allow dots in header file name.
11478
11479 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
11480
11481         * mule-charset.h (struct charset_lookup): Add
11482         next_allocated_1_byte_leading_byte and
11483         next_allocated_2_byte_leading_byte.
11484         * mule-charset.c: Move above two variables so that those values
11485         will be dumped.
11486
11487 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
11488
11489         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
11490         when string length is zero.
11491         (find_charsets_in_emchar_string): Ditto.
11492
11493 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
11494
11495         * lisp.h: extern Qdialog and Qmenubar.
11496
11497         * gui-x.c: added events.h.
11498                 also fixed typo which made the file uncompilable.
11499
11500         * general.c: Added Qmenubar and Qdialog
11501
11502 2000-04-28  Ben Wing  <ben@xemacs.org>
11503
11504         * frame-msw.c (mswindows_init_frame_1):
11505         * frame-msw.c (mswindows_mark_frame):
11506         * event-msw.c (mswindows_enqueue_dispatch_event):
11507         * console-msw.h:
11508         * console-msw.h (struct mswindows_frame):
11509         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
11510         there are now three hash tables for callbacks.
11511         mswindows_enqueue_dispatch_event is no longer static.
11512
11513         * dialog-x.c (maybe_run_dbox_text_callback):
11514         * dialog-x.c (dbox_descriptor_to_widget_value):
11515         switch to new cons3 form for callbacks.
11516
11517         * glyphs-msw.c (mswindows_register_gui_item):
11518         * glyphs-msw.c (mswindows_widget_instantiate):
11519         * glyphs-msw.c (add_tree_item):
11520         * glyphs-msw.c (add_tab_item):
11521         new image instance parameter, so it can be passed to callback-ex.
11522         respect :callback-ex as well as :callback.
11523
11524         * glyphs-widget.c (VALID_GUI_KEYWORDS):
11525         add :callback-ex.
11526
11527         * glyphs.c (print_image_instance):
11528         prettify, e.g. now prints widget type.
11529
11530         * gui-x.h:
11531         certain funs have new image instance parameter.
11532
11533         * gui.c:
11534         * gui.c (get_gui_callback):
11535         * gui.c (gui_item_add_keyval_pair):
11536         * gui.c (gui_item_init):
11537         * gui.c (gui_add_item_keywords_to_plist):
11538         * gui.c (mark_gui_item):
11539         * gui.c (gui_item_hash):
11540         * gui.c (gui_item_equal):
11541         * gui.c (copy_gui_item):
11542         * gui.c (syms_of_gui):
11543         recognize callback-ex in a number of places.
11544         also, fix the annoying "can't get out of yes-no dialog" bug.
11545
11546         * gui.h:
11547         * gui.h (struct Lisp_Gui_Item):
11548         recognize callback-ex in a number of places.
11549
11550         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11551         new parameter in button_item_to_widget_value.
11552
11553         * glyphs-x.c (x_update_widget):
11554         * glyphs-x.c (x_button_instantiate):
11555         * glyphs-x.c (x_button_update):
11556         * glyphs-x.c (x_progress_gauge_instantiate):
11557         * glyphs-x.c (x_edit_field_instantiate):
11558         * glyphs-x.c (x_combo_box_instantiate):
11559         * glyphs-x.c (x_tab_control_instantiate):
11560         * glyphs-x.c (x_label_instantiate):
11561         new image instance parameter in various places.
11562
11563         * event-Xt.c:
11564         * event-Xt.c (enqueue_Xt_dispatch_event):
11565         this fun gets exported.
11566
11567         * gui-msw.c:
11568         * gui-msw.c (mswindows_handle_gui_wm_command):
11569         handle both :callback and :callback-ex, and generate our own
11570         event because it's one of the callback-ex arguments.
11571
11572         * gui-x.c:
11573         * gui-x.c (popup_selection_callback):
11574         handle both :callback and :callback-ex, and generate our own
11575         event because it's one of the callback-ex arguments.
11576         * gui-x.c (button_item_to_widget_value):
11577         * gui-x.c (gui_items_to_widget_values_1):
11578         * gui-x.c (gui_item_children_to_widget_values):
11579         * gui-x.c (gui_items_to_widget_values):
11580         new image instance parameter in various places.
11581
11582         * fns.c (Freplace_list):
11583         fix small typo in doc string.
11584
11585         * lisp.h:
11586         declare enqueue_Xt_dispatch_event.
11587
11588 2000-04-28  Ben Wing  <ben@xemacs.org>
11589
11590         * buffer.c:
11591         * buffer.c (Frecord_buffer):
11592         * buffer.c (syms_of_buffer):
11593         delete record-buffer-hook.
11594
11595         * fns.c:
11596         * fns.c (Freplace_list):
11597         * fns.c (syms_of_fns):
11598         new primitive replace-list.
11599
11600         * frameslots.h:
11601         slot for old buffer-alist.
11602
11603         * lisp.h:
11604         exfun replace-list.
11605
11606         * redisplay.c:
11607         * redisplay.c (redisplay_frame):
11608         * redisplay.c (syms_of_redisplay):
11609         * redisplay.c (vars_of_redisplay):
11610         new hook buffer-list-changed-hook.
11611         call it.
11612
11613 2000-04-27  Ben Wing  <ben@xemacs.org>
11614
11615         * extents.h: extern in_modeline_generation.
11616
11617         * redisplay.c (generate_formatted_string_db): set
11618         in_modeline_generation.
11619
11620         * extents.c (extent_changed_for_redisplay): don't mark redisplay
11621         flags if in modeline generation.  otherwise frame-modified-tick
11622         is ticked far too often.
11623         Declare in_modeline_generation.
11624
11625 2000-04-26  Ben Wing  <ben@xemacs.org>
11626
11627         * emacs.c (vars_of_emacs): document quick-build "error-checking"
11628         option.
11629         (vars_of_emacs): add quick-build as an error-checking option.
11630         A bit kludgy, but there doesn't seem much point in creating
11631         a real var for this.
11632
11633         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
11634
11635 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11636
11637         * redisplay.h (struct display_line): Add a new variable,
11638         line_continuation.
11639
11640         * redisplay.c (create_text_block): Set dl->line_continuation if
11641         the line continues.
11642         (create_string_text_block): Ditto.
11643         (regenerate_window_incrementally): Use line_continuation instead
11644         of searching continuation glyph.
11645         (add_margin_runes): Call add_glyph_rune.
11646         (add_glyph_rune): Handle margin glyph.
11647
11648 2000-04-20  Martin Buchholz  <martin@xemacs.org>
11649
11650         * filelock.c (fill_in_lock_file_name):
11651         ANSIfy.
11652         Check for IS_ANY_SEP instead of '/'.
11653         (lock_file_1):
11654         Avoid generating gratuitous garbage.  Call user_login_name() directly.
11655         Never check errno without first seeing that system call failed.
11656         (unlock_file): Add GCPRO.
11657         (Flock_buffer): Fix docstring.
11658         (Ffile_locked_p): Fix docstring.  Add GCPRO.
11659
11660 2000-04-19  Martin Buchholz  <martin@xemacs.org>
11661
11662         * sysdep.c (get_pty_max_bytes):
11663         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
11664         strings longer than 252 bytes.
11665
11666         * md5.c: Unconditionally include ANSI header <limits.h>
11667
11668         * glyphs-x.c (convert_EImage_to_XImage):
11669         * lisp-union.h (union Lisp_Object):
11670         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
11671
11672 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
11673
11674         * filelock.c (current_lock_owner): Remove unused variable o, p.
11675
11676 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
11677
11678         * callint.c: Remove multiply defined symbol Qlet
11679         (syms_of_callint): ditto.
11680
11681 2000-04-14  Andy Piper  <andy@xemacs.org>
11682
11683         * general.c (syms_of_general): add last-command, this-command, let
11684         and funcall.
11685
11686         * lisp.h: declare various symbols.
11687
11688         * glyphs.h: declare Qwidget_callback_current_channel;
11689
11690         * glyphs-widget.c (syms_of_glyphs_widget): add
11691         Qgui_callback_current_channel.
11692         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
11693
11694         * gui-msw.c (mswindows_handle_gui_wm_command): bind
11695         widget-callback-current-channel when invoking the interactive
11696         arg. Also bind last-command and next-command when invoking the
11697         widget updates.
11698         * gui-x.c (popup_selection_callback): ditto.
11699
11700         * gui.c (get_gui_callback): massage args so that we are always
11701         calling eval. This allows us to add our own variable bindings
11702         outside.
11703
11704         * glyphs-x.c (x_button_instantiate): use
11705         gui_items_to_widget_values since this is GC safe.
11706         (x_progress_gauge_instantiate): ditto.
11707         (x_edit_field_instantiate): ditto.
11708         (x_label_instantiate): ditto.
11709
11710         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
11711         (emacs_Xt_event_widget_focus_out): new function
11712         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
11713         focus.
11714         (emacs_Xt_event_add_widget_actions): new function. add focus
11715         functions as actions.
11716         (init_event_Xt_late): use it.
11717
11718 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
11719
11720         * event-stream.c (Fdispatch_event): Doc fix.
11721
11722 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
11723
11724         * postgresql.c: Remove all references to PQsetenv*.
11725
11726         * postgresql.h: Remove references to PGsetenvHandler object.
11727         * lrecord.h (lrecord_type): Ditto.
11728
11729 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11730
11731         * glyphs-msw.h (struct mswindows_image_instance_data): Added
11732         real_heigh and real_width members, and accessor macros for these.
11733
11734         * glyphs-msw.c (init_image_instance_geometry): New function.
11735         (init_image_instance_from_dibitmap): Use it.
11736         (mswindows_resource_instantiate): Use it.
11737         (init_image_instance_from_xbm_inline): Use it.
11738         (mswindows_initialize_image_instance_mask): Use real bitmap
11739         geometry.
11740         (mswindows_create_resized_bitmap): Ditto.
11741         (mswindows_create_resized_mask): Ditto.
11742
11743         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
11744         and bitmap to their surface size.
11745
11746 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
11747
11748         * process-unix.c (unix_send_process): Guard against process MIA
11749         after Faccept_process_output.
11750
11751 2000-04-11  Ben Wing  <ben@xemacs.org>
11752
11753         * eval.c (unbind_to_hairy): fix brokenness introduced by
11754         nanosecond speed improvements.
11755
11756 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
11757
11758         * sunplay.c (init_device): To play sounds correctly, the device
11759         apparently needs to be initialized at least once by XEmacs.  Make
11760         it so.
11761
11762 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11763
11764         * redisplay.c (add_margin_runes): Add text image glyph
11765           handling.
11766
11767 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
11768
11769         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
11770         gcc is newer than 2.5.
11771
11772 2000-04-06  Colin Rafferty  <colin@xemacs.org>
11773
11774         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
11775
11776         * fns.c (size_bit_vector):
11777         * alloc.c (size_vector):
11778         (make_vector_internal):
11779         (make_bit_vector_internal):
11780         (sweep_bit_vectors_1):
11781         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
11782
11783 2000-04-06  Andy Piper  <andy@xemacs.org>
11784
11785         * gmalloc.c (malloc): undo previous change.
11786         (malloc): ditto.
11787         (free): ditto.
11788         (realloc): ditto.
11789
11790 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
11791
11792         * line-number.c (buffer_line_number): Revert to former version.
11793
11794 2000-04-06  Andy Piper  <andy@xemacs.org>
11795
11796         * gmalloc.c (malloc): add error checking.
11797         (malloc): ditto.
11798         (free): ditto.
11799         (realloc): ditto.
11800
11801         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
11802         button_item_to_widget_value arg.
11803
11804         * glyphs-x.c (x_button_instantiate): add extra
11805         button_item_to_widget_value arg.
11806         (x_progress_gauge_instantiate): ditto.
11807         (x_edit_field_instantiate): ditto.
11808         (x_label_instantiate): ditto.
11809
11810         * gui-x.c (gui_items_to_widget_values_1): add extra
11811         button_item_to_widget_value arg.
11812         (button_item_to_widget_value): add extra menu_item_p arg.
11813
11814         * gui-x.h: change signature of button_item_to_widget_value.
11815
11816         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
11817         button_item_to_widget_value arg.
11818
11819 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11820
11821         * buffer.h (struct buffer): auto_save_modified should be long.
11822
11823 2000-04-05  Andy Piper  <andy@xemacs.org>
11824
11825         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
11826         type.
11827         (button_query_geometry): give a little more room so that athena
11828         buttons fit.
11829
11830 2000-04-05  Andy Piper  <andy@xemacs.org>
11831
11832         * faces.c (complex_vars_of_faces): The widget face should inherit
11833         the font of the gui-element face.
11834
11835 2000-04-04  Andy Piper  <andy@xemacs.org>
11836
11837         * glyphs-x.c (x_button_update): new function. unconditionally
11838         update a button's state when the instance is dirty.
11839         (image_instantiator_format_create_glyphs_x): add x_button_update.
11840         (x_widget_instantiate): remove old resize cruft.
11841
11842 2000-04-02  Andy Piper  <andy@xemacs.org>
11843
11844         * frame.c (change_frame_size_1): The introduction of gutters means
11845         that we need to allow 0 as a potential frame dimension.
11846
11847 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11848
11849         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
11850         image glyph if allow_cursor.
11851         (add_hscroll_rune): Don't allow cursor to border glyph.
11852         (create_text_block): Ditto.
11853
11854         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
11855         text not in buffer.
11856         (redisplay_output_layout): Call ensure_face_cachel_complete for
11857         text image glyph.
11858
11859
11860 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11861
11862         * redisplay.c (add_glyph_rune): Adding text image as text runes.
11863
11864         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
11865         not in buffer
11866
11867         * redisplay-tty.c (tty_output_display_block): Delete the routine
11868         for text image glyph
11869         * redisplay-x.c (x_output_display_block): ditto
11870         * redisplay-msw.c (mswindows_output_display_block): ditto
11871
11872 2000-02-02  Mike Alexander  <mta@arbortext.com>
11873
11874         Note: Some of these were committed by accident as part of other
11875         patches.
11876
11877         * regex.c (regex_compile): Avoid compiler warnings.
11878
11879         * ntproc.c (sys_spawnve): Avoid compiler warnings.
11880
11881         * nt.h: Declare term_ntproc correctly.
11882
11883         * nt.c: Remove incorrect declaration of get_home_directory which
11884         is declared correctly in lisp.h.
11885
11886         * keymap.c (get_keyelt): Avoid compiler warnings.
11887         (raw_lookup_key_mapper): Avoid compiler warnings.
11888
11889         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
11890
11891         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
11892
11893         * filemode.c (mode_string): Avoid compiler warnings.
11894
11895         * file-coding.c (Fcoding_system_aliasee): Add return statement to
11896         avoid warning.
11897
11898         * events-mod.h: Undef some things that winuser.h defines differently.
11899
11900         * data.c (Faset): Avoid compiler warnings.
11901
11902         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
11903
11904 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11905
11906         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
11907         Fall through to simple beep on error.
11908         Replace "extern" by real header file.
11909
11910         * linuxplay.c: Use nativesound.h
11911         (play_sound_data): Return error code. Be less verbose on error.
11912
11913         * sunplay.c: Use nativesound.h
11914         (play_sound_data): Return error code. Be less verbose on error.
11915
11916         * ntplay.c: Use nativesound.h
11917         (play_sound_data): Return fake error code
11918
11919         * sgiplay.c: Use nativesound.h
11920         (play_sound_data): Return error code
11921
11922         * hpplay.c: Use nativesound.h, partially implement
11923         new error code. Break compilation until finished.
11924         (play_sound_data): error code.
11925
11926         * nativesound.h (play_sound_file):
11927           (play_sound_data): Prototype in new header.
11928
11929 2000-03-31  Andy Piper  <andy@xemacs.org>
11930
11931         * glyphs-widget.c: (button_query_geometry): new function. Adjust
11932         for toggle and radio buttons.
11933         (image_instantiator_buttons): use it.
11934
11935 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11936
11937         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
11938         (x_update_horizontal_scrollbar_callback): Return if no mirror was
11939         found. Scrollbar event probably belonged to some old config.
11940
11941 2000-03-31  Andy Piper  <andy@xemacs.org>
11942
11943         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
11944         than 1.
11945         (initialize_widget_image_instance): default layout to
11946         LAYOUT_HORIZONTAL rather than 0.
11947         (widget_instantiate): reverse the item list at the end rather than
11948         every iteration.
11949         (layout_layout): re-code for the border text at the front of the
11950         item list rather than at the end.
11951         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
11952         provided by the user.
11953         (widget_query_geometry): comment.
11954
11955 2000-03-30  Andy Piper  <andy@xemacs.org>
11956
11957         * glyphs-widget.c (image_instantiator_layout): allow standard
11958         widget keywords in layouts.
11959
11960         * gutter.c (output_gutter): cope with nil gutter contents.
11961
11962         * frame.c (Fset_frame_properties): add gutter docs.
11963
11964 2000-03-29  Andy Piper  <andy@xemacs.org>
11965
11966         * toolbar-msw.c (TBSTYLE_FLAT): add.
11967         (mswindows_output_toolbar): minor fiddling.
11968
11969 2000-03-29  Andy Piper  <andy@xemacs.org>
11970
11971         * gutter.c (output_gutter): force gutter size recalculation if
11972         what we are trying to display won't fit.
11973         (update_gutter_geometry): new function. A per-gutter version of
11974         update_frame_gutter_geometry.
11975         (update_frame_gutter_geometry): use it.
11976         (redraw_exposed_gutter): add extra debugging output.
11977
11978 2000-03-28  Mike Alexander  <mta@arbortext.com>
11979
11980         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
11981         (pdump_file_unmap): Implement it on Windows
11982         (pdump_file_get): Save alocated handles for pdump_file_unmap
11983
11984 2000-03-28  Andy Piper  <andy@xemacs.org>
11985
11986         * gui.c (get_gui_callback): treat Quit specially.
11987
11988 2000-03-27  Andy Piper  <andy@xemacs.org>
11989
11990         * glyphs.c (image_instantiate): be careful to check in the same
11991         way we assigned.
11992
11993 2000-03-27  Didier Verna  <didier@xemacs.org>
11994
11995         * config.h.in: define the proper SMART_INCLUDE macro.
11996         handle renaming of `foo_h_path' to `foo_h_file'.
11997
11998         * database.c: ditto.
11999
12000         * emacs.c: ditto.
12001
12002         * linuxplay.c: ditto.
12003
12004         * terminfo.c: ditto.
12005
12006         * tooltalk.h: ditto.
12007
12008 2000-03-27  Andy Piper  <andy@xemacs.org>
12009
12010         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12011         gets updated whenever the face might have changed.
12012
12013 2000-03-26  Mike Alexander  <mta@arbortext.com>
12014
12015         * dumper.c (pdump_resource_free): Fix the comment.
12016
12017 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12018
12019         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12020
12021 2000-03-22  Mike Alexander  <mta@arbortext.com>
12022
12023         * dumper.c: Include Windows headers on Windows
12024         (pdump_resource_free): Add a body to the function
12025         (pdump_load): exe_name -> exe_path and add some comments.
12026
12027 2000-03-25  Mike Alexander  <mta@arbortext.com>
12028
12029         * gui.c (copy_gui_item_tree): Return a value in all cases
12030
12031 2000-03-21  Didier Verna  <didier@xemacs.org>
12032
12033         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12034         lwlib/config.h.in.
12035         (SMART_INCLUDE): new macro.
12036         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12037         the proper location.
12038
12039         * postgresql.c: use it.
12040
12041         * inline.c: ditto.
12042
12043 2000-03-24  Andy Piper  <andy@xemacs.org>
12044
12045         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12046         do this.
12047
12048 2000-03-24  Andy Piper  <andy@xemacs.org>
12049
12050         * redisplay-output.c (compare_runes): use image_instance_changed
12051         to detect changes. Do not depend on glyphs_changed, only depend on
12052         dirtiness.
12053          (redisplay_output_layout): add debug messages.
12054         (compare_runes): ditto.
12055
12056         * glyphs.h: declare new functions.
12057         (struct Lisp_Image_Instance): remove percent and associated
12058         accessors.
12059
12060         * gui.h: declare new copying functions.
12061
12062         * gui.c (copy_gui_item_tree): new function.
12063         (copy_gui_item): new function.
12064         (gui_item_id_hash): revert to standard hash.
12065         (gui_item_hash): ditto.
12066         (gui_item_hash_internal): deleted.
12067         (mark_gui_item): mark value.
12068         (gui_item_add_keyval_pair): add value.
12069         (gui_item_init): ditto.
12070         (gui_add_item_keywords_to_plist): ditto.
12071         (gui_item_equal): ditto.
12072         (syms_of_gui): add Q_value.
12073
12074         * glyphs-x.c (x_progress_gauge_update): use pending items and
12075         value for setting the state.
12076         (x_update_widget): don't set items from pending here.
12077
12078         * glyphs-widget.c (update_widget): update items here.
12079         (progress_gauge_set_property): use items for storing value. Put
12080         new value in pending items.
12081
12082         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12083         items for new value. Convert percent -> value.
12084         (mswindows_tab_control_update): don't update items here.
12085
12086         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12087         (update_subwindow): ditto.
12088         (image_instance_changed): new function. Compare hash values and
12089         past and present widget items.
12090         (image_instantiate): We more careful about where we instantiate
12091         things.
12092         (image_instantiate): add error checking.
12093
12094         * gutter.c (syms_of_gutter): use -hook.
12095
12096 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12097
12098         * console-tty.c (Fset_console_tty_input_coding_system): Use
12099         Qkeyboard.
12100         (Fset_console_tty_output_coding_system): Use Qterminal.
12101         (tty_init_console): Use Qkeyboard and Qterminal.
12102
12103 2000-03-21  Ben Wing  <ben@xemacs.org>
12104
12105         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12106         From Mike Alexander <mta@arbortext.com>.
12107
12108 2000-03-21  Ben Wing  <ben@xemacs.org>
12109
12110         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12111         process brokenness.  Proper implementation to come.
12112         * callproc.c:
12113         Rename call-process-internal to old-call-process-internal.
12114         New impl. in process.el.
12115
12116 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12117
12118         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12119
12120 2000-03-20  Andy Piper  <andy@xemacs.org>
12121
12122         * glyphs.c (full_list_hash): make hashes of the same elements in
12123         different orders return different values.
12124
12125 2000-03-20  Martin Buchholz <martin@xemacs.org>
12126
12127         * XEmacs 21.2.32 is released.
12128
12129 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12130
12131         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12132         (DFC_MALLOC_USE_CONVERTED_DATA):
12133         Add aliasing-safe casts to allow use with char* or unsigned char*
12134         lvalues.
12135
12136         * eldap.c (Fldap_open):
12137         (Fldap_search_basic):
12138         (Fldap_add):
12139         (Fldap_modify):
12140         Make C++-compilable.
12141         Make sure GCPRO'ed variables are initialized.
12142         Use temp variables to avoid repeated calls to Flength.
12143
12144 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12145
12146         * sysfile.h:
12147         Make sure PATH_MAX is always defined.
12148         Include limits.h for PATH_MAX.
12149         Deprecate use of MAXPATHLEN.
12150
12151 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12152
12153         * emacs.c: Add reinit_vars_of_fileio.
12154         * symsinit.h: Add reinit_vars_of_fileio.
12155         * fileio.c (reinit_vars_of_fileio): New.
12156         * fileio.c (Fmake_temp_name):
12157         Initialize temp_name random number from microseconds to make
12158         collisions even less likely.  Initialize always at process startup
12159         time.  (make-temp-name) used to return the same file name twice in
12160         a row when PDUMP.
12161         Random stylistic fiddling.
12162         Comment fixes.
12163
12164 2000-03-20  Andy Piper  <andy@xemacs.org>
12165
12166         * glyphs.c (image_instantiate): allow text glyphs to be
12167         instantiated in the minibuffer window.
12168
12169 2000-03-19  Andy Piper  <andy@xemacs.org>
12170
12171         * glyphs.c (image_instance_hash): be careful about which items we
12172         hash on.
12173
12174         * glyphs-widget.c (tab_control_set_property): record into pending
12175         items rather than the actual items.
12176
12177         * glyphs-x.c (x_update_widget): use pending items to update with.
12178
12179         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12180         to update with.
12181
12182         * glyphs.c (mark_image_instance): mark pending items.
12183
12184         * window.c (Fset_window_configuration): record the buffer.
12185         (Fselect_window): totally revert previous change which breaks many
12186         things.
12187
12188 2000-03-18  Andy Piper  <andy@xemacs.org>
12189
12190         * glyphs-msw.c (mswindows_tab_control_update): force selected
12191         item.
12192
12193         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12194         window domain cache, otherwise we get inconsistencies at
12195         startup. There is something fishy at startup which can lead to the
12196         minibuffer being the selected window when the gutter content is
12197         instantiated.
12198
12199         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12200         gcpros.
12201         (parse_gui_item_tree_children): ditto.
12202         (parse_gui_item_tree_item): ditto.
12203
12204         * glyphs.c (Fupdate_widget_instances): return something.
12205
12206 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12207
12208         * window.c (Fselect_window): Undo 2000-03-17 change.
12209
12210 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12211
12212         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12213         against v7.0 libraries.  Insta-coredump city until the postgres
12214         folks fix it.
12215
12216 2000-03-17  Andy Piper  <andy@xemacs.org>
12217
12218         * faces.c (complex_vars_of_faces): don't give the widget face an
12219         inherited background pixmap.
12220
12221         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12222         selected item.
12223
12224         * event-stream.c (Fdispatch_non_command_events): return something.
12225
12226         * gutter.c (output_gutter): use widget face.
12227         (clear_gutter): ditto.
12228
12229         * NEWS: adjust again.
12230
12231         * window.c (Fselect_window): make sure this runs to completion to
12232         avoid oddities with Fset_window_configuration.
12233         (Fcurrent_window_configuration): in general do not save the
12234         minibuffer as the selected window.
12235
12236         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12237
12238 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12239
12240         * emacs.c (Frunning_temacs_p): Revert previous patch.
12241         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12242
12243 2000-03-16  Andy Piper  <andy@xemacs.org>
12244
12245         * glyphs-x.c (x_tab_control_update): if no widget values then
12246         return.
12247
12248         * NEWS: update for new features.
12249
12250         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12251         synthetic event to the native system.
12252         (reinit_vars_of_event_Xt): set force_event_pending to
12253         emacs_Xt_force_event_pending.
12254
12255         * events.h (struct event_stream): add force_event_pending.
12256
12257         * specifier.c (recompute_one_cached_specifier_in_window): add
12258         comment.
12259
12260         * redisplay.c (redisplay_frame): don't call
12261         update_frame_subwindows. Reset subwindow cachels when
12262         subwindows_changed, removing this was an optimization too far.
12263
12264         * redisplay-output.c (compare_runes): reorganize so that we catch
12265         glyph changes when we want them. Set optimize_output when this
12266         would help layouts.
12267         (redisplay_output_layout): remove frame_really_changed, use
12268         optimize_output instead.
12269
12270         * redisplay-msw.c (mswindows_output_display_block): reset
12271         optimize_output after outputting a glyph.
12272         * redisplay-x.c (x_output_display_block): ditto.
12273         * redisplay-tty.c (tty_output_display_block): ditto.
12274
12275         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12276         functions.
12277         (gutter_specs_changed): do specific gutter positions.
12278         (top_gutter_specs_changed): new function. Only update the
12279         specified gutter specs.
12280         (bottom_gutter_specs_changed): ditto.
12281         (left_gutter_specs_changed): ditto.
12282         (right_gutter_specs_changed): ditto.
12283
12284         * gui.c (gui_item_hash_internal): new function, does a real hash.
12285         (gui_item_id_hash): use it.
12286         (gui_item_hash): hash the eval'ed gui_item.
12287
12288         * gui-x.c (popup_selection_callback): send an eval event to call
12289         Fupdate_widget_instances.
12290
12291         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12292         to call Fupdate_widget_instances.
12293
12294         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12295         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12296
12297         * glyphs.c: (update_frame_subwindows): deleted.
12298         (Fupdate_widget_instances): new function for updating the dirty
12299         state of widgets that might have changed.
12300         (syms_of_glyphs): add Qupdate_widget_instances.
12301         (full_list_hash): hash a list completely.
12302         (image_instance_hash): use it for items and properties.
12303
12304         * frame-msw.c (mswindows_size_frame_internal): remove unused
12305         variable.
12306
12307         * faces.h (struct face_cachel): fix comment.
12308
12309         * event-stream.c (Fdispatch_non_command_events): new
12310         function. Process non-command events, forcing an event cycle
12311         beforehand.
12312         (syms_of_event_stream): declare.
12313         (event_stream_force_event_pending): new function. Force an event
12314         on the native event queue so that an event cycle will occur next
12315         time we check.
12316
12317         * event-msw.c:
12318         (struct ntpipe_shove_stream):
12319         (mswindows_enqueue_dispatch_event):
12320         (mswindows_dequeue_dispatch_event):
12321         (mswindows_cancel_dispatch_event):
12322         (mswindows_pump_outstanding_events):
12323         (mswindows_drain_windows_queue):
12324         (mswindows_handle_paint):
12325         (mswindows_wnd_proc):
12326         (mswindows_key_to_emacs_keysym):
12327         (get_process_input_waitable):
12328         (emacs_mswindows_delete_stream_pair): re-indent file.
12329         (mswindows_need_event): do not process further fds if the windows
12330         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12331         fixes the 100% cpu problem.
12332         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12333
12334 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12335
12336         * alloc.h: New.
12337         * dumper.h: New.
12338         * dumper.c: New.
12339
12340         * emacs.c: Moved dump file searching to dumper.c.
12341         (Frunning_temacs_p): Fixed.
12342
12343         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12344         last_lrecord_type_index_assigned.
12345
12346 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12347
12348         * symsinit.h: Added reinit parameter to init_console_stream
12349         declaration.
12350
12351         * lisp.h: Added file parameter to pdump_load declaration.
12352
12353         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12354         support.  Added dump file searching.
12355
12356         * config.h.in: Added EMACS_PROGNAME.
12357
12358         * console-stream.c (init_console_stream): Fix reinitialisation
12359         when running from temacs.
12360
12361         * alloc.c (pdump): Add id support.
12362         (pdump_load): Add file parameter and signature/id support.
12363
12364         * Makefile.in.in: Add full pdump support.
12365
12366 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12367
12368         * postgresql.c: Update documentation to reflect latest code
12369         status.
12370         (print_result): Show tuple counts in printed representation when
12371         appropriate.
12372         (Fpq_put_nbytes): MULE-ize.
12373         (Fpq_get_line_async): Ditto.
12374
12375 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12376
12377         * postgresql.c (Fpq_lo_import): Fix return value.
12378         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12379
12380 2000-03-13  Ben Wing  <ben@xemacs.org>
12381
12382         * alloc.c (pdump_load):
12383         Fix compile warning under mswin.
12384
12385 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12386
12387         * postgresql.c: Mule-ization, bug fixes.
12388         Use PG_CODING to encapsulate coding system name changes.
12389         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12390         (pg-coding-system): Create.
12391
12392         (Fpq_conn_defaults): Mule-ize.
12393         (Fpq_connectdb): Mule-ize & bug fix.
12394         (Fpq_connect_start): Mule-ize.
12395         (Fpq_set_client_encoding): Mule-ize.
12396         (Fpq_finish): Document `DEAD' connection status.
12397         (Fpq_clear): Ditto.
12398         (Fpq_pgconn): Mule-ize.
12399         (Fpq_exec): Mule-ize & bug fix.
12400         (Fpq_send_query): Ditto.
12401         (Fpq_get_result): Ditto.
12402         (Fpq_res_status): Mule-ize.
12403         (Fpq_result_error_message): Mule-ize.
12404         (Fpq_ntuples): fix comments.
12405         (Fpq_fname): Mule-ize.
12406         (Fpq_fnumber): Mule-ize.
12407         (Fpq_ftype): fix comments.
12408         (Fpq_get_value): Mule-ize.
12409         (Fpq_cmd_status): Ditto.
12410         (Fpq_cmd_tuples): Ditto.
12411         (Fpq_oid_value): Ditto.
12412         (Fpq_notifies): Ditto.
12413         (Fpq_lo_import): Ditto.
12414         (Fpq_lo_export): Ditto.
12415         (Fpq_get_line): Ditto.
12416         (Fpq_put_line): Mule-ize and bug fix.
12417         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12418
12419 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12420
12421         * postgresql.c (vars_of_postgresql): Mule-ize.
12422         (Fpq_conn_defaults): Ditto.
12423
12424 2000-03-12  Ben Wing  <ben@xemacs.org>
12425
12426         * alloc.c (Fmake_byte_code):
12427         * alloc.c (debug_string_purity_print):
12428         * alloc.c (pdump_backtrace):
12429         * alloc.c (pdump_get_indirect_count):
12430         * alloc.c (pdump_register_sub):
12431         * alloc.c (pdump_register_object):
12432         * alloc.c (pdump_register_struct):
12433         * alloc.c (pdump_dump_data):
12434         * alloc.c (pdump_reloc_one):
12435         Minor cleanups.
12436
12437         * console-msw.c:
12438         * console-msw.c (GetConsoleHwnd):
12439         * console-msw.c (msw_hide_console):
12440         * console-msw.c (msw_show_console):
12441         * console-msw.c (msw_ensure_console_buffered):
12442         * console-msw.c (msw_output_console_string):
12443         * console-msw.c (console_type_create_mswindows):
12444
12445         a) Added functions to manipulate the console window for use with
12446         shell support.
12447
12448         b) Added support for writing text to the console, which is now
12449         used under Windows when xemacs is not being run non-interactively,
12450         to write text that would otherwise be destined for stdout because
12451         under these circumstances, text written to stdout tends to
12452         disappear and not be seen.
12453
12454         * console-msw.h:
12455         * event-Xt.c:
12456         * event-Xt.c (x_event_to_emacs_event):
12457         * event-Xt.c (describe_event_window):
12458         * events-mod.h (XEMACS_MOD_CONTROL):
12459         * events.c:
12460         * events.c (Fmake_event):
12461         * events.c (character_to_event):
12462         * events.c (event_to_character):
12463         * events.c (format_event_object):
12464         * events.c (Fevent_modifiers):
12465         * events.h:
12466         * events.h (struct key_data):
12467         * events.h (struct button_data):
12468         * events.h (struct misc_user_data):
12469         * frame-x.c (Fcde_start_drag_internal):
12470         * frame-x.c (Foffix_start_drag_internal):
12471         * gpmevent.c (Freceive_gpm_event):
12472         * keymap.c:
12473         * keymap.c (bucky_sym_to_bucky_bit):
12474         * keymap.c (control_meta_superify):
12475         * keymap.c (make_key_description):
12476         * keymap.c (keymap_lookup_directly):
12477         * keymap.c (create_bucky_submap):
12478         * keymap.c (keymap_store):
12479         * keymap.c (define_key_check_and_coerce_keysym):
12480         * keymap.c (define_key_parser):
12481         * keymap.c (define_key_alternate_name):
12482         * keymap.c (Fdefine_key):
12483         * keymap.c (raw_lookup_key_mapper):
12484         * keymap.c (struct map_keymap_unsorted_closure):
12485         * keymap.c (map_keymap_unsorted_mapper):
12486         * keymap.c (map_keymap_sort_predicate):
12487         * keymap.c (map_keymap_sorted):
12488         * keymap.c (accessible_keymaps_mapper_1):
12489         * keymap.c (where_is_recursive_mapper):
12490         * keymap.c (describe_map_mapper):
12491         * keymap.c (describe_map_sort_predicate):
12492         * keymap.c (describe_map):
12493         * keymap.c (complex_vars_of_keymap):
12494         And a number of other files, the key modifier preprocessor
12495         constants that xemacs uses have names that conflict with constants
12496         defined under MS Windows for other purposes, so they were renamed
12497         to begin with the prefix XEMACS_. The variables that hold such
12498         modifiers were changed to consistently be of type int to fix
12499         various compile warnings.
12500
12501         * console.c (complex_vars_of_console):
12502         * device.c:
12503         * device-msw.c:
12504         * device-msw.c (mswindows_finish_init_device):
12505         * device-msw.c (msw_get_workspace_coords):
12506         * device-msw.c (mswindows_device_system_metrics):
12507         and various other files, added support for a new
12508         device property called offset-workspace which returns the position
12509         of the upper left corner of the workspace area and goes along with
12510         the existing size-workspace property.
12511
12512         * dialog-msw.c:
12513         * dialog-msw.c (push_bufbyte_string_as_unicode):
12514         * dialog-msw.c (mswindows_popup_dialog_box):
12515         Added support for XEmacs-style accelerator specifications in
12516         button text.  Note: I didn't add support for this under X Windows,
12517         and somebody needs to do this.
12518
12519         * dialog.c:
12520         * dialog.c (Fpopup_dialog_box):
12521         Documented the support for accelerators that was just mentioned.
12522
12523         editfns.c (get_home_directory): Changed behavior under Windows
12524         when HOME not defined; former behavior was irretrievably broken.
12525
12526         * emacs.c:
12527         * emacs.c (main_1):
12528         * emacs.c (main):
12529         * minibuf.c (clear_echo_area_internal):
12530         * minibuf.c (echo_area_append):
12531         * print.c:
12532         * print.c (std_handle_out_external):
12533         * print.c (std_handle_out_va):
12534         * print.c (fatal):
12535         * print.c (write_string_to_stdio_stream):
12536         * print.c (output_string):
12537         * print.c (debug_print):
12538         * print.c (debug_backtrace):
12539         * print.c (debug_short_backtrace):
12540         Cleaned up the code that prints text to stdout so that this can be
12541         changed to output into a console window instead under MS Windows,
12542         as described above.
12543
12544         * eval.c:
12545         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
12546         * eval.c (internal_catch):
12547         * eval.c (unwind_to_catch):
12548         * eval.c (throw_or_bomb_out):
12549         * eval.c (condition_case_1):
12550         * eval.c (signal_1):
12551         * eval.c (check_error_state_sanity):
12552         * eval.c (call_with_suspended_errors_1):
12553         * eval.c (call_with_suspended_errors):
12554         * eval.c (reinit_vars_of_eval):
12555         Added code to catch throw loops and check for a pesky bug that may
12556         be gone now.
12557
12558         * event-msw.c:
12559         * event-msw.c (key_needs_default_processing_p):
12560         * event-msw.c (mswindows_wnd_proc):
12561         * event-msw.c (mswindows_modifier_state):
12562         * event-msw.c (emacs_mswindows_quit_p):
12563         * event-msw.c (vars_of_event_mswindows):
12564         a) Added support for using the alt key to select menu items as is
12565         standard under MS Windows.  This is controlled using the variable
12566         menu-accelerator-enabled, just like under X Windows.  There is an
12567         option on the options menu to turn this support on.  I really
12568         think that it should be on by default under Windows, but I'm not
12569         going to make this change yet.
12570
12571         b)  Added support for dynamic display size changes under Windows.
12572
12573         * event-stream.c:
12574         * event-stream.c (maybe_echo_keys):
12575         * event-stream.c (Fnext_event):
12576         * event-stream.c (command_builder_find_leaf):
12577         * event-stream.c (lookup_command_event):
12578         * event-stream.c (execute_command_event):
12579         * event-stream.c (pre_command_hook):
12580         * event-stream.c (post_command_hook):
12581         * event-stream.c (syms_of_event_stream):
12582         * event-stream.c (vars_of_event_stream):
12583         * event-stream.c (complex_vars_of_event_stream):
12584         * events.h (struct command_builder):
12585
12586         a) Tried to clean up a little bit the horribly written x-specific
12587         accelerator code that crept into this file.  I moved this code
12588         into menubar-x.c where it belongs. I also needed to move the
12589         command builder structure into the file events.h because it is
12590         accessed directly by this accelerator code.  What I didn't do, but
12591         which should be done at some point, is to properly abstract this
12592         code using device methods instead of the kludgy way that it
12593         currently hooks into the event code.
12594
12595         b) Added the lisp variables this-command-properties and
12596         last-command- properties, which should be used to synchronize two
12597         adjacent commands in preference to playing games with the variable
12598         this-command, which is typically what happens.
12599
12600         c) Added some slightly nasty code to hook into the lisp support
12601         for shifted- motion-key selection.  This is actually necessary for
12602         somewhat complicated reasons, which are described in
12603         simple.el. (NB: I think the proper thing would be to have the code
12604         that calls the pre and post command hooks also call out to generic
12605         lisp functions in simple.el, where all built-in stuff could be
12606         added.  I will think about this more.)
12607
12608         * event-unixoid.c (poll_fds_for_input):
12609         * lread.c (readchar):
12610         * redisplay-tty.c (tty_clear_frame):
12611         * redisplay-x.c (x_get_gc):
12612         * signal.c (interrupt_signal):
12613         And a whole bunch of other files: fixed up places that printed
12614         directly to stderr to instead call the function stderr_out so that
12615         the changes I made under Windows work correctly.
12616
12617         * filemode.c (mode_string):
12618         Warning fixes.
12619
12620         * frame-msw.c:
12621         * frame-msw.c (mswindows_size_frame_internal):
12622         Fixed the computation of frame size and position to keep the frame
12623         within the workspace area, rather than within the physical
12624         dimensions of the screen, so that the frame doesn't overlap window
12625         manager decorations, such as the start menu and toolbar, typically
12626         at the bottom of the screen.
12627
12628         * frame.c (vars_of_frame):
12629         Changed the default frame title format under MS Windows to consist
12630         of buffername-XEmacs, which is standard under MS Windows.  I think
12631         it might be a good idea to change this everywhere because I think
12632         it is superior to the current frame title format, but this is the
12633         kind of change that is likely to cause some people to get annoyed,
12634         so I'm not making it.
12635
12636         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
12637
12638         * gui-msw.c (mswindows_handle_gui_wm_command):
12639         Fixed compile warnings.
12640
12641         * gui-x.c:
12642         * gui-x.c (strdup_and_add_accel):
12643         * gui-x.c (button_item_to_widget_value):
12644         * gui-x.h:
12645         Added code to automatically put an accelerator onto the beginning
12646         of menu items that don't have one as is now the standard, and is
12647         described more later.  Also fixed things so that the menu item
12648         name can be an evaluated expression, again a new standard.
12649
12650         * gui.c:
12651         * gui.c (gui_item_add_keyval_pair):
12652         * gui.c (make_gui_item_from_keywords_internal):
12653         * gui.c (gui_add_item_keywords_to_plist):
12654         * gui.c (gui_item_accelerator):
12655         * gui.c (gui_name_accelerator):
12656         * gui.c (gui_item_included_p):
12657         * gui.c (gui_item_display_flush_left):
12658         * gui.c (gui_item_display_flush_right):
12659         * gui.c (parse_gui_item_tree_item):
12660         * gui.c (parse_gui_item_tree_children):
12661         * gui.c (parse_gui_item_tree_list):
12662         Mule-ized.  Cleanup.  GCPRO addition.
12663
12664         * line-number.c (buffer_line_number):
12665         * lisp.h:
12666         * lisp.h (EMACS_INT_MAX):
12667         Added the manifest constant EMACS_INT_MIN corresponding to the
12668         existing constant EMACS_INT_MAX.  This is partially to fix compile
12669         warnings under Windows, and partly for cleanliness.
12670
12671         * menubar-msw.c:
12672         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
12673         * menubar-msw.c (msw_translate_menu_or_dialog_item):
12674         * menubar-msw.c (displayable_menu_item):
12675         * menubar-msw.c (populate_menu_add_item):
12676         * menubar-msw.c (populate_or_checksum_helper):
12677         * menubar-msw.c (populate_menu):
12678         * menubar-msw.c (update_frame_menubar_maybe):
12679         * menubar-msw.c (prune_menubar):
12680         * menubar-msw.c (msw_char_is_accelerator):
12681         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
12682         * menubar-msw.c (mswindows_handle_wm_command):
12683         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
12684         * menubar-msw.c (mswindows_handle_wm_initmenu):
12685         * menubar-msw.c (mswindows_update_frame_menubars):
12686         * menubar-msw.c (mswindows_free_frame_menubars):
12687         * menubar-msw.c (mswindows_popup_menu):
12688         Fixed a bug in handling accelerators where an extra character
12689         would be displayed in the menu item.  Also generalized the
12690         function displayable_menu_item because it is now used by the
12691         dialog box code as well.  And finally, added code in the functions
12692         that create the menubar to extract a list of accelerators for the
12693         top level menubar, which is used in the event code to determine
12694         whether a particular alt-key combination should be used to invoke
12695         a menu item, or should be passed through to access the standard
12696         XEmacs keymap binding for this key combination.
12697
12698         Much needed GCPROing.
12699
12700         * menubar-x.c:
12701         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12702         * menubar-x.c (menu_item_descriptor_to_widget_value):
12703         * menubar-x.c (restore_in_menu_callback):
12704         * menubar-x.c (x_popup_menu):
12705         * menubar-x.c (menu_move_up):
12706         * menubar-x.c (menu_move_down):
12707         * menubar-x.c (menu_move_left):
12708         * menubar-x.c (menu_move_right):
12709         * menubar-x.c (menu_select_item):
12710         * menubar-x.c (command_builder_operate_menu_accelerator):
12711         * menubar-x.c (menu_accelerator_junk_on_error):
12712         * menubar-x.c (command_builder_find_menu_accelerator):
12713         * menubar-x.c (Faccelerate_menu):
12714         * menubar.h:
12715         Moved a whole bunch of code here that was previously in
12716         event-stream.c as described above.  There is also code connected
12717         to the new standard of adding an accelerator to the beginning of
12718         menu items that don't have one as described above and below.
12719
12720         * menubar.c:
12721         * menubar.c (menu_parse_submenu_keywords):
12722         * menubar.c (Fmenu_find_real_submenu):
12723         * menubar.c (Fnormalize_menu_item_name):
12724         * menubar.c (syms_of_menubar):
12725         * menubar.c (vars_of_menubar):
12726         * menubar.c (complex_vars_of_menubar):
12727
12728         a) Cleaned up a bunch of documentation and improved it.
12729
12730         b) XEmacs now automatically adds an accelerator onto the beginning
12731         of any menu items that don't have one.  I did this because there
12732         will inevitably be some menu items on the main menubar that don't
12733         have accelerators on them because the package that adds that
12734         particular menu item hasn't yet been fixed up to have accelerators
12735         in them and it looked rather strange to have some items with and
12736         some items without accelerators, especially since even in items
12737         without accelerators, you can, at least under windows, still
12738         access the item through an accelerator corresponding to the first
12739         character in the item's name.  If people don't like this behavior,
12740         I can add a variable to turn it off optionally, but I'm not sure
12741         this is a good idea because we really do need to have accelerators
12742         on all of the menu items, and if a package doesn't like the
12743         accelerators being put on the first character, then it should put
12744         the accelerators where they belong.
12745
12746         c) I made a behavior change, which is that the descriptor that
12747         specifies the text of the menu item, which formerly was just a
12748         string, can now also be an evaluated expression.  This makes this
12749         descriptor parallel with all of the others, which could also be
12750         evaluated expressions.  This also obviates the need for the
12751         keyword :label, which was previously listed in the documentation
12752         as unimplemented, and which was for the same purpose.
12753
12754         d) GCPROing.
12755
12756         * ntproc.c:
12757         * ntproc.c (new_child):
12758         * ntproc.c (sys_spawnve):
12759         * ntproc.c (find_child_console):
12760         * ntproc.c (sys_kill):
12761         Fixed compile warnings.  By the way, this file should really go
12762         away entirely, and this will happen as soon as Kirill makes his
12763         final round of process cleanups, which affect the function
12764         call-process.
12765
12766         * process-nt.c:
12767         * process-nt.c (struct nt_process_data):
12768         * process-nt.c (find_process_from_pid):
12769         * process-nt.c (send_signal_the_nt_way):
12770         * process-nt.c (enable_child_signals):
12771         * process-nt.c (find_child_console):
12772         * process-nt.c (send_signal_the_95_way):
12773         * process-nt.c (nt_finalize_process_data):
12774         * process-nt.c (ensure_console_window_exists):
12775         * process-nt.c (nt_create_process):
12776         * process-nt.c (nt_kill_child_process):
12777         * process-nt.c (nt_kill_process_by_pid):
12778         * process-nt.c (nt_open_network_stream):
12779         * process-nt.c (vars_of_process_nt):
12780         Copied over code from Emacs 20.5 to correctly send signals to sub-
12781         processes under Windows 95.  Also added code to automatically
12782         create and hide console window when a sub-process is created under
12783         Windows 95, which obviates the need for the separate runemacs.exe
12784         executable, and finally implemented some variables that were
12785         implemented in Emacs 20.5, but previously not in XEmacs.  These
12786         include mswindows- start-process-share-console and
12787         mswindows-start-process-inherit-error-mode. (Both of these only
12788         apply to Windows 95.)
12789
12790         * regex.c (regex_compile): Fixed a compile warning.
12791
12792         * select-msw.c:
12793         * select-msw.c (mswindows_own_selection):
12794         * select-msw.c (mswindows_get_foreign_selection):
12795         * select-msw.c (mswindows_disown_selection):
12796         * select-msw.c (console_type_create_select_mswindows):
12797         * select-msw.c (syms_of_select_mswindows):
12798         Cleaned up the file and implemented the device method
12799         selection_exists_p, which had accidentally been left out.  Also
12800         removed four lisp functions that were remnants from before the
12801         time when the selection code was properly device abstracted.
12802         These functions are no longer needed because there are generic
12803         equivalents, and because they were added recently and don't exist
12804         in FSF Emacs, I don't think there's any problem with just deleting
12805         them.
12806
12807         * sysdep.c:
12808         * sysdep.c (sys_subshell):
12809         Fixed a compile warning, although in this case there's probably
12810         something wrong with this code, and it ought to be looked into
12811         more thoroughly by somebody who understands it.
12812
12813         * window.c:
12814         * window.c (Fwindow_text_area_height):
12815         * window.c (Fwindow_width):
12816         * window.c (Fwindow_full_width):
12817         * window.c (Fwindow_pixel_width):
12818         * window.c (debug_print_window):
12819         * window.c (syms_of_window):
12820         Added functions window-text-area-height and window-full-width,
12821         which are functions for returning various width and height
12822         characteristics of a window. (One of these functions is necessary
12823         for making the file dialog box work correctly, and the other one
12824         was added for completeness.)  Also added a table to the
12825         documentation for window-height which describes the entire scheme
12826         for accessing width and height characteristics of a window.
12827
12828 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12829
12830         * nt.c (fstat): Added a comment for another problem with
12831         non-encapsulated [f]stat(), reported by Adrian Aichner
12832         <aichner@ecf.teradyne.com>.
12833
12834 2000-03-11  Andy Piper  <andy@xemacs.org>
12835
12836         * window.c (make_dummy_parent): initialize subwindow instance
12837         cache.
12838         (Fset_window_configuration): zero extent_modiff.
12839
12840 2000-03-10  Andy Piper  <andy@xemacs.org>
12841
12842         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
12843         more changes can be triggered.
12844         (Fredisplay_frame): ditto.
12845         (Fredraw_device): ditto.
12846         (Fredisplay_device): ditto.
12847         (redisplay_frame): make non-static.
12848         (redisplay_frame): call update_frame_gutter_geometry outside of
12849         display proper.
12850
12851         * gutter.h: declare update_frame_gutter_geometry.
12852
12853         * redisplay.h: declare redisplay_frame.
12854
12855         * gutter.c (update_frame_gutter_geometry): move geometry changes
12856         in update_frame_gutters here. Geometry changes can only occur
12857         outside of redisplay.
12858         (update_frame_gutters): remove geometry change code.
12859         (Fredisplay_gutter_area): make sure that we are in display when we
12860         update and that we have flushed any size changes.
12861
12862 2000-03-11  Andy Piper  <andy@xemacs.org>
12863
12864         * alloc.c (pdump_dump_data): remove i & count shadows.
12865
12866 2000-02-27  Mike Alexander  <mta@arbortext.com>
12867
12868         * sysdep.h: Declare pdump_read_file
12869
12870         * sysdep.c (pdump_read_file): New function
12871
12872         * alloc.c (pdump_load): Call pdump_read_file to get the portable
12873         dump data
12874
12875 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12876
12877         * lrecord.h: add `lrecord_type_pgsetenv'.
12878
12879 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
12880
12881         * symsinit.h: declare (vars|syms)_of* functions.
12882         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
12883
12884 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
12885
12886         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
12887
12888         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
12889         GCCs.
12890
12891         * emacs.c (main_1): Call postgres initialization code.
12892
12893         * postgresql.h: New file.  PostgreSQL RDBMS support.
12894         * postgresql.c: New file.
12895
12896 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12897
12898         * redisplay-output.c (redisplay_output_display_block): Disable
12899         redundant code.
12900
12901 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12902
12903         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
12904         (Fcanna_henkan_next): Ditto.
12905         (Fcanna_bunsetu_henkou): Ditto.
12906         (Fcanna_henkan_kakutei): Ditto.
12907         (Fcanna_henkan_end): Ditto.
12908         (Fcanna_henkan_quit): Ditto.
12909         (Fcanna_henkan_next): Set retun value correctly.
12910         (c2mu): Use unsigned char instead of signed char.
12911
12912 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12913
12914         * emacs.c (main_1): Always call syms_of_gui.
12915         * inline.c: include gui.h
12916
12917 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12918
12919         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
12920         converted to Lisp_Object.
12921         (Qtop_bottom): New variable.
12922         (syms_of_redisplay): Initialize it.
12923         * redisplay.h (Vvisible_bell): Ditto.
12924         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
12925         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
12926         only flash top and bottom.
12927
12928 2000-03-08  Andy Piper  <andy@xemacs.org>
12929
12930         * buffer.c (Frename_buffer): record new buffer name the right way.
12931
12932 2000-03-08  Andy Piper  <andy@xemacs.org>
12933
12934         * glyphs.c (update_subwindow): increase hash depth so that widget
12935         items get picked up properly.
12936
12937         * redisplay-output.c (compare_runes): increase hash depth so that
12938         widget items get picked up properly.
12939
12940 2000-03-08  Andy Piper  <andy@xemacs.org>
12941
12942         * gutter.c (output_gutter): add some debug.
12943
12944         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
12945         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
12946         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
12947
12948         * redisplay-output.c (compare_runes): use display_hash to
12949         determine if glyphs really are not the same.
12950
12951         * glyphs.c (update_subwindow): check display_hash to see if
12952         anything really needs to be updated. If not then do
12953         nothing. Record the display_hash after updating.
12954         (image_instance_equal): compare the image_instance face also.
12955
12956 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
12957
12958         * redisplay.h: Fix comment style.
12959
12960 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12961
12962         * consle-msw.h (struct mswindows_frame):
12963         Added new member paint_pending to indicate whether a WM_PAINT
12964         magic event has been queued for this frame.
12965
12966         * event-msw.c (mswindows_drain_windows_queue):
12967         Don't queue a WM_PAINT magic event if one is already queued.
12968         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
12969
12970         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
12971
12972 2000-03-07  Didier Verna  <didier@xemacs.org>
12973
12974         * dired.c: #include `regex.h' after `sysfile.h'.
12975
12976 2000-03-06  Martin Buchholz  <martin@xemacs.org>
12977
12978         * sound.c (init_nas_sound): Fix compiler warning.
12979
12980         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
12981         (FREE_STRUCT_P):
12982         (MARK_STRUCT_AS_FREE):
12983         (MARK_STRUCT_AS_NOT_FREE):
12984         Make `gcc -fstrict-aliasing' work properly.
12985
12986 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12987
12988         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
12989         (mswindows_delete_device): Call CoUnnitialize().
12990
12991         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
12992
12993 2000-02-25    <CraigL@DyCon.com>
12994
12995         * process-nt.c: MinGW now has <shellapi.h>, but still needs
12996         <errno.h>.
12997
12998         * sysdep.c: This extern declaration for environ prevents MinGW
12999         from finding the variable in CRTDLL.DLL.
13000
13001         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13002         windows headers.
13003         (SHGFI_EXETYPE): ..
13004         (WM_MOUSEWHEEL): ..
13005         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13006         definitions.
13007         (MMRESULT): Removed, now defined in cygwin's windows headers.
13008         (TIMECAPS): ..
13009         (uid_t,gid_t,pid_t,ssize_t): ..
13010         (_timeb): Removed, MinGW defines both _timeb and timeb.
13011         (HAVE_H_ERRNO): Added.
13012         (HAVE_TZNAME): Added, configure is not detecting this.
13013
13014 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13015
13016         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13017         * syntax.c (syntax_match): Use it.
13018
13019         * cmds.c: Import auto-fill-chars from FSF Emacs.
13020         (Vauto_fill_chars): New variables.
13021         (internal_self_insert): Check Vauto_fill_chars.
13022         (vars_of_cmds):
13023         Declare auto-fill-chars as a Lisp variable and initialize it.
13024
13025 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13026
13027         * fileio.c (Fmake_symbolic_link):
13028         (Ffile_symlink_p):
13029         Run handlers even if local machine doesn't have symlinks.
13030
13031 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13032
13033         * event-msw.c (mswindows_drain_windows_queue):
13034         Don't generate paint magic events for non-XEmacs frames.
13035
13036 2000-03-05  Andy Piper  <andy@xemacs.org>
13037
13038         * redisplay.c (redisplay_frame): generate_displayable_area and
13039         friends assumes that we are not in GC, we therefore have to make
13040         sure that this doesn't happen.
13041
13042         * gutter.c (calculate_gutter_size): generate_displayable_area
13043         assumes that we are not in GC, we therefore have to make sure that
13044         this doesn't happen.
13045
13046 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13047
13048         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13049
13050 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13051
13052         * redisplay.c (regenerate_window): Make sure we set a sane value
13053         for end_pos even if we jump out of the loop.
13054         (regenerate_window): Answer Ben's question :-).
13055         (start_end_of_last_line): Add may_error argument.
13056         (start_of_last_line):
13057         (end_of_last_line): Pass may_error = 0.
13058         (end_of_last_line_may_error): New function.
13059         (pixel_to_glyph_translation): Use it, so we don't crash in
13060         event_to_glyph.
13061
13062 2000-03-04  Andy Piper  <andy@xemacs.org>
13063
13064         * window.h (struct window): add gutter_extent_modiff.
13065
13066         * window.c (allocate_window): zero out gutter_extent_modiff.
13067
13068         * redisplay.h: declare sync_display_line_structs.
13069
13070         * redisplay.c (add_glyph_rune): add a better comment.
13071
13072         * redisplay-output.c (sync_display_line_structs): made non-static.
13073         (compare_runes): remove unneccesary glyph cachel access.
13074
13075         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13076
13077         * gutter.c (output_gutter): don't output the gutter if extent
13078         changes only involve extents in buffers. use 4 sets of display
13079         lines.
13080         (gutter_extent_signal_changed_region_maybe): new function. Mark
13081         extents in gutters as changed.
13082         (update_frame_gutters): use 4 sets of display lines.
13083         (reset_gutter_display_lines): ditto.
13084         (free_frame_gutters): ditto.
13085         (redraw_exposed_gutter): force output of gutters.
13086
13087         * frame.h (struct frame): add 4 sets of gutter display lines.
13088
13089         * extents.c: (extent_changed_for_redisplay): signal changes to
13090         extents in strings in the gutter as well as extents in buffers.
13091
13092 2000-03-02  Andy Piper  <andy@xemacs.org>
13093
13094         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13095
13096         * frame.c (Fmake_frame): make sure the gutters get initialized
13097         after the frame is visible.
13098         (set_frame_selected_window): re-arrange compilation macros a
13099         little.
13100         (change_frame_size_1): mark gutters changed.
13101
13102         * device.c (Fset_device_class): mark gutters changed.
13103
13104 2000-03-01  Andy Piper  <andy@xemacs.org>
13105
13106         * window.c (window_top_frame_gutter_height): deleted.
13107         (window_bottom_frame_gutter_height): ditto.
13108         (window_left_frame_gutter_height): ditto.
13109         (window_right_frame_gutter_height): ditto.
13110         (window_top_gutter_height): don't use them.
13111         (window_bottom_gutter_height): ditto.
13112         (window_left_gutter_width): ditto.
13113         (window_right_gutter_width): ditto.
13114         (Fsplit_window): ditto.
13115         (Fwindow_pixel_edges): don't use border dimensions here.
13116
13117         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13118         (update_scrollbar_instance): ditto.
13119
13120         * redisplay.c (generate_modeline): don't take gutters into account.
13121         (generate_modeline): ditto.
13122         (redisplay_frame): small gutter display optimization.
13123
13124         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13125
13126         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13127         gutters into account.
13128
13129         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13130         for window position and type.
13131
13132         * gutter.c (get_gutter_coords): fix for frame gutters.
13133         (update_frame_gutters): update frame geometry if the gutters have
13134         changed.
13135         (init_frame_gutters): record current gutter geometries.
13136
13137         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13138         var.
13139         (mswindows_widget_instantiate): ditto.
13140
13141         * frame.h (struct frame): add current_gutter_bounds.
13142
13143         * frame.c (change_frame_size_1): position window and minibuffer
13144         appropriately taking into account the frame gutters.
13145
13146         * frame-x.c: (x_initialize_frame_size): take into account the
13147         frame gutters.
13148
13149 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13150
13151         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13152
13153 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13154
13155         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13156
13157 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13158
13159         * file-coding.c (reset_decoding_stream): Clear previous
13160         detection state when autodetect.
13161
13162 2000-02-29  Didier Verna  <didier@xemacs.org>
13163
13164         * extents.c (set_extent_glyph_1): don't require extents to be
13165         attached.
13166
13167 2000-02-27  Andy Piper  <andy@xemacs.org>
13168
13169         * gutter.c (Fset_default_gutter_position): don't default left and
13170         right gutter visibility to t.
13171         (Fset_default_gutter_position): run
13172         default-gutter-position-changed-hook.
13173         (syms_of_gutter): add default-gutter-position-changed-hook.
13174
13175 2000-02-26  Andy Piper  <andy@xemacs.org>
13176
13177         * specifier.c (Fmake_specifier): add gutter references.
13178
13179         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13180
13181         * lisp.h: declare Fvalid_plist_p.
13182
13183         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13184         as changed.
13185         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13186         well as its visibility so that it gets reconstructed.
13187         (construct_window_gutter_spec): new function. Construct a string
13188         to be displayed in the gutter from a plist of strings. Take care
13189         to only use elements that are declared as visible.
13190         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13191         WINDOW_GUTTER.
13192         (gutter_validate): allow plists of strings in the specifier.
13193         (gutter_specs_changed): construct the real_gutter from the gutter
13194         specs using construct_window_gutter_spec.
13195         (gutter_visible_validate): gutter-visible is a new specifier type.
13196         (Fgutter_visible_specifier_p): new function for the new specifier.
13197         (syms_of_gutter): declare gutter-visible and
13198         Fgutter_visible_specifier_p.
13199         (specifier_type_create_gutter): intitalize new gutter-visible
13200         specifier.
13201         (reinit_specifier_type_create_gutter): ditto.
13202         (specifier_vars_of_gutter): use new specifier type for gutter
13203         visibility.
13204         (init_frame_gutters): construct real_gutter correctly.
13205         (Fgutter_specifier_p): beef up documentation.
13206         (Fgutter_size_specifier_p): ditto.
13207
13208         * winslots.h: add real_gutter slots.
13209
13210 2000-02-25  Andy Piper  <andy@xemacs.org>
13211
13212         * device-msw.c: Be kind to older cygwin versions. From Raymond
13213         Toy <toy@rtp.ericsson.se>.
13214
13215         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13216         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13217
13218 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13219
13220         * elhash.c (MARK_OBJ): Practice macro hygiene.
13221
13222 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13223
13224         * miscplay.c: s/__inline__/inline/g;
13225         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13226         (get_device_compdc): INLINE ==> static inline
13227         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13228         find -name '*.h' | \
13229         xargs global-replace \
13230         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13231
13232 2000-02-25  Andy Piper  <andy@xemacs.org>
13233
13234         * window.c (window_top_frame_gutter_height): new function.
13235         (window_top_window_gutter_height): ditto.
13236         (window_top_gutter_height): use them.
13237         (window_bottom_frame_gutter_height): new function.
13238         (window_bottom_window_gutter_height): ditto.
13239         (window_bottom_gutter_height): use them.
13240         (window_left_window_gutter_width): new function.
13241         (window_left_frame_gutter_width): ditto.
13242         (window_left_gutter_width): use them.
13243         (window_right_window_gutter_width): new function.
13244         (window_right_frame_gutter_width): ditto.
13245         (window_right_gutter_width): use them.
13246         (window_pixel_height): new function. calulate window pixel height
13247         with frame gutter involvement.
13248         (Fsplit_window): calculate new sizes taking frame gutters into
13249         account.
13250         (window_char_height_to_pixel_height): don't include frame gutters.
13251         (window_char_height): use window_pixel_height.
13252         (window_pixheight): rename from window_pixel_height.
13253         (change_window_height): use it.
13254         (window_pixel_height_to_char_height): don't include frame gutters.
13255         (window_char_width_to_pixel_width): ditto.
13256
13257 2000-02-25  Andy Piper  <andy@xemacs.org>
13258
13259         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13260         if it is.
13261
13262 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13263
13264         * alloc.c (staticpro):
13265         (staticpro_nodump):
13266         (dumpstruct):
13267         (dumpopaque):
13268         (pdump_wire):
13269         (pdump_wire_list):
13270         (compact_string_chars):
13271         (pdump_dump_wired):
13272         Convert:  if (foo) abort();  ==>  assert (! foo);
13273
13274         * eldap.c (Fldap_search_basic):
13275         (Fldap_add):
13276         (Fldap_modify):
13277         (Fldap_delete):
13278         Fix compiler warnings, and possible crashes if (random) return
13279         value were to be used.
13280
13281 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13282
13283         * device-msw.c: Workaround ResetDC failure.
13284
13285         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13286         applying a devmode.
13287
13288         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13289         (mswindows_text_width): Do not start printer page.
13290
13291         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13292
13293         * glyphs-msw.c: Added image methods to msprinter console and
13294         msprinter-specific image instantiation.
13295
13296 2000-02-20  Mike Alexander  <mta@arbortext.com>
13297
13298         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13299         to avoid crashes when selection-sets-clipboard is on
13300         (mswindows_own_selection): ditto
13301
13302 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13303
13304         * glyphs-msw.c:
13305         * redisplay-msw.c (get_frame_dc):
13306         (get_frame_compdc):
13307         * console-msw.h:
13308         * device-msw.c (mswindows_init_device):
13309         (mswindows_delete_device):
13310         (msprinter_init_device):
13311         (msprinter_delete_device):
13312         * frame-msw.c (mswindows_init_frame_1):
13313         (mswindows_delete_frame):
13314         (msprinter_init_frame_3):
13315         (msprinter_delete_frame): Move compatible DC to device object from
13316         frame object, for both mswindows and msprinter. Only one at a time
13317         is needed, it is a real waste to have one per frame!
13318
13319 2000-02-23  Andy Piper  <andy@xemacs.org>
13320
13321         * glyphs.c: add dynamic width and height elements.
13322         (image_instance_equal): ditto.
13323
13324         * glyphs-widget.c (widget_query_geometry): calculate width and
13325         height dynamically if required.
13326         (initialize_widget_image_instance): initialize dynamic dimensions.
13327         (widget_instantiate): pick-up dynamic dimensions.
13328
13329         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13330         dynamic determination. Add appropriate macros.
13331
13332         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13333         dimensions safe.
13334         (WINDOW_GUTTER_SIZE): ditto.
13335         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13336
13337         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13338         inline.
13339         (get_frame_dc): ditto.
13340
13341         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13342         here.
13343
13344 2000-02-23  Martin Buchholz <martin@xemacs.org>
13345
13346         * XEmacs 21.2.31 is released.
13347
13348 2000-02-22  Ben Wing <ben@xemacs.org>
13349
13350         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13351
13352 2000-02-22  Andy Piper  <andy@xemacs.org>
13353
13354         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13355
13356 2000-02-21  Mike Sperber <mike@xemacs.org>
13357
13358         * .dbxrc:
13359         * .gdbinit:
13360         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13361         variables.
13362
13363 2000-02-21  Mike Sperber <mike@xemacs.org>
13364
13365         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13366
13367 2000-02-21  Martin Buchholz <martin@xemacs.org>
13368
13369         * XEmacs 21.2.30 is released.
13370
13371 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13372
13373         Performance hacking.
13374         * *.c (syms_of_*):
13375         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13376         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13377         * emacs.c (main_1):
13378         * lisp.h (DEFUN):
13379         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13380         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13381         * symeval.h (DEFVAR_SYMVAL_FWD):
13382         * symbols.c (guts_of_unbound_marker):
13383         Make all c_readonly objects also lisp_readonly and marked for life.
13384         * lrecord.h (struct lrecord_implementation):
13385         Document flags better.
13386         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13387         * lrecord.h (DECLARE_LRECORD):
13388         * lrecord.h (XSETRECORD):
13389         * lrecord.h (RECORDP):
13390         * lrecord.h (RECORD_TYPEP):
13391         * lrecord.h (RECORD_MARKER): New.
13392         * lrecord.h (error_check_*):
13393         * lrecord.h (CONCHECK_NONRECORD):
13394         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13395         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13396         * lrecord.h (set_lheader_implementation):
13397         * lrecord.h (enum lrecord_type): New.
13398         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13399         * alloc.c (disksave_object_finalization_1):
13400         * alloc.c (mark_object):
13401         * alloc.c (lrecord_type_index):
13402         * alloc.c (tick_lcrecord_stats):
13403         * alloc.c (Fgarbage_collect):
13404         * alloc.c (init_alloc_once_early):
13405         * alloc.c (pdump_load):
13406         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13407         * alloc.c (lrecord_type_index): Delete.
13408         Make lisp object type indexes be constant.
13409           Makes (byte-compile) 5% faster.
13410         Put all marker functions into their own array.
13411           Makes (garbage-collect) 5% faster.
13412         Optimize SYMBOL_VALUE_MAGIC_P.
13413           Makes (byte-compile) 2-3% faster.
13414         * config.h.in (gc_checking_assert): New.
13415         * alloc.c: Use gc_checking_assert().
13416         * .dbxrc: Make compatible with new object type implementation.
13417         * .gdbinit: Make compatible with new object type implementation.
13418         * alloc.c: Delete all symbols defined only for debugging, such as
13419         Lisp_Type_Vector and lrecord_charset.
13420
13421 2000-02-21  Andy Piper  <andy@xemacs.org>
13422
13423         * gui-msw.c (Fmswindows_shell_execute): fix file location
13424         problems.
13425
13426         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13427         unshowing so that set_window_buffer doesn't undo
13428         kill_buffer_hook's hard work.
13429
13430         * glyphs-widget.c (tab_control_query_geometry): don't count the
13431         first item when calculating geometry.
13432
13433         * glyphs.c (map_subwindow): remove redundant code.
13434         (update_frame_subwindows): be more circumspect about when to
13435         update subwindows.
13436
13437         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
13438         when items haven't changed. Update faces if faces have changed as
13439         well as just the widget face.
13440         (x_tab_control_update): Update faces if faces have changed as well
13441         as just the widget face.
13442
13443 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13444
13445         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
13446         registration.
13447         (build_syscolor_string): Use mswindows_color_to_string to try to
13448         get a named color.
13449         (mswindows_device_system_metrics): Reverse the foreground and
13450         background colors so that they match the documentation.
13451
13452         * objects-msw.c: (mswindows_X_color_map): tweak some values so
13453         they match the default Windows palette.
13454         (mswindows_color_to_string): New function.
13455
13456 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13457
13458         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
13459
13460 2000-02-18  Olivier Galibert  <galibert@pobox.com>
13461
13462         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
13463         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
13464
13465         * symbols.c (init_symbols_once_early): Removed obsolete
13466         DATA_SEG_BITS related kludge.
13467         (defvar_magic): Ditto.
13468
13469         * malloc.c: Removed obsolete DATA_SEG_BITS
13470         * ralloc.c: Ditto.
13471         * mem-limits.h: Ditto.
13472
13473         * Makefile.in.in: Removed obsolete HAVE_SHM
13474         * emacs.c: Ditto.
13475
13476 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13477
13478         *  device-msw.c (mswindows_delete_device): Free DDE string
13479         handles.
13480
13481 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13482
13483         * keymap.c (get_keyelt):
13484         * unexnt.c (unexec):
13485         * vm-limit.c (memory_warnings):
13486         * ntheap.c (recreate_heap):
13487         * ntheap.h (UNINIT_PTR):
13488         * select-msw.c (Fmswindows_get_clipboard):
13489         (Fmswindows_set_clipboard):
13490         * objects-msw.h (MSWINDOWS_BAD_HFONT):
13491         * objects-msw.c:
13492         * menubar-msw.c (displayable_menu_item):
13493         * glyphs-msw.c:
13494         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
13495         * sysdep.c (sys_subshell):
13496         * process-nt.c (nt_create_process):
13497         * nt.c (normalize_filename):
13498         (dostounix_filename):
13499         (unixtodos_filename):
13500         * ntproc.c (win32_executable_type):
13501         * ntplay.c (play_sound_data_1):
13502         (play_sound_file):
13503         * editfns.c (get_home_directory):
13504         * event-msw.c (struct winsock_stream):
13505         (mswindows_dde_callback):
13506         * device-msw.c (msprinter_init_device):
13507         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
13508
13509         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
13510         mswindows_clear_toolbar were swapped!
13511
13512         * objects-msw.c:(colormap_t):
13513         (fontmap_t):
13514         * emacs.c (struct standard_args): Fixed const jumble.
13515
13516         * glyphs-widget.c (update_widget): Fixed comparison notation.
13517
13518         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
13519
13520         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
13521         __declspec(noreturn) syntax.
13522
13523 2000-02-19  Martin Buchholz  <martin@xemacs.org>
13524
13525         * eldap.c (Fldap_open):
13526         (Fldap_search_basic):
13527         (Fldap_add):
13528         (Fldap_modify):
13529         Use new coding system conversion macros.
13530
13531 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13532
13533         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
13534
13535 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
13536
13537         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
13538         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13539
13540         * eldap.c (Qadd, Qreplace): New constant symbols
13541         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
13542         interruptions by XEmacs signals
13543         Remove unnecessary calls to slow_down_interrupts and
13544         speed_up_interrupts
13545         (Fldap_search_basic): Renamed from Fldap_search_internal
13546         Added new optional parameter VERBOSE that triggers the
13547         display of progress messages
13548         Remove unnecessary calls to slow_down_interrupts and
13549         speed_up_interrupts
13550         LDAP result code analysis rewritten
13551         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13552         (syms_of_eldap): Define the new symbols and functions
13553
13554
13555 2000-02-17  Martin Buchholz  <martin@xemacs.org>
13556
13557         * realpath.c: Determine PATH_MAX maximally portably.
13558
13559         * insdel.c (bytecount_to_charcount): Optimize.
13560         The function used to be optimized for entirely ASCII sequences.
13561         Now it is optimized for successive characters from the same
13562         charset.  This also wins big for _mostly_ ASCII sequences.
13563
13564         * fileio.c (Ffile_truename): convert return from realpath() using
13565         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
13566         - Rewrite GCPROing slightly.
13567
13568         * sysdep.c (sys_open): Do filename conversion, like all other
13569         sys_* functions.  Fixes bug:
13570         (let ((file-name-coding-system 'iso-8859-2))
13571            (write-region x y latin2-name))
13572         ==> writes filename using internal encoding.
13573
13574 2000-02-18  Martin Buchholz  <martin@xemacs.org>
13575
13576         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
13577         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
13578         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
13579         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
13580         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
13581         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
13582         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
13583         (CONST_IF_NOT_DEBUG): Delete.
13584         * alloc.c (this_one_is_unmarkable): Delete.
13585         (mark_object): Don't check for this_one_is_unmarkable. Use the
13586         c_readonly flag instead.
13587         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
13588
13589 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13590
13591         * event-msw.c (mswindows_drain_windows_queue):
13592         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
13593         away redundant repaint events.
13594
13595 2000-02-17  Andy Piper  <andy@xemacs.org>
13596
13597         * redisplay.h: declare mark_redisplay_structs.
13598
13599         * redisplay.c (redisplay_window):
13600         (redisplay_frame): don't check subwindows_state_changed.
13601         (mark_redisplay): mark gutters here.
13602
13603         * glyphs.c: (instantiate_image_instantiator): always layout if we
13604         haven't done so already.
13605         (allocate_image_instance): don't mark as dirty.
13606         (update_subwindow): bind inhibit_quit.
13607
13608         * gutter.c (mark_gutters): new function.
13609
13610         * glyphs-x.c (x_update_widget): Always resize to get round a
13611         widget bug.
13612
13613         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
13614         breaking absolutely everything.
13615
13616         * gutter.h: declare mark_gutters.
13617
13618 2000-02-16  Martin Buchholz <martin@xemacs.org>
13619
13620         * XEmacs 21.2.29 is released.
13621
13622 2000-02-15  Olivier Galibert  <galibert@pobox.com>
13623
13624         * fns.c (size_bit_vector): Fix computation of the size.
13625
13626 2000-02-15  Martin Buchholz  <martin@xemacs.org>
13627
13628         * *.[ch]: Change CONST to const globally.
13629         find -name '*.[ch]' | \
13630         xargs global-replace \
13631         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
13632         - Remove vestigial references to CONST_IS_LOSING
13633
13634 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13635
13636         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
13637         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
13638         events instead of dispatching them directly.
13639         (mswindows_handle_paint): New function to do repainting.
13640         (mswindows_wnd_proc):
13641         (emacs_mswindows_handle_magic_event): Call above function.
13642
13643 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13644
13645         * objects-msw.c (mswindows_create_font_variant): Return the new
13646         font handle.
13647         (initialize_font_instance): Get font metrics from the underlined
13648         variant of the font to cope with the case where the underlined
13649         font has a bigger descent.
13650
13651 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13652
13653         * gui.c (gui_item_accelerator): Return the first underlined
13654         character in item name.
13655
13656 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13657
13658         * lisp.h: Added Qprinter.
13659
13660         * general.c (syms_of_general): Initialized it.
13661
13662         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
13663         (get_frame_dc):
13664         (get_frame_compdc): Made inline.
13665
13666         * console.h (struct console_methods): Added eject_page method.
13667
13668         * frame.h: Added FRAME_DISPLAY_P and friends.
13669         Aligned backslahes in many macros in more readable fashion.
13670         Added page_number to struct frame, and an accessor macro
13671         for it.
13672
13673         * defice.h: Added DEVICE_DISPLAY_P and friends.
13674
13675         * device.c (Fdevice_printer_p): Used these.
13676
13677         * frame.c (allocate_frame_core): Initialize page number.
13678         (Fprint_job_page_number):
13679         (Fprint_job_eject_page): Implemented.
13680
13681         * frame-msw.c (msprinter_eject_page): Added method.
13682         (msprinter_start_page): Added.
13683
13684         * window.c (Fwindow_truncated_p): Fixed docstring.
13685         (Fwindow_last_line_visible_height): Implemented.
13686
13687 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13688
13689         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
13690
13691 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13692
13693         * syntax.c (scan_words): Always advance at least one character.
13694
13695 2000-02-13  Andy Piper  <andy@xemacs.org>
13696
13697         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
13698         to make sure the glyph is in the cachels.
13699
13700         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
13701         global image instance flag.
13702         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
13703         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
13704
13705         * glyphs.c (allocate_image_instance): set dirty bits correctly.
13706         (Fset_image_instance_property): mark layout as changed.
13707         (invalidate_glyph_geometry_maybe): mark layout as changed.
13708         (glyph_width): use new NEEDS_LAYOUT macro.
13709         (glyph_ascent): ditto.
13710         (glyph_descent): ditto.
13711         (glyph_height): ditto.
13712         (image_instance_layout): mark layout as clean after laying out.
13713         (update_subwindow): don't mark layout as clean here.
13714
13715         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
13716         should no longer be needed.
13717
13718         * glyphs-x.c (x_update_widget): sanitize asserts.
13719         (x_finalize_image_instance): sanitize assignment to widgets.
13720
13721         * glyphs-widget.c (widget_instantiate): don't need to clear the
13722         layout flag here.
13723
13724 2000-02-13  Martin Buchholz  <martin@xemacs.org>
13725
13726         * sysdep.c (getcwd): Use standard prototype.
13727         * sysdep.h (getcwd): Use standard prototype.
13728
13729         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
13730         (sequence, start, end).
13731         Remove redundant type checking.
13732         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
13733         view of `caller-protects') to avoid a crash where the real fix was
13734         found elsewhere.
13735
13736 2000-02-12  Martin Buchholz  <martin@xemacs.org>
13737
13738         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
13739
13740         * s/sol2.h: Remove feature macro initialization.
13741
13742         * alloc.c (alloc_lcrecord): Add more type checking assertions.
13743         (vector_hash): New.  Code from internal_hash.
13744         * lrecord.h:
13745         Fix up allocation subsystem comments.
13746
13747         * config.h.in: Add __EXTENSIONS__ for Solaris.
13748
13749         * systime.h (EMACS_GETTIMEOFDAY): New.
13750         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
13751         Remove Solaris-specific code.
13752         Use void* for the (ignored) second arg for gettimeofday().
13753
13754         * elhash.c (hash_table_hash): Implement it, finally.
13755         * elhash.c:  Use hashcode_t.
13756
13757         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
13758         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
13759
13760         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
13761         * fns.c (size_bit_vector):
13762         * alloc.c (size_vector):
13763         (make_vector_internal):
13764         (make_bit_vector_internal):
13765         (sweep_bit_vectors_1):
13766         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
13767
13768 2000-02-10  Martin Buchholz  <martin@xemacs.org>
13769
13770         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
13771         Include strings.h to avoid warnings for bzero and strcasecmp.
13772
13773 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13774
13775         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
13776         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
13777
13778         * fns.c (size_bit_vector): New.  Declare bit vectors as a
13779         sequence.
13780
13781 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13782
13783         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
13784         use a value field instead.
13785         (symbol_value_forward_forward): Use value field.
13786         (DEFVAR_SYMVAL_FWD): Use value field.
13787         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
13788         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
13789         (DEFVAR_CONST_INT): Ditto.
13790         (DEFVAR_BOOL): Ditto.
13791         (DEFVAR_CONST_BOOL): Ditto.
13792         (DEFVAR_INT_MAGIC): Ditto.
13793         (DEFVAR_BOOL_MAGIC): Ditto.
13794
13795         * symbols.c (guts_of_unbound_marker): Use value field.
13796         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
13797         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
13798
13799         * lisp.h: Declare dumpopaque and noninteractive1.
13800
13801         * alloc.c (dumpopaque): Added.
13802         (pdump_dump_opaquevec): Added.
13803         (pdump): Call pdump_dump_opaquevec to dump opaque data.
13804         (pdump_load): Reload opaque data.  Sync noninteractive1 with
13805         noninteractive.
13806
13807 2000-02-10  Andy Piper  <andy@xemacs.org>
13808
13809         * glyphs.c (image_instance_layout): if the size changes, mark it
13810         as such.
13811
13812         * redisplay-output.c (redisplay_output_layout): Update the
13813         subwindow here.
13814         (redisplay_output_subwindow): ditto.
13815
13816         * glyphs.c (update_subwindow): make sure we reset flags for
13817         layouts as well as everything else.
13818
13819         * glyphs-widget.c (layout_layout): don't need to set the instances
13820         dimensions here.
13821
13822 2000-02-09  Martin Buchholz  <martin@xemacs.org>
13823
13824         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
13825         not HAVE_DLOPEN, which is a lower-level thing.
13826
13827         * .cvsignore: Ignore gmon.out
13828
13829 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
13830
13831         * .cvsignore: Ignore portable dumper xemacs.dmp file
13832
13833 2000-02-09  Andy Piper  <andy@xemacs.org>
13834
13835         * redisplay-output.c (redisplay_output_layout): be more clever
13836         about when we output based on the changed flags.
13837
13838         * glyphs.h (struct image_instantiator_methods): add update_method.
13839         (struct Lisp_Image_Instance): add changed flags. Declare new
13840         macros for manipulating them.
13841
13842         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
13843         (image_instance_parent_glyph): find an image_instance's parent
13844         glyph or image_instance.
13845         (image_instance_layout): mark the size as changed.
13846         (set_image_instance_dirty_p): new function. mark an image
13847         instance, plus all of its parents, as dirty.
13848         (Fset_image_instance_property): use it.
13849         (Fglyph_animated_timeout_handler): use it.
13850         (update_subwindow): call update_widget and device methods for
13851         update_subwindow. Mark all changed flags as clean.
13852         (Fresize_subwindow): mark size as changed.
13853
13854         * glyphs-x.c (x_finalize_image_instance): try and detect gc
13855         failures.
13856         (x_update_subwindow): only resize subwindows here.
13857         (x_update_widget): new function. Update all changed properties of
13858         a widget.
13859         (x_resize_subwindow): deleted.
13860         (x_widget_set_property): deleted.
13861         (x_progress_gauge_set_property): deleted.
13862         (x_progress_gauge_update): new function. Implement recorded
13863         changes.
13864         (x_tab_control_update): ditto.
13865         (x_tab_control_set_property): deleted.
13866         (console_type_create_glyphs_x): declare new functions.
13867         (image_instantiator_format_create_glyphs_x): ditto.
13868
13869         * glyphs-widget.c (widget_set_property): mark text changed.
13870         (update_widget): new function. Update properties of a widget.
13871         (widget_instantiate): for layouts make sure we set their
13872         children's parent correctly.
13873         (tab_control_set_property): new function. Record changes that will
13874         take place under redisplay's control.
13875         (progress_gauge_set_property): ditto.
13876         (image_instantiator_progress_guage): declare new functions.
13877         (image_instantiator_tab_control): ditto.
13878
13879         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
13880         now.
13881         (mswindows_update_widget): new function. Update all properties on
13882         a widget that have changed.
13883         (mswindows_button_update): new function. Update a button's set
13884         state.
13885         (mswindows_tab_control_update): new function. Update the items in
13886         a tab.
13887         (mswindows_tab_control_set_property): deleted.
13888         (mswindows_progress_gauge_update): new function. Update the
13889         progress gauge's progress.
13890         (mswindows_widget_set_property): deleted. This is all done
13891         asynchronously now.
13892         (mswindows_progress_gauge_set_property): ditto.
13893         (console_type_create_glyphs_mswindows): declare new methods.
13894         (image_instantiator_format_create_glyphs_mswindows): ditto.
13895
13896         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
13897         (msprinter_set_frame_properties): ditto.
13898
13899         * console.h (struct console_methods): Add update_widget_method.
13900
13901 2000-02-09  Andy Piper  <andy@xemacs.org>
13902
13903         * gui-msw.c (Fmswindows_shell_execute): Make
13904         mswindows-shell-execute industrial strength.
13905
13906 2000-02-08  Martin Buchholz  <martin@xemacs.org>
13907
13908         * lrecord.h: Make macro argument `props' match member function `plist'.
13909         * fns.c (Fget):
13910         * fns.c (Fput):
13911         * fns.c (Fremprop):
13912         * fns.c (Fobject_plist):
13913         * alloc.c:
13914         * symbols.c:
13915         Object property list frobbing cleanup.
13916         - Allow any lisp object (compared with `eq'), not just symbols, as
13917           keys in object plists.
13918         - Move symbol plist frobbing into symbols.c, where it belongs.
13919         - Move string plist frobbing into alloc.c, where it belongs.
13920         - Everything's an lrecord now, so no need to test for symbolp, etc.
13921         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
13922
13923         * extents.c: Reorder code to remove declarations.
13924
13925         * frame.h (store_in_alist): Remove useless declaration.
13926
13927 2000-02-07  Martin Buchholz  <martin@xemacs.org>
13928
13929         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
13930         * config.h.in: Add HAVE_XCONVERTCASE.
13931
13932 2000-02-07  Andy Piper  <andy@xemacs.org>
13933
13934         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
13935         it breaks many things.
13936
13937 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13938
13939         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
13940         actually can start a common comment type.
13941         * src/syntax.h (SYNTAX_END_P): ditto for end.
13942
13943 2000-02-07  Martin Buchholz <martin@xemacs.org>
13944
13945         * XEmacs 21.2.28 is released.
13946
13947 2000-02-06  Martin Buchholz  <martin@xemacs.org>
13948
13949         * event-Xt.c (x_keysym_to_character): New.
13950         (maybe_define_x_key_as_self_inserting_character): New.
13951         (x_has_keysym): New.
13952         Auto-define all keys on the keyboard as self-insert-key.
13953
13954 2000-02-02  Martin Buchholz  <martin@xemacs.org>
13955
13956         * menubar.c (vars_of_menubar): A small code simplification.
13957
13958         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
13959
13960         * ExternalShell.c:
13961         * ExternalClient.c:
13962         * EmacsShell-sub.c:
13963         * EmacsManager.c:
13964         * EmacsFrame.c:
13965         Use consistent style for specifying X resources.
13966
13967         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
13968         This makes (dontusethis-set-symbol-value-handler) actually usable.
13969
13970         * lrecord.h (lrecord_decription_type):
13971         * alloc.c (pdump_register_sub):
13972         (pdump_dump_data):
13973         (pdump_reloc_one):
13974         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
13975         Comply with XEmacs coding style.
13976         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
13977         args, and XD_LISP_OBJECT_ARRAY with 3 args.
13978
13979         * keymap.c (Faccessible_keymaps):
13980         Make (accessible-keymaps map "\C-h") do the Right Thing.
13981         Make (accessible-keymaps map []) do the Right Thing.
13982         Make (accessible-keymaps map "") do the Right Thing.
13983         (check_keymap_definition_loop): New function.
13984         (keymap_store_internal): Keep luser from shooting self in foot,
13985           via (define-key ctl-x-4-map "p" global-map).
13986         Remove fullness slot from struct Lisp_Keymap, since hash tables
13987         are now reliable.
13988         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
13989
13990 2000-01-30  Martin Buchholz  <martin@xemacs.org>
13991
13992         * redisplay.c (init_redisplay): Fix small memory leak.
13993         * elhash.h:
13994         * elhash.c (pdump_reorganize_hash_table):
13995         Rename from reorganize_hash_table. Change prototype.
13996         Reuse the original memory for hentries.  Save 100k.
13997         * alloc.c (PDUMP_READ): new macro.
13998         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
13999         * alloc.c: No need to #ifndef before #undef.
14000
14001         * print.c: Allow debug_print() to print readably by modifying
14002         debug_print_readably.  Use consistent variable names.
14003
14004         * .dbxrc: Try to get things to work even if stopped in a function
14005         without source available by explicitly specifying source files.
14006 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14007
14008         * unexnt.c (_start): Removed bogus code which caused loading heap
14009         from differrent executable file.
14010         Removed bogus assignment to _fmode, which caused inconsistencies.
14011
14012 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14013
14014         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14015         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14016         Do not preliminary `#define signal sigset'.
14017
14018         * systime.h: Do not prototype environ on windows nt and cygwin,
14019         this conflicts with system header.
14020
14021         * syssignal.h: Use correct define for WINDOWSNT
14022
14023         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14024         with system header.
14025
14026         * sysdep.c (near start of file): Fixed commentary and rearranged
14027         ifdefs in readable order.
14028         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14029         (start_of_text):
14030         (end_of_text):
14031         (end_of_data): Do not compile in if using PDUMP.
14032
14033         * symsinit.h: Prototyped vars_of_nt().
14034
14035         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14036         (find_child_console): Use it.
14037         (sys_kill): Use it.
14038
14039         * ntheap.h: Do not extern os_subtype.
14040
14041         * ntheap.c (cache_system_info): Do not cache unneeded:
14042         nt_major_version, nt_minor_version and os_subtype.
14043         (recreate_heap): Do not compile in when PDUMPing.
14044
14045         * nt.c (geteuid and friends): Use the new varibale
14046         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14047         (init_user_info): Removed the above mentioned hackery.
14048         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14049         stat has been fixed in the C runtime.
14050         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14051
14052         * file-coding.c (struct file_coding_dump): Do not define
14053         ucs_to_mule_table in the struct if not MULE.
14054         (struct struct lrecord_description fcd_description_1): Do not dump
14055         the above.
14056
14057         * emacs.c (main_1): Call vars_of_nt().
14058         (right before Fdump_emacs_data): Don't need lastfile if using both
14059         portabe dumper and system malloc.
14060
14061         * alloc.c (Fmemory_limit): Conditionalized out.
14062         (pdump): Use OPEN_BINARY for the portable dump file.
14063         (pdump_load): Ditto.
14064
14065 2000-02-02  Mike Alexander  <mta@arbortext.com>
14066
14067         * nt.c (convert_time): Set tm_isdst before calling mktime and
14068         avoid calling it at all if the compiler supports 64 bit integers.
14069         Also initialize utc_base_ft before using it.
14070
14071 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14072
14073         * frame.c (change_frame_size_1): Take f->internal_border_width
14074         into consideration when calculating the width of the frame.
14075
14076 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14077
14078         * window.c (frame_min_height):
14079         (frame_size_valid_p):
14080         (frame_pixsize_valid_p): Added.
14081         (check_frame_size): Generalized.
14082
14083         * window.h: Prototyped the above.
14084
14085         * lisp.h:
14086         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14087         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14088         Deleted Vwin32_* and Vbinary_process_* unused variables.
14089
14090         * device-msw.c (msprinter_init_device): Do not get printer font
14091         list; Added DEVMODE functions.
14092
14093         * frame-msw.c: Added lots of printer code.
14094
14095         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14096         general.c.
14097
14098         * console-msw.h: Added more msprinter device private slots.
14099
14100 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14101
14102         * event-msw.c (key_needs_default_processing_p): Added.
14103         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14104
14105 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14106
14107         * glyphs.c (image_instance_layout): Mark image instance as clean
14108         after layout.
14109         (glyph_dirty_p): Removed redundant function.
14110         (invalidate_glyph_geometry_maybe): Added.
14111         (update_glyph_cachel_data): Call it.
14112
14113         * glyphs.h: Prototyped it.
14114
14115         * redisplay.c (add_glyph_rune): Call it.
14116         (redisplay_window): Reset glyphs cachels when frame faces have
14117         changed, thus forcing recomputation of built-in border glyphs.
14118
14119 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14120
14121         * Makefile.in.in: Make portable dumper and purify play well together.
14122         Add imperfect, but better than nothing, support for pdump.
14123         Remove xemacs.dmp when temacs is re-generated.
14124         Don't ignore errors when dumping xemacs.
14125
14126         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14127
14128 2000-01-28  Andy Piper  <andy@xemacs.org>
14129
14130         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14131         (setup_normal_frame): ditto.
14132         (setup_frame_without_minibuffer): ditto.
14133         (setup_minibuffer_frame): ditto.
14134         (delete_frame_internal): ditto.
14135         (Fmake_frame_invisible): ditto.
14136         (Ficonify_frame): ditto.
14137
14138         * window.h: change Fset_window_buffer signature.
14139
14140         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14141         (Fset_window_buffer): allow recording of buffer if the window is
14142         the selected window.
14143         (window_loop): Use new Fset_window signature.
14144
14145 2000-01-23  Daniel Pittman  <daniel@danann.net>
14146
14147         * config.h.in: Added template for `HAVE_ATHENA_3D'
14148
14149 2000-01-29  Andy Piper  <andy@xemacs.org>
14150
14151         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14152
14153         * gutter.c (output_gutter): Don't output if the window isn't live.
14154
14155 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14156
14157         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14158         of 01/12/00: Moved SetFocus back here where it belongs.
14159
14160 2000-01-23  Andy Piper  <andy@xemacs.org>
14161
14162         * s/cygwin32.h: declare printer things.
14163
14164 2000-01-26  Andy Piper  <andy@xemacs.org>
14165
14166         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14167         Alexander.
14168
14169 2000-01-24  Andy Piper  <andy@xemacs.org>
14170
14171         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14172         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14173
14174         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14175
14176         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14177
14178         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14179
14180         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14181         (mswindows_output_display_block): Avoid local shadows.
14182
14183         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14184         (mswindows_enqueue_mouse_button_event): ditto.
14185         (mswindows_handle_gui_wm_command): remove declaration.
14186
14187         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14188         warnings.
14189
14190         * console-msw.h: Avoid shadows.
14191         (mswindows_get_toolbar_button_text):
14192         (emacs_mswindows_create_stream_pair):
14193         (emacs_mswindows_delete_stream_pair):
14194         (mswindows_handle_toolbar_wm_command): declare.
14195
14196         * device-msw.c (build_syscolor_string): Avoid shadows.
14197
14198 2000-01-23  Andy Piper  <andy@xemacs.org>
14199
14200         * glyphs-widget.c (widget_instantiate): reverse the items for
14201         layouts so that children are in the expected order.
14202
14203 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14204
14205         * ralloc.c: safe_bcopy ==> memmove
14206         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14207         * s/msdos.h: Remove BCOPY macros.
14208         * insdel.c (gap_right): Remove BCOPY conditional code.
14209         * insdel.c (gap_left): Remove BCOPY conditional code.
14210         XEmacs demands a working ANSI C compiler - hence memmove.
14211
14212         * regex.c (regex_compile): Remove accidental use of trigraphs.
14213
14214 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14215
14216         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14217         event timestamp.
14218
14219 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14220
14221         * event-msw.c (mswindows_drain_windows_queue): Added the
14222         parameter.
14223         (mswindows_need_event): Commented the call to
14224         mswindows_drain_windows_queue().
14225         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14226         only.
14227
14228         * console-msw.h: Moved a few function prototypes here from
14229         event-msw.c.
14230
14231         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14232         parameter from unsigned short to unsigned long.
14233         (Fmswindows_shell_execute): Added return value.
14234
14235 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14236
14237         * sysdep.c (init_system_name):
14238           process-unix.c (unix_canonicalized_host_name):
14239         Don't call freeaddrinfo() if getaddrinfo() fails.
14240
14241         * process-unix.c (unix_open_unix_network_stream):
14242         Moved the code to get a port # into address loop.
14243
14244 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14245
14246         * buffer.c (reinit_vars_of_buffer):
14247         The right place to initialize conversion_in_dynarr and
14248         conversion_out_dynarr.
14249
14250         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14251
14252         * process-unix.c (unix_canonicalize_host_name): Muleize.
14253         (unix_open_network_stream): Muleize.
14254
14255         * buffer.h: Fix up prototypes for ralloc.c functions.
14256
14257 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14258         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14259         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14260                 instead of gethostbyname()
14261         * process-unix.c: In unix_canonicalize_host_name() and
14262                 unix_open_network_stream(), add code to use getaddrinfo()
14263                 instead of gethostbyname().
14264
14265 2000-01-27  Daniel Pittman <daniel@danann.net>
14266
14267         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14268         libs when built with flat Athena.
14269
14270 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14271
14272         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14273         Use coding standards for function prototypes.
14274
14275 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14276
14277         * dialog-msw.c (push_lisp_string_as_unicode):
14278         * doc.c (unparesseuxify_doc_string):
14279         * dired.c (Fuser_name_completion_1):
14280         * dired.c (Fuser_name_all_completions):
14281         * dired.c (free_user_cache):
14282         * dired.c (user_name_completion):
14283         * console-x.c (get_display_arg_connection):
14284         * minibuf.c (clear_echo_area_internal):
14285         * minibuf.c (echo_area_append):
14286         * eldap.c (Fldap_open):
14287         * eldap.c (Fldap_search_internal):
14288         * frame-x.c (x_set_frame_text_value):
14289         * frame-x.c (x_set_frame_properties):
14290         * frame-x.c (x_create_widgets):
14291         * redisplay-tty.c (term_get_fkeys_1):
14292         * objects-x.c (x_parse_nearest_color):
14293         * objects-x.c (x_valid_color_name_p):
14294         * objects-x.c (x_initialize_font_instance):
14295         * objects-x.c (x_list_fonts):
14296         * objects-x.c (x_find_charset_font):
14297         * tooltalk.c (Fadd_tooltalk_message_arg):
14298         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14299         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14300         * process-unix.c (unix_create_process):
14301         * ntproc.c (sys_spawnve):
14302         * sound.c (Fplay_sound_file):
14303         * sound.c (Fplay_sound):
14304         * buffer.c (init_initial_directory):
14305         * buffer.c (init_buffer):
14306         * editfns.c (init_editfns):
14307         * editfns.c (Ftemp_directory):
14308         * editfns.c (Fuser_full_name):
14309         * editfns.c (uncache_home_directory):
14310         * editfns.c (get_home_directory):
14311         * editfns.c (Fuser_home_directory):
14312         * editfns.c (Fformat_time_string):
14313         * editfns.c (Fcurrent_time_string):
14314         * gui-x.c (button_item_to_widget_value):
14315         * database.c (Fopen_database):
14316         * event-Xt.c (x_to_emacs_keysym):
14317         * event-Xt.c (x_event_to_emacs_event):
14318         * event-Xt.c (describe_event_window):
14319         * event-msw.c (mswindows_wnd_proc):
14320         * glyphs-eimage.c (jpeg_instantiate):
14321         * glyphs-eimage.c (gif_instantiate):
14322         * glyphs-eimage.c (png_instantiate):
14323         * glyphs-eimage.c (tiff_instantiate):
14324         * glyphs-x.c (xbm_instantiate_1):
14325         * glyphs-x.c (x_xbm_instantiate):
14326         * glyphs-x.c (x_xface_instantiate):
14327         * glyphs-x.c (autodetect_instantiate):
14328         * glyphs-x.c (cursor_font_instantiate):
14329         * glyphs-x.c (x_widget_instantiate):
14330         * glyphs-x.c (x_widget_set_property):
14331         * glyphs-x.c (x_widget_property):
14332         * glyphs-x.c (BUILD_GLYPH_INST):
14333         * print.c (write_string_to_stdio_stream):
14334         * print.c (output_string):
14335         * print.c (Falternate_debugging_output):
14336         * print.c (Fexternal_debugging_output):
14337         * glyphs-msw.c (extract_xpm_color_names):
14338         * glyphs-msw.c (mswindows_xpm_instantiate):
14339         * glyphs-msw.c (bmp_instantiate):
14340         * glyphs-msw.c (resource_name_to_resource):
14341         * glyphs-msw.c (mswindows_resource_instantiate):
14342         * glyphs-msw.c (xbm_instantiate_1):
14343         * glyphs-msw.c (mswindows_xbm_instantiate):
14344         * glyphs-msw.c (mswindows_xface_instantiate):
14345         * glyphs-msw.c (mswindows_widget_instantiate):
14346         * glyphs-msw.c (add_tree_item):
14347         * glyphs-msw.c (add_tab_item):
14348         * glyphs-msw.c (mswindows_combo_box_instantiate):
14349         * glyphs-msw.c (mswindows_widget_property):
14350         * glyphs-msw.c (mswindows_combo_box_property):
14351         * glyphs-msw.c (mswindows_widget_set_property):
14352         * console.c (stuff_buffered_input):
14353         * objects-msw.c (mswindows_initialize_color_instance):
14354         * objects-msw.c (mswindows_valid_color_name_p):
14355         * objects-msw.c (mswindows_list_fonts):
14356         * objects-msw.c (mswindows_font_instance_truename):
14357         * bytecode.c (optimize_compiled_function):
14358         * select-x.c (symbol_to_x_atom):
14359         * select-x.c (x_atom_to_symbol):
14360         * select-x.c (hack_motif_clipboard_selection):
14361         * select-x.c (selection_data_to_lisp_data):
14362         * select-x.c (lisp_data_to_selection_data):
14363         * select-x.c (Fx_get_cutbuffer_internal):
14364         * select-x.c (Fx_store_cutbuffer_internal):
14365         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14366         * buffer.h (TO_INTERNAL_FORMAT): New function.
14367         * emacs.c (make_arg_list_1):
14368         * emacs.c (make_argc_argv):
14369         * emacs.c (main_1):
14370         * emacs.c (Fdump_emacs):
14371         * emacs.c (split_string_by_emchar_1):
14372         * file-coding.h:
14373         * lisp.h:
14374         * lstream.h:
14375         * symsinit.h:
14376         * device-x.c (x_init_device):
14377         * device-x.c (Fx_valid_keysym_name_p):
14378         * device-x.c (Fx_get_font_path):
14379         * device-x.c (Fx_set_font_path):
14380         * glyphs.c (bitmap_to_lisp_data):
14381         * glyphs.c (pixmap_to_lisp_data):
14382         * alloc.c (make_ext_string): Use coding system arguments.  Update
14383         all callers.
14384         * alloc.c (build_string):
14385         * callproc.c (child_setup):
14386         * callproc.c (init_callproc):
14387         * fileio.c (lisp_strerror):
14388         * fileio.c (directory_file_name):
14389         * fileio.c (Fexpand_file_name):
14390         * fileio.c (Ffile_truename):
14391         * fileio.c (Fsysnetunam):
14392         * fileio.c (Fdo_auto_save):
14393         * sysdep.c (sys_readdir):
14394         * tests.c: New file.  Allow adding C tests.
14395         Replace GET_* macros with a more comprehensible and flexible
14396         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14397         Modify all calls.
14398         Any coding system can be used to do format conversion.
14399         Eliminate enum external_data_format.
14400         Eliminate convert_to_external_format.
14401         Eliminate convert_to_internal_format.
14402         Make sure file-name, keyboard, terminal, and ctext are always
14403         defined as coding systems or aliases.  Make
14404         file-name-coding-system, terminal-coding-system, and
14405         keyboard-coding-system magical variables that are equivalent to
14406         defining the corresponding coding system aliases.
14407
14408         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14409         * file-coding.c (Fcoding_system_alias_p): New function.
14410         * file-coding.c (Fcoding_system_aliasee): New function.
14411         * file-coding.c (append_suffix_to_symbol): New function.
14412         * file-coding.c (dangling_coding_system_alias_p): New function.
14413         * file-coding.c (Ffind_coding_system):
14414         * file-coding.c (Fcopy_coding_system):
14415         * file-coding.c (encode_coding_no_conversion):
14416         * file-coding.c (syms_of_file_coding):
14417         * file-coding.c (vars_of_file_coding):
14418         Rewrite coding system alias code.
14419         Allow nested aliases, like symbolic links.
14420         Allow redefinition of coding system aliases.
14421         Prevent existence of dangling coding system aliases.
14422
14423         * dired.c (Fuser_name_completion_1):
14424         * dired.c (Fuser_name_all_completions):
14425         A crash would happen if user did QUIT in the middle of building
14426         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14427
14428         * lisp.h:
14429         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
14430
14431         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
14432         an unsigned char *.  Update all callers.
14433
14434 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14435
14436         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
14437
14438 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14439
14440         * elhash.c (hentry_description): Use more portable definition.
14441         (resize_hash_table): Initialize new hentries using
14442         xnew_array_and_zero, thereby simplifying the code.
14443
14444         * mule-charset.c (make_charset): Make sure entire object is
14445         initialized, to avoid Purify warnings.
14446
14447         * alloc.c (resize_string): Fix unlikely crash with big strings.
14448
14449 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14450
14451         * realpath.c (xrealpath):
14452         Don't call getwd().
14453
14454 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14455
14456         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
14457
14458 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
14459
14460         * unexelfsgi.c (unexec): Change the way we decide which segment
14461         should be extended.
14462
14463         Assumption that .bss section should be outside the PT_LOADable
14464         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
14465         it's present) is inside the 'data' segment. This would fail the
14466         test which was used to find a segment to grow and cover new
14467         heap. Instead of this assumption, I created another one - on IRIX
14468         the segment to grow should start below .bss and it's address
14469         should extent above the end of .bss. Once this segment is
14470         identified, it's grown to accommodate the new heap and new
14471         zero-length .bss section is added at the end of .data2.
14472
14473 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14474
14475         * eval.c (Feval): Wrong number of arguments should use original
14476         function, not the indirect_function version of it.
14477
14478 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
14479
14480         * glyphs-x.c (x_button_instantiate): Don't add image if
14481         it is not a pixmap.
14482         (x_locate_pixmap_file): Call Fexpand_file_name when file name
14483         is relative.
14484
14485 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
14486
14487         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
14488         declaration.
14489         (DEFVAR_INT_MAGIC): Ditto.
14490         (DEFVAR_BOOL_MAGIC): Ditto.
14491         * glyphs.h: Reindent backslash.
14492
14493 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14494
14495         * glyphs-widget.c (layout_query_geometry):
14496         (layout_layout): Use correct types for gheight, gwidth.
14497
14498 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14499
14500         * EmacsManager.c (QueryGeometry): Purified.
14501
14502 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14503
14504         * alloc.c (make_float): Make sure entire object is initialized, to
14505         avoid Purify warnings.
14506         (pdump_register_sub): Remove useless assignment.
14507         (pdump): Use xmalloc, not malloc.
14508         (pdump_load): Use xmalloc, not malloc.
14509
14510 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14511
14512         * callproc.c:
14513         * dired-msw.c:
14514         * fileio.c:
14515         * process-nt.c:
14516         * redisplay-msw.c:
14517         * sysdep.c: Removed redundant #include <windows.h>
14518
14519 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14520
14521         * frame.c (delete_frame_internal): Do not delete device when its
14522         implementation so declares.
14523         (delete_frame_internal): Set device selected frame to nil when
14524         last frame goes away.
14525
14526         * device-msw.c (msprinter_device_system_metrics): Implemented.
14527         (mswindows_device_system_metrics): Added 'device-dpi property.
14528
14529         * device.c: (Fdevice_printer_p): Added.
14530         Added 'offset-workspace device metric.
14531
14532         * console.h (device_metrics): Declared DM_offset_workspace.
14533
14534 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14535
14536         * fileio.c (Ffile_truename): Remove pointless and confusing
14537         initialization of elen.
14538
14539         * glyphs-widget.c: Compiler warning fixes.
14540
14541 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
14542
14543         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
14544         instead of a Lisp_Object as argument to make it consistent with
14545         the other LIVE_P macros.
14546         (CHECK_LIVE_PROCESS): New macro.
14547
14548         * process.c: Declare Qprocess_live_p.
14549         (Fprocess_live_p): New function.
14550         (create_process): Use PROCESS_LIVE_P.
14551         (read_process_output): Ditto.
14552         (set_process_filter): Ditto.
14553         (Fdelete_process): Ditto.
14554         (kill_buffer_processes): Ditto
14555         (process_send_signal): Use CHECK_LIVE_PROCESS.
14556         (Fprocess_input_coding_system): Check whether process is still
14557         alive (fix PR#1061).
14558         (Fprocess_output_coding_system): Ditto.
14559         (Fprocess_coding_system): Ditto.
14560         (Fset_process_input_coding_system): Ditto.
14561         (Fset_process_output_coding_system): Ditto.
14562
14563 2000-01-23  Andy Piper  <andy@xemacs.org>
14564
14565         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
14566         layout and widget.
14567
14568         * glyphs.c (mark_image_instance): take into account changed
14569         image_instance format.
14570         (image_instance_equal): ditto.
14571         (image_instance_hash): ditto.
14572
14573         * glyphs-widget.c (widget_instantiate): Incorporate layout
14574         instantiation here. Delay layout of the layout until later.
14575         (layout_instantiate): deleted.
14576         (layout_query_geometry): new function. get the geometry of a
14577         layout.
14578         (layout_layout): layout a layout dynamically.
14579         (image_instantiator_widget): New function - splitting up
14580         image_instantiator_format_create_glyphs_widget for netwinder
14581         compilation.
14582         (image_instantiator_buttons):
14583         (image_instantiator_edit_fields):
14584         (image_instantiator_combo_box):
14585         (image_instantiator_scrollbar):
14586         (image_instantiator_progress_guage):
14587         (image_instantiator_tree_view):
14588         (image_instantiator_tab_control):
14589         (image_instantiator_labels):
14590         (image_instantiator_layout): ditto.
14591         (image_instantiator_format_create_glyphs_widget): Call preceding
14592         functions.
14593
14594 2000-01-22  Martin Buchholz  <martin@xemacs.org>
14595
14596         * process.c (Fset_process_coding_system):
14597         * device-x.c (Fx_keysym_hash_table):
14598         Docstring fixes.
14599
14600         * lstream.c (Lstream_write): Return documented value, not 0.
14601
14602         * fileio.c (directory_file_name):
14603         (Fsubstitute_in_file_name):
14604         (Fsubstitute_insert_file_contents_internal):
14605         (Fwrite_region_internal):
14606         * emacs.c:
14607         * sysdep.c:
14608         * getloadavg.c:
14609         * systty.h:
14610         Remove vestigial APOLLO-conditional code.
14611
14612 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14613
14614         * getpagesize.h: Add guard macros.
14615         * libsst.h: Add guard macros.
14616         * libst.h: Add guard macros.
14617         * line-number.h: Add guard macros.
14618         * ndir.h: Add guard macros.
14619         * sysfloat.h: Add guard macros.
14620         * sysfile.h: Add guard macros.
14621         * sysproc.h: Add guard macros.
14622         * syswait.h: Add guard macros.
14623         * xintrinsic.h: Add guard macros.
14624         * xintrinsicp.h: Add guard macros.
14625         * xmmanager.h: Add guard macros.
14626         * xmmanagerp.h: Add guard macros.
14627         * xmprimitive.h: Add guard macros.
14628         * xmu.h: Add guard macros.
14629         * gpmevent.h: Add copyright statement. Add guard macros.
14630         * miscplay.h: Add guard macros.
14631         * *.h: Use consistent C-standards-approved guard macro names.
14632
14633         * opaque.c (make_opaque): Switch parameter order.
14634         * opaque.h (make_opaque): Switch parameter order.
14635         Update all callers.
14636         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
14637
14638         * config.h.in (type_checking_assert): Added.
14639         (bufpos_checking_assert): Added.
14640
14641 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14642
14643         * alloc.c: Harmless pdump changes.
14644         - Use countof().
14645         - spell alignment correctly.
14646         * sysdep.c: Use countof()
14647
14648 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14649
14650         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
14651         initially_selected_for_input() console method, default to 0.
14652         (semi_canonicalize_console_connection): Try to delegate to
14653         canonicalize_console_connection if no such console method.
14654         (canonicalize_console_connection): Vice versa.
14655         (print_console): Do not print nil connection.
14656
14657         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
14658         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
14659         (XDEVIMPF_FRAMELESS_OK): Added.
14660         (CONSOLE_INHERITS_METHOD): Added.
14661
14662         * console-msw.c (mswindows_canonicalize_console_connection):
14663         Added.
14664         (mswindows_canonicalize_device_connection): Added.
14665
14666         * console-msw.h (struct msprinter_device): Added this struct and
14667         accessor macros.
14668         (mswindows_device): Made fontlist a lisp object.
14669
14670         * device.c (semi_canonicalize_device_connection):  Try to delegate
14671         to canonicalize_device_connection if no such console method.
14672         (canonicalize_device_connection): Vice versa.
14673         (print_device): Do not print nil connection.
14674
14675         * device-msw.c (mswindows_init_device): Call InitCommonControls
14676         when have widgets.
14677         (mswindows_delete_device): Removed fontlist deallocation.
14678         (mswindows_mark_device): Added.
14679
14680         * events.c (event_equal): Added abort() at unreached code.
14681         (event_hash): Ditto.
14682
14683         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
14684         fallback tags of Windows devices.
14685
14686         * general.c (syms_of_general): Initialized Qmsprinter.
14687
14688         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
14689         of fallback tags of Windows devices.
14690
14691         * lisp.h: Declared Qmsprinter.
14692
14693         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
14694         of strings.
14695         (mswindows_list_fonts): Ditto.
14696         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
14697         that it can be used by both mswindows and msprinter devices.
14698         (initialize_font_instance): Added.
14699         (mswindows_initialize_font_instance): Use it.
14700         (msprinter_initialize_font_instance): Added.
14701
14702         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
14703         and implementation flags check.
14704         (redisplay_without_hooks): Changed the call to the above.
14705         (Fredraw_device): Ditto.
14706         (Fredisplay_device): Ditto.
14707
14708         * redisplay-msw.c (get_frame_dc): Implemented.
14709         (get_frame_compdc): Implemented.
14710         (many functions): Use the two functions above to get device
14711         contexts, ether for a window or a printer.
14712
14713 2000-01-21  Olivier Galibert  <galibert@pobox.com>
14714
14715         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
14716         initialization here.
14717         (init_symbols_once_early): Call it.
14718         * emacs.c (main_1): Call it.
14719         * symsinit.h: Declare it.
14720
14721 2000-01-19  Olivier Galibert  <galibert@pobox.com>
14722
14723         * alloc.c: Use a lrecord_header * in the backtrace instead of a
14724         Lisp_Object.
14725         (pdump_backtrace): Ditto.
14726         (pdump_register_object): Ditto.  Cleanup use of the pointers.
14727         (pdump_get_entry): Abort if trying to register a null pointer.
14728         (pdump_dump_data): Cleanup types when relocating.
14729         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
14730         (pdump_dump_rtables): Remove bad casts.
14731         (pdump_load): Cleanup relocation w.r.t union type.  Use a
14732         Lisp_Object instead of a EMACS_INT for the hashtable
14733         reorganization.
14734
14735 2000-01-20  Martin Buchholz  <martin@xemacs.org>
14736
14737         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
14738
14739         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
14740
14741         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
14742
14743         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
14744
14745 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14746
14747         * faces.h (FACE_STRIKETHRU_P): Added.
14748
14749         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
14750         of font variants.
14751
14752         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
14753         (mswindows_set_dc_font): New function, aware of font variants,
14754         separated from mswindows_update_dc.
14755
14756         * objects-msw.h (struct mswindows_font_instance_data): Added
14757         definition.
14758
14759         * objects-msw.c (mswindows_finalize_font_instance): Delete all
14760         cached fonts and the data structure.
14761         (mswindows_initialize_font_instance): Added creation of font data
14762         structure.
14763         (mswindows_print_font_instance): Print at least something.
14764         (mswindows_create_font_variant): Implemented.
14765         (mswindows_get_hfont): Implemented.
14766
14767 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
14768
14769         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
14770         prototyping problem with msvc.
14771
14772         * emacs.c (main_1): added syms_of_gui_mswindows() call
14773
14774         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
14775         syms_of_gui_mswindows() function
14776
14777         * symsinit.h: added the prototype for syms_of_gui_mswindows()
14778
14779 2000-01-18  Martin Buchholz <martin@xemacs.org>
14780
14781         * XEmacs 21.2.27 is released.
14782
14783 2000-01-18  Martin Buchholz  <martin@xemacs.org>
14784
14785         * glyphs-eimage.c (struct tiff_error_struct):
14786         (tiff_error_func):
14787         (tiff_warning_func):
14788         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
14789
14790         * unexmips.c:
14791         * unexhp9k3.c:
14792         * unexfreebsd.c:
14793         * unexec.c: Remove vestigial Lucid C code.
14794         * unexalpha.c:
14795         * unexaix.c:
14796         * termcap.c:
14797         * libsst.c: Ansify.
14798         Remove declarations of errno and strerror().
14799
14800         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
14801
14802         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
14803
14804 2000-01-16  Martin Buchholz  <martin@xemacs.org>
14805
14806         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
14807         Optimize.
14808
14809 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14810
14811         * md5.c:
14812         * file-coding.c:
14813         * file-coding.h:
14814         Change enum eol_type to eol_type_t.
14815
14816 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14817
14818         * gui.c (get_gui_callback): Check cons before accessing car.
14819
14820 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14821
14822         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
14823         (XSETSPECIFIER_TYPE): Ditto.
14824
14825 2000-01-17  Didier Verna  <didier@xemacs.org>
14826
14827         * redisplay.c (generate_fstring_runes): compute string size in
14828         characters, not bytes.
14829
14830 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14831
14832         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
14833
14834 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
14835
14836         * print.c (print_error_message): Call print_prepare().
14837
14838 2000-01-14  Martin Buchholz  <martin@xemacs.org>
14839
14840         * .dbxrc: Renamed from dbxrc.
14841
14842         * events.c (event_to_character):
14843         Use `assert (foo)' instead of `if (!foo) abort()'
14844
14845         * .gdbinit (xtype): Add documentation.
14846         * .gdbinit (check-temacs): New function.
14847         * .gdbinit (check-xemacs): New function.
14848         * dbxrc (check-xemacs): New function.
14849         * dbxrc (check-xemacs): New function.
14850
14851 2000-01-14  Andy Piper  <andy@xemacs.org>
14852
14853         * glyphs-widget.c (widget_query_geometry): Make sure that we
14854         calculate default dimensions correctly.
14855
14856 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14857
14858         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
14859
14860         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
14861         pdump_wire'd variable.
14862
14863         * emacs.c: (main_1): Conditionalized calls to
14864         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
14865
14866 2000-01-13  Martin Buchholz  <martin@xemacs.org>
14867
14868         * window.c (Fset_window_configuration):
14869         * sysdep.c (_start):
14870         * input-method-motif.c (res):
14871         * event-Xt.c (Xt_process_to_emacs_event):
14872         Simple compiler warning fixes.
14873
14874         * bytecode.c (funcall_compiled_function): Use the original
14875         function symbol on the backtrace list in preference to the
14876         compiled_function object in error messages.
14877
14878 2000-01-13  Andy Piper  <andy@xemacs.org>
14879
14880         * glyphs-x.c (update_widget_face): Make sure we update the widget
14881         background as well as foreground.
14882
14883 2000-01-13  Andy Piper  <andy@xemacs.org>
14884
14885         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
14886         fields to subwindow.
14887         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
14888         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
14889         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14890         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14891
14892         * glyphs-widget.c (check_valid_tab_orientation): new function.
14893         (initialize_widget_image_instance): zero orientation and
14894         justification.
14895         (widget_instantiate): pick up orientation.
14896         (tab_control_query_geometry): return appropriate values for
14897         vertical tabs.
14898
14899         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
14900         appropriate creation flags for left, right and bottom tabs.
14901
14902         * s/cygwin32.h: add tab definitions.
14903
14904 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14905
14906         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
14907         frame upon hiding a subwindow.
14908         (mswindows_button_instantiate): Changed the push button style to
14909         BS_PUSHBUTTON.
14910         (mswindows_button_instantiate): Removed button BS_NOTIFY
14911         style.
14912         (mswindows_button_instantiate): Removed redundant check for
14913         a disabled gui item.
14914         (mswindows_button_instantiate): Made use of WS_TABSTOP
14915         consistent: "operable" controls (edit, button, tree, scroll) have
14916         this style, "display-only" ones (static, progress gauge) do
14917         not. This style is currently ignored by XEmacs though. Also,
14918         removed the WS_EX_CONTROLPARENT style - it is not for children,
14919         it is for their parents!
14920         (mswindows_edit_field_instantiate): Ditto.
14921         (mswindows_progress_gauge_instantiate): Ditto.
14922         (mswindows_tree_view_instantiate): Ditto.
14923         (mswindows_tab_control_instantiate): Ditto.
14924         (mswindows_scrollbar_instantiate): Ditto.
14925         (mswindows_combo_box_instantiate): Ditto.
14926         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
14927         style to the "clip" window.
14928         (mswindows_button_instantiate): Removed compilation warning by
14929         equally typing terms of the ?: operator.
14930
14931 2000-01-12  Didier Verna  <didier@xemacs.org>
14932
14933         * redisplay.c (generate_fstring_runes): new parameter holding the
14934         last modeline-format extent.
14935         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
14936         extent, fill the glyph block with it.
14937         (generate_fstring_runes): handle these parameters.
14938         (generate_formatted_string_db): ditto.
14939
14940         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
14941         glyphs'extents in the modeline.
14942
14943 1999-01-11  Mike Woolley  <mike@bulsara.com>
14944
14945         * ntheap.c: Reduced the reserved heap space from 1Gb down to
14946         256Mb, as a workaround for the non-starting problem many people
14947         have experienced.
14948
14949 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14950
14951         * console-tty.c (Fset_console_tty_output_coding_system):
14952         Force redrawing tty frame.
14953
14954 2000-01-10  Didier Verna  <didier@xemacs.org>
14955
14956         * redisplay.c (generate_fstring_runes): fix size computation bug.
14957
14958 2000-01-09  William M. Perry <wmperry@aventail.com>
14959
14960         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
14961
14962 2000-01-09  Andy Piper  <andy@xemacs.org>
14963
14964         * glyphs-msw.c: index -> i to avoid shadows.
14965         (xbm_create_bitmap_from_data): make static.
14966         (check_valid_string_or_int): deleted.
14967         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
14968
14969         * glyphs-x.c (x_update_subwindow): remove unused args.
14970
14971         * glyphs.c (glyph_image_instance): return the thing. Don't set the
14972         back pointer - this is done in allocate_image_instance.
14973         (query_string_font): return Qnil to make the compiler happy.
14974         (unmap_subwindow): set to ~0 to make the compiler happy.
14975         (glyph_query_geometry): comment out until used.
14976         (glyph_layout): ditto.
14977
14978 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14979
14980         * insdel.c (signal_after_change): Remove extraneous unbind_to().