update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (decode_coding_utf16): Support UTF-16.
4         (char_encode_utf16): Fixed.
5
6 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * text-coding.c (Qutf16): New variable in MULE.
9         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
10         (Fcoding_system_type): Add `utf-16' in MULE.
11         (struct detection_state): Add a structure for utf16 in MULE.
12         (detect_coding_type): Setup st->utf16.mask in MULE.
13         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
14         MULE.
15         (reset_encoding_stream): Use `char_encode_utf16' and
16         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
17         (detect_coding_utf16): New function [incomplete].
18         (decode_coding_utf16): New function [support only UCS-2].
19         (char_encode_utf16): New function.
20         (char_finish_utf16): New function.
21         (syms_of_file_coding): Add new symbol `utf-16'; setup
22         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
23
24         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
25         UTF-2000.
26         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
27         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
28
29 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
30
31         * chartab.c (put_char_table): When a charset is specified as a
32         range in UTF-2000, don't support builtin characters.
33
34 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
35
36         * mule-charset.c (decode_defined_char): Don't refer external
37         database if Qunbound or Qnil are found.
38         (Fsave_charset_mapping_table): Don't define it if
39         HAVE_CHISE_CLIENT is not defined.
40         (Freset_charset_mapping_table): New function.
41         (load_char_decoding_entry_maybe): Store Qnil if a character is not
42         found in external database.
43         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
44         if HAVE_CHISE_CLIENT is not defined; add new builtin function
45         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
46
47 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
48
49         * text-coding.c (decode_coding_utf8): Check CCS is specified or
50         not.
51
52 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
53
54         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
55         Q_lowercase, Q_uppercase in UTF-2000.
56
57         * chartab.c (get_char_table): Add special code for the standard
58         case table to use character attribute `->downcase' and
59         `->uppercase' for case operations in UTF-2000.
60
61         * casetab.c (Qflippedcase): New variable in UTF-2000.
62         (Q_lowercase): Likewise.
63         (Q_uppercase): Likewise.
64         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
65         and `->uppercase' in UTF-2000.
66         (complex_vars_of_casetab): Assign attribute name `downcase' to
67         downcase and CANON table of Vstandard_case_table in UTF-2000;
68         assign attribute name `flippedcase' to upcase and EQV table of
69         Vstandard_case_table in UTF-2000.
70
71 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * text-coding.c (decode_add_er_char): Support isolated-chars.
74         (char_encode_as_entity_reference): Likewise.
75
76 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
77
78         * emacs.c (Vutf_2000_lisp_directory): New variable.
79         (Vconfigure_utf_2000_lisp_directory): Likewise.
80         (complex_vars_of_emacs): Add new variable
81         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
82
83 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
84
85         * char-ucs.h (DECODE_CHAR): Delete special code for
86         `chinese-big5-1' and `chinese-big5-2'.
87
88         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
89         (Qbig5_2): Likewise.
90         (decode_defined_char): Support CONVERSION_BIG5_1 and
91         CONVERSION_BIG5_2.
92         (decode_builtin_char): Likewise.
93         (charset_code_point): Likewise.
94         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
95         'conversion in UTF-2000.
96         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
97         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
98         `chinese-big5-2' as children of `chinese-big5'.
99
100         * char-ucs.h (CONVERSION_BIG5_1): New macro.
101         (CONVERSION_BIG5_2): New macro.
102
103 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
104
105         * text-coding.c (char_encode_big5): Support entity-reference.
106
107 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
108
109         * text-coding.c (char_encode_as_entity_reference): New function.
110         (char_encode_utf8): Use `char_encode_as_entity_reference'.
111
112 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
113
114         * text-coding.c (decode_coding_big5): Support entity-reference
115         decoding feature.
116
117 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
118
119         * text-coding.c (allocate_coding_system): Initialize initial
120         charsets for CODESYS_UTF8.
121         (Fmake_coding_system): Accept charset-g0, charset-g1 and
122         charset-g2 for CODESYS_UTF8.
123         (decode_coding_utf8): Use charset-g0.
124         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
125         to force variants to map to UCS.
126
127 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
128
129         * text-coding.c (Qutf_8_mcs): New variable.
130         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
131         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
132         instead of `utf-8' in UTF-2000.
133
134 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
135
136         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
137         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
138         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
139         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
140         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
141         CONVERSION_96x96x96x96 are introduced.
142         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
143         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
144         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
145
146         * char-ucs.h (CONVERSION_94): New macro.
147         (CONVERSION_96): New macro.
148         (CONVERSION_94x94): New macro.
149         (CONVERSION_96x96): New macro.
150         (CONVERSION_94x94x94): New macro.
151         (CONVERSION_96x96x96): New macro.
152         (CONVERSION_94x94x94x60): New macro.
153         (CONVERSION_94x94x94x94): New macro.
154         (CONVERSION_96x96x96x96): New macro.
155
156 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
157
158         * chartab.c (Vcharacter_variant_table): Deleted.
159         (Fchar_variants): Use character-attribute `->ucs-variants' instead
160         of `Vcharacter_variant_table'.
161         (Fput_char_attribute): Likewise.
162         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
163         (complex_vars_of_chartab): Likewise.
164
165 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
166
167         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
168
169         * fns.c (Qideographic_structure): New variable.
170         (Qkeyword_char): New variable.
171         (ids_format_unit): New function.
172         (Fideographic_structure_to_ids): New function.
173         (syms_of_fns): Add new symbols `ideographic-structure' and
174         `:char'; add new builtin function `ideographic-structure-to-ids'.
175
176         * data.c (Fchar_ref_p): New function.
177         (syms_of_data): Add new builtin function `char-ref-p'.
178
179         * chartab.h: Add an EXFUN for `Ffind_char'.
180
181 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * text-coding.c (Vcharacter_composition_table): Deleted.
184         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
185         in every UTF-2000.
186
187         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
188         UTF-2000.
189         (Vcharacter_composition_table): Deleted.
190         (Fget_composite_char): Use the implementation for external-DB
191         support in every UTF-2000.
192         (Fput_char_attribute): Likewise.
193         (char_attribute_system_db_file): Don't define if external-DB
194         feature is not available.
195         (Fsave_char_attribute_table): Likewise.
196         (Fmount_char_attribute_table): Likewise.
197         (Fclose_char_attribute_table): Likewise.
198         (Freset_char_attribute_table): Likewise.
199         (Fload_char_attribute_table): Likewise.
200         (syms_of_chartab): Don't define `save-char-attribute-table',
201         `mount-char-attribute-table', `reset-char-attribute-table',
202         `close-char-attribute-table' and `load-char-attribute-table' if
203         external-DB feature is not available.
204         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
205
206 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
207
208         * text-coding.c (Qcomposition): Add extern if external-DB feature
209         is supported.
210         (Vcharacter_composition_table): Don't add extern if external-DB
211         feature is supported.
212         (COMPOSE_ADD_CHAR): Modify for new data-representation of
213         character composition rule if external-DB feature is supported.
214
215         * chartab.c (Vcharacter_composition_table): Don't define if
216         external-DB feature is supported.
217         (Qcomposition): New variable.
218         (Fget_composite_char): New implementation for external-DB support.
219         (Fput_char_attribute): Use `composition' property of each
220         character instead of `Vcharacter_composition_table' to store
221         character-composition rules if external-DB feature is supported.
222         (syms_of_chartab): Add new symbol `composition'.
223         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
224         external-DB feature is supported.
225
226 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
227
228         * chartab.c (Vchar_db_stingy_mode): New variable.
229         (load_char_attribute_maybe): Close database if
230         Vchar_db_stingy_mode is not NIL.
231         (Fload_char_attribute_table_map_function): Use
232         `get_char_id_table_0' instead of `get_char_id_table'.
233         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
234
235         * chartab.h (get_char_id_table_0): New inline function.
236         (get_char_id_table): Use `get_char_id_table_0'.
237
238 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
239
240         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
241         and `COMPOSE_ADD_CHAR'.
242         (decode_coding_iso2022): Use `decode_flush_er_chars'.
243
244 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
245
246         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
247         instead of `DECODE_ADD_UCS_CHAR'.
248         (COMPOSE_ADD_CHAR): Likewise.
249
250 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
251
252         * text-coding.c (decode_flush_er_chars): New inline function.
253         (decode_add_er_char): New function.
254         (decode_coding_utf8): Use `decode_flush_er_chars' and
255         `decode_add_er_char'.
256
257 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
258
259         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
260         done before `decode_output_utf8_partial_char'.
261
262         * mule-charset.c (complex_vars_of_mule_charset): Specify
263         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
264         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
265
266 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * mule-charset.c (decode_defined_char): New function; search
269         mother.
270         (decode_builtin_char): Don't search mother if
271         XCHARSET_MAX_CODE(charset) == 0.
272         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
273         == 0 even if code >= XCHARSET_MAX_CODE(charset).
274         (Fdecode_char): Use `decode_defined_char' instead of
275         `DECODE_DEFINED_CHAR'.
276         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
277         mother of `Vcharset_ucs_jis'.
278
279         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
280         instead of `DECODE_DEFINED_CHAR'.
281
282         * char-ucs.h (decode_defined_char): Renamed from
283         `DECODE_DEFINED_CHAR'; changed to normal function.
284         (DECODE_CHAR): Use `decode_defined_char' instead of
285         `DECODE_DEFINED_CHAR'.
286
287         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
288
289 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
292
293         * text-coding.c (Vcoded_charset_entity_reference_alist): New
294         variable.
295         (Quse_entity_reference): New variable.
296         (Qd): New variable.
297         (Qx): New variable.
298         (QX): New variable.
299         (coding_system_description): Add description for
300         `ccs_priority_list'.
301         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
302         (allocate_coding_system): Initialize `ccs_priority_list' in
303         UTF-2000.
304         (Fmake_coding_system): Add description about
305         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
306         (codesys).
307         (Fcoding_system_property): Accept `disable-composition' and
308         `use-entity-reference' in UTF-2000.
309         (struct decoding_stream): Add new member `er_counter' and `er_buf'
310         in UTF-2000.
311         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
312         (decode_coding_utf8): Decode entity-reference if
313         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
314         (char_encode_utf8): Encode non-Unicode characters as
315         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
316         (str->codesys).
317         (syms_of_file_coding): Add new symbols `use-entity-reference',
318         `d', `x', `X'.
319         (vars_of_file_coding): Add new variable
320         `coded-charset-entity-reference-alist'.
321         (complex_vars_of_file_coding): Declare `disable-composition' and
322         `use-entity-reference' to be coding-system-properties in UTF-2000.
323
324         * file-coding.h (struct Lisp_Coding_System): Add new member
325         `use_entity_reference' and `ccs_priority_list'.
326         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
327         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
328         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
329
330 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
331
332         * chartab.c (save_uint8_byte_table): Don't clear the table.
333         (save_uint16_byte_table): Likewise.
334         (save_byte_table): Likewise.
335         (Fmount_char_attribute_table): New function.
336         (syms_of_chartab): Add new builtin function
337         `mount-char-attribute-table'.
338
339 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * mule-charset.c (Fsave_charset_mapping_table): Open database as
342         "w+" mode.
343         (load_char_decoding_entry_maybe): Open database as read-only mode.
344
345         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
346         open database as "w+" mode.
347         (load_char_attribute_maybe): Open database as read-only mode.
348         (Fload_char_attribute_table): Likewise.
349
350 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
351
352         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
353         (char_table_description): Delete member `db_file'.
354         (Fmake_char_table): Don't refer `ct->db_file'.
355         (Fcopy_char_table): Likewise.
356         (Fsave_char_attribute_table): Likewise.
357         (Fclose_char_attribute_table): Likewise.
358         (Freset_char_attribute_table): Likewise.
359         (load_char_attribute_maybe): Likewise.
360         (Fload_char_attribute_table): Likewise.
361
362         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
363
364 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
365
366         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
367         (Fsave_char_attribute_table): Don't check `ct->db_file' if
368         `ct->db' is living.
369         (load_char_attribute_maybe): Likewise.
370         (Fload_char_attribute_table): Likewise.
371
372 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
373
374         * chartab.c (Fclose_char_attribute_table): Set Qnil on
375         `ct->db_file' unconditionally.
376
377 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
378
379         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
380         UTF-2000.
381         (char_table_description): Add description for `db_file' and `db'
382         in UTF-2000.
383         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
384         UTF-2000.
385         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
386         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
387         (Fclose_char_attribute_table): New function.
388         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
389         (load_char_attribute_maybe): Change interface; use `cit->db_file'
390         and `cit->db'.
391         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
392         (syms_of_chartab): Add new builtin function
393         `Fclose_char_attribute_table'.
394
395 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
396
397         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
398         `db' in UTF-2000.
399         (load_char_attribute_maybe): Change interface.
400         (get_char_id_table): Modify for `load_char_attribute_maybe'.
401
402 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
403
404         * database.h: Add an EXFUN for `Fdatabase_live_p'.
405
406 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
407
408         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
409         instead of `DECODE_CHAR' for mother; don't use special code for
410         chinese-big5 to use code space of chinese-big5-1 and
411         chinese-big5-2.
412         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
413         `MAX_CHAR_BIG5_CDP' for chinese-big5.
414
415         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
416         (MAX_CHAR_BIG5_CDP): Revival.
417
418 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
419
420         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
421         the XLFD registry-encoding name of `chinese-big5'.
422
423 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
424
425         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
426         (Qchinese_big5_cdp): Deleted.
427         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
428         (complex_vars_of_mule_charset): Delete coded-charset
429         `chinese-big5-cdp'.
430
431         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
432         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
433         `CHARSET_ID_OFFSET - n' for private CCS.
434         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
435         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
436         of `MIN_LEADING_BYTE'.
437         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
438         `(CHARSET_ID_OFFSET - 97)'.
439         (MIN_CHAR_BIG5_CDP): Deleted.
440         (MAX_CHAR_BIG5_CDP): Deleted.
441
442 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
443
444         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
445
446 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
447
448         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
449         (vars_of_mule): Add new variable `utf-2000-version' [moved from
450         chartab.c].
451
452         * chartab.c (Vutf_2000_version): Moved to mule.c.
453         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
454
455 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
456
457         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
458         when HAVE_CHISE_CLIENT is not defined.
459
460         * mule.c (vars_of_mule): Provide feature `chise' when
461         HAVE_CHISE_CLIENT is defined.
462
463 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
464
465         * config.h.in (UTF2000): Add comment.
466         (HAVE_CHISE_CLIENT): New macro.
467
468 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
469
470         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
471         CONSP.
472         (Fput_char_attribute): Likewise.
473         (char_attribute_system_db_file): Encode file-name of attribute.
474         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
475         the initial value.
476
477 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
478
479         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
480         (Fsave_charset_mapping_table): Use
481         `char_attribute_system_db_file'.
482         (load_char_decoding_entry_maybe): Likewise.
483
484         * chartab.h (Qsystem_char_id): New external variable.
485         (char_attribute_system_db_file): New prototype.
486
487         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
488         (char_attribute_system_db_file): New function.
489         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
490         (Freset_char_attribute_table): Likewise.
491         (load_char_attribute_maybe): Likewise.
492         (Fload_char_attribute_table): Likewise.
493         (syms_of_chartab): Add new symbol `system-char-id'.
494
495 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
496
497         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
498         `XCHARSET_GRAPHIC(ccs)'.
499
500 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
501
502         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
503
504 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
505
506         * chartab.c (Q_ucs_variants): New variable.
507         (syms_of_chartab): Add new symbol `->ucs-variants'.
508         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
509         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
510         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
511
512         * mule-charset.c (load_char_decoding_entry_maybe): New function.
513
514         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
515         `HAVE_DATABASE' is defined.
516         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
517         `HAVE_DATABASE' is defined.
518
519 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
520
521         * chartab.c (Fsave_char_attribute_table): Don't clear internal
522         attribute-table.
523         (Freset_char_attribute_table): New function.
524         (syms_of_chartab): Add new builtin function
525         `reset-char-attribute-table'.
526
527 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
528
529         * chartab.c (load_char_attribute_maybe): Don't make directories.
530
531 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
532
533         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
534
535         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
536         for decoding-table.
537
538 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
539
540         * mule-charset.c (Fsave_charset_mapping_table): Use
541         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
542
543         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
544         instead of `XCHARSET_CHARS'.
545
546 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
547
548         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
549         (XCHARSET_BYTE_SIZE): Likewise.
550
551         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
552         mule-charset.c].
553         (XCHARSET_BYTE_SIZE): Likewise.
554
555 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
556
557         * chartab.c (Fput_char_attribute): Use exec-directory instead of
558         data-directory to store database.
559         (Fsave_char_attribute_table): Likewise.
560         (load_char_attribute_maybe): Likewise.
561         (Fload_char_attribute_table): Likewise.
562
563 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
564
565         * mule-charset.c (Fsave_charset_mapping_table): New function.
566         (syms_of_mule_charset): Add new builtin function
567         `save-charset-mapping-table'.
568
569 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
570
571         * char-ucs.h (decoding_table_check_elements): Delete prototype.
572         (get_ccs_octet_table): New inline function.
573         (put_ccs_octet_table): Likewise.
574         (decoding_table_put_char): Use `get_ccs_octet_table' and
575         `put_ccs_octet_table'.
576         (decoding_table_remove_char): Use `decoding_table_put_char'.
577         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
578
579         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
580         into encoding_table.
581         (make_charset): Use Qunbound instead Qnil as initial value of
582         decoding_table.
583
584 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
585
586         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
587         element is Qunloaded.
588         (map_over_uint16_byte_table): Likewise.
589         (map_over_byte_table): Likewise.
590         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
591         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
592         database support, load encoding-table of the specified
593         coded-charset if it is not loaded yet.
594         (save_uint8_byte_table): New function of UTF-2000 with external
595         database support.
596         (save_uint16_byte_table): Likewise.
597         (save_byte_table): Likewise.
598         (Fput_char_attribute): Don't store value into external database
599         even if the external database feature is supported in UTF-2000;
600         set `attribute' as name of char-table if the external database
601         feature is supported.
602         (Fsave_char_attribute_table): New function in UTF-2000.
603         (syms_of_chartab): Add new builtin function
604         `save-char-attribute-table' in UTF-2000.
605
606 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
607
608         * chartab.c (char_attribute_table_to_put): New variable in
609         UTF-2000.
610         (Qput_char_table_map_function): Likewise.
611         (value_to_put): Likewise.
612         (Fput_char_table_map_function): New function in UTF-2000.
613         (put_char_table): Use `Fmap_char_attribute' for
614         CHARTAB_RANGE_CHARSET in UTF-2000.
615         (Fput_char_attribute): Store symbol instead of string in
616         `XCHAR_TABLE_NAME (table)'.
617         (load_char_attribute_maybe): Likewise.
618         (syms_of_chartab): Add new symbol/function
619         `put-char-table-map-function'.
620
621 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
622
623         * database.h: Add new EXFUN for `Fmap_database'.
624
625         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
626         (syms_of_database): Likewise.
627
628         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
629         UTF-2000.
630         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
631         (XCHAR_TABLE_UNLOADED): Likewise.
632
633         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
634         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
635         HAVE_DATABASE is defined.
636         (char_attribute_table_to_load): New variable of UTF-2000 with
637         external database support.
638         (Qload_char_attribute_table_map_function): Likewise.
639         (Fload_char_attribute_table_map_function): New function of
640         UTF-2000 with external database support.
641         (Fload_char_attribute_table): New function of UTF-2000.
642         (Fmap_char_attribute): Call Fload_char_attribute_table if
643         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
644         (syms_of_chartab): Add new symbol and function
645         `load-char-attribute-table-map-function' in UTF-2000 with external
646         database support; add new function `load-char-attribute-table' in
647         UTF-2000.
648
649 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
650
651         * chartab.h (load_char_attribute_maybe): New prototype for
652         UTF-2000 with DATABASE support.
653         (get_char_id_table): Use `load_char_attribute_maybe' if
654         HAVE_DATABASE is defined.
655
656         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
657         with DATABASE support.
658
659 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * chartab.c (Fput_char_attribute): Use S-expression as key of
662         external database.
663
664         * chartab.h (get_char_id_table): Use S-expression as key of
665         external database.
666
667 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
668
669         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
670         if an element is not loaded, load the corresponding attributes
671         from an external database.
672         (map_over_uint16_byte_table): Likewise.
673         (map_over_byte_table): Likewise.
674         (map_char_table): Modify for `map_over_uint8_byte_table',
675         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
676         element is not loaded, load the corresponding attributes from an
677         external database.
678         (Fput_char_attribute): Change initial values to Qunloaded.
679
680         * chartab.h (get_char_id_table): If a character attribute is not
681         loaded and the attribute value is not found in an external
682         database, store Qunbound as the attribute value.
683
684 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
685
686         * chartab.c (BT_UINT8_unloaded): New macro.
687         (UINT8_VALUE_P): Accept Qunloaded.
688         (UINT8_ENCODE): Likewise.
689         (UINT8_DECODE): Likewise.
690         (BT_UINT16_unloaded): New macro.
691         (UINT16_VALUE_P): Accept Qunloaded.
692         (UINT16_ENCODE): Likewise.
693         (UINT16_DECODE): Likewise.
694         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
695         BT_UINT16_unloaded.
696         (mark_char_table): Mark `ct->name' in UTF-2000.
697         (char_table_description): Add `name' in UTF-2000.
698         (Fmake_char_table): Initialize `ct->name'.
699         (Fcopy_char_table): Copy `ct->name'.
700         (Fput_char_attribute): Store value into an external database if
701         HAVE_DATABASE is defined.
702
703         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
704         UTF-2000.
705         (CHAR_TABLE_NAME): New macro in UTF-2000.
706         (XCHAR_TABLE_NAME): New macro in UTF-2000.
707         (get_char_id_table): Try to read an external database if Qunloaded
708         is stored in a table.
709
710         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
711         Qunloaded.
712
713 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
714
715         * database.h: Add EXFUN definitions for Fopen_database,
716         Fput_database, Fget_database and Fclose_database.
717
718         * data.c (Qunloaded): New variable in UTF-2000.
719
720         * lisp.h (Qunloaded): New variable in UTF-2000.
721
722 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
723
724         * mule-charset.c (put_char_ccs_code_point): Modify for
725         `decoding_table_remove_char' and `decoding_table_put_char'.
726         (remove_char_ccs): Modify for `decoding_table_remove_char'.
727
728         * char-ucs.h (decoding_table_remove_char): Change arguments to
729         hide decoding_table vector.
730         (decoding_table_put_char): Likewise.
731
732 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * mule-charset.c (decoding_table_remove_char): Moved to
735         char-ucs.h.
736         (decoding_table_put_char): Likewise.
737
738         * char-ucs.h (decoding_table_check_elements): New prototype [moved
739         from mule-charset.c].
740         (decoding_table_remove_char): New inline function [moved from
741         mule-charset.c].
742         (decoding_table_put_char): Likewise.
743
744 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
745
746         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
747         extension.
748
749 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
750
751         * mule-charset.c (decode_builtin_char): Support mother charsets.
752
753 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
754
755         * mule-charset.c (Q94x94x60): New variable.
756         (charset_code_point): Support conversion `94x94x60'.
757         (Fmake_charset): Likewise.
758         (syms_of_mule_charset): Add new symbol `94x94x60'.
759
760         * char-ucs.h (CONVERSION_94x94x60): New macro.
761
762 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
763
764         * mule-charset.c (charset_code_point): Unify code about
765         `code-offset'.
766
767 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
768
769         * mule-charset.c (charset_code_point): Merge code about builtin
770         characters into code about mother charsets; don't use
771         `range_charset_code_point'.
772         (range_charset_code_point): Deleted.
773
774 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
775
776         * mule-charset.c (Qcode_offset): New variable.
777         (Fmake_charset): Use `XUINT' to get value of `min-code' and
778         `max-code'; accept new property `code-offset'.
779         (syms_of_mule_charset): Add new symbol `code-offset'.
780
781 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * mule-charset.c (range_charset_code_point): Fixed.
784
785 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
786
787         * mule-charset.c (decode_builtin_char): Change semantics of
788         code-offset of coded-charset.
789         (charset_code_point): Likewise.
790         (range_charset_code_point): Likewise.
791         (complex_vars_of_mule_charset): Modify for the change.
792
793 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
794
795         * mule-charset.c (Fencode_char): Reverse arguments.
796
797         * mule-charset.c (charset_code_point): Fixed.
798
799 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * mule-charset.c (Vcharset_mojikyo): Deleted.
802         (Vcharset_mojikyo_2022_1): Deleted.
803         (Vcharset_mojikyo_pj_{1..21}): Deleted.
804         (Qmin_code): New variable in UTF-2000.
805         (Qmax_code): Likewise.
806         (Qmother): Likewise.
807         (Qconversion): Likewise.
808         (Q94x60): Likewise.
809         (Qmojikyo): Deleted.
810         (Qmojikyo_2022_1): Deleted.
811         (Qmojikyo_pj_{1..22}): Deleted.
812         (mark_charset): Mark `cs->mother'.
813         (charset_description): Add description for `mother'.
814         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
815         new arguments `mother' and `conversion'; use
816         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
817         (charset_code_point): Moved from char-ucs.h; support `mother'
818         charset feature.
819         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
820         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
821         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
822         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
823         allow 2 as the value of `graphic' in UTF-2000; add new properties
824         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
825         require `final' in UTF-2000; modify for `make_charset'.
826         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
827         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
828         (Fcharset_property): Support `mother', `min-code' and `max-code'.
829         (Fencode_char): New function.
830         (syms_of_mule_charset): Add new builtin function `encode-char' in
831         UTF-2000; add new symbols `min-code', `max-code', `mother',
832         `conversion' and `94x60'; delete symbols `mojikyo',
833         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
834         (complex_vars_of_mule_charset): Modify for `make_charset' change;
835         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
836         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
837
838         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
839         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
840
841         * char-ucs.h (Vcharset_mojikyo): Deleted.
842         (Vcharset_mojikyo_2022_1): Deleted.
843         (LEADING_BYTE_MOJIKYO): Deleted.
844         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
845         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
846         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
847         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
848         add new member `mother'; add new member `conversion'.
849         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
850         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
851         (CHARSET_MOTHER): New macro.
852         (CHARSET_CONVERSION): New macro.
853         (CONVERSION_IDENTICAL): New macro.
854         (CONVERSION_94x60): New macro.
855         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
856         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
857         (XCHARSET_MOTHER): New macro.
858         (XCHARSET_CONVERSION): New macro.
859         (MIN_CHAR_MOJIKYO): Deleted.
860         (MAX_CHAR_MOJIKYO): Deleted.
861         (DECODE_MOJIKYO_2022): Deleted.
862         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
863         (charset_code_point): Changed to non-inline function.
864         (encode_char_1): Use `charset_code_point'.
865         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
866
867 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
868
869         * lread.c (read_compiled_function): Fix prototype.
870         (read_vector): Likewise.
871
872 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
873
874         * lrecord.h (struct lrecord_header): Delete `older'.
875         (set_lheader_implementation): Delete code for `older'.
876         (set_lheader_older_implementation): Deleted.
877         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
878         (OLDER_RECORD_P): Deleted.
879         (OLDER_RECORD_HEADER_P): Deleted.
880         (alloc_older_lcrecord): Deleted.
881         (alloc_older_lcrecord_type): Deleted.
882
883         * alloc.c (all_older_lcrecords): Deleted.
884         (alloc_older_lcrecord): Deleted.
885         (disksave_object_finalization_1): Delete code for older objects.
886         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
887         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
888
889 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
890
891         * mule-charset.c (decoding_table_put_char): Use `make_vector'
892         instead of `make_older_vector'.
893         (put_char_ccs_code_point): Likewise.
894         (mark_charset): Mark `cs->decoding_table'.
895         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
896
897         * lisp.h (make_older_vector): Deleted.
898         (make_vector_newer): Deleted.
899
900         * config.h.in (HAVE_GGC): Deleted.
901
902         * alloc.c (make_older_vector): Deleted.
903         (make_vector_newer_1): Deleted.
904         (make_vector_newer): Deleted.
905
906 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
907
908         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
909         (Qideograph_daikanwa_2): New variable.
910         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
911         (complex_vars_of_mule_charset): Add new coded-charset
912         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
913         `LEADING_BYTE_DAIKANWA'.
914
915         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
916         (LEADING_BYTE_DAIKANWA_1): New macro.
917         (LEADING_BYTE_DAIKANWA_2): New macro.
918         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
919
920 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
921
922         * mule-charset.c (complex_vars_of_mule_charset): Change
923         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
924         the second revised version.
925
926 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
927
928         * mule-charset.c (Vcharset_ucs_smp): New variable.
929         (Vcharset_ucs_sip): New variable.
930         (Qucs_smp): New variable.
931         (Qucs_sip): New variable.
932         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
933         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
934         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
935         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
936         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
937         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
938
939         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
940         (LEADING_BYTE_UCS_SIP): New macro.
941         (MIN_CHAR_SMP): New macro.
942         (MAX_CHAR_SMP): New macro.
943         (MIN_CHAR_SIP): New macro.
944         (MAX_CHAR_SIP): New macro.
945
946 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
947
948         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
949         utf-2000.
950
951 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
952
953         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
954         value; don't store value into `encoding_table' of `Lisp_Charset'.
955         (mark_charset): `encoding_table' was deleted.
956         (charset_description): Likewise.
957         (make_charset): Likewise.
958         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
959         `put_char_ccs_code_point'.
960
961         * chartab.h (Fput_char_attribute): New EXFUN.
962
963         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
964         is unified with normal symbol space.
965         (Fget_char_attribute): Likewise.
966         (Fput_char_attribute): Likewise; behavior of
967         `put_char_ccs_code_point' is changed.
968
969         * char-ucs.h: Include "elhash.h".
970         (Vchar_attribute_hash_table): New external variable.
971         (struct Lisp_Charset): Delete `encoding_table'.
972         (CHARSET_ENCODING_TABLE): New implementation; refer
973         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
974         `Lisp_Charset'.
975
976 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
977
978         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
979         (cs) == 0.
980
981 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
982
983         * text-coding.c (char_encode_big5): Prefer charset-g1 than
984         `chinese-big5'.
985
986 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * chartab.c (uint8_byte_table_description): New constant.
989         (uint8-byte-table): Use `uint8_byte_table_description'.
990         (uint16_byte_table_description): New constant.
991         (uint16-byte-table): Use `uint16_byte_table_description'.
992
993 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
994
995         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
996         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
997
998 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
999
1000         * mule-charset.c (Vcharset_ucs_ks): New variable.
1001         (Qucs_ks): New variable.
1002         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1003         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1004
1005         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1006
1007 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1008
1009         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1010         (Fdecode_char): Likewise.
1011
1012         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1013         chartab.h.
1014         (Fdefine_char): Modify for Fdecode_char.
1015         (Ffind_char): Likewise.
1016
1017         * mule-charset.c (Fdecode_char): Add new optional argument
1018         `defined-only'.
1019         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1020
1021 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1022
1023         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1024         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1025         (allocate_coding_system): Initialize initial-charsets of
1026         CODESYS_BIG5 in XEmacs UTF-2000.
1027         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1028         CODESYS_BIG5 in XEmacs UTF-2000.
1029         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1030         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1031
1032         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1033         variables.
1034         (Qideograph_hanziku_{1 .. 12}): Likewise.
1035         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1036         .. 12}'.
1037         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1038         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1039         `ideograph-hanziku-{1 .. 12}'.
1040
1041         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1042         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1043         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1044         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1045         (DECODE_DEFINED_CHAR): New inline function.
1046         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1047
1048 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1049
1050         * mule-charset.c (Vcharset_china3_jef): Renamed from
1051         `Vcharset_japanese_jef_china3'.
1052         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1053         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1054         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1055         (syms_of_mule_charset): Rename `china3-jef' from
1056         `japanese-jef-china3'.
1057         (complex_vars_of_mule_charset): Likewise; rename
1058         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1059
1060         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1061         `LEADING_BYTE_JEF_CHINA3'.
1062         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1063         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1064
1065 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1066
1067         * mule-charset.c (encode_builtin_char_1): Comment out special code
1068         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1069
1070         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1071         (MAX_CHAR_MOJIKYO_0): Comment out.
1072         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1073         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1074         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1075         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1076
1077 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1078
1079         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1080         (Qideograph_cbeta): New variable.
1081         (encode_builtin_char_1): Comment out special code for
1082         coded-charset `mojikyo' and `japanese-jef-china3'.
1083         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1084         (complex_vars_of_mule_charset): Add new coded-charset
1085         `ideograph-cbeta'.
1086
1087         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1088         (MIN_CHAR_CBETA): New macro.
1089         (MAX_CHAR_CBETA): New macro.
1090
1091 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1092
1093         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1094         (LEADING_BYTE_JEF_CHINA3): New macro.
1095         (MIN_CHAR_JEF_CHINA3): New macro.
1096         (MAX_CHAR_JEF_CHINA3): Likewise.
1097         (DECODE_CHAR): Fixed.
1098
1099 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1100
1101         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1102         (Qjapanese_jef_china3): New variable.
1103         (encode_builtin_char_1): Support `japanese-jef-china3'.
1104         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1105         (complex_vars_of_mule_charset): Add new coded-charset
1106         `japanese-jef-china3'.
1107
1108 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1109
1110         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1111         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1112         94^4, 96^3, 96^4, 128^n and 256^n set.
1113         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1114         (map_char_table): Likewise.
1115
1116 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1117
1118         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1119         UTF-2000.
1120
1121 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * chartab.h (get_char_id_table): New inline function.
1124
1125         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1126         function.
1127
1128 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1129
1130         * chartab.h (decode_char_table_range): New prototype in XEmacs
1131         UTF-2000.
1132         (put_char_id_table): New inline function in XEmacs UTF-2000.
1133
1134         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1135         function.
1136         (decode_char_table_range): Delete static declaration in XEmacs
1137         UTF-2000.
1138
1139 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1140
1141         * chartab.c (put_char_id_table): Use `put_char_table'.
1142
1143 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1144
1145         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1146         (map_over_uint16_byte_table): Likewise.
1147         (map_over_byte_table): Likewise.
1148         (map_char_table): Modify for `map_over_uint8_byte_table',
1149         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1150         UTF-2000.
1151
1152 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1153
1154         * chartab.c (struct map_char_table_for_charset_arg): New
1155         structure.
1156         (map_char_table_for_charset_fun): New function.
1157         (map_char_table): Use `map_char_table' for encoding_table of
1158         `range->charset'.
1159
1160 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1161
1162         * chartab.c (map_char_table): Check a character is found in
1163         range->charset instead of non default value is defined in
1164         char-table when range is CHARTAB_RANGE_ROW.
1165
1166 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1167
1168         * chartab.c (map_char_id_table): Deleted.
1169         (Fmap_char_attribute): Use `map_char_table' instead of
1170         `map_char_id_table'.
1171
1172 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1173
1174         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1175         UTF-2000.
1176         (update_syntax_table): Deleted in XEmacs UTF-2000.
1177
1178         * syntax.c (find_defun_start): Use `syntax_table' instead of
1179         `mirror_syntax_table' in XEmacs UTF-2000.
1180         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1181         UTF-2000.
1182         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1183         XEmacs UTF-2000.
1184         (Fmatching_paren): Likewise.
1185         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1186         in XEmacs UTF-2000.
1187         (find_start_of_comment): Likewise.
1188         (find_end_of_comment): Likewise.
1189         (Fforward_comment): Likewise.
1190         (scan_lists): Likewise.
1191         (char_quoted): Likewise.
1192         (Fbackward_prefix_chars): Likewise.
1193         (scan_sexps_forward): Likewise.
1194         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1195         (update_syntax_table): Likewise.
1196
1197         * search.c (skip_chars): Use `syntax_table' instead of
1198         `mirror_syntax_table' in XEmacs UTF-2000.
1199         (wordify): Likewise.
1200         (Freplace_match): Likewise.
1201
1202         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1203         `mirror_syntax_table' in XEmacs UTF-2000.
1204         (WORDCHAR_P_UNSAFE): Likewise.
1205         (re_match_2_internal): Likewise.
1206
1207         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1208         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1209
1210         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1211         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1212
1213         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1214         XEmacs UTF-2000.
1215
1216         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1217         UTF-2000.
1218         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1219         (char_table_description): Delete `mirror_table' in XEmacs
1220         UTF-2000.
1221         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1222         UTF-2000.
1223         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1224         (Fcopy_char_table): Likewise.
1225         (put_char_table): Don't call `update_syntax_table' in XEmacs
1226         UTF-2000.
1227
1228         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1229         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1230         (casify_region_internal): Likewise.
1231
1232         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1233
1234         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1235         `mirror_syntax_table' in XEmacs UTF-2000.
1236
1237         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1238         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1239         (Fexpand_abbrev): Likewise.
1240
1241 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1242
1243         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1244
1245 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1246
1247         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1248         (map_over_uint16_byte_table): Likewise.
1249         (map_over_byte_table): Likewise.
1250         (get_char_id_table): Refer `cit->default_value'.
1251         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1252         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1253         of character-id ranges.
1254         (mark_char_table): Mark `ct->default_value'.
1255         (char_table_description): Add `default_value'.
1256         (fill_char_table): Use `default_value'.
1257         (decode_char_table_range): Decode `nil' as
1258         `CHARTAB_RANGE_DEFAULT'.
1259         (get_char_id_table): Refer `cit->default_value'.
1260         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1261         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1262         temporary hack; check value of char-table is bound or not.
1263         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1264
1265         * chartab.h (struct Lisp_Char_Table): Add new member
1266         `default_value' in XEmacs UTF-2000.
1267         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1268         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1269         UTF-2000.
1270
1271 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1272
1273         * chartab.h (Lisp_Char_ID_Table): Deleted.
1274
1275         * chartab.c (char_table_description): Fix typo.
1276         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1277         `Lisp_Char_ID_Table'.
1278
1279 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1280
1281         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1282         `CHAR_ID_TABLE_P'.
1283
1284         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1285         `CHAR_ID_TABLE_P'.
1286
1287         * chartab.h (XCHAR_ID_TABLE): Deleted.
1288         (XSETCHAR_ID_TABLE): Deleted.
1289         (CHAR_ID_TABLE_P): Deleted.
1290
1291         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1292         `CHAR_ID_TABLE_P'.
1293         (Fget_composite_char): Likewise.
1294         (put_char_table): Likewise.
1295         (add_char_attribute_alist_mapper): Fixed.
1296         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1297         `CHAR_ID_TABLE_P'.
1298         (Fget_char_attribute): Likewise.
1299         (Fget_char_attribute): Likewise.
1300         (Fmap_char_attribute): Likewise.
1301
1302         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1303         `CHAR_ID_TABLE_P'.
1304         (encode_char_1): Likewise.
1305
1306 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1307
1308         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1309         `XCHAR_ID_TABLE'.
1310
1311         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1312         instead of `XCHAR_ID_TABLE'.
1313         (remove_char_ccs): Likewise.
1314
1315         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1316         `XCHAR_ID_TABLE'.
1317         (Fget_composite_char): Likewise.
1318         (Fchar_variants): Likewise.
1319         (put_char_table): Likewise.
1320         (add_char_attribute_alist_mapper): Likewise.
1321         (Fchar_attribute_alist): Likewise.
1322         (Fget_char_attribute): Likewise.
1323         (Fput_char_attribute): Likewise.
1324         (Fmap_char_attribute): Likewise.
1325         (Fmap_char_attribute): Likewise.
1326
1327         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1328         `XCHAR_ID_TABLE'.
1329         (encode_char_1): Likewise.
1330
1331 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1332
1333         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1334         `Lisp_Char_ID_Table'.
1335         (mark_char_id_table): Deleted.
1336         (print_char_id_table): Likewise.
1337         (char_id_table_equal): Likewise.
1338         (char_id_table_hash): Likewise.
1339         (char_id_table_description): Likewise.
1340         (char_id_table): Likewise.
1341         (make_char_id_table): Use `Fmake_char_table' and
1342         `fill_char_table'.
1343         (get_char_id_table): Use `Lisp_Char_Table' instead of
1344         `Lisp_Char_ID_Table'.
1345         (put_char_id_table): Likewise.
1346         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1347         `XCHAR_ID_TABLE'.
1348         (Fremove_char_attribute): Likewise.
1349         (syms_of_chartab): Don't define type `char-id-table'.
1350
1351         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1352         (char_id_table): Likewise.
1353         (GC_CHAR_ID_TABLE_P): Likewise.
1354         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1355         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1356         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1357         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1358         (get_char_id_table): Use `Lisp_Char_Table' instead of
1359         `Lisp_Char_ID_Table'.
1360         (put_char_id_table_0): Likewise.
1361         (put_char_id_table): Likewise.
1362
1363 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1364
1365         * chartab.h: Lisp_Byte_Table related codes are moved from
1366         chartab.h.
1367
1368         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1369
1370 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1371
1372         * chartab.h: Don't include "chartab.h".
1373         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1374         (Lisp_Char_ID_Table): Likewise.
1375         (char_id_table): Likewise.
1376         (XCHAR_ID_TABLE): Likewise.
1377         (XSETCHAR_ID_TABLE): Likewise.
1378         (CHAR_ID_TABLE_P): Likewise.
1379         (GC_CHAR_ID_TABLE_P): Likewise.
1380         (get_char_id_table): Likewise.
1381
1382         * char-ucs.h: Include "chartab.h".
1383         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1384         (Lisp_Char_ID_Table): Likewise.
1385         (char_id_table): Likewise.
1386         (XCHAR_ID_TABLE): Likewise.
1387         (XSETCHAR_ID_TABLE): Likewise.
1388         (CHAR_ID_TABLE_P): Likewise.
1389         (GC_CHAR_ID_TABLE_P): Likewise.
1390         (get_char_id_table): Likewise.
1391
1392 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1393
1394         * chartab.c (copy_uint8_byte_table): New function.
1395         (copy_uint16_byte_table): New function.
1396         (copy_byte_table): New function.
1397         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1398         characters to call.
1399         (map_over_uint16_byte_table): Likewise.
1400         (map_over_byte_table): Likewise.
1401         (get_byte_table): Move prototype to chartab.h.
1402         (put_byte_table): Likewise.
1403         (put_char_id_table_0): Moved to chartab.h.
1404         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1405         (char_table_entry_equal): Likewise.
1406         (char_table_entry_hash): Likewise.
1407         (char_table_entry_description): Likewise.
1408         (char_table_entry): Likewise.
1409         (make_char_table_entry): Likewise.
1410         (copy_char_table_entry): Likewise.
1411         (get_non_ascii_char_table_value): Likewise.
1412         (map_over_charset_ascii): Likewise.
1413         (map_over_charset_control_1): Likewise.
1414         (map_over_charset_row): Likewise.
1415         (map_over_other_charset): Likewise.
1416         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1417         (print_char_table): Likewise.
1418         (char_table_equal): Likewise.
1419         (char_table_hash): Likewise.
1420         (char_table_description): Likewise.
1421         (fill_char_table): Likewise.
1422         (Fcopy_char_table): Likewise.
1423         (get_char_table): Likewise.
1424         (Fget_range_char_table): Likewise.
1425         (put_char_table): Likewise.
1426         (map_char_table): Likewise.
1427         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1428         UTF-2000.
1429
1430 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1431
1432         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1433         `Vauto_fill_chars' in XEmacs UTF-2000.
1434
1435         * chartab.h (get_byte_table): New prototype [moved from
1436         chartab.c].
1437         (put_byte_table): Likewise [moved from chartab.c].
1438         (put_char_id_table_0): New inline function [moved from chartab.c].
1439         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1440         (Lisp_Char_Table_Entry): Likewise.
1441         (char_table_entry): Likewise.
1442         (XCHAR_TABLE_ENTRY): Likewise.
1443         (XSETCHAR_TABLE_ENTRY): Likewise.
1444         (CHAR_TABLE_ENTRYP): Likewise.
1445         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1446         (NUM_ASCII_CHARS): Likewise.
1447         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1448         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1449
1450 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1451
1452         * chartab.c (get_char_id_table): Change interface.
1453         (put_char_id_table_0): New function.
1454         (put_char_id_table): Change interface; new implementation.
1455         (Fget_composite_char): Modify for interface change of
1456         `get_char_id_table'.
1457         (Fchar_variants): Likewise.
1458         (add_char_attribute_alist_mapper): Likewise.
1459         (Fchar_attribute_alist): Likewise.
1460         (Fget_char_attribute): Likewise.
1461         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1462         as same as character as the first argument like `put-char-table';
1463         modify for interface change of `put_char_id_table'.
1464         (Fremove_char_attribute): Modify for interface change of
1465         `put_char_id_table'.
1466
1467 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1468
1469         * text-coding.c: Sync up with XEmacs 21.2.41.
1470         (COMPOSE_ADD_CHAR): Modify for interface change of
1471         `get_char_id_table'.
1472
1473         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1474         change of `put_char_id_table'.
1475         (remove_char_ccs): Likewise.
1476
1477         * chartab.h (put_char_id_table): Change interface.
1478
1479         * char-ucs.h (get_char_id_table): Change interface.
1480         (charset_code_point): Modify for interface change of
1481         `get_char_id_table'.
1482         (encode_char_1): Likewise.
1483
1484 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1485
1486         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1487         argument `ccs'.
1488         (map_over_uint16_byte_table): Likewise.
1489         (map_over_byte_table): Likewise.
1490         (map_char_id_table): Add new argument `range' like
1491         `map_char_table'.
1492         (Fmap_char_attribute): Add new argument `range' like
1493         `Fmap_char_table'.
1494
1495 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1496
1497         * chartab.c (map_over_uint8_byte_table): Change interface of
1498         mapping function to use struct chartab_range instead of Emchar.
1499         (map_over_uint16_byte_table): Likewise.
1500         (map_over_byte_table): Likewise.
1501         (map_char_id_table): Likewise.
1502         (struct slow_map_char_id_table_arg): Deleted.
1503         (slow_map_char_id_table_fun): Deleted.
1504         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1505         function `slow_map_char_table_fun' instead of struct
1506         `slow_map_char_id_table_arg' and function
1507         `slow_map_char_id_table_fun'.
1508
1509 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1510
1511         * mule-charset.c: Move char-it-table related codes to chartab.c.
1512         (Vutf_2000_version): Moved to chartab.c.
1513         (Fdefine_char): Likewise.
1514         (Ffind_char): Likewise.
1515         (syms_of_mule_charset): Move types `uint8-byte-table',
1516         `uint16-byte-table', `byte-table' and `char-id-table' to
1517         chartab.c; move functions `char_attribute_list,
1518         `find_char_attribute_table, `char_attribute_alist,
1519         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1520         `map_char_attribute, `define_char, `find_char, `char_variants and
1521         `get_composite_char to chartab.c; move symbols `=>ucs',
1522         `->decomposition', `compat', `isolated', `initial', `medial',
1523         `final', `vertical', `noBreak', `fraction', `super', `sub',
1524         `circle', `square', `wide', `narrow', `small' and `font' to
1525         chartab.c.
1526         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1527         setting codes for `Vcharacter_composition_table' and
1528         `Vcharacter_variant_table' to chartab.c.
1529         (complex_vars_of_mule_charset): Move setting code for
1530         `Vchar_attribute_hash_table' to chartab.c.
1531
1532         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1533         (make_char_id_table): New prototype.
1534         (put_char_id_table): Likewise.
1535         (Fget_char_attribute): Likewise.
1536
1537         * chartab.c: Move char-id-table related code from mule-charset.c.
1538         (Vutf_2000_version): Moved from mule-charset.c.
1539
1540         * char-ucs.h (Qucs): New external variable.
1541         (put_char_ccs_code_point): New prototype.
1542         (remove_char_ccs): Likewise.
1543
1544 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1545
1546         * mule-charset.c (Vcharset_ucs_jis): New variable.
1547         (Qucs_jis): Likewise.
1548         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1549         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1550
1551         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1552
1553 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1554
1555         * mule-charset.c (map_over_uint8_byte_table): New function.
1556         (map_over_uint16_byte_table): Likewise.
1557         (map_over_byte_table): Likewise.
1558         (map_char_id_table): Likewise.
1559         (slow_map_char_id_table_fun): Likewise.
1560         (Fmap_char_attribute): Likewise.
1561         (syms_of_mule_charset): Add new function `map-char-attribute'.
1562
1563 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1564
1565         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1566         (syms_of_mule_charset): Add new function `find-char'.
1567
1568 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1569
1570         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1571         XEmacs UTF-2000.
1572         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1573         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1574         XEmacs UTF-2000.
1575         (complex_vars_of_mule_charset): Add new coded-charset
1576         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1577         `ideograph-gt-pj-*'.
1578
1579         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1580
1581 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1582
1583         * mule-charset.c (encode_builtin_char_1): Purge codes about
1584         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1585         {MIN|MAX}_CHAR_HEBREW.
1586         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1587         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1588
1589         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1590         (MAX_CHAR_GREEK): Purged.
1591         (MIN_CHAR_CYRILLIC): Purged.
1592         (MAX_CHAR_CYRILLIC): Purged.
1593         (MIN_CHAR_HEBREW): Commented out.
1594         (MAX_CHAR_HEBREW): Likewise.
1595
1596 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1597
1598         * mule-charset.c (Qto_ucs): New variable.
1599         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1600         (Fdefine_char): Likewise.
1601         (syms_of_mule_charset): Add new symbol `=>ucs'.
1602
1603 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1604
1605         * mule-charset.c (Fdecode_char): Fixed.
1606
1607 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1608
1609         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1610         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1611         "tcvn5712-1".
1612
1613 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1614
1615         * mule-charset.c (Vcharset_ucs_big5): New variable.
1616         (Qucs_big5): Likewise.
1617         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1618         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1619
1620         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1621
1622 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1623
1624         * mule-charset.c (decode_builtin_char): Check Big5 code range
1625         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1626
1627 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1628
1629         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1630         (Qchinese_gb12345): Likewise.
1631         (Fdecode_builtin_char): Fixed.
1632         (syms_of_mule_charset): Add `chinese-gb12345'.
1633         (complex_vars_of_mule_charset): Add coded-charset
1634         `chinese-gb12345'.
1635
1636         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1637         (LEADING_BYTE_CHINESE_GB12345): New macro.
1638
1639 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1640
1641         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1642         and `latin-viscii-upper' for `latin-viscii'.
1643
1644 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1645
1646         * mule-charset.c (Fdecode_builtin_char): Comment out
1647         regularization code for ISO-IR GR representation.
1648
1649 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1650
1651         * mule-charset.c (decode_builtin_char): New function; renamed from
1652         `make_builtin_char'; return -1 instead of signal.
1653         (Fdecode_builtin_char): Use `decode_builtin_char'.
1654
1655         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1656         `make_builtin_char'.
1657         (DECODE_CHAR): Use `decode_builtin_char' instead of
1658         `make_builtin_char'; use mapping table of `chinese-big5' for
1659         `chinese-big5-{1,2}'.
1660
1661 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1662
1663         * text-coding.c (char_encode_big5): New function.
1664         (char_finish_big5): Likewise.
1665         (reset_encoding_stream): Use `char_encode_big5' and
1666         `char_finish_big5' for CODESYS_BIG5.
1667         (mule_encode): Don't use `encode_coding_big5'.
1668         (encode_coding_big5): Deleted.
1669
1670 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1671
1672         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1673         0x81- in XEmacs UTF-2000.
1674         (detect_coding_big5): Likewise.
1675
1676 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1677
1678         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1679         generate character-id if the CCS property does not have
1680         corresponding predefined character.
1681         (make_builtin_char): Return -1 if corresponding predefined
1682         character is not found.
1683         (Fdecode_char): Return nil if corresponding character is not
1684         found.
1685         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1686         don't map to builtin ucs space.
1687
1688 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1689
1690         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1691         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1692
1693 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1694
1695         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1696         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1697         (Qideograph_gt): Likewise.
1698         (Qideograph_gt_pj_{1..11}): Likewise.
1699         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1700         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1701         `ideograph-gt-pj-11'.
1702         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1703         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1704         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1705
1706         * char-ucs.h (LEADING_BYTE_GT): New macro.
1707         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1708         (MIN_CHAR_GT): Likewise.
1709         (MAX_CHAR_GT): Likewise.
1710
1711 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1712
1713         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1714         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1715
1716         * doprnt.c (unsigned_int_converters): Add `c'.
1717         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1718
1719         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1720         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1721         `MIN_CHAR_MOJIKYO'.
1722         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1723         (MAX_CHAR_MOJIKYO_0): New macro.
1724         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1725
1726 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1727
1728         * mule-charset.c (Fdefine_char): Delete cemented out code.
1729         (encode_builtin_char_1): Modify for new allocation of builtin
1730         Mojikyo characters.
1731
1732         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1733
1734 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1735
1736         * mule-charset.c (Vcharset_ucs_cns): New variable.
1737         (Qucs_cns): New variable.
1738         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1739         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1740
1741 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1742
1743         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1744
1745 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1746
1747         * search.c (search_buffer): Make `charset_base_code' as
1748         character-id >> 6 to eliminate the corresponding last byte in
1749         UTF-8 representation [I'm not sure it is right thing].
1750         (boyer_moore): Likewise.
1751
1752 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1753
1754         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1755         representation in MULE.
1756
1757 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1758
1759         * text-coding.c (Fmake_coding_system): Use
1760         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1761         `EXTERNAL_PROPERTY_LIST_LOOP'.
1762
1763 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1764
1765         * text-coding.c (decode_output_utf8_partial_char): New function.
1766         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1767
1768 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1769
1770         * text-coding.c (decode_coding_utf8): Output original byte
1771         sequence if it is broken; change order of conditions.
1772
1773         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1774         of conditions.
1775
1776         * mb-multibyte.h (BYTE_ASCII_P):
1777         Use bit ops for char-signedness safety.
1778         (BYTE_C0_P): Use bit ops for char-signedness safety.
1779         (BYTE_C1_P): Use bit ops for char-signedness safety.
1780
1781         * character.h: (XCHAR_OR_CHAR_INT):
1782         Always use inline function.
1783         Remove redundant type checking assert() - XINT will abort quite
1784         nicely.
1785
1786 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1787
1788         * text-coding.c: (Fencode_shift_jis_char):
1789         (Fencode_big5_char):
1790         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1791         Replace 0 with '\0' when working with bytes.
1792         Replace initial "(" with "\(" in docstrings.
1793
1794         (Fmake_coding_system):
1795         When type is ccl and value is vector, register it with a proper
1796         symbol.  And checks whether the given ccl program is valid.
1797         (mule_decode): When calling ccl_driver, if src indicates
1798         NULL pointer, set an empty string instead.
1799         (mule_encode): Likewise.
1800
1801         (detect_eol_type):
1802         (detect_coding_sjis):
1803         (decode_coding_sjis):
1804         (detect_coding_big5):
1805         (decode_coding_big5):
1806         (detect_coding_ucs4):
1807         (decode_coding_ucs4):
1808         (detect_coding_utf8):
1809         (decode_coding_utf8):
1810         (detect_coding_iso2022):
1811         (decode_coding_iso2022):
1812         (decode_coding_no_conversion):
1813         (mule_decode):
1814         Make all detecting and decoding functions take an Extbyte * arg.
1815         (text_encode_generic):
1816         (encode_coding_big5):
1817         (encode_coding_no_conversion):
1818         (mule_encode):
1819         Make all encoding functions take a Bufbyte * arg.
1820         Use size_t instead of unsigned int for memory sizes.
1821         Only cast to unsigned char whenever dereferencing Extbyte *.
1822
1823         (struct lrecord_description fcd_description_1): Use countof.
1824         (complex_vars_of_file_coding):
1825         Use countof instead of sizeof.
1826         Use CHECK_NATNUM instead of CHECK_INT.
1827
1828 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1829
1830         * mule-charset.c (Fget_char_attribute): Add new optional argument
1831         `default-value'.
1832         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1833         (remove_char_ccs): Likewise.
1834
1835 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1836
1837         * text-coding.c (char_encode_shift_jis): New implementation in
1838         UTF-2000.
1839         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1840         ...)'.
1841
1842         * mule-charset.c (Vcharset_chinese_big5): New variable in
1843         UTF-2000.
1844         (Qchinese_big5): New variable in UTF-2000.
1845         (BIG5_SAME_ROW): New macro in UTF-2000.
1846         (make_builtin_char): Use builtin characters of
1847         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1848         characters of `Vcharset_chinese_big5'.
1849         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1850         (complex_vars_of_mule_charset): Add new coded-charset
1851         `chinese-big5' in UTF-2000.
1852
1853         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1854         (Vcharset_chinese_big5): New external variable declaration.
1855         (Vcharset_japanese_jisx0208_1990): Likewise.
1856
1857 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1858
1859         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1860         function.
1861         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1862
1863 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1866         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1867         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1868         `mojikyo-pj-*'.
1869
1870 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1871
1872         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1873
1874 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1875
1876         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1877         to 0.17.
1878
1879 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1880
1881         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1882         for `CHARSET_BY_ATTRIBUTES'.
1883         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1884         `CHARSET_BY_ATTRIBUTES'.
1885
1886         * text-coding.c (struct decoding_stream): Rename member `CH' to
1887         `CPOS'.
1888         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1889         (decode_coding_sjis): Likewise.
1890         (decode_coding_big5): Likewise.
1891         (decode_coding_ucs4): Likewise.
1892         (decode_coding_utf8): Likewise.
1893         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1894         `CHARSET_BY_ATTRIBUTES'.
1895         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1896         `str->counter'; decode 3, 4 bytes sets.
1897         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1898         sets.
1899         (decode_coding_no_conversion): Use `str->cpos' instead of
1900         `str->ch'.
1901
1902         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1903         (Qmojikyo_2022_1): New variable.
1904         (make_charset): Don't use `CHARSET_TYPE_*'.
1905         (range_charset_code_point): Support coded-charset
1906         `mojikyo-2022-1'.
1907         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1908         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1909         `CHARSET_BY_ATTRIBUTES'.
1910         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1911         `CHARSET_BY_ATTRIBUTES'.
1912         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1913         (complex_vars_of_mule_charset): Add new coded-charset
1914         `mojikyo-2022-1'.
1915
1916         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1917         interface; changed to inline function.
1918
1919         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1920         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1921         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1922         (CHARSET_TYPE_94): Deleted.
1923         (CHARSET_TYPE_94X94): Deleted.
1924         (CHARSET_TYPE_96): Deleted.
1925         (CHARSET_TYPE_96X96): Deleted.
1926         (CHARSET_TYPE_128): Deleted.
1927         (CHARSET_TYPE_128X128): Deleted.
1928         (CHARSET_TYPE_256): Deleted.
1929         (CHARSET_TYPE_256X256): Deleted.
1930         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1931         to inline function.
1932         (DECODE_MOJIKYO_2022): New inline function.
1933         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1934         `Vcharset_mojikyo_2022_1'.
1935
1936 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1939         instead of `EQ'.
1940         (put_byte_table): Likewise.
1941         (char_id_table_equal): Use `get_byte_table' [new implementation].
1942
1943 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1944
1945         * mule-charset.c: Include <limits.h> in UTF-2000.
1946         (BT_UINT8_MIN): New macro in UTF-2000.
1947         (BT_UINT8_MAX): New macro in UTF-2000.
1948         (BT_UINT8_t): New macro in UTF-2000.
1949         (BT_UINT8_nil): New macro in UTF-2000.
1950         (BT_UINT8_unbound): New macro in UTF-2000.
1951         (INT_UINT8_P): New inline function in UTF-2000.
1952         (UINT8_VALUE_P): New inline function in UTF-2000.
1953         (UINT8_ENCODE): New inline function in UTF-2000.
1954         (UINT8_DECODE): New inline function in UTF-2000.
1955         (mark_uint8_byte_table): New function in UTF-2000.
1956         (print_uint8_byte_table): New function in UTF-2000.
1957         (uint8_byte_table_equal): New function in UTF-2000.
1958         (uint8_byte_table_hash): New function in UTF-2000.
1959         (make_uint8_byte_table): New function in UTF-2000.
1960         (uint8_byte_table_same_value_p): New function in UTF-2000.
1961         (BT_UINT16_MIN): New macro in UTF-2000.
1962         (BT_UINT16_MAX): New macro in UTF-2000.
1963         (BT_UINT16_t): New macro in UTF-2000.
1964         (BT_UINT16_nil): New macro in UTF-2000.
1965         (BT_UINT16_unbound): New macro in UTF-2000.
1966         (INT_UINT16_P): New inline function in UTF-2000.
1967         (UINT16_VALUE_P): New inline function in UTF-2000.
1968         (UINT16_ENCODE): New inline function in UTF-2000.
1969         (UINT16_DECODE): New inline function in UTF-2000.
1970         (UINT8_TO_UINT16): New inline function in UTF-2000.
1971         (mark_uint16_byte_table): New function in UTF-2000.
1972         (print_uint16_byte_table): New function in UTF-2000.
1973         (uint16_byte_table_equal): New function in UTF-2000.
1974         (uint16_byte_table_hash): New function in UTF-2000.
1975         (make_uint16_byte_table): New function in UTF-2000.
1976         (uint16_byte_table_same_value_p): New function in UTF-2000.
1977         (print_byte_table): New function in UTF-2000.
1978         (byte-table): Use `print_byte_table' as printer.
1979         (make_byte_table): Delete second argument `older'.
1980         (byte_table_same_value_p): New function in UTF-2000.
1981         (copy_byte_table): Deleted.
1982         (get_byte_table): New function in UTF-2000.
1983         (put_byte_table): New function in UTF-2000.
1984         (print_char_id_table): New function in UTF-2000.
1985         (char-id-table): Use `print_char_id_table' as printer.
1986         (make_char_id_table): Delete second argument `older'.
1987         (get_char_id_table): Use `get_byte_table [new implementation].
1988         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1989         implementation].
1990         (Ffind_char_attribute_table): New function in UTF-2000.
1991         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1992         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1993         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1994         (syms_of_mule_charset): Add new function
1995         `find-char-attribute-table' in UTF-2000.
1996
1997         * lrecord.h (enum lrecord_type): Add
1998         `lrecord_type_uint16_byte_table' and
1999         `lrecord_type_uint8_byte_table'.
2000
2001         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2002         (Lisp_Uint8_Byte_Table): New type.
2003         (XUINT8_BYTE_TABLE): New macro.
2004         (XSETUINT8_BYTE_TABLE): New macro.
2005         (UINT8_BYTE_TABLE_P): New macro.
2006         (GC_UINT8_BYTE_TABLE_P): New macro.
2007         (struct Lisp_Uint16_Byte_Table): New structure.
2008         (Lisp_Uint16_Byte_Table): New type.
2009         (XUINT16_BYTE_TABLE): New macro.
2010         (XSETUINT16_BYTE_TABLE): New macro.
2011         (UINT16_BYTE_TABLE_P): New macro.
2012         (GC_UINT16_BYTE_TABLE_P): New macro.
2013
2014 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2015
2016         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2017         (Vcharacter_ideographic_strokes_table): Deleted.
2018         (Vcharacter_total_strokes_table): Deleted.
2019         (Vcharacter_morohashi_daikanwa_table): Deleted.
2020         (Vcharacter_decomposition_table): Deleted.
2021         (Qname): Deleted because it is duplicated.
2022         (Qideographic_radical): Deleted.
2023         (Qideographic_strokes): Deleted.
2024         (Qtotal_strokes): Deleted.
2025         (Qmorohashi_daikanwa): Deleted.
2026         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2027         `ideographic-radical', `ideographic-strokes', `total-strokes',
2028         `morohashi-daikanwa' and `->decomposition'.
2029         (Fget_char_attribute): Likewise.
2030         (Fput_char_attribute): Likewise; use `make-vector' instead of
2031         `make_older_vector' for `->decomposition' value.
2032         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2033         `ideograph-daikanwa'.
2034         (syms_of_mule_charset): Delete builtin symbols `name',
2035         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2036         `morohashi-daikanwa'.
2037         (vars_of_mule_charset): Don't setup
2038         `Vcharacter_ideographic_radical_table',
2039         `Vcharacter_ideographic_strokes_table',
2040         `Vcharacter_total_strokes_table',
2041         `Vcharacter_morohashi_daikanwa_table' and
2042         `Vcharacter_decomposition_table'.
2043
2044 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2045
2046         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2047         `make_older_vector', `make_vector_newer_1' and
2048         `make_vector_newer'.
2049
2050         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2051         `make_older_vector' and `make_vector_newer'.
2052
2053         * config.h.in (HAVE_GGC): New macro.
2054
2055 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2056
2057         * mule-charset.c (struct char_attribute_list_closure): New
2058         structure in UTF-2000.
2059         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2060         (Fchar_attribute_list): Likewise.
2061         (Fset_charset_mapping_table): Use `make_vector_newer'.
2062         (Fdecode_builtin_char): New function in UTF-2000.
2063         (syms_of_mule_charset): Add new function `char-attribute-list' and
2064         `decode-builtin-char' in UTF-2000.
2065
2066         * lisp.h (make_vector_newer): New prototype.
2067
2068         * alloc.c (make_vector_newer_1): New function.
2069         (make_vector_newer): New function.
2070
2071 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2072
2073         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2074         50100)'.
2075
2076 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2077
2078         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2079         (Vcharacter_attribute_table): Deleted.
2080         (Vcharacter_name_table): Deleted.
2081         (put_char_attribute): Deleted.
2082         (remove_char_attribute): Deleted.
2083         (struct char_attribute_alist_closure): New structure.
2084         (add_char_attribute_alist_mapper): New function.
2085         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2086         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2087         (Fget_char_attribute): Likewise.
2088         (Fput_char_attribute): Likewise.
2089         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2090         of `remove_char_attribute'.
2091         (Fdefine_char): Return character.
2092         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2093         and `Vcharacter_name_table'.
2094         (complex_vars_of_mule_charset): Likewise
2095         `Vchar_attribute_hash_table'.
2096
2097 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2098
2099         * character.h (CHARC_CHARSET): New macro.
2100         (CHARC_CHARSET_ID): New macro.
2101         (CHARC_CODE_POINT): New macro.
2102         (CHARC_COLUMNS): New macro.
2103         (CHARC_TO_CHAR): New inline function.
2104         (CHARC_EQ): New inline function.
2105         (CHARC_ASCII_EQ): New inline function.
2106         (CHARC_IS_SPACE): New inline function.
2107         (ASCII_TO_CHARC): New inline function.
2108
2109         * char-ucs.h (encode_char_2): Deleted.
2110         (ENCODE_CHAR): Use `encode_char_1' again.
2111         (breakup_char_1): Likewise.
2112         (CHAR_TO_CHARC): New inline function.
2113
2114         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2115
2116 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2117
2118         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2119         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2120         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2121         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2122         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2123         `CHARC_IS_SPACE'.
2124         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2125
2126         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2127         `CHARC_CODE_POINT'.
2128         (x_output_display_block): Use `CHARC_CHARSET' and
2129         `CHARC_ASCII_EQ'.
2130
2131         * redisplay-tty.c (tty_output_display_block): Use
2132         `CHARC_ASCII_EQ'.
2133         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2134
2135         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2136
2137         * insdel.c (find_charsets_in_charc_string): Use
2138         `CHARC_CHARSET_ID'.
2139         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2140         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2141         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2142         (convert_charc_string_into_malloced_string): Likewise.
2143
2144 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2145
2146         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2147         instead of <Emchar_dynarr *> for buf; use
2148         `convert_bufbyte_string_into_charc_dynarr' instead of
2149         `convert_bufbyte_string_into_emchar_dynarr'; use
2150         `find_charsets_in_charc_string' instead of
2151         `find_charsets_in_emchar_string'.
2152
2153         * redisplay.h:
2154         - Include "character.h".
2155         (struct rune): New member `cglyph'; delete member `chr'.
2156
2157         * redisplay.c (redisplay_text_width_charc_string): New function;
2158         delete `redisplay_text_width_emchar_string'.
2159         (rtw_charc_dynarr): New variable; renamed from
2160         `rtw_emchar_dynarr'.
2161         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2162         `rtw_emchar_dynarr'; use
2163         `convert_bufbyte_string_into_charc_dynarr' instead of
2164         `convert_bufbyte_string_into_emchar_dynarr'; use
2165         `redisplay_text_width_charc_string' instead of
2166         `redisplay_text_width_emchar_string'.
2167         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2168         instead of `rtw_emchar_dynarr'; use
2169         `convert_bufbyte_string_into_charc_dynarr' instead of
2170         `convert_bufbyte_string_into_emchar_dynarr'.
2171         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2172         `redisplay_text_width_charc_string' instead of
2173         `redisplay_text_width_emchar_string'.
2174         (create_text_block): Modify for <struct rune> change.
2175         (generate_formatted_string_db): Likewise.
2176         (create_string_text_block): Likewise.
2177         (pixel_to_glyph_translation): Likewise.
2178
2179         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2180         instead of <const Emchar *>.
2181         (x_text_width): Likewise.
2182         (x_output_display_block): Use <Charc_dynarr *> instead
2183         <Emchar_dynarr *>; modify for <structure rune> change.
2184         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2185         *>.
2186
2187         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2188         <const Emchar *>; use `charc_string_displayed_columns' instead of
2189         `emchar_string_displayed_columns'.
2190         (tty_output_display_block): Use <Charc_dynarr *> instead of
2191         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2192         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2193         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2194         `tty_output_emchar_dynarr_dynarr'.
2195         (tty_output_charc_dynarr): New function; delete
2196         `tty_output_charc_dynarr'.
2197
2198         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2199         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2200         <Emchar_dynarr *> for buf; use
2201         `convert_bufbyte_string_into_charc_dynarr' instead of
2202         `convert_bufbyte_string_into_emchar_dynarr'.
2203
2204         * frame.c (title_string_charc_dynarr): New variable; renamed from
2205         `title_string_emchar_dynarr'.
2206         (generate_title_string): Use `title_string_charc_dynarr' instead
2207         of `title_string_emchar_dynarr'; use
2208         `convert_charc_string_into_malloced_string' instead of
2209         `convert_emchar_string_into_malloced_string'.
2210         (init_frame): Use `title_string_charc_dynarr' instead of
2211         `title_string_emchar_dynarr'.
2212
2213         * console.h:
2214         - Include "character.h".
2215         (struct console_methods): Use <const Charc *> instead of <const
2216         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2217         <Emchar_dynarr *> in output_string_method.
2218
2219         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2220         <Emchar_dynarr *>.
2221
2222         * console-stream.c (stream_text_width): Use <const Charc *>
2223         instead of <const Emchar *>.
2224
2225         * character.h (Charc_dynarr): New type.
2226
2227         * char-ucs.h (structure Charc): New structure; define new type
2228         `Charc'.
2229
2230         * char-lb.h (DECODE_CHAR): New inline function.
2231         (encode_char_1): New inline function.
2232         (ENCODE_CHAR): New macro.
2233         (structure Charc): New structure; define new type `Charc'.
2234
2235         * char-1byte.h (Vcharset_control_1): New macro.
2236         (Vcharset_latin_iso8859_1): New macro.
2237         (DECODE_CHAR): New inline function.
2238         (encode_char_1): New inline function.
2239         (ENCODE_CHAR): New macro.
2240         (structure Charc): New structure; define new type `Charc'.
2241
2242         * insdel.c (find_charsets_in_charc_string): New function; delete
2243         `find_charsets_in_emchar_string'.
2244         (charc_string_displayed_columns): New function; delete
2245         `emchar_string_displayed_columns'.
2246         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2247         `convert_bufbyte_string_into_emchar_dynarr'.
2248         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2249         `convert_charc_string_into_bufbyte_dynarr'.
2250         (convert_charc_string_into_malloced_string): New function; delete
2251         `convert_charc_string_into_malloced_string'.
2252
2253         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2254         `find_charsets_in_emchar_string'.
2255         (charc_string_displayed_columns): New prototype; delete
2256         `emchar_string_displayed_columns'.
2257         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2258         `convert_charc_string_into_bufbyte_dynarr'.
2259         (convert_charc_string_into_malloced_string): New prototype; delete
2260         `convert_charc_string_into_malloced_string'.
2261
2262 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2263
2264         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2265
2266 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2267
2268         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2269
2270         * char-ucs.h: Use <short> for <Charset_ID>.
2271
2272         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2273         <Charset_ID>.
2274
2275 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2276
2277         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2278         to 0.16.
2279
2280 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2281
2282         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2283         variable.
2284         (Qmorohashi_daikanwa): New variable.
2285         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2286         for `morohashi-daikanwa' attribute.
2287         (Fget_char_attribute): Likewise.
2288         (Fput_char_attribute): Likewise.
2289         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2290         has the same value of `ideograph-daikanwa'.
2291         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2292         (vars_of_mule_charset): Setup
2293         `Vcharacter_morohashi_daikanwa_table'.
2294
2295 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2296
2297         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2298         attributes.
2299         (add_charset_to_list_mapper): Add `key' instead of
2300         `XCHARSET_NAME (value)' to return aliases.
2301
2302 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2303
2304         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2305         variable.
2306         (Vcharacter_ideographic_strokes_table): New variable.
2307         (Qideographic_radical): New variable.
2308         (Qideographic_strokes): New variable.
2309         (Fchar_attribute_alist): Use
2310         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2311         attribute; use `Vcharacter_ideographic_strokes_table' for
2312         `ideographic-strokes' attribute.
2313         (Fget_char_attribute): Likewise.
2314         (Fput_char_attribute): Likewise.
2315         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2316         `ideographic-strokes'.
2317         (vars_of_mule_charset): Setup
2318         `Vcharacter_ideographic_radical_table' and
2319         `Vcharacter_ideographic_strokes_table'.
2320
2321 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2322
2323         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2324         (Qtotal_strokes): New variable.
2325         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2326         `total-strokes' attribute.
2327         (Fget_char_attribute): Likewise.
2328         (Fput_char_attribute): Likewise.
2329         (syms_of_mule_charset): Add new symbol `total-strokes'.
2330         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2331
2332 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2333
2334         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2335         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2336         are found.
2337         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2338         `->decomposition' attribute.
2339         (Fput_char_attribute): Likewise.
2340         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2341
2342 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2343
2344         * mule-charset.c (decoding_table_check_elements): New function.
2345         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2346
2347 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2348
2349         * mule-charset.c (Fset_charset_mapping_table): Use
2350         `put_char_ccs_code_point'.
2351
2352 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2353
2354         * mule-charset.c (decoding_table_put_char): New inline function.
2355         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2356
2357 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2358
2359         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2360         (XCHARSET_BYTE_SIZE): New macro.
2361         (decoding_table_remove_char): New inline function.
2362         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2363         `decoding_table_remove_char'.
2364         (remove_char_ccs): Use `decoding_table_remove_char'.
2365         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2366
2367 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2368
2369         * mule-charset.c (Vcharacter_name_table): New variable.
2370         (Qname): New variable.
2371         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2372         attribute.
2373         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2374         `Vcharacter_name_table' for `name' attribute.
2375         (Fremove_char_attribute): Use function `remove_char_ccs'.
2376         (put_char_ccs_code_point): New function.
2377         (remove_char_ccs): New function.
2378         (syms_of_mule_charset): Add new symbol `name'.
2379         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2380
2381 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2382
2383         * mule-charset.c (make_byte_table): Add new argument `older'.
2384         (make_char_id_table): Likewise.
2385         (copy_char_id_table): Comment out because it is not used.
2386         (put_char_id_table): Modify for `make_byte_table'.
2387         (Fput_char_attribute): Make encoding_table as older object;
2388         inherit older bit of `Vcharacter_composition_table'.
2389         (mark_charset): Don't mark `cs->encoding_table'.
2390         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2391         normal object; make `Vcharacter_composition_table' as an older
2392         object; delete staticpro for `Vcharacter_composition_table'; make
2393         `Vcharacter_variant_table' as a normal object.
2394
2395         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2396         (mark_object): Don't check older object in UTF-2000.
2397
2398         * lrecord.h (struct lrecord_header): Add new member `older' in
2399         UTF-2000.
2400         (set_lheader_implementation): Setup `SLI_header->older' in
2401         UTF-2000.
2402         (set_lheader_older_implementation): New macro in UTF-2000.
2403         (OLDER_RECORD_P): New macro in UTF-2000.
2404         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2405         (alloc_older_lcrecord): New prototype in UTF-2000.
2406         (alloc_older_lcrecord_type): New macro in UTF-2000.
2407
2408 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2409
2410         * mule-charset.c (byte_table_description): Use
2411         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2412         (char_id_table_description): Delete bogus `, 1'.
2413         (Fget_char_attribute): Refer encoding_table of each coded-charset
2414         to get value of coded-charset attribute of a character.
2415         (Fput_char_attribute): Use `make_older_vector' instead of
2416         `make_vector'; use encoding_table of each coded-charset to store
2417         value of coded-charset attribute of a character.
2418         (Fremove_char_attribute): Use encoding_table of each coded-charset
2419         to store value of coded-charset attribute of a character.
2420         (mark_charset): Mark `cs->encoding_table'; don't mark
2421         `cs->decoding_table'.
2422         (charset_description): Add description of new member
2423         `encoding_table'.
2424         (make_charset): Initialize `encoding_table'.
2425
2426         * char-ucs.h (struct Lisp_Charset): Add new member
2427         `encoding_table'.
2428         (CHARSET_ENCODING_TABLE): New macro.
2429         (XCHARSET_ENCODING_TABLE): New macro.
2430         (charset_code_point): New implementation.
2431         (encode_char_1): Likewise.
2432
2433         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2434         (disksave_object_finalization_1): Call finalizers of
2435         `all_older_lcrecords' in UTF-2000.
2436         (make_older_vector): New function in UTF-2000.
2437         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2438         UTF-2000.
2439
2440         * lisp.h (make_older_vector): New prototype in UTF-2000.
2441
2442 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2443
2444         * lrecord.h (enum lrecord_type): Rename
2445         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2446
2447         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2448         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2449         `get_char_code_table'.
2450
2451         * mule-charset.c (mark_char_id_table): Renamed from
2452         `mark_char_code_table'.
2453         (char_id_table_equal): Renamed from `char_code_table_equal'.
2454         (char_id_table_hash): Renamed from `char_code_table_hash'.
2455         (make_char_id_table): Renamed from `make_char_code_table'.
2456         (copy_char_id_table): Renamed from `copy_char_code_table'.
2457         (get_char_id_table): Renamed from `get_char_code_table'.
2458         (put_char_id_table): Renamed from `put_char_code_table'.
2459         (to_char_id): Renamed from `to_char_code'.
2460
2461         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2462         `Lisp_Char_Code_Table'.
2463         (char_id_table): Renamed from `char_code_table'.
2464         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2465         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2466         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2467         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2468         (get_char_id_table): Renamed from `get_char_code_table'.
2469
2470 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2471
2472         * lrecord.h (enum lrecord_type): Rename
2473         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2474
2475         * mule-charset.c (mark_byte_table): Renamed from
2476         `mark_char_byte_table'.
2477         (byte_table_equal): Renamed from `char_byte_table_equal'.
2478         (byte_table_hash): Renamed from `byte_table_hash'.
2479         (make_byte_table): Renamed from `make_byte_table'.
2480         (copy_byte_table): Renamed from `copy_char_byte_table'.
2481
2482         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2483         `Lisp_Char_Byte_Table'.
2484         (byte_table): Renamed from `char_byte_table'.
2485         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2486         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2487         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2488         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2489
2490 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2491
2492         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2493         (dfc_convert_to_internal_format): Likewise.
2494         
2495         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2496         * text-coding.c (Fcoding_system_alias_p): New function.
2497         * text-coding.c (Fcoding_system_aliasee): New function.
2498         * text-coding.c (append_suffix_to_symbol): New function.
2499         * text-coding.c (dangling_coding_system_alias_p): New function.
2500         * text-coding.c (Ffind_coding_system):
2501         * text-coding.c (Fcopy_coding_system):
2502         * text-coding.c (encode_coding_no_conversion):
2503         * text-coding.c (syms_of_file_coding):
2504         * text-coding.c (vars_of_file_coding):
2505         Rewrite coding system alias code.
2506         Allow nested aliases, like symbolic links.
2507         Allow redefinition of coding system aliases.
2508         Prevent existence of dangling coding system aliases.
2509         Eliminate convert_to_external_format.
2510         Eliminate convert_to_internal_format.
2511         
2512         * text-coding.c: Change enum eol_type to eol_type_t.
2513
2514 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2515
2516         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2517         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2518
2519         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2520         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2521
2522 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2523
2524         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2525         `ideograph-daikanwa'.
2526
2527         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2528         (Vcharset_ucs_bmp): Likewise.
2529         (Vcharset_mojikyo): Add new extern variable definition.
2530         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2531         (Vcharset_latin_iso8859_3): Likewise.
2532         (Vcharset_latin_iso8859_4): Likewise.
2533         (Vcharset_latin_iso8859_9): Likewise.
2534         (Vcharset_latin_viscii_lower): Likewise.
2535         (Vcharset_latin_viscii_upper): Likewise.
2536         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2537         `mojikyo' code-point is used to decode.
2538         (encode_char_2): New function [to convert `mojikyo' code-point to
2539         Mojikyo font encoding].
2540         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2541         (breakup_char_1): Likewise.
2542         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2543
2544 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2545
2546         * text-coding.c (Fmake_coding_system): Add document about
2547         `disable-composition' property.
2548
2549 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2550
2551         * text-coding.c (Qdisable_composition): New variable; delete
2552         `Qcomposite'.
2553         (Fmake_coding_system): Add new property `disable-composite';
2554         delete property `composite'.
2555         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2556         instead of `!CODING_SYSTEM_COMPOSITE'.
2557         (syms_of_file_coding): Add new symbol `disable-composition';
2558         delete symbol `composite'.
2559
2560         * file-coding.h (struct Lisp_Coding_System): Add
2561         `disable_composition'; delete `enable_composition'.
2562         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2563         `CODING_SYSTEM_COMPOSITE'.
2564         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2565         `XCODING_SYSTEM_COMPOSITE'.
2566
2567 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2568
2569         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2570         to 0.15.
2571
2572 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2573
2574         * text-coding.c (Qcomposite): New variable.
2575         (Fmake_coding_system): Add new property `composite'.
2576         (struct decoding_stream): Add `combined_char_count',
2577         `combined_chars' and `combining_table' in UTF-2000.
2578         (COMPOSE_FLUSH_CHARS): New macro.
2579         (COMPOSE_ADD_CHAR): New macro.
2580         (reset_decoding_stream): Reset `str->combined_char_count' and
2581         `str->combining_table' in UTF-2000.
2582         (decode_coding_iso2022): Modify for character-decomposition.
2583         (syms_of_file_coding): Add new symbol `composite'.
2584
2585 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2586
2587         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2588         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2589         of `Vcharacter_composition_table' if `->decomposition' property
2590         has only 1 element.
2591         (Qlatin_tcvn5712): New variable.
2592         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2593         (complex_vars_of_mule_charset): Add new coded-charset
2594         `latin-tcvn5712'.
2595
2596         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2597
2598 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2599
2600         * file-coding.h (struct Lisp_Coding_System): Add
2601         `enable_composition'.
2602         (CODING_SYSTEM_COMPOSITE): New macro.
2603         (XCODING_SYSTEM_COMPOSITE): New macro.
2604
2605 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2606
2607         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2608
2609 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2610
2611         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2612         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2613
2614 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2615
2616         * mule-charset.c (Vcharset_mojikyo): New variable.
2617         (Fdefine_char): Don't use coded-charset which does not have
2618         non-builtin character range to allocate character-id.
2619         (Qmojikyo): New variable.
2620         (syms_of_mule_charset): Add new symbol `mojikyo'.
2621         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2622
2623         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2624         (LEADING_BYTE_MOJIKYO): New macro.
2625         (MIN_CHAR_MOJIKYO): New macro.
2626         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2627         (MAX_CHAR_MOJIKYO): New macro.
2628
2629 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2630
2631         * mule-charset.c (remove_char_attribute): Fixed.
2632
2633 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2634
2635         * mule-charset.c (remove_char_attribute): New function.
2636         (Fremove_char_attribute): New function.
2637         (encode_builtin_char_1): Comment out builtin-support for
2638         greek-iso8859-7 and cyrillic-iso8859-5.
2639         (Fdecode_char): Check `code' is an integer.
2640         (syms_of_mule_charset): Add `remove-char-attribute'.
2641         (MIN_CHAR_GREEK): Deleted.
2642         (MAX_CHAR_GREEK): Likewise.
2643         (MIN_CHAR_CYRILLIC): Likewise.
2644         (MAX_CHAR_CYRILLIC): Likewise.
2645         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2646         MAX_CHAR_GREEK for `greek-iso8859-7'.
2647
2648         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2649         (MAX_CHAR_GREEK): Likewise.
2650         (MIN_CHAR_CYRILLIC): Likewise.
2651         (MAX_CHAR_CYRILLIC): Likewise.
2652
2653 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2654
2655         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2656         format is used without `ucs' property.
2657         (Fdecode_char): Fix problem with GR representation.
2658         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2659         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2660
2661 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2662
2663         * mule-charset.c (make_builtin_char): New function.
2664         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2665         (Fset_charset_mapping_table): Modify for new representation of
2666         code-point.
2667         (Fdecode_char): New function.
2668         (syms_of_mule_charset): Add new builtin function `decode-char' in
2669         UTF-2000.
2670
2671         * char-ucs.h (make_builtin_char): New prototype.
2672         (DECODE_CHAR): New inline function.
2673         (MAKE_CHAR): Use `DECODE_CHAR'.
2674
2675 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2676
2677         * text-coding.c (parse_charset_conversion_specs): Use
2678         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2679         `XCHARSET_TYPE'.
2680         (iso2022_designate): Likewise.
2681
2682         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2683         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2684
2685         * mule-charset.c (Vcharset_ucs): New variable.
2686         (print_charset): Change design; use `CHARSET_CHARS' and
2687         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2688         (make_charset): Change signature to specify `chars' and
2689         `dimension' instead of `type'.
2690         (range_charset_code_point): Modify for 256^n-set.
2691         (encode_builtin_char_1): Encode as `ucs' in default.
2692         (Fmake_charset): Modify for `make_charset'.
2693         (Fmake_reverse_direction_charset): Likewise.
2694         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2695         UTF-2000.
2696         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2697         for `make_charset'.
2698
2699         * char-ucs.h (Vcharset_ucs): New variable.
2700         (LEADING_BYTE_UCS): New macro.
2701         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2702         and `chars' to `unsigned short' from `unsigned int'.
2703         (CHARSET_TYPE): Deleted.
2704         (XCHARSET_TYPE): Deleted.
2705
2706 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2707
2708         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2709
2710         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2711         (ENCODE_CHAR): New macro.
2712
2713 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2714
2715         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2716         to 0.14 (Kawachi-Katakami).
2717
2718 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2719
2720         * text-coding.c (char_encode_shift_jis): Modify for
2721         `charset_code_point'.
2722         (char_encode_iso2022): Likewise.
2723
2724         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2725         (integer) instead of list of <Lisp_Object>s (integers) as the
2726         format of code-point of a coded-charset.
2727         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2728         (encode_builtin_char_1): New function; delete
2729         `split_builtin_char'.
2730         (charset_code_point): Return <int> instead of <Lisp_Object>.
2731         (Fsplit_char): Don't use `SPLIT_CHAR'.
2732
2733         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2734         prototype for `split_builtin_char'.
2735         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2736         (charset_code_point): Likewise.
2737         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2738         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2739
2740 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2741
2742         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2743         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2744
2745 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2746
2747         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2748
2749         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2750         (MAX_CHAR_OBS_94x94): Deleted.
2751
2752 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2753
2754         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2755
2756         * char-ucs.h (MAX_CHAR_BMP): New macro.
2757
2758 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2759
2760         * text-coding.c: Sync with r21-2-24.
2761
2762 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2763
2764         * file-coding.c: Modify for UTF-2000.
2765
2766 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2767
2768         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2769         to 0.13 (Takaida).
2770
2771 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2772
2773         * mule-charset.c (split_builtin_char): Delete builtin support for
2774         `katakana-jisx0201'.
2775         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2776         BMP area in builtin representation.
2777
2778         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2779         `Vcharset_katakana_jisx0201'.
2780
2781 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2782
2783         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2784         (Qisolated): New variable.
2785         (Qinitial): New variable.
2786         (Qmedial): New variable.
2787         (Qfinal): New variable.
2788         (Qvertical): New variable.
2789         (Qsmall): New variable.
2790         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2791         `Qvertical' and `Qsmall'.
2792         (Qmojikyo_pj_[1 .. 21]): New variable.
2793         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2794         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2795         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2796         .. 21]'.
2797
2798 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2799
2800         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2801         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2802         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2803
2804 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2805
2806         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2807         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2808         BMP.
2809         (Qjapanese_jisx0208_1990): New variable.
2810         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2811         (complex_vars_of_mule_charset): Add new coded-charset
2812         `japanese-jisx0208-1990'.
2813
2814         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2815         (MIN_CHAR_JIS_X0208_1990): New macro.
2816         (MAX_CHAR_JIS_X0208_1990): New macro.
2817
2818 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2819
2820         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2821         coded-charset is not found.
2822
2823 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2824
2825         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2826         (Fdefine_char): Use `Fmake_char'.
2827
2828 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2829
2830         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2831         (Vcharset_hiragana_jisx0208): Deleted.
2832         (Vcharset_katakana_jisx0208): Deleted.
2833         (Qideograph_daikanwa): New variable.
2834         (Qhiragana_jisx0208): Deleted.
2835         (Qkatakana_jisx0208): Deleted.
2836         (split_builtin_char): Split `ideograph-daikanwa'.
2837         (Fsplit_char): New implementation for UTF-2000.
2838         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2839         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2840         (complex_vars_of_mule_charset): Add new coded-charset
2841         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2842         `katakana-jisx0208'.
2843
2844         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2845         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2846         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2847         (MIN_CHAR_DAIKANWA): New macro.
2848         (MAX_CHAR_DAIKANWA): New macro.
2849
2850 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2851
2852         * data.c (Fstring_to_number): Don't recognize floating point if
2853         base is not 10.
2854
2855 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2856
2857         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2858
2859 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2860
2861         * mule-charset.c (Qsquare): New variable.
2862         (to_char_code): Add `Qsquare'.
2863         (syms_of_mule_charset): Add new symbol `square'.
2864
2865 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2866
2867         * mule-charset.c (Qcircle): New variable.
2868         (to_char_code): Add `Qcircle'.
2869         (syms_of_mule_charset): Add new symbol `circle'.
2870
2871 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2872
2873         * mule-charset.c (Qfont): New variable.
2874         (to_char_code): Add `Qfont'.
2875         (syms_of_mule_charset): Add new symbol `font'.
2876
2877 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2878
2879         * mule-charset.c (Qsub): New variable.
2880         (to_char_code): Add `Qsub'.
2881         (syms_of_mule_charset): Add new symbol `sub'.
2882
2883 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2884
2885         * mule-charset.c (Fput_char_attribute): Convert each element of
2886         VALUE to GL position if ATTRIBUTE is a GR-set,
2887
2888 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2889
2890         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2891         coded-charset is a GR-set.
2892
2893 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2894
2895         * mule-charset.c (Fput_char_attribute): Check each element of
2896         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2897
2898 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2899
2900         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2901         UTF-2000.
2902         (Qethiopic_ucs): New variable in UTF-2000.
2903         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2904         (complex_vars_of_mule_charset): Add new coded-charset
2905         `ethiopic-ucs' in UTF-2000.
2906
2907         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2908         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2909         9)'.
2910         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2911         10)'.
2912         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2913
2914 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2915
2916         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2917         `ascii'.
2918
2919 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2920
2921         * mule-charset.c (Vcharacter_variant_table): New variable.
2922         (Q_ucs): New variable.
2923         (Fchar_variants): New function.
2924         (Fput_char_attribute): Register `->ucs' value to
2925         `Vcharacter_variant_table'.
2926         (syms_of_mule_charset): Add new function `char-variants' and new
2927         symbol `->ucs'.
2928         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2929
2930 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2931
2932         * mule-charset.c (get_char_code_table): Allow negative character
2933         code.
2934         (put_char_code_table): Likewise.
2935         (Vcharacter_composition_table): New variable.
2936         (Q_decomposition): New variable.
2937         (Qwide): New variable.
2938         (Qnarrow): New variable.
2939         (Qcompat): New variable.
2940         (QnoBreak): New variable.
2941         (Qsuper): New variable.
2942         (Qfraction): New variable.
2943         (to_char_code): New function.
2944         (Fget_composite_char): New function.
2945         (Fput_char_attribute): Register `->decomposition' value to
2946         `Vcharacter_composition_table'.
2947         (syms_of_mule_charset): Add new function `get-composite-char', new
2948         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2949         `super' and `fraction'.
2950         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2951
2952 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2953
2954         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2955         character; copy the return value.
2956
2957 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2958
2959         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2960
2961         * mule-charset.c (range_charset_code_point): Must use make_int.
2962         (split_builtin_char): New function.
2963
2964 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2965
2966         * mule-charset.c (char_byte_table): Change name from
2967         "char-code-table" to "char-byte-table".
2968         (mark_char_code_table): New function.
2969         (char_code_table_equal): New function.
2970         (char_code_table_hash): New function.
2971         (char_code_table_description): New constant.
2972         (char_code_table): New type.
2973         (make_char_code_table): New function.
2974         (copy_char_code_table): New function.
2975         (get_char_code_table): Modify for `char_code_table' type.
2976         (put_char_code_table): Likewise.
2977         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2978         (Kashiwara).
2979
2980         * char-ucs.h (char_code_table): New type.
2981         (XCHAR_CODE_TABLE): New macro.
2982         (XSETCHAR_CODE_TABLE): New macro.
2983         (CHAR_CODE_TABLE_P): New macro.
2984         (GC_CHAR_CODE_TABLE_P): New macro.
2985         (struct Lisp_Char_Code_Table): New structure.
2986
2987 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2988
2989         * mule-charset.c (Fmake_charset): Setup byte_offset for
2990         {94|96}^n-set.
2991
2992 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2993
2994         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2995         character.
2996
2997 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2998
2999         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3000         is found.
3001
3002 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3003
3004         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3005         charset, it is regarded as a charset.
3006         (put_char_attribute): New function in UTF-2000.
3007         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3008         charset, mapping-table of the charset is modified.
3009         (Fdefine_char): New function in UTF-2000.
3010         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3011         `Fput_char_attribute'.
3012         (syms_of_mule_charset): Add new function `define-char' and new
3013         symbol `ucs' in UTF-2000.
3014         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3015
3016 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3017
3018         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3019         non-UTF-2000 configuration.
3020
3021 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3022
3023         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3024         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3025
3026         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3027         deleted.
3028         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3029         (Fset_charset_mapping_table): Likewise.
3030
3031         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3032         (CHARSET_ENCODING_TABLE): Delete.
3033         (XCHARSET_ENCODING_TABLE): Delete.
3034         (charset_code_point): New interface.
3035
3036 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3037
3038         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3039         instead of `charset_get_byte1' and `charset_get_byte2'.
3040
3041         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3042         (charset_get_byte2): Deleted.
3043
3044 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3045
3046         * char-ucs.h (SPLIT_CHAR): New inline function.
3047         (breakup_char_1): Use `SPLIT_CHAR'.
3048
3049         * mule-charset.c (range_charset_code_point): New function.
3050         (charset_code_point): New function.
3051
3052         * char-ucs.h (range_charset_code_point): New interface.
3053         (breakup_char_1): Use `range_charset_code_point'.
3054
3055 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3056
3057         * mule-charset.c (Fmake_charset): Delete unused local variable
3058         `code_offset'.
3059
3060         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3061         (breakup_char_1): Find a charset and code-point in
3062         `Vcharacter_attribute_table'.
3063
3064 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3065
3066         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3067         to 0.10 (Yao).
3068
3069 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3070
3071         * mule-charset.c (Vcharacter_attribute_table): New variable.
3072         (Fchar_attribute_alist): New function.
3073         (Fget_char_attribute): New function.
3074         (Fput_char_attribute): New function.
3075         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3076         too.
3077         (syms_of_mule_charset): Add new function `char-attribute-alist',
3078         `get-char-attribute' and `put-char-attribute'.
3079         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3080
3081 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3082
3083         * mule-charset.c (Fmake_charset): Just use
3084         `get_unallocated_leading_byte'.
3085
3086         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3087         sets; don't use final-byte based number for private sets.
3088
3089 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3090
3091         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3092         integer.
3093
3094 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3095
3096         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3097         to 0.9.
3098
3099 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3100
3101         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3102         of `CHAR_LEADING_BYTE' in UTF-2000.
3103
3104         * insdel.c (find_charsets_in_bufbyte_string): Use
3105         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3106         (find_charsets_in_emchar_string): Likewise.
3107
3108         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3109         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3110
3111         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3112         (CHAR_CHARSET_ID): New macro.
3113
3114 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3115
3116         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3117         charset-id - MIN_LEADING_BYTE.
3118         (put_char_table): Likewise.
3119
3120 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3121
3122         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3123         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3124         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3125         (CHARSET_ID_OFFSET): New macro.
3126         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3127         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3128         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3129         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3130         4).
3131         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3132         5).
3133         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3134         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3135         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3136         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3137         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3138
3139 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3140
3141         * mule-charset.c (next_allocated_leading_byte): New variable in
3142         UTF-2000.
3143         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3144         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3145         (get_unallocated_leading_byte): Simply use
3146         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3147         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3148         UTF-2000.
3149
3150         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3151         (MAX_LEADING_BYTE_PRIVATE): New macro.
3152         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3153         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3154
3155 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3156
3157         * mule-charset.c (Fmake_charset): Allocate final-byte based
3158         charset-id for 94-set, 96-set and 94x94-set.
3159
3160 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3161
3162         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3163         ambiguous `else'.
3164         (Fmake_charset): Likewise.
3165         (complex_vars_of_mule_charset): Modify the font registry of
3166         `ucs-bmp' not to match `Ethiopic-Unicode'.
3167
3168 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3169
3170         * mule-charset.c (complex_vars_of_mule_charset): Add font
3171         registory of `ucs-bmp'.
3172
3173 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3174
3175         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3176         coded-charsets in `default-coded-charset-priority-list' when
3177         breaking up a character.
3178
3179         * mule-charset.c (Vcharset_latin_viscii): New variable.
3180         (Qlatin_viscii): New variable.
3181         (make_charset): Don't use `decoding_table'.
3182         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3183         byte_offset.
3184         (Fset_charset_mapping_table): New implementation.
3185         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3186         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3187         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3188         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3189         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3190         charset `latin_viscii'.
3191
3192         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3193         (CHARSET_TYPE_94X94): Change to 1 from 2.
3194         (CHARSET_TYPE_96): Change to 2 from 1.
3195         (CHARSET_TYPE_128): New macro.
3196         (CHARSET_TYPE_128X128): Change to 5 from 4.
3197         (CHARSET_TYPE_256): New macro.
3198         (CHARSET_TYPE_256X256): Change to 7 from 5.
3199         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3200
3201 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3202
3203         * text-coding.c (char_encode_shift_jis): Refer
3204         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3205         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3206
3207         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3208         (char_byte_table_equal): New function in UTF-2000.
3209         (char_byte_table_hash): New function in UTF-2000.
3210         (char_byte_table_description): New constant in UTF-2000.
3211         (char_byte_table): New type in UTF-2000.
3212         (make_char_byte_table): New function in UTF-2000.
3213         (copy_char_byte_table): New function in UTF-2000.
3214         (make_char_code_table): New macro in UTF-2000.
3215         (get_char_code_table): New function in UTF-2000.
3216         (put_char_code_table): New function in UTF-2000.
3217         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3218         (charset_description): Add setting in UTF-2000.
3219         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3220         `CHARSET_TO_BYTE1_TABLE(cs)'.
3221         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3222         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3223         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3224         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3225         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3226         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3227         `CHARSET_TO_BYTE2_TABLE(cs)'.
3228
3229         * char-ucs.h (char_byte_table): New type.
3230         (XCHAR_BYTE_TABLE): New macro.
3231         (XSETCHAR_BYTE_TABLE): New macro.
3232         (CHAR_BYTE_TABLE_P): New macro.
3233         (GC_CHAR_BYTE_TABLE_P): New macro.
3234         (struct Lisp_Char_Byte_Table): New structure.
3235         (get_char_code_table): New interface.
3236         (Emchar_to_byte_table): Deleted.
3237         (get_byte_from_character_table): Deleted.
3238         (struct Lisp_Charset): Add `encoding_table'; delete
3239         `to_byte1_table' and `to_byte2_table'.
3240         (CHARSET_ENCODING_TABLE): New macro.
3241         (CHARSET_TO_BYTE1_TABLE): Deleted.
3242         (CHARSET_TO_BYTE2_TABLE): Deleted.
3243         (XCHARSET_ENCODING_TABLE): New macro.
3244         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3245         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3246
3247 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3248
3249         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3250         `vietnamese-viscii-*'.
3251
3252 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3253
3254         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3255         (Qvietnamese_viscii_upper): New variable.
3256         (Fdefine_charset_alias): New function.
3257         (syms_of_mule_charset): Add new function `define-charset-alias'.
3258         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3259         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3260         `latin-viscii-*'.
3261
3262 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3263
3264         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3265         (MAX_CHAR_OBS_94x94): New macro.
3266         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3267         for 94x94 sets.
3268
3269         * mule-charset.c (put_byte_from_character_table): Change unit size
3270         from 128 to 256.
3271         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3272         not defined.
3273         (Fmake_reverse_direction_charset): Modify dummy argument of
3274         `make_charset' for non-UTF-2000 environment.
3275
3276 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3277
3278         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3279
3280         * mule-charset.c (destroy_byte_from_character_table): New macro.
3281         (latin_jisx0201_to_ucs): Deleted.
3282         (latin_iso8859_2_to_ucs): Deleted.
3283         (latin_iso8859_3_to_ucs): Deleted.
3284         (latin_iso8859_4_to_ucs): Deleted.
3285         (latin_iso8859_9_to_ucs): Deleted.
3286         (latin_viscii_lower_to_ucs): Deleted.
3287         (latin_viscii_upper_to_ucs): Deleted.
3288         (mark_charset): Mark `cs->decoding_table'.
3289         (Fcharset_mapping_table): Fix DOC-string.
3290         (Fset_charset_mapping_table): New function.
3291         (syms_of_mule_charset): Add nwe function
3292         `set-charset-mapping-table'.
3293         (complex_vars_of_mule_charset): Don't setup and use
3294         `latin_*_to_ucs'.
3295
3296 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3297
3298         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3299         charset.
3300
3301 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3302
3303         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3304         (Vcharset_katakana_jisx0208): New variable.
3305         (Qhiragana_jisx0208): New variable.
3306         (Qkatakana_jisx0208): New variable.
3307         (make_charset): Add new argument `byte_offset'.
3308         (charset_get_byte1): Modify for new coded-charset definition; use
3309         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3310         `XCHARSET_BYTE_OFFSET'.
3311         (Fmake_charset): Modify for `make_charset'.
3312         (Fmake_reverse_direction_charset): Likewise.
3313         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3314         `katakana-jisx0208'.
3315         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3316         `.'  in font registry of charset `katakana-jisx0201',
3317         `latin-jisx0201', `vietnamese-viscii-lower' and
3318         `vietnamese-viscii-upper'; modify DOC-string of charset
3319         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3320         registry of charset `japanese-jisx0208' not to use font for JIS
3321         X0208:1990; add new charset `hiragana-jisx0208' and
3322         `katakana-jisx0208'.
3323
3324         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3325         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3326         (struct Lisp_Charset): Add `byte_offset'.
3327         (CHARSET_BYTE_OFFSET): New macro.
3328         (XCHARSET_UCS_MIN): New macro.
3329         (XCHARSET_UCS_MAX): New macro.
3330         (XCHARSET_CODE_OFFSET): New macro.
3331         (XCHARSET_BYTE_OFFSET): New macro.
3332         (MIN_CHAR_HIRAGANA): New macro.
3333         (MAX_CHAR_HIRAGANA): New macro.
3334         (MIN_CHAR_KATAKANA): New macro.
3335         (MAX_CHAR_KATAKANA): New macro.
3336         (MAKE_CHAR): Modify for new coded-charset definition; use
3337         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3338         `XCHARSET_BYTE_OFFSET'.
3339
3340 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3341
3342         * mule-charset.c (CHAR96): Deleted.
3343         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3344         <Lisp_Object>.
3345         (latin_iso8859_2_to_ucs): Likewise.
3346         (latin_iso8859_3_to_ucs): Likewise.
3347         (latin_iso8859_4_to_ucs): Likewise.
3348         (latin_iso8859_9_to_ucs): Likewise.
3349         (latin_viscii_lower_to_ucs): Likewise.
3350         (latin_viscii_upper_to_ucs): Likewise.
3351         (latin_tcvn5712_to_ucs): Commented out.
3352         (make_charset): Change type of argument `decoding_table' from
3353         <Emchar*> to <Lisp_Object> [vector of characters].
3354         (Fmake_charset): Modify for `make_charset'.
3355         (Fmake_reverse_direction_charset): Likewise.
3356         (Fcharset_mapping_table): New function in UTF-2000.
3357         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3358         UTF-2000.
3359         (complex_vars_of_mule_charset): Modify for type change of
3360         `*_to_ucs'; modify for `make_charset'.
3361
3362         * char-ucs.h (struct Lisp_Charset): Change type of
3363         `decoding_table' from <Emchar*> to <Lisp_Object>.
3364         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3365
3366 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3367
3368         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3369         error with non-UTF-2000-Mule.
3370
3371 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3372
3373         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3374         in lisp again].
3375         (Vcharset_chinese_cns11643_4): Likewise.
3376         (Vcharset_chinese_cns11643_5): Likewise.
3377         (Vcharset_chinese_cns11643_6): Likewise.
3378         (Vcharset_chinese_cns11643_7): Likewise.
3379         (Qchinese_cns11643_3): Likewise.
3380         (Qchinese_cns11643_4): Likewise.
3381         (Qchinese_cns11643_5): Likewise.
3382         (Qchinese_cns11643_6): Likewise.
3383         (Qchinese_cns11643_7): Likewise.
3384         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3385         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3386         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3387         (complex_vars_of_mule_charset): Likewise.
3388
3389 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3390
3391         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3392         96-set.
3393         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3394         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3395
3396 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3397
3398         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3399         0xFF60.
3400         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3401         (breakup_char_1): Likewise.
3402
3403         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3404         one of them includes the specified character.
3405
3406 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3407
3408         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3409
3410 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3411
3412         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3413
3414 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3415
3416         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3417         definition for non-UTF-2000 Mule.
3418         (latin_iso8859_3_to_ucs): Likewise.
3419         (latin_iso8859_4_to_ucs): Likewise.
3420         (latin_iso8859_9_to_ucs): Likewise.
3421         (latin_jisx0201_to_ucs): Likewise.
3422         (MIN_CHAR_THAI): Likewise.
3423         (MAX_CHAR_THAI): Likewise.
3424         (MIN_CHAR_GREEK): Likewise.
3425         (MAX_CHAR_GREEK): Likewise.
3426         (MIN_CHAR_HEBREW): Likewise.
3427         (MAX_CHAR_HEBREW): Likewise.
3428         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3429         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3430         (MIN_CHAR_CYRILLIC): Likewise.
3431         (MAX_CHAR_CYRILLIC): Likewise.
3432
3433 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3434
3435         * char-ucs.h (breakup_char_1): Use
3436         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3437         thai-tis620 and katakana-jisx0201 area.
3438
3439 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3440
3441         * char-ucs.h (breakup_char_1): Use
3442         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3443         area.
3444
3445         * text-coding.c (reset_encoding_stream): Fixed.
3446         (char_encode_ucs4): Delete `& 255'.
3447
3448         * char-ucs.h (breakup_char_1): Use
3449         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3450
3451 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3452
3453         * file-coding.c (Fmake_coding_system): Don't set up
3454         `codesys->fixed.size'.
3455         (encode_coding_no_conversion): Don't refer
3456         `str->codesys->fixed.size'.
3457
3458 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3459
3460         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3461         (latin_a_char_to_byte1): Deleted.
3462         (latin_a_char_to_byte2): Deleted.
3463
3464 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3465
3466         * mule-charset.c (make_charset): Add new argument `ucs_min',
3467         `ucs_max' and `code_offset'.
3468         (charset_get_byte1): New implementation [delete specific charset
3469         depended implementations].
3470         (Fmake_charset): Modify for `make_charset'.
3471         (Fmake_reverse_direction_charset): Likewise.
3472         (complex_vars_of_mule_charset): Likewise.
3473
3474         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3475         `code_offset'.
3476         (CHARSET_UCS_MIN): New macro.
3477         (CHARSET_UCS_MAX): New macro.
3478         (CHARSET_CODE_OFFSET): New macro.
3479         (MAKE_CHAR): Delete charset depended definitions [except
3480         katakana-jisx0201].
3481
3482 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3483
3484         * char-ucs.h (breakup_char_1): Use
3485         `Vdefault_coded_charset_priority_list' for C0-Controls,
3486         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3487
3488 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3489
3490         * char-ucs.h (charset_get_byte1): New function.
3491         (XCHARSET_GET_BYTE1): Deleted.
3492         (charset_get_byte2): New function.
3493         (XCHARSET_GET_BYTE2): Deleted.
3494         (Vdefault_coded_charset_priority_list): New external variable.
3495         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3496         `Vdefault_preferred_coded_charset_list'.
3497
3498         * mule-charset.c (charset_get_byte1): New function.
3499         (charset_get_byte2): New function.
3500         (Vdefault_coded_charset_priority_list): New variable.
3501         (vars_of_mule_charset): Add new variable
3502         `default-coded-charset-priority-list'.
3503
3504 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3505
3506         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3507         (XCHARSET_GET_BYTE2): New inline function.
3508         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3509         `XCHARSET_GET_BYTE2'.
3510
3511 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3512
3513         * mule-charset.c (make_charset): Initialize
3514         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3515         NULL if table is not defined.
3516
3517 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3518
3519         * text-coding.c (char_encode_shift_jis): Use
3520         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3521         `ucs_to_latin_jisx0201'.
3522
3523         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3524         (ucs_to_latin_iso8859_2): Deleted.
3525         (ucs_to_latin_iso8859_3): Deleted.
3526         (ucs_to_latin_iso8859_4): Deleted.
3527         (ucs_to_latin_iso8859_9): Deleted.
3528         (ucs_to_latin_viscii_lower): Deleted.
3529         (ucs_to_latin_viscii_upper): Deleted.
3530         (ucs_to_latin_tcvn5712): Deleted.
3531         (make_charset): Add new argument `decoding_table'; set up
3532         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3533         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3534         `decoding_table' is defined in UTF-2000.
3535         (Fmake_charset): Modify for `make_charset'.
3536         (Fmake_reverse_direction_charset): Likewise.
3537         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3538         and `GENERATE_96_SET'.
3539
3540         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3541         (ucs_to_latin_jisx0201): Deleted.
3542         (latin_iso8859_2_to_ucs): Deleted.
3543         (ucs_to_latin_iso8859_2): Deleted.
3544         (latin_iso8859_3_to_ucs): Deleted.
3545         (ucs_to_latin_iso8859_3): Deleted.
3546         (latin_iso8859_4_to_ucs): Deleted.
3547         (ucs_to_latin_iso8859_4): Deleted.
3548         (latin_iso8859_9_to_ucs): Deleted.
3549         (ucs_to_latin_iso8859_9): Deleted.
3550         (latin_viscii_lower_to_ucs): Deleted.
3551         (ucs_to_latin_viscii_lower): Deleted.
3552         (latin_viscii_upper_to_ucs): Deleted.
3553         (ucs_to_latin_viscii_upper): Deleted.
3554         (struct Lisp_Charset): Renamed `encoding_table' to
3555         `to_byte1_table'; add `to_byte2_table'.
3556         (CHARSET_DECODING_TABLE): New macro.
3557         (CHARSET_TO_BYTE1_TABLE): New macro.
3558         (CHARSET_TO_BYTE2_TABLE): New macro.
3559         (XCHARSET_DECODING_TABLE): New macro.
3560         (XCHARSET_TO_BYTE1_TABLE): New macro.
3561         (XCHARSET_TO_BYTE2_TABLE): New macro.
3562         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3563         tables.
3564         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3565         don't use `ucs_to_*' tables.
3566
3567 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3568
3569         * text-coding.c (Fmake_coding_system): Don't set up
3570         `codesys->fixed.size'.
3571         (encode_coding_no_conversion): Use `if' instead of `switch'.
3572
3573         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3574
3575 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3576
3577         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3578         (Fmake_charset): Modify for `make_charset'.
3579         (Fmake_reverse_direction_charset): Likewise.
3580         (complex_vars_of_mule_charset): Likewise.
3581
3582 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3583
3584         * text-coding.c (char_encode_shift_jis): Use table
3585         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3586
3587 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3588
3589         * text-coding.c (text_encode_generic): Use `if' instead of
3590         `switch'.
3591         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3592         decode JIS-Latin.
3593
3594 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3595
3596         * text-coding.c (encode_coding_sjis): Deleted.
3597         (char_encode_shift_jis): New function.
3598         (char_finish_shift_jis): New function.
3599         (reset_encoding_stream): Set up `encode_char' and `finish' for
3600         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3601         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3602         (char_encode_utf8): Treat `eol_type'.
3603
3604 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3605
3606         * file-coding.c (decode_coding_iso2022): Use
3607         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3608
3609 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3610
3611         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3612         to 0.7 (Hirano).
3613
3614 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3615
3616         * char-lb.h (CHAR_COLUMNS): New macro.
3617
3618 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3619
3620         * text-coding.c (char_encode_ucs4): New function.
3621         (char_finish_ucs4): New function.
3622         (encode_coding_ucs4): Deleted.
3623         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3624         (text_encode_generic): Delete local variable `charset' and `half'.
3625         (ucs_to_mule_table): Deleted.
3626         (mule_to_ucs_table): Deleted.
3627         (Fset_ucs_char): Deleted.
3628         (ucs_to_char): Deleted.
3629         (Fucs_char): Deleted.
3630         (Fset_char_ucs): Deleted.
3631         (Fchar_ucs): Deleted.
3632         (decode_ucs4): Deleted.
3633         (mule_char_to_ucs4): Deleted.
3634         (encode_ucs4): Deleted.
3635         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3636         (decode_coding_utf8): Likewise.
3637         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3638         (char_encode_iso2022): Fixed.
3639         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3640         `Fset_char_ucs' and `Fchar_ucs'.
3641         (complex_vars_of_file_coding): Don't initialize
3642         `ucs_to_mule_table'.
3643
3644         * objects-tty.c (tty_initialize_font_instance): Don't use
3645         `XCHARSET_COLUMNS'.
3646
3647         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3648         UTF-2000.
3649
3650         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3651         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3652
3653         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3654         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3655         (emchar_string_displayed_columns): Likewise.
3656
3657         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3658         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3659         (string_column_at_point): Likewise.
3660         (Fmove_to_column): Likewise.
3661
3662         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3663         `encoding_table' and `decoding_table'.
3664         (CHARSET_REP_BYTES): Deleted.
3665         (XCHARSET_REP_BYTES): Deleted.
3666         (XCHARSET_COLUMNS): Deleted.
3667         (CHAR_COLUMNS): New macro.
3668         (lookup_composite_char): Deleted unconditionally.
3669         (composite_char_string): Likewise.
3670
3671 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3672
3673         * char-ucs.h (Emchar_to_byte_table): New type.
3674         (get_byte_from_character_table): New function interface.
3675         (Vcharset_latin_jisx0201): New variable.
3676         (latin_jisx0201_to_ucs): New variable.
3677         (ucs_to_latin_jisx0201): New variable.
3678         (Vcharset_latin_iso8859_2): New variable.
3679         (latin_iso8859_2_to_ucs): New variable.
3680         (ucs_to_latin_iso8859_2): New variable.
3681         (Vcharset_latin_iso8859_3): New variable.
3682         (latin_iso8859_3_to_ucs): New variable.
3683         (ucs_to_latin_iso8859_3): New variable.
3684         (Vcharset_latin_iso8859_4): New variable.
3685         (latin_iso8859_4_to_ucs): New variable.
3686         (ucs_to_latin_iso8859_4): New variable.
3687         (Vcharset_latin_iso8859_9): New variable.
3688         (latin_iso8859_9_to_ucs): New variable.
3689         (ucs_to_latin_iso8859_9): New variable.
3690         (Vcharset_latin_viscii_lower): New variable.
3691         (latin_viscii_lower_to_ucs): New variable.
3692         (ucs_to_latin_viscii_lower): New variable.
3693         (Vcharset_latin_viscii_upper): New variable.
3694         (latin_viscii_upper_to_ucs): New variable.
3695         (ucs_to_latin_viscii_upper): New variable.
3696         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3697         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3698         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3699         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3700         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3701         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3702         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3703         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3704         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3705         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3706
3707         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3708         (Vcharset_latin_viscii_upper): New variable.
3709         (make_byte_from_character_table): New function.
3710         (put_byte_from_character_table): New function.
3711         (get_byte_from_character_table): New function.
3712         (CHAR96): New macro.
3713         (ucs_to_latin_jisx0201): New variable.
3714         (latin_jisx0201_to_ucs): New variable.
3715         (ucs_to_latin_iso8859_2): New variable.
3716         (latin_iso8859_2_to_ucs): New variable.
3717         (ucs_to_latin_iso8859_3): New variable.
3718         (latin_iso8859_3_to_ucs): New variable.
3719         (ucs_to_latin_iso8859_4): New variable.
3720         (latin_iso8859_4_to_ucs): New variable.
3721         (ucs_to_latin_iso8859_9): New variable.
3722         (latin_iso8859_9_to_ucs): New variable.
3723         (ucs_to_latin_viscii_lower): New variable.
3724         (latin_viscii_lower_to_ucs): New variable.
3725         (ucs_to_latin_viscii_upper): New variable.
3726         (latin_viscii_upper_to_ucs): New variable.
3727         (ucs_to_latin_tcvn5712): New variable.
3728         (latin_tcvn5712_to_ucs): New variable.
3729         (Qlatin_viscii_lower): New variable.
3730         (Qlatin_viscii_upper): New variable.
3731         (syms_of_mule_charset): Set up new symbol
3732         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3733         (complex_vars_of_mule_charset): Set up new charset
3734         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3735         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3736         `ucs_to_<CHARSET>' tables.
3737
3738 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3739
3740         * text-coding.c: New file.
3741
3742 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3743
3744         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3745
3746         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3747         (MAKE_CHAR): Modify for `ucs-bmp'.
3748         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3749         non-MULE characters of BMP.
3750
3751 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3752
3753         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3754         to 0.6.
3755
3756 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3757
3758         * lstream.h:
3759         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3760         - Include character.h for `CHAR_ASCII_P'.
3761
3762         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3763
3764         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3765         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3766
3767         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3768         (BYTE_C0_P): Likewise.
3769         (BYTE_C1_P): Likewise.
3770         (Lstream_get_emchar_1): Likewise.
3771         (Lstream_fput_emchar): Likewise.
3772         (Lstream_funget_emchar): Likewise.
3773         (copy_internal_to_external): Likewise.
3774         (copy_external_to_internal): Likewise.
3775
3776         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3777         (BYTE_C0_P): Likewise.
3778         (BYTE_C1_P): Likewise.
3779         (Lstream_get_emchar_1): Likewise.
3780         (Lstream_fput_emchar): Likewise.
3781         (Lstream_funget_emchar): Likewise.
3782         (copy_internal_to_external): Likewise.
3783         (copy_external_to_internal): Likewise.
3784
3785         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3786         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3787
3788         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3789         (BYTE_ASCII_P): Moved to mb-1byte.h.
3790
3791 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3792
3793         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3794
3795         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3796         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3797         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3798         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3799         (VALIDATE_CHARPTR_FORWARD): Likewise.
3800         (simple_charptr_emchar): Moved to mb-multibyte.h.
3801         (simple_set_charptr_emchar): Likewise.
3802         (simple_charptr_copy_char): Likewise.
3803         (non_ascii_charptr_emchar): Likewise.
3804         (non_ascii_set_charptr_emchar): Likewise.
3805         (non_ascii_charptr_copy_char): Likewise.
3806         (charptr_emchar): Moved to mb-*byte.h.
3807         (set_charptr_emchar): Likewise.
3808         (charptr_copy_char): Likewise.
3809
3810         * mb-1byte.h, mb-multibyte.h: New files.
3811
3812 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3813
3814         * mb-utf-8.h (MULTIBYTE): New macro.
3815         (MAX_EMCHAR_LEN): Moved from buffer.h.
3816         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3817
3818         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3819
3820         * mb-lb.h, multibyte.h: New files.
3821
3822         * char-1byte.h (Charset_ID): Moved from buffer.h.
3823         (MIN_LEADING_BYTE): Likewise.
3824         (LEADING_BYTE_ASCII): Likewise.
3825         (NUM_LEADING_BYTES): Likewise.
3826         (CHARSETP): Likewise.
3827         (CHARSET_BY_LEADING_BYTE): Likewise.
3828         (XCHARSET_LEADING_BYTE): Likewise.
3829         (XCHARSET_GRAPHIC): Likewise.
3830         (XCHARSET_COLUMNS): Likewise.
3831         (XCHARSET_DIMENSION): Likewise.
3832         (CHAR_CHARSET): Likewise.
3833         (CHAR_LEADING_BYTE): Likewise.
3834         (BREAKUP_CHAR): Likewise.
3835         (Vcharset_ascii): Likewise.
3836
3837         * buffer.h: Include multibyte.h unconditionally.
3838         (VALID_CHARPTR_P): Moved to multibyte.h.
3839         (ASSERT_VALID_CHARPTR): Likewise.
3840         (REAL_INC_CHARPTR): Likewise.
3841         (REAL_INC_CHARBYTIND): Likewise.
3842         (REAL_DEC_CHARPTR): Likewise.
3843         (INC_CHARPTR): Likewise.
3844         (INC_CHARBYTIND): Likewise.
3845         (DEC_CHARPTR): Likewise.
3846         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3847         (VALIDATE_CHARPTR_FORWARD): Likewise.
3848         (charptr_n_addr): Likewise.
3849         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3850         (simple_charptr_emchar): Moved to multibyte.h.
3851         (simple_set_charptr_emchar): Likewise.
3852         (simple_charptr_copy_char): Likewise.
3853         (non_ascii_charptr_emchar): Likewise.
3854         (non_ascii_set_charptr_emchar): Likewise.
3855         (non_ascii_charptr_copy_char): Likewise.
3856         (charptr_emchar): Likewise.
3857         (set_charptr_emchar): Likewise.
3858         (charptr_copy_char): Likewise.
3859         (charptr_emchar_n): Likewise.
3860         (Charset_ID): Moved to char-1byte.h.
3861         (Vcharset_ascii): Likewise.
3862         (CHAR_CHARSET): Likewise.
3863         (CHAR_LEADING_BYTE): Likewise.
3864         (LEADING_BYTE_ASCII): Likewise.
3865         (NUM_LEADING_BYTES): Likewise.
3866         (MIN_LEADING_BYTE): Likewise.
3867         (CHARSETP): Likewise.
3868         (CHARSET_BY_LEADING_BYTE): Likewise.
3869         (XCHARSET_LEADING_BYTE): Likewise.
3870         (XCHARSET_GRAPHIC): Likewise.
3871         (XCHARSET_COLUMNS): Likewise.
3872         (XCHARSET_DIMENSION): Likewise.
3873         (BREAKUP_CHAR): Likewise.
3874
3875 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3876
3877         * character.h: Add document about interface for characters.
3878
3879         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3880         (MAKE_CHAR): Delete comment about
3881         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3882         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3883         (BREAKUP_CHAR): Modify name of arguments.
3884         (CHAR_CHARSET): Modify name of argument.
3885
3886         * buffer.h: Delete document about Emchar accessors.
3887
3888 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3889
3890         * character.h (CHAR_INTP): Moved from buffer.h
3891         (CHAR_OR_CHAR_INTP): Likewise.
3892         (XCHAR_OR_CHAR_INT): Likewise.
3893         (CHECK_CHAR_COERCE_INT): Likewise.
3894
3895         * buffer.h (CHAR_INTP): Moved to character.h
3896         (CHAR_OR_CHAR_INTP): Likewise.
3897         (XCHAR_OR_CHAR_INT): Likewise.
3898         (CHECK_CHAR_COERCE_INT): Likewise.
3899
3900 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3901
3902         * character.h:
3903         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3904         - Include char-1byte.h, char-lb.h or char-ucs.h.
3905
3906         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3907
3908         * buffer.h: Include character unconditionally.
3909         (valid_char_p): Moved to char-*.h.
3910         (non_ascii_valid_char_p): Moved to char-lb.h.
3911
3912         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3913
3914 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3915
3916         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3917         in UTF-2000 because it is not ported yet and not to use
3918         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3919         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3920         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3921
3922         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3923         (CHAR_ASCII_P): Moved from character.h.
3924
3925         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3926         (CHAR_ASCII_P): Likewise.
3927         (CHAR_FIELD1_MASK): Deleted.
3928         (CHAR_FIELD2_MASK): Deleted.
3929         (CHAR_FIELD3_MASK): Deleted.
3930         (MAX_CHAR_BASIC_LATIN): New macro.
3931         (CHAR_FIELD1): Deleted.
3932         (CHAR_FIELD2_INTERNAL): Deleted.
3933         (CHAR_FIELD3_INTERNAL): Deleted.
3934         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3935         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3936         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3937         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3938         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3939         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3940         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3941         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3942         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3943         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3944         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3945         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3946         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3947         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3948         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3949         (MIN_CHAR_COMPOSITION): Deleted.
3950         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3951         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3952
3953 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3954
3955         * buffer.h: Include mb-utf-8.h in UTF-2000.
3956
3957         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3958
3959         * mb-utf-8.h: New file.
3960
3961 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3962
3963         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3964         instead of `int'.
3965
3966         * mule-charset.h, buffer.h (Charset_ID): New type.
3967
3968 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3969
3970         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3971         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3972         instead of `MULE_CHAR_PRIVATE_OFFSET',
3973         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3974         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3975         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3976
3977         * character.h (Vcharset_japanese_jisx0212): New variable
3978         definition.
3979
3980 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3981
3982         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3983         (charset_by_attributes): Delete array about direction.
3984         (latin_a_char_to_charset): New variable in UTF-2000.
3985         (latin_a_char_to_byte1): New variable in UTF-2000.
3986         (latin_a_char_to_byte2): New variable in UTF-2000.
3987         (Qucs_bmp): New variable.
3988         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3989         `Bufbyte'.
3990         (next_allocated_2_byte_leading_byte): Likewise.
3991         (non_ascii_set_charptr_emchar): Likewise.
3992         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3993         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3994         `charset_by_attributes'.
3995         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3996         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3997         and `CHARSET_BY_LEADING_BYTE'.
3998         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3999         `utf-2000-version' to `vars_of_mule_charset'.
4000         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4001         define `leading-code-private-11' in UTF-2000; move setting of
4002         `utf-2000-version' from `syms_of_mule_charset'.
4003         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4004         UTF-2000.
4005
4006         * character.h (Charset_ID): New type.
4007         (LEADING_BYTE_UCS_BMP): New macro.
4008         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4009         (CHARSET_ID_OFFSET_94): New macro.
4010         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4011         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4012         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4013         final-byte.
4014         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4015         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4016         (CHARSET_ID_OFFSET_96): New macro.
4017         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4018         CHARSET_ID_OFFSET_96 and final-byte.
4019         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4020         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4021         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4022         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4023         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4024         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4025         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4026         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4027         (LEADING_BYTE_THAI_TIS620): Likewise.
4028         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4029         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4030         (CHARSET_ID_OFFSET_94x94): New macro.
4031         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4032         CHARSET_ID_OFFSET_94x94 and final-byte.
4033         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4034         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4035         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4036         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4037         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4038         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4039         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4040         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4041         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4042         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4043         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4044         (CHARSET_TYPE_128X128): New macro.
4045         (CHARSET_TYPE_256X256): New macro.
4046         (XCHARSET_PRIVATE_P): Delete unconditionally.
4047         (charset_by_attributes): Delete array about direction.
4048         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4049         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4050         (MIN_CHAR_94): New macro.
4051         (MAX_CHAR_94): New macro.
4052         (MIN_CHAR_96): New macro.
4053         (MAX_CHAR_96): New macro.
4054         (MIN_CHAR_94x94): New macro.
4055         (MAX_CHAR_94x94): New macro.
4056         (MIN_CHAR_96x96): New macro.
4057         (MAX_CHAR_96x96): New macro.
4058         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4059         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4060         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4061         - 32)'.
4062         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4063         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4064         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4065         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4066         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4067         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4068         `XCHARSET_LEADING_BYTE' to make code-point.
4069         (latin_a_char_to_charset): New variable.
4070         (latin_a_char_to_byte1): New variable.
4071         (latin_a_char_to_byte2): New variable.
4072         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4073         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4074         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4075
4076         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4077         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4078         (find_charsets_in_emchar_string): Likewise.
4079         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4080
4081         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4082         `int'.
4083         (decode_coding_iso2022): Likewise.
4084
4085         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4086         of `unsigned char'.
4087
4088         * redisplay.c (redisplay_text_width_emchar_string): Use
4089         `Charset_ID' instead of `unsigned char'.
4090         (redisplay_frame_text_width_string): Likewise.
4091
4092         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4093         `unsigned char'.
4094
4095         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4096         instead of `unsigned char'.
4097         (face_cachel_charset_font_metric_info): Likewise.
4098
4099         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4100         (get_non_ascii_char_table_value): Likewise.
4101         (get_char_table): Likewise.
4102         (put_char_table): Likewise.
4103         (map_over_other_charset): Likewise.
4104         (map_char_table): Likewise.
4105
4106         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4107         instead of `unsigned char'.
4108
4109 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4110
4111         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4112         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4113
4114         * mule-charset.c (leading_code_private_11): Don't define in
4115         UTF-2000.
4116
4117         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4118         in UTF-2000 because it is not ported yet and not to use
4119         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4120
4121 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4122
4123         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4124
4125 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4126
4127         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4128         in UTF-2000.
4129
4130         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4131         of unsigned char to store leading-byte.
4132
4133         * chartab.c (get_non_ascii_char_table_value): Don't use
4134         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4135
4136         * file-coding.c (encode_coding_big5): Delete bogus implementation
4137         in UTF2000.
4138
4139         * character.h (LEADING_BYTE_*): Delete definition for
4140         non-UTF-2000.
4141         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4142         (LEADING_BYTE_PREFIX_P): Deleted.
4143         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4144         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4145         (BUFBYTE_LEADING_BYTE_P): Deleted.
4146         (CHARSET_PRIVATE_P): Deleted unconditionally.
4147         (rep_bytes_by_first_byte): Deleted unconditionally.
4148         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4149         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4150         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4151         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4152         (CHAR_FIELD2): Deleted.
4153         (CHAR_FIELD3): Deleted.
4154         (MAKE_CHAR): Delete definition for non-UTF-2000.
4155         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4156         (breakup_char_1): New implementation.
4157         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4158         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4159
4160 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4161
4162         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4163         condition.
4164
4165 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4166
4167         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4168         (CHARSET_PRIVATE_P): Likewise.
4169         (XCHARSET_PRIVATE_P): Likewise.
4170         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4171
4172         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4173         UTF2000.
4174         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4175
4176 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4177
4178         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4179         (NUM_LEADING_BYTES): Changed from 128 to 256.
4180         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4181         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4182         UTF2000.
4183         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4184
4185         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4186         UTF2000.
4187         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4188         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4189         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4190         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4191         (Qchinese_cns11643_3): New variable in UTF2000.
4192         (Qchinese_cns11643_4): New variable in UTF2000.
4193         (Qchinese_cns11643_5): New variable in UTF2000.
4194         (Qchinese_cns11643_6): New variable in UTF2000.
4195         (Qchinese_cns11643_7): New variable in UTF2000.
4196         (syms_of_mule_charset): Define `chinese-cns11643-3',
4197         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4198         and `chinese-cns11643-7' in UTF2000.
4199         (vars_of_mule_charset): Initialize
4200         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4201         + 1 in UTF2000.
4202         (complex_vars_of_mule_charset): Setup charset
4203         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4204         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4205
4206 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4207
4208         * mule-charset.c: Move setting for `leading-code-private-11' from
4209         `syms_of_mule_charset' to `vars_of_mule_charset'.
4210
4211 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4212
4213         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4214         and `NUM_LEADING_BYTES' in assert.
4215
4216 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4217
4218         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4219         instead of 128.
4220         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4221         `NUM_LEADING_BYTES' instead of 128.
4222
4223 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4224
4225         * mule-charset.h (charset_by_leading_byte): Use
4226         `NUM_LEADING_BYTES' instead of 128.
4227         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4228
4229         * mule-charset.c (charset_by_leading_byte): Use
4230         `NUM_LEADING_BYTES' instead of 128.
4231         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4232
4233         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4234         128.
4235
4236 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4237
4238         * mule-charset.c (syms_of_mule_charset): Update to
4239         0.4 (Shin-Imamiya).
4240
4241 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4242
4243         * file-coding.c (encode_coding_sjis): New implementation for
4244         UTF2000.  (decode_coding_sjis): Ditto.
4245
4246 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4247
4248         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4249         Don't define in UTF2000.
4250
4251         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4252         defined.
4253
4254         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4255         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4256         MULE.
4257
4258 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4259
4260         * config.h.in (CHAR_IS_UCS4): New macro.
4261
4262         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4263         conventional MULE representation.
4264         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4265
4266         * mule-charset.h: Reverted to original.
4267
4268         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4269         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4270         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4271
4272         * character.h: New file.
4273
4274         * file-coding.c (Fmake_coding_system): Set 1 to
4275         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4276         defined.
4277         (encode_coding_no_conversion): New implementation for UTF2000.
4278
4279         * file-coding.h (struct Lisp_Coding_System): Add new member
4280         `fixed.size'.
4281
4282 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4283
4284         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4285         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4286         (encode_coding_iso2022): New implementation for UTF2000.
4287
4288 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4289
4290         * mule-canna.c (c2mu): New implementation for UTF2000.
4291         (m2c): Likewise.
4292
4293 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4294
4295         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4296
4297 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4298
4299         * file-coding.c (reset_encoding_stream): Set 0 to
4300         `str->iso2022.current_char_boundary' in UTF2000.
4301         (encode_utf8): Don't define in UTF2000.
4302         (encode_coding_utf8): New implementation for UTF-8 representation
4303         of UTF2000.
4304         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4305
4306 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4307
4308         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4309
4310         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4311         UTF2000.
4312         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4313
4314         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4315
4316         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4317         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4318         as UTF-8 in UTF2000.
4319         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4320         (non_ascii_valid_char_p): Don't define in UTF2000.
4321         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4322         (Lstream_get_emchar_1): Likewise.
4323         (utf-2000-version): New variable in UTF2000.
4324
4325         * lread.c (read_escape): Add new reader `u'.
4326
4327         * insdel.c (three_to_one_table): Don't define in UTF2000.
4328         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4329         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4330         UTF2000.
4331         (bytind_to_bufpos_func): Likewise.
4332         (buffer_mule_signal_inserted_region): Likewise.
4333         (vars_of_insdel): Don't initialize `three_to_one_table'.
4334         (init_buffer_text): Use `buf->text->mule_size' instead of
4335         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4336         UTF2000.
4337
4338         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4339         UTF-8 representation in UTF2000.
4340         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4341         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4342         (decode_coding_iso2022): Don't define local variable `lb' in
4343         UTF2000; don't use LEADING_BYTE in UTF2000; use
4344         `DECODE_ADD_UCS_CHAR' in UTF2000.
4345         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4346
4347         * config.h.in (UTF2000): New macro.
4348
4349         * buffer.h (struct buffer_text): Add new member `mule_size' and
4350         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4351         (valid_char_p): Return always 1 in UTF2000.
4352         (MAX_EMCHAR_LEN): 6 in UTF2000.
4353         (three_to_one_table): Don't define in UTF2000.
4354         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4355         UTF2000.
4356         (real_bytind_to_bufpos): Likewise.
4357
4358         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4359
4360 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4361
4362         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4363         representation change.
4364         (Vutf_2000_version): New variable.
4365         (leading_code_private_11): New variable.
4366         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4367         `leading-code-private-11'.
4368
4369         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4370         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4371         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4372         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4373         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4374         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4375         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4376         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4377         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4378         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4379         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4380         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4381         (MIN_CHAR_GREEK): New macro.
4382         (MAX_CHAR_GREEK): New macro.
4383         (MIN_CHAR_CYRILLIC): New macro.
4384         (MAX_CHAR_CYRILLIC): New macro.
4385         (MIN_CHAR_HEBREW): New macro.
4386         (MAX_CHAR_HEBREW): New macro.
4387         (MIN_CHAR_THAI): New macro.
4388         (MAX_CHAR_THAI): New macro.
4389         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4390         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4391         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4392         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4393         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4394         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4395         (CHAR_FIELD2): New inline function.
4396         (CHAR_FIELD3): New inline function.
4397         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4398         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4399         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4400         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4401         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4402         (MIN_CHAR_COMPOSITION): Likewise.
4403         (CHAR_LEADING_BYTE): Modified for character representation change.
4404         (MAKE_CHAR): Likewise.
4405
4406         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4407         (Vcharset_greek_iso8859_7): Likewise.
4408         (Vcharset_cyrillic_iso8859_5): Likewise.
4409         (Vcharset_hebrew_iso8859_8): Likewise.
4410         (Vcharset_thai_tis620): Likewise.
4411         (Vcharset_katakana_jisx0201): Likewise.
4412
4413 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
4414
4415         * XEmacs 21.4.9 "Informed Management" is released.
4416
4417 2002-08-19  Andy Piper  <andy@xemacs.org>
4418
4419         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
4420         win32 format.
4421
4422         * realpath.c (xrealpath): normalize drive spec also so that dir
4423         sep chars are not mixed on cygwin.
4424
4425 2002-08-06  Jerry James  <james@xemacs.org>
4426
4427         * window.c (Fsplit_window): Count only half of the divider width
4428         against the left window when splitting horizontally. 
4429
4430 2002-06-24  Andy Piper  <andy@xemacs.org>
4431
4432         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
4433         toolbar was cleared.
4434
4435         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
4436         function. Split out from mswindows_output_frame_toolbars.
4437         (mswindows_output_frame_toolbars): move clear pieces to
4438         mswindows_output_frame_toolbars.
4439
4440         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
4441         out from gtk_output_frame_toolbars.
4442         (gtk_output_frame_toolbars): move clear pieces to
4443         gtk_clear_frame_toolbars.
4444
4445         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
4446         the frame is cleared. How this ever worked before is a mystery.
4447         (x_output_frame_toolbars): Only output toolbars.
4448         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
4449
4450         * gutter.c (update_gutter_geometry):
4451         Mark frame layout changed.
4452         (update_frame_gutter_geometry, update_frame_gutters):
4453         Respect frame_layout_changed.
4454
4455         * console.h (struct console_methods): add
4456         clear_frame_toolbars_method.
4457
4458         * redisplay.c (redisplay_frame): call
4459         update_frame_toolbars_geometry and re-order update_frame_toolbars.
4460
4461         * toolbar.h: declare update_frame_toolbars_geometry.
4462
4463         * toolbar.c (update_frame_toolbars_geometry): new function. Split
4464         out from update_frame_toolbars.  Call clear_frame_toolbars.
4465         (update_frame_toolbars): only output, do not change geometry.
4466
4467         * redisplay.c: add frame_layout_changed.
4468
4469         * redisplay.h: add frame_layout_changed.
4470         (CLASS_RESET_CHANGED_FLAGS): set it.
4471         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
4472         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
4473         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
4474
4475         * device.h (struct device): add frame_layout_changed.
4476         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
4477
4478         * frame.h (struct frame): add frame_layout_changed.
4479         (MARK_FRAME_LAYOUT_CHANGED): new.
4480
4481 2002-06-30  Mike Alexander  <mta@arbortext.com>
4482
4483         * event-msw.c (mswindows_need_event): Don't wait for a new message
4484         if the queue is not empty.  Suggested by Paul Moore.
4485
4486 2002-06-12  Andy Piper  <andy@xemacs.org>
4487
4488         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
4489         for printing on accurately.
4490
4491 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
4492
4493         * event-msw.c (mswindows_wnd_proc): Add a handler for the
4494         WM_ACTIVATE message. Make sure that the frame is visible if the
4495         window is visible. This seemss to fix the problem where XEmacs
4496         appears to freeze after switching desktops with certain virtual
4497         window managers.
4498         (debug_output_mswin_message): Added code to output message
4499         parameters for WM_WINDOWPOSCHANGED, 
4500         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
4501
4502 2002-05-25  Andy Piper  <andy@xemacs.org>
4503
4504         * select-x.c (vars_of_select_x): Fix docstring of
4505         x-selection-strict-motif-ownership
4506
4507 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4508
4509         * keymap.c (get_keymap):
4510         Add comment about do_autoload GCPROs own args.
4511
4512 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4513
4514         * bytecode.c (execute_optimized_program): check_opcode ifdef
4515         ERROR_CHECK_BYTE_CODE.
4516
4517 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4518
4519         Thanks to Ben Wing and Michael Sperber.
4520
4521         * eval.c (Fcommand_execute):
4522         (Feval):
4523         (Ffuncall):
4524         (Fmacroexpand_internal):
4525         (function_argcount):
4526         callint.c (Fcall_interactively):
4527         Add comment about do_autoload GCPROs own args.
4528
4529         * (do_autoload): GCPRO both args as well as local Lisp_Object.
4530
4531         * eval.c (Ffuncall): Extra braces to placate GCC.
4532
4533 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
4534
4535         * backtrace.h (grow_specpdl):
4536         (SPECPDL_RESERVE):
4537         * EmacsFrame.c (EmacsFrameSetValues):
4538         * eval.c (grow_specpdl):
4539         * ExternalShell.c (hack_event_masks_1):
4540         * glyphs-x.c (convert_EImage_to_XImage): 
4541         (x_finalize_image_instance):
4542         * ralloc.c (page_size):
4543         (r_alloc_sbrk):
4544         * xgccache.c (gc_cache_hash):
4545         Fix unsigned comparison warnings.
4546
4547 2002-07-29  Jerry James  <james@xemacs.org>
4548
4549         * lread.c (locate_file): Any nonnegative return value indicates
4550         success if MODE is nonnegative.
4551
4552 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
4553
4554         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
4555         argument. 
4556
4557 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
4558
4559         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
4560
4561         * dumper.c (pdump_get_indirect_count):
4562         (pdump_scan_by_alignment):
4563         (pdump_dump_root_struct_ptrs):
4564         (pdump_dump_rtables):
4565         (pdump_dump_root_objects):
4566         (pdump):
4567         * nas.c (WaveOpenDataForReading):
4568         * fns.c (print_bit_vector):
4569         * font-lock.c (SINGLE_SYNTAX_STYLE):
4570         * glyphs.c (check_for_ignored_expose):
4571         (find_matching_subwindow):
4572         * glyphs-eimage.c:
4573         * imgproc.c (get_histogram):
4574         * redisplay.c (point_in_line_start_cache):
4575         * redisplay-output.c (redisplay_unmap_subwindows):
4576         * symbols.c (defsymbol_massage_name_1):
4577         (defkeyword_massage_name):
4578         (deferror_massage_name_and_message):
4579         * redisplay-x.c (x_output_string): 
4580         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
4581         * frame.h (struct frame):
4582         * filelock.c (current_lock_owner):
4583         * doprnt.c (emacs_doprnt_1):
4584         * lisp.h (struct Lisp_Bit_Vector):
4585         (DO_REALLOC):
4586         Fix warnings.
4587
4588 2002-02-13  Ben Wing  <ben@xemacs.org>
4589
4590         * event-stream.c (reset_key_echo):
4591         * event-stream.c (reset_this_command_keys):
4592         * event-stream.c (execute_command_event):
4593         If console is dead as a result of C-x 5 0, then post-command stuff
4594         needs to be careful and do only non-console-specific stuff.
4595
4596 2002-07-01  Mike Sperber <mike@xemacs.org>
4597
4598         * process-unix.c (unix_send_process): Mark coding_outstream as
4599         non-open upon SIGPIPE.
4600
4601         * event-stream.c (Fnext_event): Reorder switch cases to something
4602         that makes sense.
4603
4604 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
4605
4606         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
4607         Don't bogusly reinitialize ascii_character property.
4608
4609 2002-07-08  Mike Sperber <mike@xemacs.org>
4610
4611         * process.c (Fstart_process_internal): Do error checking before we
4612         fork off the child, so the child can't muck with the state of the
4613         parent.
4614
4615 2002-07-08  Mike Sperber <mike@xemacs.org>
4616
4617         * ralloc.c (init_ralloc): Allocate properly for pdump.
4618
4619 2002-06-12  Andy Piper  <andy@xemacs.org>
4620
4621         * glyphs.c (query_string_geometry): check the string.
4622
4623         * glyphs-widget.c (widget_logical_unit_height): cope with nil
4624         widget names.
4625
4626 2002-06-17  Jerry James  <james@xemacs.org>
4627
4628         * sysdll.c: Remove RTLD_GLOBAL initialization.
4629         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
4630
4631 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
4632
4633         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
4634
4635 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
4636
4637         * sysdep.c (sys_rename): Make sys_rename work for the case where
4638         Windows rename sets errno to EACCES if target file exists.
4639
4640 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
4641
4642         * device-msw.c (mswindows_handle_page_setup_dialog_box):
4643         Fix detection of metric units to work on Win95
4644
4645 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
4646
4647         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
4648
4649 2002-04-25  Andy Piper  <andy@xemacs.org>
4650
4651         * redisplay.c (create_text_block): Remove extra comment trailer.
4652
4653 2002-04-24  Andy Piper  <andy@xemacs.org>
4654
4655         * redisplay.c (create_text_block): Don't actually add propagation
4656         data if the line ends after we have added a glyph.
4657
4658 2002-04-22  Andy Piper  <andy@xemacs.org>
4659
4660         * extents.c (extent_fragment_update): check for glyphs we have
4661         previously displayed.
4662         * extents.c (print_extent_1): warning removal.
4663         * extents.h: change prototype.
4664         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
4665         widths correctly for wide glyphs.
4666         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
4667         * redisplay.c (prop_type): add PROP_GLYPH.
4668         * redisplay.c (struct prop_block): add glyph type
4669         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
4670         to the propagation data.
4671         * redisplay.c (create_text_block): if there is a glyph in the
4672         propagation data use it to salt extent_fragment_update.
4673         * redisplay.c (create_string_text_block): ditto.
4674
4675 2002-04-13  Nix  <nix@esperi.demon.co.uk>
4676
4677         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
4678         * redisplay-output.c (compare_runes): Compare them.
4679         * redisplay.c: Update copyright date.
4680         * redisplay.c (pos_data): Add need_baseline_computation field.
4681         * redisplay.c (add_glyph_rune): Update ascent, descent, and
4682         need_baseline_computation; zero yoffset. Set max_pixmap_height
4683         for all pixmaps, not just automatically positioned ones.
4684         * redisplay.c (calculate_yoffset): New, compute yoffset values.
4685         * redisplay.c (calculate_baseline): New, compute textual baseline.
4686         * redisplay.c (add_glyph_rune): Call them.
4687         * redisplay.c (create_text_block): Likewise.
4688         * redisplay.c (create_overlay_glyph_block): Likewise.
4689         * redisplay.c (add_margin_runes): Likewise.
4690         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
4691
4692         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
4693         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
4694         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
4695         * redisplay-msw.c (mswindows_output_string): Likewise.
4696         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
4697         * redisplay-gtk.c (gtk_output_display_block): Likewise.
4698         * redisplay-x.c (x_output_display_block): Likewise.
4699
4700 2002-03-28  Ben Wing  <ben@xemacs.org>
4701
4702         * redisplay.c: Fixed bug in redisplay
4703         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
4704         and down of the lines, since they're bigger than the line
4705         size. (It was seen most obviously when there's a horizontal scroll
4706         bar, e.g. do C-h a glyph or something like that.) The problem was
4707         that the glyph-contrib-p setting on glyphs was ignored even if it
4708         was set properly, which it wasn't until now.
4709
4710 2002-04-24  Andy Piper  <andy@xemacs.org>
4711
4712         * lisp.h (Dynarr_end): Fix definition.
4713
4714 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
4715
4716         * redisplay.c (mark_redisplay): Remove call to
4717         update_frame_window_mirror.
4718
4719 2001-11-15  Andy Piper  <andy@xemacs.org>
4720
4721         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
4722         cygwin (again).
4723
4724 2002-02-13  Andy Piper  <andy@xemacs.org>
4725
4726         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
4727         we did in fact enqueue the XM_MAPFRAME event.
4728
4729 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
4730
4731         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
4732         to fix problem switching between virtual desktops under virtuawin
4733         virtual window manager.
4734
4735 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
4736
4737         * event-msw.c: Typo fix.
4738         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
4739         magic XM_MAPFRAME event has been sent.
4740
4741 2001-11-23  Andy Piper  <andy@xemacs.org>
4742
4743         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
4744
4745 2001-11-21  Andy Piper  <andy@xemacs.org>
4746
4747         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
4748         mouse events outside the frame.
4749
4750 2002-03-20  Andy Piper  <andy@xemacs.org>
4751
4752         * menubar-msw.c (mswindows_popup_menu): warning removal.
4753         * dialog-msw.c (dialog_popped_down): ditto.
4754
4755 2001-12-11  Andy Piper  <andy@xemacs.org>
4756
4757         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
4758         * dialog-msw.c (mswindows_make_dialog_box_internal): set
4759         popup_up_p.
4760         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
4761         * menubar-msw.c (mswindows_handle_wm_command): ditto.
4762         * menubar-msw.c (mswindows_popup_menu): ditto.
4763
4764 2001-10-29  Andy Piper  <andy@xemacs.org>
4765
4766         * dialog-msw.c (handle_directory_dialog_box): quit if the user
4767         cancels.
4768
4769 2002-01-03  Andy Piper  <andy@xemacs.org>
4770
4771         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
4772         letters.
4773         (xrealpath): ditto.
4774
4775 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
4776
4777         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
4778         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
4779         * device-msw.c (mswindows_handle_page_setup_dialog_box):
4780         Detect and handle case where machine is set up for metric units
4781
4782 2002-04-02  Andy Piper  <andy@xemacs.org>
4783
4784         * dired-msw.c (mswindows_get_files): 
4785         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
4786         completely handled by XEmacs. Suggested by Thomas Vogler
4787         <mail@thomas-vogler.de>.
4788
4789 2001-11-14  Andy Piper  <andy@xemacs.org>
4790
4791         * nt.c (REG_ROOT): change registry key to XEmacs.
4792
4793 2002-04-27  Andy Piper  <andy@xemacs.org>
4794
4795         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
4796
4797 2002-04-26  Andy Piper  <andy@xemacs.org>
4798
4799         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
4800         behavior.
4801
4802 2002-03-14  Mike Alexander  <mta@arbortext.com>
4803
4804         * event-msw.c (mswindows_unwait_process): New, remove process from
4805         wait list
4806         * process-nt.c (nt_finalize_process_data): Call
4807         mswindows_unwait_process
4808         * console-msw.h: Declare mswindows_unwait_process
4809
4810 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
4811
4812         * editfns.c (Fdecode_time):
4813         (Fformat_time_string):
4814         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
4815         (make_time): Warning elimination (change arg name).
4816
4817 2001-11-24  Andy Piper  <andy@xemacs.org>
4818
4819         * window.c (Fsplit_window): Doc return type.
4820
4821 2002-04-01  Andy Piper  <andy@xemacs.org>
4822
4823         * emacs.c (Fkill_emacs): Only output message box in interactive
4824         mode.
4825
4826 2002-04-26  Andy Piper  <andy@xemacs.org>
4827  
4828         * config.h.in: pull in 21.5.x change to stop alloca warnings under
4829         cygwin.
4830
4831 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
4832
4833         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
4834         bit platform.
4835
4836 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
4837
4838         * XEmacs 21.4.8 "Honest Recruiter" is released.
4839
4840 2002-05-07  Nix  <nix@esperi.demon.co.uk>
4841
4842         Supersedes 2002-04-17 patch.
4843
4844         * process.h (PROCESS_LIVE_P): Use the process status as
4845         evidence of health, not the state of the input stream.
4846         (PROCESS_READABLE_P): Say if the process is readable
4847         from. (It may be dead nonetheless.)
4848         (CHECK_READABLE_PROCESS): Test for that condition.
4849
4850         * process.c (create_process): Use PROCESS_READABLE_P.
4851         (read_process_output, set_process_filter): Likewise.
4852
4853         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
4854         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
4855
4856         This code is #if 0'd, this is not the time to add new functions:
4857
4858         * process.c (Fprocess_readable_p): Report readability status.
4859         * process.c (Qprocess_readable_p): New, associated symbol...
4860         * process.c (syms_of_process): ... initialize it.
4861
4862 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
4863
4864         * XEmacs 21.4.7 "Economic Science" is released.
4865
4866 2002-04-17  Nix  <nix@esperi.demon.co.uk>
4867
4868         * process.h (PROCESS_LIVE_P): Use the process status as
4869         evidence of health, not the state of the input stream.
4870
4871 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
4872
4873         * sysdep.c (sys_siglist): change "signum" to "signal"
4874
4875 2001-04-21  Martin Buchholz  <martin@xemacs.org>
4876
4877         * s/darwin.h: New file.
4878         Thanks to Greg Parker <gparker@cs.stanford.edu>.
4879         
4880 2002-04-23  Andreas Jaeger  <aj@suse.de>
4881
4882         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
4883         which use lib64 for 64-bit libs.
4884         (START_FILES): Likewise.
4885
4886 2002-02-11  Mike Sperber  <mike@xemacs.org>
4887
4888         * device-x.c: 
4889         (x_IO_error_handler):
4890         (x_init_device): Temporarily keep device in static variable
4891         `device_being_initialized' so we can recover gracefully from
4892         internal XOpenDevice failure.  (XOpenDevice is documented to
4893         return NULL on failure, but sometimes calls the IO error handler
4894         instead.)
4895
4896 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
4897
4898         * dired.c (Ffile_name_all_completions): Change documentation --
4899         remove reference to completion-ignored-extensions.
4900         * dired.c (vars_of_dired): Change documentation for
4901         completion-ignored-extensions -- remove reference to
4902         file-name-all-completions.
4903
4904 2002-03-06  Jerry James  <james@xemacs.org>
4905
4906         * emodules.c (emodules_load): Fix multiple loading of same module.
4907
4908 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
4909         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
4910         RTLD_LAZY to avoid incorrect symbol binding when using nested
4911         shared libraries on Solaris.
4912
4913 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
4914
4915         * fileio.c (Ffind_file_name_handler): Improve docstring.
4916
4917 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
4918
4919         * fns.c (Fmapconcat): Improve docstring.
4920
4921 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
4922
4923         * device-gtk.c: Add prototype for
4924         emacs_gtk_selection_clear_event_handle.
4925         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
4926         selection.  Setup signal handler for "selection_clear_event"
4927         (emacs_gtk_selection_clear_event_handle).
4928
4929         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
4930         other applications owning the clipboard (based on
4931         x_handle_selection_clear).
4932
4933 2001-12-23  William M. Perry  <wmperry@gnu.org>
4934
4935         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
4936         
4937 2002-01-04  Martin Buchholz  <martin@xemacs.org>
4938
4939         * keymap.c (define_key_alternate_name): Parenthesize EQ.
4940
4941 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
4942
4943         * XEmacs 21.4.6 "Common Lisp" is released.
4944
4945 2001-12-16  Torsten Duwe  <duwe@caldera.de>
4946
4947         * search.c (Freplace_match): Add missing sub-expression functionality.
4948
4949         * buffer.c (decode_buffer): Add a check for pointer type to
4950         decode_buffer, before gcc's CSE optimization reorders a
4951         dereference in front of the allow_string test.
4952
4953 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
4954
4955         * window.c (window_loop): Fix bug that sometimes prevented
4956         window_loop() from iterating across multiple devices.  Also, at
4957         Ben's request, changed infloop-detecting code to abort() instead
4958         of silently terminating window_loop().
4959
4960 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
4961
4962         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
4963         * editfns.c (make_time): New function.
4964         (Fencode_time): Use it instead of wasteful_word_to_lisp.
4965         * lisp.h (make_time): Prototype and comment it.
4966         * dired.c (wasteful_word_to_lisp): Deprecate.
4967         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
4968
4969 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
4970
4971         * fileio.c (auto_save_1): Use current coding system, not
4972         escape-quoted.
4973
4974 2001-11-13  Ben Wing  <ben@xemacs.org>
4975
4976         * window.c:
4977         * window.c (window_truncation_on):
4978         * window.c (syms_of_window):
4979         truncate-partial-width-windows should respect the buffer being
4980         displayed, like other redisplay vars.
4981
4982 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
4983
4984         * event-stream.c (Fread_key_sequence): save current buffer.
4985
4986 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4987
4988         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
4989
4990 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
4991
4992         * alloc.c (lcrecord_stats): Add space for types defined in modules.
4993
4994 2001-10-26  Mike Alexander  <mta@arbortext.com>
4995
4996         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
4997
4998 2001-10-25  Andy Piper  <andy@xemacs.org>
4999
5000         * ChangeLog:
5001         * dialog-msw.c (handle_directory_proc): new function.
5002          (handle_directory_dialog_box): new fucntion.
5003          (handle_file_dialog_box): use new directory dialog support.
5004          (mswindows_make_dialog_box_internal): ditto.
5005         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5006         handling.
5007         (mswindows_find_frame): make global.
5008         * fileio.c (Fexpand_file_name): build fix.
5009         * general-slots.h: add Qdirectory.
5010         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5011         handling.
5012         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5013         cygwin not leaving win32 paths unchanged.
5014         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5015         cygwin runtime to do path conversion.
5016         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5017         (syms_of_win32): add new function.
5018         * window.c (window_loop): build fix.
5019
5020 2001-10-15  Andy Piper  <andy@xemacs.org>
5021
5022         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5023
5024 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5025
5026         * XEmacs 21.4.5 "Civil Service" is released.
5027
5028 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5029
5030         * glyphs-x.c: Force buffer-tab highlight update when moving the
5031         buffer, avoiding an ugly black border, used for keyboard focus
5032         indication, on a widget that can never have keyboard focus, the
5033         buffer tab.
5034
5035 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5036
5037         * process-unix.c (unix_open_multicast_group): Remove too much
5038         conversion between host and network byte order.
5039
5040 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5041
5042         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5043         before replacing them.
5044
5045         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5046         operation.
5047
5048         * src/window.c (undedicate_windows): Use it.
5049         * src/window.h: Add prototype.
5050
5051 2001-09-17  Ben Wing  <ben@xemacs.org>
5052
5053         * fileio.c (normalize_filename):
5054         * fileio.c (Fexpand_file_name):
5055         Fix various C++ compile errors in Andy's recent code.
5056         
5057         * callint.c (Fcall_interactively):
5058         * editfns.c (Ftemp_directory):
5059         * editfns.c (Fuser_full_name):
5060         * emacs.c (argmatch):
5061         * lread.c (locate_file_map_suffixes):
5062         * redisplay-x.c (x_ring_bell):
5063         Fix sign-compare warnings.
5064         
5065 2001-09-08  Andy Piper  <andy@xemacs.org>
5066
5067         * fileio.c (normalize_filename): copied from nt.c
5068         * (Ffile_name_directory): enable win32 paths under cygwin.
5069         * (Ffile_name_nondirectory): ditto.
5070         * (directory_file_name): ditto.
5071         * (Fexpand_file_name): ditto.
5072         * (Ffile_truename): ditto.
5073         * (Fsubstitute_in_file_name): ditto.
5074         * (Ffile_name_absolute_p): ditto.
5075         * (Ffile_readable_p): ditto.
5076
5077 2001-09-08  Andy Piper  <andy@xemacs.org>
5078
5079         * device-msw.c (mswindows_finish_init_device): remove dde
5080         initialization.
5081         * device-msw.c (mswindows_init_dde): factor out from
5082         mswindows_finish_init_device()
5083         * device-msw.c (init_mswindows_very_early): new function
5084         initialize but don't enable dde.
5085         * emacs.c (main_1): call init_mswindows_very_early.
5086         * event-msw.c:
5087         * event-msw.c (mswindows_dde_callback): only execute when we are
5088         ready.
5089         * symsinit.h: declare init_mswindows_very_early.
5090
5091 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5092
5093         [sjt: This has been in 21.5 for months with no complaints.]
5094
5095         * console.h (struct console_methods): Added flags member.
5096         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5097         (CONMETH_IMPL_FLAG):
5098         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5099         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5100
5101         * device.c (window_system_pixelated_geometry): Use the above macros.
5102
5103         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5104         implememntation flag.
5105         * device.h (DEVICE_DISPLAY_P): Use it.
5106
5107         * frame.c (delete_frame_internal): Use the above macro.
5108
5109         * redisplay.c (redisplay_device): Use it.
5110         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5111         (redisplay_frame): Ditto.
5112
5113         * device-msw.c (mswindows_device_implementation_flags): Removed.
5114         (msprinter_device_implementation_flags): Removed.
5115         (console_type_create_device_mswindows): Removed references to
5116         implementation_flags methods, set implementation flags here.
5117         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5118
5119         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5120         (console_type_create_device_gtk): Removed method declaration.
5121         Added commented out statement which semantically matches the
5122         commented out statement in the above removed method.
5123
5124 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5125
5126         The attached patch fixes a few warnings. 
5127
5128         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5129         * src/frame-gtk.c: guard against GNOME calls in GTK only
5130         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5131         * src/select-gtk.c: prototype lisp_to_time
5132
5133 2001-06-08  Ben Wing  <ben@xemacs.org>
5134
5135         ------ gc-in-window-procedure fixes ------
5136         
5137         * alloc.c:
5138         * alloc.c (struct post_gc_action):
5139         * alloc.c (register_post_gc_action):
5140         * alloc.c (run_post_gc_actions):
5141         * alloc.c (garbage_collect_1):
5142         Create "post-gc actions", to avoid those dreaded "GC during window
5143         procedure" problems.
5144
5145         * event-msw.c:
5146         Abort, clean and simple, when GC in window procedure.  We want
5147         to flush these puppies out.
5148
5149         * glyphs-msw.c:
5150         * glyphs-msw.c (finalize_destroy_window):
5151         * glyphs-msw.c (mswindows_finalize_image_instance):
5152         Use a post-gc action when destroying subwindows.
5153
5154         * lisp.h:
5155         Declare register_post_gc_action().
5156
5157         * scrollbar-msw.c:
5158         * scrollbar-msw.c (unshow_that_mofo):
5159         Use a post-gc action when unshowing scrollbar windows, if in gc.
5160
5161         * redisplay.c (mark_redisplay):
5162         Add comment about the utter evilness of what's going down here.
5163
5164         ------ cygwin setitimer fixes ------
5165         
5166         * Makefile.in.in (sheap_objs):
5167         * Makefile.in.in (profile_objs):
5168         * Makefile.in.in (objs):
5169         Compile profile.c only when HAVE_SETITIMER.
5170         
5171         * nt.c (mswindows_sigset):
5172         * nt.c (mswindows_sighold):
5173         * nt.c (mswindows_sigrelse):
5174         * nt.c (mswindows_sigpause):
5175         * nt.c (mswindows_raise):
5176         * nt.c (close_file_data):
5177         Style fixes.
5178         
5179         * nt.c:
5180         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5181         
5182         * profile.c:
5183         * profile.c (Fstart_profiling):
5184         * profile.c (Fstop_profiling):
5185         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5186         instead of just plain setitimer().
5187         
5188         * signal.c:
5189         * signal.c (set_one_shot_timer):
5190         * signal.c (alarm):
5191         Define qxe_setitimer() as an encapsulation around setitimer() --
5192         call setitimer() directly unless Cygwin or MS Win, in which case
5193         we use our simulated version in win32.c.
5194         
5195         * systime.h:
5196         * systime.h (struct itimerval):
5197         * systime.h (ITIMER_REAL):
5198         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5199         comment about "qxe" and the policy regarding encapsulation.
5200
5201         * win32.c:
5202         * win32.c (setitimer_helper_proc):
5203         * win32.c (setitimer_helper_period):
5204         * win32.c (setitimer_helper):
5205         * win32.c (mswindows_setitimer):
5206         Move setitimer() emulation here, so Cygwin can use it.
5207         Rename a couple of functions and variables to be longer and more
5208         descriptive.  In setitimer_helper_proc(), send the signal
5209         using either mswindows_raise() or (on Cygwin) kill().  If for
5210         some reason we are still getting lockups, we'll change the kill()
5211         to directly invoke the signal handlers.
5212
5213         ------ windows shell fixes ------
5214         
5215         * callproc.c:
5216         * ntproc.c:
5217         Comments about how these two files must die.
5218
5219         * callproc.c (init_callproc):
5220         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5221         not just COMSPEC. (more correct and closer to FSF.) Don't
5222         force a value for SHELL into the environment. (Comments added
5223         to explain why not.)
5224         
5225         * nt.c (init_user_info):
5226         Don't shove a fabricated SHELL into the environment.  See above.
5227
5228 2001-06-01  Ben Wing  <ben@xemacs.org>
5229
5230         * Makefile.in.in (ldflags):
5231         eliminate that pesky "defaulting to 00401000" warning.
5232         * nt.h:
5233         eliminate warnings.
5234
5235 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5236
5237         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5238         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5239
5240 2001-04-24  Jerry James <james@xemacs.org>
5241
5242         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5243         correct order.
5244
5245 2001-06-01  Ben Wing  <ben@xemacs.org>
5246
5247         * event-msw.c (debug_mswin_messages):
5248         conditionalize the messages that were causing compile errors.
5249         (if only macros could generate #ifdef statements ...)
5250
5251 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5252
5253         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5254
5255 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5256
5257         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5258
5259 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5260
5261         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5262         * process-unix.c (unix_canonicalize_host_name):
5263         sysdep.c (init_system_name):
5264         Use it to conditionally support IPv6 canonicalization.
5265
5266 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5267
5268         * event-msw.c:
5269         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5270
5271 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5272
5273         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5274         attempt is made to scroll when no scroll bar is available.
5275
5276 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5277
5278         * input-method-motif.c (XIM_delete_frame): New callback.
5279         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5280         got deleted from 21.4.3.)
5281
5282 2001-06-01  Ben Wing  <ben@xemacs.org>
5283
5284         * nt.c (mswindows_utime):
5285         * nt.c (close_file_data):
5286         fix off-by-one-indirection error.
5287
5288 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5289
5290         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5291         because set_file_times() now takes Lisp_Object path, instead of
5292         char*.
5293         * nt.c: Include buffer.h.
5294         * nt.c (convert_from_time_t): New.
5295         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5296         not set mtime correctly.
5297         * nt.h: Declare mswindows_utime().
5298         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5299         path, instead of char*.
5300         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5301
5302 2001-05-30  Ben Wing  <ben@xemacs.org>
5303
5304         For 21.4:
5305
5306         (Stephen, just take all event-msw.c patches.  This includes
5307         the "iconify" fix below.)
5308
5309         * event-msw.c:
5310         * event-msw.c (mswindows_dequeue_dispatch_event):
5311         * event-msw.c (assert):
5312         * event-msw.c (emacs_mswindows_quit_p):
5313         * event-msw.c (debug_mswin_messages):
5314         * event-msw.c (debug_output_mswin_message):
5315         * event-msw.c (vars_of_event_mswindows):
5316         Fix yet more problems with C-g handling.
5317         Implement debug-mswindows-events.
5318         
5319 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5320
5321         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5322         
5323 2001-05-23  Ben Wing  <ben@xemacs.org>
5324
5325         * event-msw.c (winsock_writer):
5326         * event-msw.c (winsock_closer):
5327         prior kludgy code was clobbering the buffer, thinking it was
5328         "unused" space to store an unneeded return value; instead, use
5329         the variable we've already got staring us in the face.
5330
5331 2001-05-17  Andy Piper  <andy@xemacs.org>
5332
5333         * sysfile.h: don't assume that file attributes are boolean
5334
5335 2001-05-23  Ben Wing  <ben@xemacs.org>
5336
5337         * device-msw.c (msprinter_init_device):
5338         signal an error rather than crash with an unavailable network
5339         printer (from Mike Alexander).
5340         
5341         * event-msw.c:
5342         * event-msw.c (struct winsock_stream):
5343         * event-msw.c (winsock_writer):
5344         * event-msw.c (winsock_closer):
5345         * event-msw.c (make_winsock_stream_1):
5346         cleanup headers.  fix (hopefully) an error with data corruption
5347         when sending to a network connection.
5348
5349         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5350         to handle the ~user prefix by (a) always assuming we're referencing
5351         ourselves and not even verifying the user -- hence any file with
5352         a tilde as its first char is invalid! (b) if there wasn't a slash
5353         following the filename, the pointer was set *past* the end of
5354         file and we started reading from uninitialized memory.  Now we
5355         simply treat these as files, always.
5356
5357         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5358         
5359 2001-05-19  Ben Wing  <ben@xemacs.org>
5360
5361         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5362
5363         * process-nt.c:
5364         * process-nt.c (vars_of_process_nt):
5365         remove unused mswindows-quote-process-args.  rec for 21.4.
5366         
5367 2001-05-12  Ben Wing  <ben@xemacs.org>
5368
5369         * event-msw.c (mswindows_dde_callback):
5370         * event-msw.c (mswindows_wnd_proc):
5371         eliminate cygwin warnings.
5372
5373 2001-05-06  Ben Wing  <ben@xemacs.org>
5374
5375         * console-msw.h:
5376         * device-msw.c:
5377         * device-msw.c (print_dialog_worker):
5378         * device-msw.c (mswindows_handle_print_dialog_box):
5379         * device-msw.c (syms_of_device_mswindows):
5380         * dialog-msw.c (mswindows_make_dialog_box_internal):
5381         * general-slots.h:
5382         implement printing the selection when it's selected.
5383
5384 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5385
5386         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5387
5388 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5389
5390         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5391         EMACS_INT is signed.
5392
5393 2001-04-15  Michael Lausch  <mla@1012surf.net>
5394
5395         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5396         gtk_widget_request_size() to give scrollbar >0 width for
5397         GTK >1.2.8.
5398
5399 2001-05-30  William M. Perry  <wmperry@gnu.org>
5400
5401         * event-gtk.c: Check for buttons as modifier keys.
5402
5403 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5404
5405         * s\mingw32.h:
5406         Properly find MinGW's <process.h> inside Cygwin's restructured
5407         include directories.  Don't try to include <cygwin/version.h>
5408         since we are dropping support for MinGW in versions of Cygwin
5409         earlier than b21.
5410         * nt.c:
5411         Drop support for MinGW in versions of Cygwin before b21.
5412         * sysdep.c:
5413         Properly find MinGW's <process.h> inside Cygwin's restructured
5414         include directories.
5415         * syswindows.h:
5416         Drop support for MinGW in versions of Cygwin before b21.
5417         * unexcw.c:
5418         Even though a.out.h is no longer detected by configure, allow
5419         MinGW to use it until we figure out how to do the job with Win32.
5420
5421 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
5422
5423         * syntax.c (find_start_of_comment):
5424         Fix `unbalanced parentheses' bug when dealing with mixed comment
5425         styles in c++/java/etc. mode
5426
5427 2001-05-29  Mike Alexander  <mta@arbortext.com>
5428
5429         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
5430         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
5431
5432 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
5433
5434         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
5435
5436 2001-03-31  Mike Sperber <mike@xemacs.org>
5437
5438         * search.c (Freplace_match): Support FSF-style specification of
5439         match subexpression when applied to a buffer.
5440
5441 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5442
5443         * event-stream.c (is_scrollbar_event): add missing semicolon
5444
5445 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
5446
5447         * Makefile.in.in: Use TAR macro instead of hardcoding
5448           tar.  Allows use of GNU tar instead of system tar
5449
5450 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5451
5452         * event-stream.c (is_scrollbar_event): add missing semicolon
5453
5454 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5455
5456         * XEmacs 21.4.3 "Academic Rigor" is released.
5457
5458 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5459
5460         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
5461
5462 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
5463
5464         * buffer.c (Vcase_fold_search): Remove obsolete
5465           comment about non ASCII case-fold-search.  This
5466           bug has been fixed by case-table changes.
5467
5468 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
5469
5470         * event-msw.c: Restore include of events-mod.h.
5471
5472 2001-04-22   zhaoway  <zw@debian.org>
5473
5474         * event-stream.c (is_scrollbar_event): Noop returning 0 if
5475         !HAVE_SCROLLBARS.
5476
5477 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
5478
5479         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
5480
5481 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
5482
5483         * mule-charset.c (Fmake_charset): Add missing else.
5484
5485 2001-04-23  Ben Wing  <ben@xemacs.org>
5486
5487         * event-msw.c (FAKE_MOD_QUIT):
5488         * event-msw.c (mswindows_dequeue_dispatch_event):
5489         * event-msw.c (mswindows_wnd_proc):
5490         * event-msw.c (emacs_mswindows_quit_p):
5491         Get critical quit working.
5492
5493 2001-05-05  Ben Wing  <ben@xemacs.org>
5494
5495         * console-msw.h:
5496         * device-msw.c:
5497         * device-msw.c (mswindows_get_default_margin):
5498         * frame-msw.c (mswindows_size_frame_internal):
5499         * frame-msw.c (msprinter_init_frame_1):
5500         * frame-msw.c (vars_of_frame_mswindows):
5501         Change top/bottom margin defaults to 0.5 inches.
5502
5503 2001-05-01  Martin Buchholz  <martin@xemacs.org>
5504
5505         Fix link error with gcc 3.0 on Linux.
5506         * terminfo.c (UP): Remove.
5507         * terminfo.c (BC): Remove.
5508         * terminfo.c (PC): Remove.
5509         They weren't used, and in any case, these symbols should be
5510         defined in the *library*.
5511
5512 2001-05-03  Martin Buchholz  <martin@xemacs.org>
5513
5514         * s/aix4.h: Fix crash with xlc -O3.
5515         Improve comment explaining how -O3 works.
5516
5517 2001-04-15  Ben Wing  <ben@xemacs.org>
5518
5519         * event-stream.c:
5520         * event-stream.c (Fnext_event):
5521         * event-stream.c (is_scrollbar_event):
5522         * event-stream.c (execute_command_event):
5523         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
5524         crash' problem.  His fix introduces other problems.  We filter
5525         out scrollbar events specifically, making them somewhat invisible
5526         to command-building, and not appearing in `this-command-keys'.
5527         More work is still needed (see comments in event-stream.c), but
5528         this fixes all the major problems.
5529
5530 2001-04-20  Ben Wing  <ben@xemacs.org>
5531
5532         * .cvsignore: Added stuff for Windows.
5533
5534 2001-04-28  Ben Wing  <ben@xemacs.org>
5535
5536         * buffer.c (Ferase_buffer):
5537         * editfns.c (buffer_insert1):
5538         * editfns.c (Finsert_before_markers):
5539         * editfns.c (Finsert_string):
5540         * editfns.c (Finsert_char):
5541         * editfns.c (Fdelete_region):
5542         * editfns.c (Fwiden):
5543         * editfns.c (Fnarrow_to_region):
5544         remove bogus lines setting zmacs_region_stays to 0.
5545         
5546 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5547
5548         * process-unix.c (unix_open_network_stream): If connect() fails
5549         invalidate file descriptor after closing it.
5550
5551 2001-03-08  Mike Alexander  <mta@arbortext.com>
5552
5553         * event-msw.c (mswindows_need_event_in_modal_loop):
5554         Don't dispatch a message if we didn't get one.
5555         (mswindows_need_event):
5556         Terminate the correct process when one exits instead of the first
5557         one on Vprocess_list and look for process termination when in
5558         mswindows_protect_modal_loop.
5559
5560 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
5561
5562         * XEmacs 21.4.1 "Copyleft" is released.
5563
5564 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5565
5566         * input-method-motif.c (XIM_delete_frame): New callback.
5567         (XIM_init_frame): Register it.
5568
5569 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5570
5571         * XEmacs 21.4.0 "Solid Vapor" is released.
5572
5573 2001-04-15  Ben Wing  <ben@xemacs.org>
5574
5575         * cmdloop.c (call_command_loop):
5576         Fix braino in bit-rotting code.
5577         
5578 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
5579
5580         * extents.c (Fset_extent_endpoints): Force creation of extent info
5581         in buffer_or_string.
5582
5583         * extents.c (process_extents_for_insertion_mapper): Correctly
5584         check for open-open zero-length extents.
5585
5586 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5587
5588         * lisp.h: New typedefs Memory_count, Element_count.
5589         * regex.c:
5590         * regex.h:
5591         Sign-compare warning elimination: several unsigned -> signed.
5592         Based on work by Ben Wing <ben@xemacs.org>.
5593
5594 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
5595
5596         * XEmacs 21.2.47 "Zephir" is released.
5597
5598 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
5599
5600         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
5601
5602 2001-04-03  Mike Sperber <mike@xemacs.org>
5603
5604         * search.c: Revert previous patch due because of release.
5605
5606 2001-03-30  Ben Wing  <ben@xemacs.org>
5607
5608         * s\cygwin32.h:
5609         Add missing killpg prototype.
5610
5611         * elhash.c:
5612         Add a comment about fixing problems when a new entry is added
5613         while mapping.
5614
5615         * frame-msw.c (mswindows_init_frame_1):
5616         Fix compile warnings.
5617
5618         * menubar.c (vars_of_menubar):
5619         Provide `menu-accelerator-support' to indicate that we properly
5620         support %_ in menu specifications, so that package code can
5621         conditionalize on this (and remove %_ from menu specifications
5622         on older versions).
5623
5624         * event-msw.c:
5625         * scrollbar-msw.c:
5626         * scrollbar-msw.c (can_scroll):
5627         * scrollbar-msw.h:
5628         Fix handling of mouse wheel under Windows to follow standards --
5629         now scrolls window under pointer, not selected window.
5630
5631 2001-03-31  Mike Sperber <mike@xemacs.org>
5632
5633         * search.c (Freplace_match): Support FSF-style specification of
5634         match subexpression when applied to a buffer.
5635
5636 2001-03-15  Martin Buchholz  <martin@xemacs.org>
5637
5638         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
5639         function to modify KEYMAP, so map over a copy of the hash table.
5640
5641 2001-03-21  Martin Buchholz <martin@xemacs.org>
5642
5643         * XEmacs 21.2.46 "Urania" is released.
5644
5645 2001-03-20  Dan Holmsand  <dan@eyebee.com>
5646
5647         * realpath.c (xrealpath): Make file-truename work with symlinks to
5648         /cygdrive paths on cygwin. Always lowercase drive-letters on
5649         native windows.
5650         (cygwin_readlink): Don't try to find canonical filename unless
5651         file exists.
5652
5653 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
5654
5655         * ChangeLog: Log GTK merge.
5656
5657         * dumper.c:
5658         * select-x.c:
5659         * specifier.c:
5660         * symeval.h:
5661         Revert gratuitous whitespace changes from GTK merge.
5662
5663         * emacs.c: Document end of complex #ifdef @ l. 1495.
5664
5665
5666 2001-03-12  Andy Piper  <andy@xemacs.org>
5667
5668         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
5669         have to do likewise.
5670
5671 2001-03-12  Andy Piper  <andy@xemacs.org>
5672
5673         * sysdep.c: we only support mingw now.
5674
5675 2001-03-09  Andy Piper  <andy@xemacs.org>
5676
5677         * unexcw.c (copy_executable_and_dump_data_section): making approx
5678         overrun a warning only.
5679
5680 2001-03-10  William M. Perry  <wmperry@aventail.com>
5681
5682         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
5683         satisfy Stephen's identical-after-cpp plea.
5684
5685 2001-03-02  Ben Wing  <ben@xemacs.org>
5686
5687         * cmds.c:
5688         * cmds.c (Fforward_char):
5689         * syntax.c:
5690         * window.c:
5691
5692         Augment documentation of the most common motion commands to make
5693         note of the shifted-motion support.
5694         
5695 2001-03-02  Ben Wing  <ben@xemacs.org>
5696
5697         * nt.c (mswindows_fstat):
5698         * nt.c (mswindows_stat):
5699         * search.c (boyer_moore):
5700         Fix compile warnings under Windows.
5701         
5702         * sysdep.c (sys_readdir):
5703         Fix buggy filename-conversion code under Mule.
5704
5705 2001-03-09  William M. Perry  <wmperry@aventail.com>
5706
5707         * Makefile.in.in:
5708         * config.h.in:
5709         * console.c:
5710         * console.h:
5711         * device.c:
5712         * device.h:
5713         * dragdrop.c:
5714         * emacs.c:
5715         * event-stream.c:
5716         * events.c:
5717         * events.h:
5718         * faces.c:
5719         * frame.h:
5720         * general-slots.h:
5721         * glyphs.c:
5722         * gutter.c:
5723         * inline.c:
5724         * lisp.h:
5725         * lrecord.h:
5726         * make-src-depend:
5727         * redisplay-output.c:
5728         * redisplay.c:
5729         * symsinit.h:
5730         * sysfile.h:
5731         * toolbar.c:
5732         * window.c:
5733         The Great GTK Merge.
5734
5735         * ChangeLog.GTK:
5736         * console-gtk.c:
5737         * console-gtk.h:
5738         * device-gtk.c:
5739         * emacs-marshals.c:
5740         * emacs-widget-accessors.c:
5741         * event-gtk.c:
5742         * frame-gtk.c:
5743         * gccache-gtk.c:
5744         * gccache-gtk.h:
5745         * glade.c:
5746         * glyphs-gtk.c:
5747         * glyphs-gtk.h:
5748         * gtk-glue.c:
5749         * gtk-xemacs.c:
5750         * gtk-xemacs.h:
5751         * gui-gtk.c:
5752         * gui-gtk.h:
5753         * menubar-gtk.c:
5754         * native-gtk-toolbar.c:
5755         * objects-gtk.c:
5756         * objects-gtk.h:
5757         * redisplay-gtk.c:
5758         * scrollbar-gtk.c:
5759         * scrollbar-gtk.h:
5760         * select-gtk.c:
5761         * toolbar-gtk.c:
5762         * ui-byhand.c:
5763         * ui-gtk.c:
5764         * ui-gtk.h:
5765         The Great GTK Merge: new files.
5766
5767 2001-02-26  Ben Wing  <ben@xemacs.org>
5768
5769         Reapplied Lstream change.
5770
5771 2001-02-26  Ben Wing  <ben@xemacs.org>
5772
5773         Undid the last change, since it is more controversial than I
5774         thought.  It should be back in at some point soon.
5775         
5776 2001-02-25  Ben Wing  <ben@xemacs.org>
5777
5778         * buffer.c:
5779         * callproc.c (Fold_call_process_internal):
5780         * event-msw.c (ntpipe_slurp_reader):
5781         * event-msw.c (ntpipe_shove_writer):
5782         * event-msw.c (winsock_reader):
5783         * event-msw.c (winsock_writer):
5784         * file-coding.c:
5785         * file-coding.c (detect_eol_type):
5786         * file-coding.c (detect_coding_type):
5787         * file-coding.c (determine_real_coding_system):
5788         * file-coding.c (Fdetect_coding_region):
5789         * file-coding.c (decoding_reader):
5790         * file-coding.c (decoding_writer):
5791         * file-coding.c (mule_decode):
5792         * file-coding.c (Fdecode_coding_region):
5793         * file-coding.c (encoding_reader):
5794         * file-coding.c (encoding_writer):
5795         * file-coding.c (mule_encode):
5796         * file-coding.c (Fencode_coding_region):
5797         * file-coding.c (detect_coding_sjis):
5798         * file-coding.c (decode_coding_sjis):
5799         * file-coding.c (encode_coding_sjis):
5800         * file-coding.c (detect_coding_big5):
5801         * file-coding.c (decode_coding_big5):
5802         * file-coding.c (encode_coding_big5):
5803         * file-coding.c (detect_coding_ucs4):
5804         * file-coding.c (decode_coding_ucs4):
5805         * file-coding.c (encode_coding_ucs4):
5806         * file-coding.c (detect_coding_utf8):
5807         * file-coding.c (decode_coding_utf8):
5808         * file-coding.c (encode_coding_utf8):
5809         * file-coding.c (detect_coding_iso2022):
5810         * file-coding.c (decode_coding_iso2022):
5811         * file-coding.c (encode_coding_iso2022):
5812         * file-coding.c (decode_coding_no_conversion):
5813         * file-coding.c (encode_coding_no_conversion):
5814         * glyphs-x.c (write_lisp_string_to_temp_file):
5815         * gpmevent.c (tty_get_foreign_selection):
5816         * lisp.h:
5817         * lstream.c:
5818         * lstream.c (Lstream_flush_out):
5819         * lstream.c (Lstream_adding):
5820         * lstream.c (Lstream_write_1):
5821         * lstream.c (Lstream_write):
5822         * lstream.c (Lstream_raw_read):
5823         * lstream.c (Lstream_read_more):
5824         * lstream.c (Lstream_read):
5825         * lstream.c (Lstream_unread):
5826         * lstream.c (Lstream_fputc):
5827         * lstream.c (stdio_reader):
5828         * lstream.c (stdio_writer):
5829         * lstream.c (filedesc_reader):
5830         * lstream.c (filedesc_writer):
5831         * lstream.c (lisp_string_reader):
5832         * lstream.c (struct fixed_buffer_stream):
5833         * lstream.c (make_fixed_buffer_input_stream):
5834         * lstream.c (make_fixed_buffer_output_stream):
5835         * lstream.c (fixed_buffer_reader):
5836         * lstream.c (fixed_buffer_writer):
5837         * lstream.c (struct resizing_buffer_stream):
5838         * lstream.c (resizing_buffer_writer):
5839         * lstream.c (dynarr_writer):
5840         * lstream.c (lisp_buffer_reader):
5841         * lstream.c (lisp_buffer_writer):
5842         * lstream.h:
5843         * lstream.h (lstream_implementation):
5844         * lstream.h (struct lstream):
5845         * md5.c (Fmd5):
5846         * process-nt.c (nt_send_process):
5847         * process-unix.c (unix_send_process):
5848         
5849         Correct Lstream lossage due to mixing of signed and unsigned
5850         quantities.  All Lstream uses of size_t and ssize_t are now a
5851         single signed data type Lstream_data_count.  This fixes problems
5852         under Windows with sending large quantities of data to a process,
5853         and may well fix other subtle bugs.
5854
5855 2001-02-23  Martin Buchholz <martin@xemacs.org>
5856
5857         * XEmacs 21.2.45 "Thelxepeia" is released.
5858
5859 2001-02-21  Martin Buchholz  <martin@xemacs.org>
5860
5861         * lisp-union.h (XSETINT): 
5862         (XSETCHAR):
5863         (XSETOBJ): 
5864         Reverse previous change of 2001-02-06.
5865
5866 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
5867
5868         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
5869         buffers.
5870         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5871         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
5872         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
5873         * regex.c (POS_AS_IN_BUFFER): removed
5874         * regex.c (re_search_2):
5875         * regex.c (re_match_2):
5876         Don't use an offset of 1 when calculating buffer positions, since
5877         `BI_BUF_BEGV' does it already.
5878
5879 2001-02-18  Wim Dumon  <wim@easics.be>
5880
5881         * insdel.c (prepare_to_modify_buffer): Also check for
5882         supersession when clash-detection is enabled. 
5883
5884 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
5885
5886         * regex.c (re_match_2_internal):
5887         Convert temp characters from 'const unsigned char' to 're_char'.
5888         Fix crashing bug with extended characters under mule.
5889         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
5890         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
5891         font-lock, pdump, and new syntax-table code.
5892         * syntax.c (find_start_of_comment):
5893         (find_end_of_comment):
5894         (forward-comment):
5895         Fix crashing bugs involving moving beyond end of buffer.
5896         * syntax.c (find_start_of_comment):
5897         Fixed logic to allow proper detection of cases where the same
5898         character is used to end both a two-char comment start and a
5899         two-char comment end sequence. Fixes `(forward-comment -1)'.
5900         * syntax.c (find_start_of_comment):
5901         Return position just past last comment-end character for all cases
5902         (previously was only done for two-char comment-end sequences).
5903         * syntax.c (forward-comment):
5904         Take value returned from `find_end_of_comment', rather than
5905         incrementing it.
5906         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
5907         Properly deal with BUFFERP (syntax_cache.object)
5908
5909 2001-02-17  Martin Buchholz  <martin@xemacs.org>
5910
5911         * alloc.c (Fgarbage_collect): 
5912         * alloc.c (make_bit_vector_from_byte_vector):
5913         -Wsign-compare-correctness.
5914
5915 2001-02-16  Martin Buchholz  <martin@xemacs.org>
5916
5917         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
5918         (XSETCHAR): Likewise.
5919         (XSETOBJ): Likewise.
5920
5921 2001-02-15  Martin Buchholz  <martin@xemacs.org>
5922
5923         * mule-canna.c (canna-func-delete_previous): 
5924         Rename to canna-func-delete-previous.
5925
5926 2001-02-14  Martin Buchholz  <martin@xemacs.org>
5927
5928         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
5929
5930 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
5931
5932         * font-lock.c (find_context): Fix C++ compile errors introduced by
5933         recent patch
5934
5935 2001-02-13  Martin Buchholz  <martin@xemacs.org>
5936
5937         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
5938         pragma, but earlier ones barf on the same pragma.
5939
5940 2001-02-06  Mike Sperber <mike@xemacs.org>
5941
5942         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
5943         `configure-mule-lisp-directory'.
5944
5945 2001-02-12  Martin Buchholz  <martin@xemacs.org>
5946
5947         Make sure dump-id.c is compiled in the same way as other .c's.
5948         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
5949         * dump-id.h: Remove.
5950         * emacs.c: Move dump-id.h into dumper.h.
5951         * dumper.h: Move dump-id.h into dumper.h.
5952         * Makefile.in.in:
5953         Use standard .c.o rule for building dump-id.o.
5954         Remove preprocessor flags from link command.
5955         Add dump-id.o to ${otherobjs} if PDUMP.
5956
5957 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
5958
5959         Port FSF 20.7 syntax table improvements.
5960         * syntax.c.
5961         * syntax.h.
5962
5963         Fixups for new syntax table stuff.
5964         * dired.c: Include syntax.c.
5965         (Fdirectory_files): Initialize regex_match_object and
5966         regex_emacs_buffer.
5967         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
5968         and Fget_char_property.
5969
5970         Use ported FSF 20.7 syntax table improvements.
5971         * font-lock.c.
5972         * regex.c.
5973         * search.c.
5974         
5975 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5976
5977         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
5978         Unixware's enum boolean from sys/types.h.
5979
5980 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5981
5982         Fix support for building with latest Purify.
5983         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
5984         (PURIFY_FLAGS): Likewise.
5985
5986 2001-02-09  Martin Buchholz  <martin@xemacs.org>
5987
5988         * fileio.c (lisp_string_set_file_times): New.
5989         * fileio.c (Fcopy_file): Use it.
5990         Fixes bug:
5991         (copy-file filename non-ascii-filename t t)
5992         ==> No such file or directory, non-ascii-filename
5993
5994 2001-02-10  Martin Buchholz  <martin@xemacs.org>
5995
5996         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
5997         USHRT_MAX seems clearer than ~0 anyways.
5998
5999 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6000
6001         dumper improvements.  Inspired by Olivier.
6002         * dumper.c (pdump_max_align): New.
6003         * dumper.c (pdump_add_entry): Use pdump_max_align.
6004         * dumper.c (pdump_get_entry_list): Likewise.
6005         * dumper.c (pdump_scan_by_alignment): Likewise.
6006         Don't iterate through unnecessary alignments.
6007         * dumper.c (pdump_file_get): No need to align result of malloc().
6008         * dumper.c (pdump_mallocadr): Remove.  
6009         The result of malloc() is guaranteed to be maximally aligned.
6010         * dumper.c: s/elmt/elt/g;
6011         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6012         * dumper.c (pdump_alert_undump_object): Likewise.
6013         * dumper.c (pdump_align_table): 
6014         Don't support alignments > 64.
6015         Store ALIGNOF's, not shift counts, in table.
6016
6017 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6018
6019         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6020         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6021         * systime.h: Use HAVE_UTIME.
6022         * sysdep.c (struct utimbuf): Remove.
6023         * sysdep.c (set_file_times): Prefer utime() to utimes().
6024         * config.h.in (HAVE_UTIME): New.
6025         * config.h.in (HAVE_UTIME_H): Remove.
6026         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6027
6028 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6029
6030         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6031
6032 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6033
6034         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6035
6036 2001-02-08  Martin Buchholz <martin@xemacs.org>
6037
6038         * XEmacs 21.2.44 "Thalia" is released.
6039
6040 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6041
6042         Fixes crashes in kill-emacs on some systems.
6043         * process-unix.c (unix_kill_child_process):
6044         It's OK for kill() to fail with ESRCH.
6045
6046 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6047
6048         Contortions to make .gdbinit tricks work on most systems.
6049         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6050         * alloc.c (dbg_valmask): Make non-const.
6051         * alloc.c (dbg_typemask): Make non-const.
6052         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6053         * alloc.c (dbg_valbits): Make non-const.
6054         * alloc.c (dbg_gctypebits): Make non-const.
6055         * .gdbinit (decode_object): Make it work with AIX cc.
6056
6057 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6058
6059         * elhash.c (make_general_lisp_hash_table):
6060         Use simpler and more efficient calloc to clear entries.
6061
6062 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6063
6064         * window.c (window_scroll): Work around an AIX C compiler bug.
6065         Fixes 'scroll-up' does nothing problem with xlC.
6066
6067 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6068
6069         * .gdbinit: Remove obsolete comment.
6070
6071 2001-01-31  Mike Alexander  <mta@arbortext.com>
6072
6073         * select.c (Fown_selection_internal): Set owned_p for device
6074         method correctly.
6075
6076 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6077
6078         Port to g++ 2.97.
6079         "not" cannot be used as a macro name as it is an operator in C++
6080         * config.h.in: Stop #defining `not'.
6081         * chartab.c (check_category_char): not ==> not_p
6082         * chartab.h: Likewise.
6083         * regex.c (re_match_2_internal): Likewise.
6084
6085 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6086
6087         * lisp-disunion.h: Fix up comments.
6088
6089 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6090
6091         * keymap.c (define_key_check_and_coerce_keysym):
6092         (syms_of_keymap):
6093         Support mouse-6 and mouse-7 bindings in the obvious way.
6094
6095 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6096
6097         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6098
6099 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6100
6101         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6102         Previous patch missed DEFVAR_INT_MAGIC.
6103         Make sure future DEFVAR_foo use correct types.
6104         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6105         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6106         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6107         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6108         * (DEFVAR_INT): Likewise.
6109         * redisplay.c (vertical_clip): Should be of type Fixnum.
6110         * redisplay.c (horizontal_clip): Likewise.
6111         * lisp.h (dump_add_opaque_int): New.
6112         (dump_add_opaque_fixnum): New.
6113
6114 2001-01-29  Andy Piper  <andy@xemacs.org>
6115
6116         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6117         since they can be eval'ed
6118
6119 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6120
6121         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6122         Oops, XEmacs redefines `class'.  Use `typename' instead.
6123
6124 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6125
6126         * dumper.c: Fix C++ compile errors.
6127
6128 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6129
6130         * tparam.c: Use correct prototypes.
6131
6132 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6133
6134         * sysproc.h: #include util.h for NetBSD's openpty.
6135
6136 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6137
6138         More 64-bit correctness.
6139         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6140         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6141         Fix up comments.
6142         This finally finishes the 64-bit SGI port.
6143         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6144         * symbols.c: Fix up comments and type casts.
6145         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6146         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6147         * symeval.h (Fixnum): New type.
6148         * symeval.h (symbol_value_type): Fix up comment.
6149
6150         * commands.h:
6151         * nt.c:
6152         * emacs.c:
6153         * data.c:
6154         * redisplay.c:
6155         * abbrev.c:
6156         * dired-msw.c:
6157         * event-Xt.c:
6158         * eldap.c:
6159         * window.c:
6160         * sound.c:
6161         * event-stream.c:
6162         * eval.c:
6163         * buffer.c:
6164         * mule-canna.c: A million DEFVAR_INTs here...
6165         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6166         * extents.c:
6167         * cmdloop.c:
6168         * lisp.h:
6169         * select-x.c:
6170         * console-x.h:
6171         * event-msw.c:
6172         * mule-wnnfns.c:
6173         * hpplay.c:
6174         * ralloc.c:
6175         * alloc.c:
6176         * keymap.c:
6177         * profile.c:
6178         s/int/Fixnum/g in DEFVAR_INT declarations.
6179
6180 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6181
6182         Port pdump to SGI alignment-sensitive environment.
6183         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6184         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6185         properly aligned.
6186         Define and use aligned reading and writing macros.
6187         Use buffered stdio instead of posix i/o for faster dumping.
6188         Eliminate kludgy 256 byte space for header.
6189         Read and write from dump file using structs for alignment safety.
6190         * dumper.c (pdump_align_stream): New.
6191         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6192         * dumper.c (PDUMP_READ_ALIGNED): New.
6193         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6194         * dumper.c (pdump_static_Lisp_Object): New struct.
6195         * dumper.c (pdump_static_pointer): New struct.
6196         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6197         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6198         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6199         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6200
6201         * dumper.c (pdump_backtrace):
6202         * dumper.c (pdump_get_indirect_count):
6203         * dumper.c (pdump_register_object):
6204         * dumper.c (pdump_register_struct):
6205         * dumper.c (pdump_reloc_one):
6206         * dumper.c (pdump_scan_by_alignment):
6207         * dumper.c (pdump_dump_from_root_struct_ptrs):
6208         * dumper.c (pdump_dump_opaques):
6209         * dumper.c (pdump_dump_rtables):
6210         * dumper.c (pdump_dump_from_root_objects):
6211         * dumper.c (pdump):
6212         * dumper.c (pdump_load_finish):
6213         Use aligned reading and writing.
6214
6215         * dumper.c (pdump_free): Make static.
6216         * dumper.c (pdump_hFile): Likewise.
6217         * dumper.c (pdump_hMap): Likewise.
6218
6219 2001-01-26  Martin Buchholz <martin@xemacs.org>
6220
6221         * XEmacs 21.2.43 "Terspichore" is released.
6222
6223 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6224
6225         Type fiddling for window_config.saved_windows_count
6226         * window.c (struct window_config): 
6227         Make saved_windows_count member unsigned.
6228         * window.c (sizeof_window_config_for_n_windows): 
6229         Make parameter unsigned.
6230         * window.c (mark_window_config):
6231         * window.c (window_config_equal):
6232         * window.c (free_window_configuration):
6233         * window.c (Fset_window_configuration):
6234         * window.c (count_windows):
6235         * window.c (Fcurrent_window_configuration):
6236         * window.c (reinit_vars_of_window):
6237         Update all callers and users.
6238
6239 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6240
6241         Alignment correctness for flexible arrays.
6242         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6243         Make alignment-correct. Add interesting comments.
6244         * alloc.c (size_vector):
6245         * alloc.c (make_vector_internal):
6246         * alloc.c (make_bit_vector_internal):
6247         * alloc.c (sweep_bit_vectors_1):
6248         * fns.c (size_bit_vector):
6249         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6250         * window.c (sizeof_window_config_for_n_windows): 
6251         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6252
6253 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6254
6255         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6256
6257 2001-01-23  Andy Piper  <andy@xemacs.org>
6258
6259         * select.c (Fown_selection_internal): pass owned_p
6260
6261         * select-msw.c (mswindows_own_selection): New Signature.
6262
6263         * console.h (struct console_methods): add owned_p to
6264         _own_selection.
6265
6266         * select-x.c (x_own_selection): pass owned_p
6267         (hack_motif_clipboard_selection): use owned_p
6268         (vars_of_select_x): new variable -
6269         x_selection_strict_motif_ownership.
6270
6271 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6272
6273         * specifier.h (specifier_data_offset): Remove pointless parens.
6274         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6275
6276 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6277
6278         Make Lisp_Object sizeof methods be alignment-correct.
6279         pdump must restore objects to the same alignment as the C compiler
6280         assumes.  It really matters on SGIs.
6281         * lstream.c (aligned_sizeof_lstream): New.
6282         (sizeof_lstream): Use aligned_sizeof_lstream.
6283         (Lstream_new): Likewise.
6284         * opaque.c (aligned_sizeof_opaque): New.
6285         (sizeof_opaque): Use aligned_sizeof_opaque.
6286         (make_opaque): Likewise.
6287         * specifier.c (aligned_sizeof_specifier): New.
6288         (sizeof_specifier): Use aligned_sizeof_specifier.
6289         (make_specifier_internal): Likewise.
6290
6291 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6292
6293         * lstream.h (struct lstream): Use max_align_t for trailing data.
6294         * specifier.h (struct Lisp_Specifier): Likewise.
6295
6296 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6297
6298         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6299         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6300         (CCL_SUSPEND): Likewise.
6301         (CCL_INVALID_CMD): Likewise.
6302         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6303         (ccl_driver): Likewise.
6304         (CCL_WRITE_CHAR): Macro hygiene.
6305         (CCL_WRITE_STRING): Macro hygiene.
6306
6307 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6308
6309         Port "portable" dumper to SunOS 4 and HP-UX.
6310         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6311         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6312         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6313
6314 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6315
6316         * lisp.h (ALIGNOF): A better definition for C++.
6317
6318 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6319
6320         Macro hygiene.
6321         Fix printf warnings: int format, long int arg.
6322         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6323         (PUSH_FAILURE_POINT): Use correct printf formats.
6324         (POP_FAILURE_POINT): Use correct printf formats.  
6325         Use do {...} while (0)
6326
6327 2001-01-20  Martin Buchholz <martin@xemacs.org>
6328
6329         * XEmacs 21.2.42 "Poseidon" is released.
6330
6331 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6332
6333         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6334
6335 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6336
6337         De-kludgify FIXED_TYPE free list frobbing.
6338         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6339         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6340         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6341         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6342         * alloc.c (LRECORD_FREE_P): New.
6343         * alloc.c (MARK_LRECORD_AS_FREE): New.
6344         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6345         * alloc.c (STRUCT_FREE_P): Deleted.
6346         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6347         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6348         * alloc.c (STRING_CHARS_FREE_P): New.
6349         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6350         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6351         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6352         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6353         * alloc.c (resize_string): Use new definitions.
6354         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6355         * alloc.c (verify_string_chars_integrity): Use new definitions.
6356         * alloc.c (compact_string_chars): Use new definitions.
6357         * alloc.c: Update monster comments.
6358         * lrecord.h (lrecord_type): Add some new lrecord types for
6359         alloc.c's use.
6360
6361 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6362
6363         Improve alignment hackery.
6364         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6365         (max_align_t): Moved from opaque.h - general purpose.
6366         (ALIGN_PTR): Use size_t, not long.
6367         * opaque.h (max_align_t): Move to lisp.h.
6368
6369 2001-01-18  Norbert Koch  <nk@LF.net>
6370
6371         * gui.h: Fix and add prototypes to fix build problems.
6372
6373 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6374
6375         temacs is going away, so `dump-temacs' is now a bad name.
6376         * .dbxrc (dump-temacs): Rename to `dmp'.
6377         * .gdbinit (dump-temacs): Rename to `dmp'.
6378
6379 2001-01-17  Andy Piper  <andy@xemacs.org>
6380
6381         * glyphs.c (print_image_instance): comment to make martin happy.
6382
6383         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6384         change.
6385
6386         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6387         activation.
6388         (mswindows_tab_control_redisplay): warning suppression.
6389
6390         * glyphs-widget.c (widget_update): re-write to cope with updated
6391         items.
6392         (widget_instantiate): use new gui_item functions.
6393         (tab_control_update): deleted.
6394         (progress_gauge_update): deleted.
6395         (image_instantiator_progress_guage): take out update reference.
6396         (image_instantiator_tree_view): ditto.
6397         (image_instantiator_tab_control): ditto.
6398
6399         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6400         Right the new way.
6401         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6402         return whether anything was changed.
6403         (update_gui_item_keywords): as it sounds.
6404
6405         * gui.h: declare widget_gui_parse_item_keywords.
6406
6407         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
6408         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
6409
6410 2001-01-17  Martin Buchholz <martin@xemacs.org>
6411
6412         * XEmacs 21.2.41 "Polyhymnia" is released.
6413
6414 2001-01-16  Didier Verna  <didier@xemacs.org>
6415
6416         * glyphs.c (image_instantiate): don't use fallbacks when
6417         instantiating a face's background pixmap by inheritance.
6418
6419 2001-01-14  Mike Sperber <mike@xemacs.org>
6420
6421         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
6422         Conditionalize accordingly.
6423
6424 2001-01-16  Martin Buchholz  <martin@xemacs.org>
6425
6426         * dumper.c (pdump_file_get): Fix a compiler warning.
6427
6428 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6429
6430         Make Purify happy when pdumping.
6431         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
6432         iniitalizing all bits of new lisp object memory.
6433         * symbols.c (Fmake_local_variable): Likewise.
6434         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
6435         * symbols.c (Fdefvaralias): Likewise.
6436         * mule-charset.c (vars_of_mule_charset): Likewise.
6437
6438 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6439         Add the `-nd' flag when running pre-dump operations under the debugger.
6440         * .dbxrc (run-temacs): Add `-nd'.
6441         * .dbxrc (update-elc): Likewise.
6442         * .dbxrc (dump-temacs): Likewise.
6443         * .gdbinit (run-temacs): Likewise.
6444         * .gdbinit (check-temacs): Likewise.
6445         * .gdbinit (update-elc): Likewise.
6446         * .gdbinit (dump-temacs): Likewise.
6447
6448 2001-01-14  Martin Buchholz  <martin@xemacs.org>
6449
6450         Allow building 64-bit executables on AIX with GNU malloc, e.g.
6451         export OBJECT_MODE=64
6452         configure --pdump --use-union-type=no
6453         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
6454         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
6455
6456         * miscplay.c (sndcnv8U_2mono):
6457         Avoid two uses of `++' in the same expression.
6458         Suppresses a GCC warning.
6459
6460 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6461
6462         Make sure future compilers don't miscompile alloc.c.
6463         * alloc.c:
6464         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
6465         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
6466
6467 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6468
6469         * dumper.c: A little post-pdump-rename comment fixup.
6470
6471 2001-01-09  Jerry James  <james@eecs.ku.edu>
6472
6473         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
6474
6475 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6476
6477         * *.[ch]: Globally rename symbols using the following `pdump-rename'
6478         script:
6479         #!/bin/sh
6480         replace_symbol () {
6481           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
6482         }
6483
6484         replace_symbol pdump_wire_lists pdump_weak_object_chains
6485         replace_symbol pdump_wire_list dump_add_weak_object_chain
6486
6487         replace_symbol pdump_wires pdump_root_objects
6488         replace_symbol pdump_wire dump_add_root_object
6489
6490         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
6491         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
6492
6493         replace_symbol dumpstructinfos pdump_root_struct_ptrs
6494         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
6495         replace_symbol dumpstructinfo pdump_root_struct_ptr
6496         replace_symbol dumpstruct dump_add_root_struct_ptr
6497
6498         replace_symbol dumpopaque dump_add_opaque
6499         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
6500         replace_symbol dumpopaqueinfos pdump_opaques
6501         replace_symbol dumpopaqueinfo pdump_opaque
6502
6503         replace_symbol nb_structdump nb_root_struct_ptrs
6504         replace_symbol nb_opaquedump nb_opaques
6505
6506         replace_symbol align_table pdump_align_table
6507         replace_symbol dump_header pdump_header
6508
6509         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
6510         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
6511
6512
6513 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6514
6515         * s/aix4.h: Keep the C for AIX compiler from overaggressively
6516         optimizing bytecount_to_charcount().
6517
6518 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6519
6520         * config.h.in:
6521         (HAVE_DLFCN_H): Removed.
6522         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
6523
6524 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6525
6526         Portable dumper maintainability improvements.
6527         * alloc.c (staticpro):
6528         * alloc.c (staticpro_nodump):
6529         * alloc.c (garbage_collect_1):
6530         * alloc.c (reinit_alloc_once_early):
6531         * alloc.c (init_alloc_once_early):
6532         * alloc.c: Move dumper functions to alloc.c.
6533         * dumper.c (pdump_backtrace):
6534         * dumper.c (pdump_dump_structs):
6535         * dumper.c (pdump_dump_opaques):
6536         * dumper.c (pdump_dump_rtables):
6537         * dumper.c (pdump_dump_wired):
6538         * dumper.c (pdump):
6539         * dumper.c (pdump_load_check):
6540         * dumper.c (pdump_load_finish):
6541         * dumper.c (pdump_file_unmap):
6542         * dumper.c (pdump_file_get):
6543         * dumper.c (pdump_resource_free):
6544         * dumper.c (pdump_resource_get):
6545         * dumper.c (pdump_file_free):
6546         * dumper.c (pdump_file_try):
6547         * dumper.c (pdump_load):
6548         Remove fixed size limits on staticpro(), staticpro_nodump(),
6549         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
6550         Remove custom code for dumping lrecord_implementations_table - use
6551         dumpopaque instead.
6552         Remove (most of the) custom code for dumping staticpros - dump it
6553         like any other dynarr.
6554
6555         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
6556         * dumper.c: Moved functions from alloc.c.
6557         * alloc.c (dumpstruct): Moved to dumper.c.
6558         * alloc.c (dumpopaque): Likewise.
6559         * alloc.c (pdump_wire): Likewise.
6560         * alloc.c (pdump_wire_list): Likewise.
6561
6562         * lisp.h (Dynarr_sizeof): New.
6563         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
6564         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
6565         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
6566
6567         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
6568         * lisp.h (dumpopaque): ditto.
6569         * lisp.h (pdump_wire): ditto.
6570         * lisp.h (pdump_wire_list): ditto.
6571
6572 2001-01-09  Martin Buchholz  <martin@xemacs.org>
6573
6574         * make-src-depend (PrintPatternDeps):
6575         Use `sort' to make output independent of perl version.
6576
6577 2001-01-08  Martin Buchholz  <martin@xemacs.org>
6578
6579         Port to Netbsd 1.5.
6580         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
6581         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
6582
6583 2001-01-03  Didier Verna  <didier@xemacs.org>
6584
6585         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
6586         that `focus_frame' is alive before thinking of calling
6587         `redisplay_redraw_cursor' on it.
6588
6589 2001-01-08  Martin Buchholz <martin@xemacs.org>
6590
6591         * XEmacs 21.2.40 is released.
6592
6593 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6594
6595         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
6596
6597 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6598
6599         * alloc.c (dbg_valmask): Make const.
6600         * alloc.c (dbg_typemask): Make const.
6601         * alloc.c (dbg_USE_UNION_TYPE): Make const.
6602         * alloc.c (dbg_valbits): Make const.
6603         * alloc.c (dbg_gctypebits): Make const.
6604
6605 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
6606
6607         * redisplay-x.c (x_bevel_area):
6608         redisplay.h (struct rune):
6609         Typo fixes in comments.
6610
6611 2001-01-05  Andy Piper  <andy@xemacs.org>
6612
6613         * glyphs-x.c (x_redisplay_widget): use size changed for offset
6614         adjustment.
6615
6616         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
6617
6618 2001-01-05  Martin Buchholz  <martin@xemacs.org>
6619
6620         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
6621
6622         * mule-ccl.c (stack_idx_of_map_multiple):
6623         Non const global data must not be initialized!
6624         Found by MIYASHITA Hisashi.
6625
6626 2001-01-02  Andy Piper  <andy@xemacs.org>
6627
6628         * frame.c (change_frame_size): make sure frame size is always
6629         marked as changed.
6630
6631         * glyphs.c (image_instance_layout): minor code reuse.
6632
6633         * window.c (Fcurrent_window_configuration): revert previous
6634         change.
6635
6636 2001-01-02  Martin Buchholz  <martin@xemacs.org>
6637
6638         * glyphs.h:
6639         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
6640
6641 2000-12-31  Andy Piper  <andy@xemacs.org>
6642
6643         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
6644         when widget gets unmapped.
6645
6646         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
6647         function. Make sure widgets losing focus don't just drop it.
6648         (handle_focus_event_1): record the widget with focus.
6649
6650 2000-12-31  Andy Piper  <andy@xemacs.org>
6651
6652         * window.c (allocate_window): use
6653         make_image_instance_cache_hash_table.
6654         (make_dummy_parent): ditto.
6655         (Fset_window_configuration): ditto.
6656
6657         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
6658
6659         * glyphs.c (process_image_string_instantiator): use
6660         INSTANTIATOR_TYPE.
6661         (get_image_instantiator_governing_domain): ditto.
6662         (normalize_image_instantiator): ditto.
6663         (instantiate_image_instantiator): ditto.
6664         (make_image_instance_1): ditto.
6665         (image_instantiate): ditto. Key on glyph *and* instantiator type.
6666         (instantiator_eq_equal): new function for use with instance hash
6667         tables.
6668         (instantiator_eq_hash): ditto.
6669         (make_image_instance_cache_hash_table): create a suitable hash
6670         table for storing image instances.
6671
6672         * elhash.h (hash_table_weakness): new internal weakness type
6673         HASH_TABLE_KEY_CAR_VALUE_WEAK.
6674         declare new functions.
6675
6676         * elhash.c (finish_marking_weak_hash_tables): introduce yet
6677         another weakness type for glyphs.
6678         (make_standard_lisp_hash_table): new function split out from
6679         make_general_lisp_hash_table.
6680         (make_lisp_hash_table): call make_standard_lisp_hash_table.
6681         (hash_table_instantiate): ditto.
6682         (Fmake_hash_table): ditto.
6683
6684 2000-12-31  Martin Buchholz <martin@xemacs.org>
6685
6686         * XEmacs 21.2.39 is released.
6687
6688 2000-12-29  Andy Piper  <andy@xemacs.org>
6689
6690         * menubar.c (menubar_visible_p_changed): signal the frame changed.
6691
6692         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
6693         the frame has changed so that we pick up geometry changes such as
6694         menubar visibility.
6695
6696 2000-12-28  Andy Piper  <andy@xemacs.org>
6697
6698         * lastfile.c (my_ebss): make a char array so we can pad the
6699         bss. Fixes cygwin unexec.
6700
6701         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
6702
6703 2000-12-26  Andy Piper  <andy@xemacs.org>
6704
6705         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
6706         comments and try and be more precise about a non-/SIGIO world.
6707         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
6708         SIGIO.
6709
6710         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
6711         we don't normalize to zero width or height.
6712
6713 2000-12-24  Andy Piper  <andy@xemacs.org>
6714
6715         * Makefile.in.in (ldflags): add -mwindows when appropriate.
6716
6717 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
6718
6719         * s/sco5.h: SCO 5 has pty support.
6720
6721 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
6722
6723         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
6724         input-method-xlib.c contains whole contents of input-method-xfs.c,
6725         so we can use input-method-xlib.c's code for USE_XFONTSET
6726         using #ifdefs.
6727         * input-method-xfs.c: removed.
6728
6729 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
6730
6731         * file-coding.h (enum coding_category_type): reorder enumerators to
6732         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
6733         (now one greater than largest real coding_category_type enumerator).
6734         * file-coding.c (coding_category_symbol, coding_category_by_priority,
6735         coding_category_system, fcd_descriptihon_1, decode_coding_category,
6736         Fcoding_category_list, Fset_coding_priority_list,
6737         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
6738         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
6739
6740 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6741
6742         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
6743         * redisplay-output.c (redisplay_output_window): Clear top of window
6744         when face is changed.
6745         * redisplay-x.c (x_redraw_exposed_window): Call
6746         redisplay_clear_top_of_window.
6747         * redisplay.h: Publish redisplay_clear_top_of_window.
6748
6749 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6750
6751         * buffer.c (Fkill_buffer): Map over all devices.
6752         * window.c (window_loop): Remove UNSHOW_BUFFER code.
6753         (list_windows): New function.
6754         (list_all_windows): Ditto.
6755         (Freplace_buffer_in_windows): Use them.
6756
6757 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
6758
6759         * database.c (berkdb_subtype): Recognize new subtype `queue'.
6760         (Fopen_database): Use `db_create' instead of `db_open'.
6761         (syms_of_database): Initialize Qqueue.
6762
6763 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6764
6765         * buffer.c (common_init_complex_vars_of_buffer): Initialize
6766         buffer_local_face_property.
6767         * buffer.h (struct buffer): New member buffer_local_face_property.
6768         * window.c (Fset_window_buffer):  Mark window's face as changed
6769         when buffer has buffer local face.
6770         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
6771         * objects.c (color_after_change): Set buffer_local_face_property
6772         when locale of face specifier is buffer.
6773         * objects.c (font_after_change): Ditto.
6774         * objects.c (face_boolean_after_change): Ditto.
6775         * glyphs.c (image_after_change): Ditto.
6776
6777 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6778
6779         * nt.c (mswindows_fstat): Report file permissions, volume serial
6780         number, etc. Code adapted from FSF Emacs 20.7.
6781
6782 2000-12-09  Dan Holmsand  <dan@eyebee.com>
6783
6784         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
6785         of stat when we don't have symbolic links, to make sure
6786         mswindows_stat is called on mswindows.
6787
6788 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6789
6790         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
6791
6792 2000-12-12  Martin Buchholz  <martin@xemacs.org>
6793
6794         * doprnt.c (emacs_doprnt_1): More printing fixes.
6795         Make printing of numbers compatible with libc and FSF Emacs.
6796         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
6797         Use the system printf to do most of the hard work of formatting,
6798         instead of doprnt_1().
6799         Calculate memory to allocate for format string.
6800         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
6801         (doprnt_1): Cleaner code and documentation.
6802
6803 2000-12-01  Jerry James  <james@eecs.ukans.edu>
6804
6805         * Makefile.in.in: Use the loop variable to install headers.
6806
6807 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6808
6809         * window.c (Fsplit_window): Don't invalidate face cache.
6810
6811 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6812
6813         * minibuf.c (Fall_completions): Undo the previous change
6814         which removed checking elements start with space.
6815
6816 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6817
6818         * mule-canna.c: Didier suppression.
6819
6820 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
6821
6822         * mule-canna.c: rename static unsigned char buf[] to key_buffer
6823         (warning suppression).  Add English comment translations.
6824
6825 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6826
6827         * unexelfsgi.c (unexec): Better test for mmap failure.
6828
6829 2000-12-05  Martin Buchholz <martin@xemacs.org>
6830
6831         * XEmacs 21.2.38 is released.
6832
6833 2000-12-05  Martin Buchholz  <martin@xemacs.org>
6834
6835         * redisplay.c (bar-cursor): Make a user variable.
6836
6837         * symsinit.h: Add init_postgresql_from_environment.
6838
6839 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
6840
6841         * regex.c: Convert to clean C.
6842
6843 2000-12-05  Dan Holmsand  <dan@eyebee.com>
6844
6845         * realpath.c:
6846         Don't #include sysfile.h. Revert to duplicating PATH_MAX
6847         initialization.
6848         (sys_readlink): renamed to system_readlink to avoid conflict with
6849         the other sys_readlink.
6850
6851 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
6852
6853         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
6854
6855 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
6856
6857         * postgresql.c (init_postgresql_from_environment): new function.
6858         (vars_of_postgresql): Move code initializing Lisp variables out and
6859         into init_postgresql_from_environment.
6860         emacs.c (main_1): Call init_postgresql_from_environment if and only
6861         if running a dumped XEmacs.
6862
6863 2000-08-31  Dan Holmsand  <dan@eyebee.com>
6864
6865         * buffer.c: Make find-file-compare-truenames default to true on
6866         windows.
6867
6868         * realpath.c (win32_abs_start):
6869         (cygwin_readlink):
6870         (win32_readlink): New functions.
6871         (xrealpath): Return really real filenames on windows.
6872
6873         * fileio.c (Ffile_truename): Make file-truename work on windows.
6874
6875 2000-11-29  Didier Verna  <didier@xemacs.org>
6876
6877         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
6878         * faces.c (update_face_cachel_data): use it.
6879         * faces.c (add_face_cachel): use it. Complete background pixmap
6880         frobbing in face cache if `update_face_cachel_data' has not done so.
6881
6882 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
6883
6884         * search.c (string_match_1): Don't set last_thing_searched
6885         when search failed.
6886
6887 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
6888
6889         * buffer.c: Include casetab.h
6890         (common_init_complex_vars_of_buffer): Use new case-table object.
6891         * buffer.h: Include casetab.h
6892         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
6893         (DOWNCASE_TABLE_OF): Ditto.
6894         * bufslots.h: Remove char-tables and add case-table.
6895         * casetab.c: Include casetab.h
6896         (CASE_TABLE_P): Removed.
6897         (mark_case_table): New function.
6898         (allocate_case_table): New function.
6899         (Fcase_table_p): Use new case-table.
6900         (case_table_char): New function.
6901         (Fget_case_table): Ditto.
6902         (Fput_case_table): Ditto.
6903         (Fput_case_table_pair): Ditto.
6904         (Fcopy_case_table): Ditto.
6905         (Fcurrent_case_table): Return case-table.
6906         (Fstandard_case_table): Return case-table.
6907         (Fset_case_table): Fix doc-string.
6908         (set_case_table): Use case-table
6909         (syms_of_casetab): DEFSUBR new functions.
6910         (complex_vars_of_casetab): Set up standard case-table.
6911         * casetab.h: New file.
6912         * editfns.c: Include casetab.h
6913         (Fcompare_buffer_substrings): Use case-table.
6914         * inline.c: Include casetab.h
6915         * lisp.h: Remove bogus extern.
6916         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
6917         * search.c: Include casetab.h
6918         (TRANSLATE_ASCII): Removed.
6919         (TRANSLATE): Unconditionally translate character.
6920         (looking_at_1): Use case-table.
6921         (string_match_1): Ditto.
6922         (fast_string_match): Ditto.
6923         (search_command): Ditto.
6924         (search_buffer): Separate boyer_moore.  Check whether
6925         boyer_moore is possible.
6926         (simple_search): New function.
6927         (boyer_moore): Separated from search_buffer. Translate char.
6928
6929 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6930
6931         * regex.c (RE_TR_ASCII): Removed.
6932         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
6933         (PATFETCH): Call PATFETCH_RAW.
6934         (PATFETCH_RAW): Fetch Emchar.
6935         (PATUNFETCH): Decrement charptr.
6936         (GET_BUFFER_SPACE): Rename b to buf_end.
6937         (BUF_PUSH): Ditto.
6938         (BUF_PUSH_2): Ditto.
6939         (BUF_PUSH_3): Ditto.
6940         (EXTEND_BUFFER): Ditto.
6941         (SET_LIST_BIT): Ditto.
6942         (regex_compile): Ditto.  Translate non ASCII char.
6943         (compile_range): Ditto.
6944         (re_search_2): Ditto.
6945         (re_match_2_internal): Compare Emchar.
6946         (bcmp_translate): Ditto.
6947
6948 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
6949
6950         * lisp.h (basic char/int typedefs):  comment improvement.
6951
6952 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
6953
6954         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
6955         unstomp inhibit_site_lisp.  Improve comments.
6956
6957 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
6958
6959         * mule-charset.c (Fcharset_property):  improve type checking, comments.
6960
6961 2000-11-28  Andy Piper  <andy@xemacs.org>
6962
6963         * redisplay-output.c (redisplay_output_subwindow): make sure we do
6964         clipped display for windows in the gutter also.
6965         (redisplay_display_boxes_in_window_p): change semantics of return
6966         codes to be more intuitive.
6967
6968         * gutter.h: declare display_boxes_in_gutter_p.
6969
6970         * gutter.c (display_boxes_in_gutter_p): new function for
6971         redisplay.
6972
6973 2000-11-22  Andy Piper  <andy@xemacs.org>
6974
6975         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
6976         autodetect domain.
6977
6978 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
6979
6980         * callproc.c (Fold_call_process_internal):
6981         * gpm.c (Freceive_gpm_event):
6982         (tty_get_foreign_selection): Might be just warning supression.
6983         * fileio.c (Fwrite_region_internal):
6984         (Fset_visited_file_modtime):
6985         * keymap.c (event_matches_key_specifier_p):
6986         Initialize GCPROed variable.
6987
6988         * menubar-x.c (command_builder_find_menu_accelerator):
6989         Initialize before use.
6990
6991 2000-11-23  Andy Piper  <andy@xemacs.org>
6992
6993         * unexcw.c (unexec): make the resulting executable executable.
6994
6995 2000-11-21  Martin Buchholz  <martin@xemacs.org>
6996
6997         * doc.c (get_doc_string):
6998         Use size_t, not int, for result of XSTRING_LENGTH.
6999
7000         * cmds.c (Fdelete_char):
7001         * cmds.c (Fpoint_at_eol):
7002         * cmds.c (Fself_insert_command):
7003         Use EMACS_INT, not int, for result of XINT.
7004         Someday, someone will want to insert more than 2**31 identical characters.
7005
7006         * cmds.c (Fdelete_char):
7007         * cmds.c (Fdelete_backward_char):
7008         * syntax.c (Fforward_word):
7009         * syntax.c (Fforward_comment):
7010         Make COUNT argument optional, for consistency with forward-char et al.
7011
7012 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7013
7014         * lisp.h:
7015         * print.c (long_to_string):
7016         Return a useful value: the pointer at end of data written.
7017
7018         * doprnt.c:
7019         Use `static const char * const' for constant strings.
7020         (union printf_arg): Delete `i', `ui' members.
7021         (get_doprnt_args):
7022         (emacs_doprnt_1):
7023         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7024         Do all printf-ing via the `l' specifier.
7025         Use EMACS_INT instead of int.
7026         Optimize.
7027
7028 2000-11-20  Didier Verna  <didier@xemacs.org>
7029
7030         * faces.c (update_face_cachel_data): don't frob the background
7031         pixmap when the window is being created. The face is needed but
7032         does not exist yet.
7033
7034 2000-11-20  Andy Piper  <andy@xemacs.org>
7035
7036         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7037         messing with a debug environment.
7038
7039 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7040
7041         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7042
7043 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7044
7045         * casetab.c (Fcase_table_p): Fix compile error and crash.
7046
7047 2000-11-18  Philip Aston  <philipa@mail.com>
7048
7049         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7050
7051 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7052
7053         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7054         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7055
7056 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7057
7058         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7059         * unexelf.c: Use HAVE_ELF_H.
7060         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7061         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7062         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7063         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7064         for testing.
7065         So this is an unexelfsgi.c from a different line of development.
7066
7067 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7068
7069         * regex.c (RE_TR_ASCII): New function.
7070         (RE_TRANSLATE): Call it.
7071
7072 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7073
7074         * buffer.h (TRT_TABLE_OF): Remove assert.
7075         (IN_TRT_TABLE_DOMAIN): Removed.
7076
7077 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7078
7079         * free-hook.c (log_gcpro):
7080         (show_gcprohist): Add support for GCPRO5.
7081
7082 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7083
7084         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7085
7086 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7087
7088         * symeval.h: Declare flush_all_buffer_local_cache.
7089
7090         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7091         (flush_buffer_local_cache): Added.
7092         (flush_all_buffer_local_cache): Added.
7093
7094         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7095
7096         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7097         (pdump_dump_data): Ditto.
7098         (pdump_reloc_one): Ditto.
7099         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7100         before dumping.
7101
7102
7103 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7104
7105         * buffer.c: Remove if 0'ed entry.
7106         * buffer.h: Rewrite TRT to use char-table.
7107         * bufslots.h: Remove mirror tables.
7108         * casetab.c: Remove mirror tables.
7109         (CASE_TABLE_P): New macro.
7110         (Fcase_table_p): Element of a case table is string or char-table.
7111         (make_mirror_trt_table): Removed.
7112         (set_case_table): Setup char-table from strings for backward
7113         compatibility.
7114         * dired.c (Fdirectory_files):
7115         * dired-msw.c: (mswindows_get_files):
7116         * lisp.h: Change prototype of re_pattern_buffer.
7117         * regex.c: (RE_TRANSLATE): New macro.
7118         (TRANSLATE_P): Ditto.
7119         Change translate to type RE_TRANSLATE_TYPE.
7120         * regex.h: Define RE_TRANSLATE_TYPE
7121         * search.c (TRANSLATE): New macro.
7122         (TRANSLATE_ASCII): New macro.
7123         Translate table is changed to Lisp_Object.
7124         (signal_failure): Inhibit return.
7125
7126 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7127
7128         * device-msw.c:
7129         * eldap.c:
7130         * event-Xt.c:
7131         * event-stream.c:
7132         * print.c:
7133         Do UNGCPRO before return.
7134
7135 2000-11-14  Martin Buchholz <martin@xemacs.org>
7136
7137         * XEmacs 21.2.37 is released.
7138
7139 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7140
7141         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7142         Add comments about discarded return value.
7143
7144 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7145
7146         * callint.c:
7147         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7148
7149 2000-10-27  Andy Piper  <andy@xemacs.org>
7150
7151         * gutter.c (Fset_default_gutter_position): default left and right
7152         gutters to visible.
7153         (calculate_gutter_size): calculate resonable heuristic for left
7154         and right gutter sizes.
7155         (specifier_vars_of_gutter): change left and right gutter sizes to
7156         autodetect.
7157         (calculate_gutter_size_from_display_lines): new function.
7158         (output_gutter): check for resizing on left and right gutters.
7159         (clear_gutter): don't special case top and left gutters.
7160         (specifier_vars_of_gutter): use new signature for
7161         set_specifier_caching.
7162
7163         * glyphs-x.c (x_redisplay_widget): spelling fix.
7164         * glyphs.c (specifier_vars_of_glyphs):
7165         * menubar.c (specifier_vars_of_menubar):
7166         * redisplay.c (specifier_vars_of_redisplay):
7167         * toolbar.c (specifier_vars_of_toolbar):
7168         * window.c (specifier_vars_of_window):
7169         * scrollbar.c (specifier_vars_of_scrollbar):
7170         (complex_vars_of_scrollbar): use new signature for
7171         set_specifier_caching.
7172
7173         * specifier.c (set_specifier_caching): include recompute flag.
7174         (recompute_one_cached_specifier_in_window): always recompute if
7175         flag set.
7176         (recompute_one_cached_specifier_in_frame): ditto.
7177
7178         * specifier.h (struct specifier_caching): add recompute flag.
7179
7180 2000-10-24  Andy Piper  <andy@xemacs.org>
7181
7182         * unexcw.c (copy_executable_and_dump_data_section): add new
7183         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7184         5.0 happy.
7185
7186 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7187
7188         * console-x.h (x_device): New member modifier_release_time.
7189         * event-Xt.c (x_handle_sticky_modifiers):
7190         Bound interval modifier keys are sticky.
7191         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7192         * events.h: extern it.
7193
7194 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7195
7196         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7197
7198 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7199
7200         * event-stream.c (execute_command_event): Preserve current_events
7201         and the like when event is misc-user-event.
7202         Inhibit quit during the call to maybe_echo_keys.
7203
7204 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7205
7206         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7207         symlink when buffer is killed.
7208         (inhibit_clash_detection): New variable.
7209
7210 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7211
7212         * console.c (Fset_input_method): Trigger redisplay on tty.
7213
7214 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7215
7216         * process.c (Fprocess_status): Revert to previous behavior:
7217         (process-status "nosuchprocess") ==> nil
7218
7219 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7220
7221         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7222         Work around another GCC 2.95.2 optimizer bug.
7223
7224 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7225
7226         * process.c (Fget_process): Use LIST_LOOP_2.
7227         (kill_buffer_processes): Use LIST_LOOP_2.
7228
7229         * minibuf.c (Fall_completions):
7230         Delete old non-functional code for FSF fourth argument.
7231
7232         * frame.c (frame_matches_frame_spec):
7233         Renamed from `frame_matches_frametype'.  Update all callers.
7234         (device_matches_device_spec):
7235         Renamed from 'device_matches_console_spec'.  Update all callers.
7236
7237         * doc.c (Fsubstitute_command_keys):
7238         Remove buffer overflow crash.  Small code cleanups.
7239
7240         * casetab.c (check_case_table): Simpler code.
7241
7242         * window.c (Freplace_buffer_in_windows):
7243         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7244         (and similar implementation) as Fdelete_windows_on.
7245         Update all callers.
7246
7247         * alloc.c (Fmake_list):
7248         * alloc.c (make_vector):
7249         * alloc.c (Fmake_vector):
7250         * alloc.c (make_bit_vector):
7251         * alloc.c (Fmake_bit_vector):
7252         * alloc.c (Fbit_vector):
7253         * alloc.c (Fmake_string):
7254         * alloc.c (Fpurecopy):
7255         * alloc.c (Fmemory_limit):
7256         * buffer.c:
7257         * buffer.c (Fget_buffer):
7258         * buffer.c (Fkill_buffer):
7259         * buffer.c (complex_vars_of_buffer):
7260         * bytecode.c (Fcompiled_function_stack_depth):
7261         * callint.c (Fprefix_numeric_value):
7262         * event-stream.c:
7263         * event-stream.c (Fread_key_sequence):
7264         * casetab.c:
7265         * casetab.c (Fcase_table_p):
7266         * casetab.c (check_case_table):
7267         * casetab.c (Fset_case_table):
7268         * casetab.c (Fset_standard_case_table):
7269         * chartab.c:
7270         * chartab.c (Fchar_table_type):
7271         * chartab.c (Freset_char_table):
7272         * chartab.c (Fget_char_table):
7273         * chartab.c (Fget_range_char_table):
7274         * chartab.c (Fput_char_table):
7275         * chartab.c (Fmap_char_table):
7276         * chartab.c (Fcategory_table_p):
7277         * chartab.c (Fcheck_category_at):
7278         * chartab.c (Fchar_in_category_p):
7279         * chartab.c (Fcategory_table):
7280         * chartab.c (Fcopy_category_table):
7281         * chartab.c (Fset_category_table):
7282         * chartab.c (Fcategory_designator_p):
7283         * chartab.c (Fcategory_table_value_p):
7284         * cmds.c (Fdelete_char):
7285         * cmds.c (Fdelete_backward_char):
7286         * cmds.c (Fself_insert_command):
7287         * cmds.c (Fself_insert_internal):
7288         * console.c (Fvalid_console_type_p):
7289         * console.c (Fcdfw_console):
7290         * console.c (Fconsole_type):
7291         * console.c (Fconsole_name):
7292         * console.c (Fconsole_device_list):
7293         * console.c (Fconsole_on_window_system_p):
7294         * data.c:
7295         * data.c (Feq):
7296         * data.c (Fold_eq):
7297         * data.c (Fsubr_interactive):
7298         * data.c (Fchar_to_int):
7299         * data.c (Fint_to_char):
7300         * data.c (Fsetcar):
7301         * data.c (Fsetcdr):
7302         * data.c (Fnumber_to_string):
7303         * data.c (Fstring_to_number):
7304         * data.c (Frem):
7305         * database.c (mark_database):
7306         * database.c (finalize_database):
7307         * database.c (Fdatabase_live_p):
7308         * database.c (Fdatabasep):
7309         * device-x.c (Fx_get_resource):
7310         * device.c (Fdfw_device):
7311         * dired.c:
7312         * dired.c (Ffile_name_completion):
7313         * dired.c (Ffile_name_all_completions):
7314         * dired.c (Fuser_name_completion):
7315         * dired.c (Fuser_name_completion_1):
7316         * dired.c (Fuser_name_all_completions):
7317         * doc.c (Fdocumentation):
7318         * doc.c (Fdocumentation_property):
7319         * doc.c (Fsubstitute_command_keys):
7320         * editfns.c:
7321         * editfns.c (Fchar_to_string):
7322         * editfns.c (Fstring_to_char):
7323         * editfns.c (Ftemp_directory):
7324         * editfns.c (Finsert_char):
7325         * editfns.c (Fbuffer_substring_no_properties):
7326         * editfns.c (Fnarrow_to_region):
7327         * editfns.c (Fchar_equal):
7328         * editfns.c (Fchar_Equal):
7329         * editfns.c (Ftranspose_regions):
7330         * emacs.c (Fdump_emacs):
7331         * eval.c (Fthrow):
7332         * eval.c (Fcommand_execute):
7333         * eval.c (Fautoload):
7334         * eval.c (Fbacktrace):
7335         * eval.c (Fbacktrace_frame):
7336         * events.c:
7337         * events.c (Fcopy_event):
7338         * events.c (Fcharacter_to_event):
7339         * events.c (Fevent_button):
7340         * events.c (Fevent_process):
7341         * extents.c:
7342         * extents.c (Fnext_extent_change):
7343         * extents.c (Fextent_property):
7344         * faces.c (Ffacep):
7345         * faces.c (Fmake_face):
7346         * file-coding.c:
7347         * file-coding.c (Fencode_shift_jis_char):
7348         * file-coding.c (Fencode_big5_char):
7349         * fileio.c (Ffile_name_directory):
7350         * fileio.c (Ffile_name_nondirectory):
7351         * fileio.c (Ffile_name_as_directory):
7352         * fileio.c (Fdirectory_file_name):
7353         * fileio.c (Ffile_truename):
7354         * fileio.c (Fsubstitute_in_file_name):
7355         * fileio.c (Ffile_modes):
7356         * fileio.c (Fset_file_modes):
7357         * fileio.c (Fset_default_file_modes):
7358         * fileio.c (Fverify_visited_file_modtime):
7359         * floatfns.c (Facos):
7360         * floatfns.c (Fasin):
7361         * floatfns.c (Fatan):
7362         * floatfns.c (Fcos):
7363         * floatfns.c (Fsin):
7364         * floatfns.c (Ftan):
7365         * floatfns.c (Fbessel_j0):
7366         * floatfns.c (Fbessel_j1):
7367         * floatfns.c (Fbessel_jn):
7368         * floatfns.c (Fbessel_y0):
7369         * floatfns.c (Fbessel_y1):
7370         * floatfns.c (Fbessel_yn):
7371         * floatfns.c (Ferf):
7372         * floatfns.c (Ferfc):
7373         * floatfns.c (Flog_gamma):
7374         * floatfns.c (Fexp):
7375         * floatfns.c (Fexpt):
7376         * floatfns.c (Flog):
7377         * floatfns.c (Flog10):
7378         * floatfns.c (Fsqrt):
7379         * floatfns.c (Fcube_root):
7380         * floatfns.c (Facosh):
7381         * floatfns.c (Fasinh):
7382         * floatfns.c (Fatanh):
7383         * floatfns.c (Fcosh):
7384         * floatfns.c (Fsinh):
7385         * floatfns.c (Ftanh):
7386         * floatfns.c (Fabs):
7387         * floatfns.c (Ffloat):
7388         * floatfns.c (Flogb):
7389         * floatfns.c (Fceiling):
7390         * floatfns.c (Ffloor):
7391         * floatfns.c (Fround):
7392         * floatfns.c (Ftruncate):
7393         * floatfns.c (Ffceiling):
7394         * floatfns.c (Fffloor):
7395         * floatfns.c (Ffround):
7396         * floatfns.c (Fftruncate):
7397         * fns.c (Fstring_equal):
7398         * fns.c (Fstring_lessp):
7399         * fns.c (concat2):
7400         * fns.c (concat3):
7401         * fns.c (vconcat2):
7402         * fns.c (vconcat3):
7403         * fns.c (Fsubstring):
7404         * fns.c (Fassoc):
7405         * fns.c (Fold_assoc):
7406         * fns.c (assoc_no_quit):
7407         * fns.c (Fassq):
7408         * fns.c (Fold_assq):
7409         * fns.c (assq_no_quit):
7410         * fns.c (Frassoc):
7411         * fns.c (Fold_rassoc):
7412         * fns.c (Frassq):
7413         * fns.c (Fold_rassq):
7414         * fns.c (rassq_no_quit):
7415         * fns.c (Fremassoc):
7416         * fns.c (remassoc_no_quit):
7417         * fns.c (Fremassq):
7418         * fns.c (remassq_no_quit):
7419         * fns.c (Fremrassoc):
7420         * fns.c (Fremrassq):
7421         * fns.c (remrassq_no_quit):
7422         * fns.c (Fsort):
7423         * fns.c (Fplist_get):
7424         * fns.c (Fplist_put):
7425         * fns.c (Fplist_remprop):
7426         * fns.c (Fplist_member):
7427         * fns.c (Flax_plist_get):
7428         * fns.c (Flax_plist_put):
7429         * fns.c (Flax_plist_remprop):
7430         * fns.c (Flax_plist_member):
7431         * fns.c (Fequal):
7432         * fns.c (Fold_equal):
7433         * fns.c (Frequire):
7434         * fns.c (Fbase64_encode_region):
7435         * fns.c (Fbase64_encode_string):
7436         * fns.c (Fbase64_decode_region):
7437         * frame.c:
7438         * frame.c (frame_matches_frame_spec):
7439         * frame.c (device_matches_device_spec):
7440         * frame.c (next_frame):
7441         * frame.c (previous_frame):
7442         * frame.c (Fnext_frame):
7443         * frame.c (Fprevious_frame):
7444         * frame.c (Fframe_property):
7445         * frame.c (Fset_frame_height):
7446         * frame.c (Fset_frame_size):
7447         * frame.h:
7448         * glyphs.c:
7449         * glyphs.c (if):
7450         * glyphs.c (decode_error_behavior_flag):
7451         * glyphs.c (Fmake_image_instance):
7452         * indent.c (Findent_to):
7453         * intl.c (Fignore_defer_gettext):
7454         * keymap.c (Fkeymapp):
7455         * keymap.c (Flookup_key):
7456         * lread.c:
7457         * lread.c (Fload_internal):
7458         * lread.c (Feval_buffer):
7459         * lread.c (Feval_region):
7460         * macros.c (Fexecute_kbd_macro):
7461         * marker.c (set_marker_internal):
7462         * marker.c (Fset_marker):
7463         * marker.c (set_marker_restricted):
7464         * marker.c (Fcopy_marker):
7465         * marker.c (noseeum_copy_marker):
7466         * menubar.c:
7467         * menubar.c (Fpopup_menu):
7468         * minibuf.c:
7469         * mule-charset.c (Fcharset_name):
7470         * mule-charset.c (Fchar_charset):
7471         * mule-charset.c (Fchar_octet):
7472         * mule-charset.c (Fsplit_char):
7473         * mule-wnnfns.c (Fwnn_open):
7474         * mule-wnnfns.c (Fwnn_dict_comment):
7475         * mule-wnnfns.c (Fwnn_quit_henkan):
7476         * mule-wnnfns.c (Fwnn_word_toroku):
7477         * mule-wnnfns.c (Fwnn_word_sakujo):
7478         * mule-wnnfns.c (Fwnn_word_use):
7479         * mule-wnnfns.c (Fwnn_hindo_set):
7480         * objects.c:
7481         * objects.c (Fmake_color_instance):
7482         * objects.c (Fmake_font_instance):
7483         * print.c (Fwrite_char):
7484         * process.c:
7485         * process.c (mark_process):
7486         * process.c (print_process):
7487         * process.c (get_process_from_usid):
7488         * process.c (Fprocessp):
7489         * process.c (Fprocess_live_p):
7490         * process.c (Fget_process):
7491         * process.c (Fget_buffer_process):
7492         * process.c (get_process):
7493         * process.c (Fprocess_id):
7494         * process.c (Fprocess_name):
7495         * process.c (Fprocess_command):
7496         * process.c (init_process_io_handles):
7497         * process.c (start_process_unwind):
7498         * process.c (Fstart_process_internal):
7499         * process.c (Fopen_multicast_group_internal):
7500         * process.c (Fset_process_window_size):
7501         * process.c (read_process_output):
7502         * process.c (send_process):
7503         * process.c (Fprocess_tty_name):
7504         * process.c (Fset_process_buffer):
7505         * process.c (Fprocess_buffer):
7506         * process.c (Fprocess_mark):
7507         * process.c (set_process_filter):
7508         * process.c (Fset_process_filter):
7509         * process.c (Fprocess_filter):
7510         * process.c (Fprocess_send_region):
7511         * process.c (Fprocess_send_string):
7512         * process.c (exec_sentinel):
7513         * process.c (Fset_process_sentinel):
7514         * process.c (Fprocess_sentinel):
7515         * process.c (status_notify):
7516         * process.c (Fprocess_status):
7517         * process.c (Fprocess_exit_status):
7518         * process.c (process_send_signal):
7519         * process.c (Fprocess_send_eof):
7520         * process.c (deactivate_process):
7521         * process.c (remove_process):
7522         * process.c (Fdelete_process):
7523         * process.c (kill_buffer_processes):
7524         * process.c (Fprocess_kill_without_query):
7525         * process.c (Fprocess_kill_without_query_p):
7526         * rangetab.c:
7527         * rangetab.c (Fget_range_table):
7528         * rangetab.c (Fput_range_table):
7529         * rangetab.c (Fremove_range_table):
7530         * rangetab.c (Fclear_range_table):
7531         * search.c:
7532         * search.c (Fskip_chars_forward):
7533         * search.c (Fskip_chars_backward):
7534         * search.c (Fskip_syntax_forward):
7535         * search.c (Fskip_syntax_backward):
7536         * search.c (search_command):
7537         * search.c (Freplace_match):
7538         * search.c (Fregexp_quote):
7539         * select.c (Fown_selection_internal):
7540         * select.c (Fselection_owner_p):
7541         * select.c (Fselection_exists_p):
7542         * select.c (Fget_selection_internal):
7543         * specifier.c:
7544         * symbols.c:
7545         * symbols.c (Fintern):
7546         * symbols.c (Fintern_soft):
7547         * symbols.c (Funintern):
7548         * symbols.c (Fapropos_internal):
7549         * symbols.c (Fset_default):
7550         * syntax.c:
7551         * syntax.c (Fsyntax_table_p):
7552         * syntax.c (Fcopy_syntax_table):
7553         * syntax.c (Fset_syntax_table):
7554         * syntax.c (Fchar_syntax):
7555         * syntax.c (syntax_match):
7556         * syntax.c (Fmatching_paren):
7557         * syntax.c (Fforward_word):
7558         * syntax.c (scan_lists):
7559         * syntax.c (Fscan_lists):
7560         * syntax.c (Fscan_sexps):
7561         * syntax.c (Fparse_partial_sexp):
7562         * toolbar.c (Fcheck_toolbar_button_syntax):
7563         * tooltalk.doc:
7564         * window.c:
7565         * window.c (Fwindowp):
7566         * window.c (Fwindow_live_p):
7567         * window.c (Fwindow_point):
7568         * window.c (Fdelete_window):
7569         * window.c (Fnext_window):
7570         * window.c (Fprevious_window):
7571         * window.c (Fother_window):
7572         * window.c (window_loop):
7573         * window.c (Fget_lru_window):
7574         * window.c (Fsplit_window):
7575         * window.c (Fenlarge_window):
7576         * window.c (Fenlarge_window_pixels):
7577         * window.c (Fshrink_window):
7578         * window.c (Fshrink_window_pixels):
7579         * window.c (change_window_height):
7580         * window.c (Fwindow_configuration_p):
7581         * window.c (Fcurrent_window_configuration):
7582         * window.h:
7583         * casefiddle.c (casify_object):
7584         * casefiddle.c (Fupcase):
7585         * casefiddle.c (Fdowncase):
7586         * casefiddle.c (Fcapitalize):
7587         * casefiddle.c (Fupcase_initials):
7588         * casefiddle.c (casify_region_internal):
7589         * casefiddle.c (casify_region):
7590         * casefiddle.c (Fupcase_region):
7591         * casefiddle.c (Fdowncase_region):
7592         * casefiddle.c (Fcapitalize_region):
7593         * casefiddle.c (Fupcase_initials_region):
7594         * casefiddle.c (Fupcase_word):
7595         * casefiddle.c (Fdowncase_word):
7596         * casefiddle.c (Fcapitalize_word):
7597         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
7598         Replace 0 with '\0' when working with bytes.
7599         Replace initial "(" with "\(" in docstrings.
7600
7601 2000-11-01  Martin Buchholz  <martin@xemacs.org>
7602
7603         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
7604
7605         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
7606
7607 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7608
7609         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
7610
7611 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7612
7613         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
7614         correctly.
7615
7616 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7617
7618         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
7619         (inhibit_auto_save_session): New variable.
7620         (vars_of_fileio): Declare and initialize them.
7621         * fileio.c (Fdo_auto_save): Don't create session file if
7622         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
7623
7624 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7625
7626         * sgiplay.c (play_internal): C++ compilability.
7627         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
7628         * callproc.c (Fold_call_process_internal):
7629         Remove unused vars `env', `first'.
7630         * scrollbar.c (update_scrollbar_instance):
7631         #### unused var `current_window'.
7632         * redisplay-tty.c: Put currently unused vars insert_mode_on,
7633         etc. within #ifdef NOT_YET.
7634         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
7635         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
7636         * specifier.c (specifier_instance):
7637         #### unused var `tag'.
7638         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
7639
7640 2000-10-27  Martin Buchholz  <martin@xemacs.org>
7641
7642         * fns.c (Fbutlast):
7643         * fns.c (list_sort):
7644         * fns.c (Ffillarray):
7645         * fns.c (bytecode_nconc2):
7646         * fns.c (Fnconc):
7647         * fns.c (mapcar1):
7648         * fns.c (Fmapconcat):
7649         Be pedantically 64-bit correct.  For the time when someone will
7650         want to have a list with length > 2**32.
7651
7652         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
7653         Work around MIPSpro compiler bug.
7654
7655         * process-unix.c (unix_kill_child_process): Add snarky comment.
7656         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
7657
7658         * config.h.in: Oops, _getpt ==> _getpty
7659
7660 2000-10-26  Martin Buchholz  <martin@xemacs.org>
7661
7662         * config.h.in:
7663         * regex.c:
7664         Use void*, not char*, as return type of alloca().
7665
7666         * alloc.c (free_marker): Side effect inside assert expression!
7667
7668 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
7669
7670         * mule-charset.c (Fset_charset_ccl_program): To check
7671         if the given ccl program is valid, use setup_ccl_program()
7672         instead of CHECK_VECTOR().
7673         (Fmake_charset): Likewise.
7674
7675 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
7676
7677         * faces.c (get_extent_fragment_face_cache_index):
7678         Fix cachel.merged_faces memory leak.
7679
7680 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
7681
7682         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
7683         Reset MSB of octets obtained by DECODE_SJIS
7684         because of the incompatibility with Emacs.
7685         (ccl_driver)<CCL_ENCODE_SJIS>:
7686         Set MSB of octets before passing them to
7687         ENCODE_SJIS because of the incompatibility
7688         with Emacs.
7689
7690 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
7691
7692         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
7693         (DECLARE_LRECORD): Undo the last change.
7694         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
7695
7696 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
7697
7698         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
7699         the implementation to lrecord_implementations_table.
7700
7701 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
7702
7703         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
7704         initial value of `lrecord_type_##c_name' and
7705         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
7706         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
7707         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
7708         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
7709         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
7710
7711 2000-10-17  Martin Buchholz  <martin@xemacs.org>
7712
7713         * miscplay.c (sndcnv8S_2mono):
7714         (sndcnv2monounsigned):
7715         (sndcnvULaw_2linear):
7716         (sndcnv16swap):
7717         Remove implementation-defined behavior.
7718
7719 2000-10-12  Martin Buchholz  <martin@xemacs.org>
7720
7721         * input-method-xlib.c: Warning suppression.
7722
7723 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
7724
7725         * mule-ccl.c: Sync up with Emacs 21.0.90.
7726         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
7727         Do nothing.
7728         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
7729         Likewise.
7730         (ccl_driver[WriteMultibyteChar2]): Bug fix.
7731         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
7732         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
7733         leading char belongs to official 2-dimensional charset.
7734         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
7735         write the given character as is.  Otherwise,
7736         if it is a multibyte char, convert it by
7737         non_ascii_set_charptr_emchar, then write it.
7738         (CCL_WRITE_STRING): Likewise.
7739         (ccl_get_compiled_code): New function.
7740         (setup_ccl_program): When ccl_prog is invalid,
7741         return -1.
7742         (Fregister_code_conversion_map): New function.
7743         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
7744
7745         * mule-ccl.h: Sync up with Emacs 21.0.90.
7746         (Fregister_ccl_program): export it.
7747
7748         * redisplay-msw.c (separate_textual_runs):
7749         If ccl program is not valid, don't do ccl conversion.
7750
7751         * redisplay-x.c (separate_textual_runs): Ditto.
7752
7753         * file-coding.c (Fmake_coding_system):
7754         When type is ccl and value is vector, register it
7755         with a proper symbol.  And checks whether the
7756         given ccl program is valid.
7757         (mule_decode): When calling ccl_driver, if src indicates
7758         NULL pointer, set an empty string instead.
7759         (mule_encode): Likewise.
7760
7761 2000-10-11  Martin Buchholz  <martin@xemacs.org>
7762
7763         The following large batch of changes gets us back to a state of
7764         C++ compilability.  Extbyte is now a char, which means that
7765         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
7766
7767         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
7768
7769         * sound.c (Fplay_sound): Type correctness.
7770
7771         * select-x.c (hack_motif_clipboard_selection): Type correctness.
7772         (x_get_window_property): Type correctness.
7773         (receive_incremental_selection): unsigned char ==> Extbyte
7774         (selection_data_to_lisp_data): unsigned char ==> Extbyte
7775         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
7776         (Fx_store_cutbuffer_internal): Type correctness.
7777
7778         * process-unix.c (try_to_initialize_subtty): Type correctness.
7779
7780         * objects-x.c (x_print_color_instance): Type correctness.
7781         (x_print_font_instance): Type correctness.
7782         (x_list_fonts): SExtbyte ==> Extbyte.
7783         (valid_x_font_name_p): SExtbyte ==> Extbyte.
7784         (x_find_charset_font): SExtbyte ==> Extbyte.
7785         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
7786         (truename_via_XListFonts): SExtbyte ==> Extbyte.
7787         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
7788         Use bufbyte_strcmp.
7789
7790         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
7791         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
7792         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
7793         (BYTE_C0_P): Use bit ops for char-signedness safety.
7794         (BYTE_C1_P): Use bit ops for char-signedness safety.
7795         (CHARSET_BY_LEADING_BYTE):
7796         (CHARSET_BY_ATTRIBUTES):
7797         Always use inline function.
7798         Use type_checking_assert.
7799         Hide chlook.
7800
7801         * mule-charset.c (non_ascii_charptr_copy_char):
7802         Modify to work with both ASCII and non-ASCII characters.
7803         Improve docs and variable names.
7804         Replace over-clever fall-through switch with a simple loop.
7805         (Lstream_get_emchar_1):
7806         Replace over-clever fall-through switch with a simple loop.
7807
7808         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7809         Warning suppression.
7810
7811         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
7812         the return value of Lstream_getc, which could be EOF as well.
7813
7814         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
7815
7816         * lisp.h: Make Extbyte a char, not unsigned char, so that external
7817         APIs can be used on Extbytes without casts.  Risky!
7818         (SExtbyte): Remove.
7819         (UExtbyte): Remove.
7820
7821         * input-method-xlib.c (XIM_init_device):
7822         Use Xlib.h instead of IntrinsicP.h.
7823         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
7824         which will break in X11R7.
7825         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
7826         to call XRegisterIMInstantiateCallback with correct types.
7827
7828         * gui-x.c (button_item_to_widget_value): Type correctness.
7829
7830         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
7831
7832         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
7833         (xbm_instantiate_1): Type correctness.
7834         (BUILD_GLYPH_INST):  Type correctness.
7835
7836         * fileio.c (Fsubstitute_in_file_name): Type correctness.
7837
7838         * file-coding.c:
7839         (decode_coding_sjis):
7840         (decode_coding_big5):
7841         (decode_coding_ucs4):
7842         (decode_coding_utf8):
7843         (decode_coding_iso2022):
7844         (decode_coding_no_conversion):
7845         Make all decoding functions take an Extbyte * arg.
7846         (encode_coding_sjis):
7847         (encode_coding_big5):
7848         (encode_coding_ucs4):
7849         (encode_coding_utf8):
7850         (encode_coding_iso2022):
7851         (encode_coding_no_conversion):
7852         Make all encoding functions take a Bufbyte * arg.
7853         Use size_t instead of unsigned int for memory sizes.
7854         Only cast to unsigned char whenever dereferencing Extbyte *.
7855
7856         * doc.c (unparesseuxify_doc_string): Type correctness.
7857
7858         * console-x.c (split_up_display_spec):
7859         Rewrite without using details of internal string representation.
7860         (x_semi_canonicalize_device_connection): Type correctness.
7861
7862         * config.h.in:
7863         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
7864         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
7865         (HAVE_XFREE386): Removed.
7866
7867         * buffer.h (DEC_CHARPTR): `const' correctness.
7868         (bufbyte_strcmp): New.
7869         (bufbyte_memcmp): New.
7870
7871         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
7872
7873         * buffer.h (XCHAR_OR_CHAR_INT):
7874         Always use inline function.
7875         Remove redundant type checking assert() - XINT will abort quite nicely.
7876
7877 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
7878
7879         * search.c (Freplace_match): Set newtext to an empty string.
7880
7881 2000-10-10  Martin Buchholz  <martin@xemacs.org>
7882
7883         * s/decosf1-3.h: Remove #include of stropts.h
7884         * s/ptx.h: Remove #include of stropts.h
7885         * s/usg5-4.h: Remove #include of stropts.h
7886         * sysproc.h:
7887         * config.h.in:
7888         Use stropts.h, not sys/stropts.h.
7889         Use strtio.h, not sys/strtio.h.
7890
7891 2000-10-04  Martin Buchholz <martin@xemacs.org>
7892
7893         * XEmacs 21.2.36 is released.
7894
7895 2000-09-21  Andy Piper  <andy@xemacs.org>
7896
7897         * glyphs-x.c (x_redisplay_widget): make sure non-structural
7898         changes still involve copying the widget tree.
7899         (update_widget_face): make sure a change is register in the widget
7900         tree. Call update_tab_widget_face appropriately.
7901         (update_tab_widget_face): ditto.
7902         (x_tab_control_redisplay): make sure non-structural changes still
7903         involve copying the widget tree.
7904
7905 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
7906
7907         * lread.c (locate_file): Check the path element is non-nil.
7908
7909 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7910
7911         * lisp.h: Warning suppression for SCO compilers.
7912
7913         * redisplay-tty.c (reset_tty_modes): Fix crash.
7914         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
7915
7916 2000-09-27  Martin Buchholz  <martin@xemacs.org>
7917
7918         Big signal/process handling overhaul.  Bugs fixed:
7919         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
7920         M-x comint-kill-subjob should work for both values nil and t of
7921         process-connection-type. It was broken on most platforms.
7922         Testing on Irix and Cygwin still needed.  Other plaforms tested.
7923         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
7924         * process-unix.c: Signal/Process handling overhaul.
7925         (pty_name): make 64 bytes, as `expect' does, for paranoia.
7926         (allocate_pty): Use all available modern methods of allocating
7927         ptys, falling back to old style BSD allocation as a last resort.
7928         Use allegedly more secure Unix98 pty allocation by default.
7929         (allocate_pty_the_old_fashioned_way): New. the last resort.
7930         (unix_create_process): Push ptem, ldterm, ttcompat where
7931         available.  Autoconfiscate.
7932         (try_to_initialize_subtty): New.
7933         (unix_kill_child_process): Proper signal handling for ptys on most
7934         platforms, using special knowledge of AIX, BSD, etc...
7935         (unix_create_process): Always disconnect_controlling_terminal() for
7936         subprocesses, whether using ptys or not.
7937         * process.h: Remove old getpt-dependent PTY code.
7938         * process.c (Fprocess_send_signal): New, obvious generic function.
7939         (decode_signal): New.
7940         (Finterrupt_process):
7941         (Fkill_process):
7942         (Fquit_process):
7943         (Fstop_process):
7944         (Fcontinue_process):
7945         (Fsignal_process): Use decode_signal.
7946         (process_send_signal):
7947         Many docstring corrections.
7948         Allow any signal to be sent to a process object.
7949         * config.h.in: Add symbols for big signal/process overhaul.
7950         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
7951         * sysproc.h: Include process-related headers, where available:
7952         sys/stropts.h sys/strtio.h pty.h libutil.h
7953         * s/irix4-0.h:
7954         * s/irix5-0.h:
7955         * s/cygwin32.h:
7956         * s/gnu.h:
7957         * s/linux.h:
7958         * s/hpux.h:
7959         * s/aix3-1.h:
7960         Remove old S&M pty stuff.
7961         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
7962         * systty.h: Simplify cpp hackery, improve comments.
7963         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
7964
7965         * editfns.c (Fformat_time_string):
7966         Be a little more paranoid with the return value of ctime.
7967
7968         * fileio.c (check_executable):
7969         (check_writable):
7970         Use symbolic constants X_OK, W_OK.
7971
7972         * console-x.c (split_up_display_spec): Fix a warning.
7973
7974 2000-10-02  Martin Buchholz  <martin@xemacs.org>
7975
7976         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
7977         * ntproc.c (sys_spawnve): make_string ==> build_string
7978         Small clarity improvements.
7979
7980 2000-09-30  Martin Buchholz  <martin@xemacs.org>
7981
7982         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
7983
7984         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
7985
7986         * config.h.in (HAVE_STRCASECMP): Remove.
7987
7988 2000-09-29  Martin Buchholz  <martin@xemacs.org>
7989
7990         * redisplay-output.c (redisplay_output_pixmap):
7991         Cleaner and possibly more 64-bit correct code.
7992
7993 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7994
7995         * dumper.c (pdump_load_finish): move restoration of
7996         `noninteractive1' to emacs.c (main_1).
7997         * emacs.c (main_1): protect LISP-visible command-line flags
7998         from pdump_load().
7999
8000 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8001
8002         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8003         DUMP_TARGET instead of literal program names.
8004
8005 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8006
8007         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8008
8009 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8010
8011         * *: Spelling mega-patch
8012
8013 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8014
8015         * fns.c (bad_bad_turtle):
8016         Delete "Eek!" comment, since we fixed the bug to which it refers.
8017
8018 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8019
8020         * alloca.c: Replace REGISTER with register.
8021
8022 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8023
8024         * file-coding.c (ucs_to_char): Use countof.
8025
8026 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8027
8028         * file-coding.c: (ucs_to_char):
8029         (complex_vars_of_file_coding):
8030         Use countof instead of sizeof.
8031         Use CHECK_NATNUM instead of CHECK_INT.
8032
8033         * sysdep.c (strcasecmp): Remove.
8034         * device-x.c (ascii_strcasecmp): New.
8035         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8036         Avoid using non-standard non-portable strcasecmp.
8037
8038 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8039
8040         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8041         * font-lock.c: remove reference to emacsfns.h.
8042         * search.c: small doc improvement.
8043         * event-Xt.c: correct file names in comments.
8044         * console-x.h Correct file names in comments.
8045         * frame.c: Correct file names in comments.
8046         * event-stream.c: remove Energize from comments.
8047
8048 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8049
8050         * symeval.h (DEFERROR_STANDARD):
8051         (DEFERROR):
8052         (DEFSYMBOL):
8053         (DEFSYMBOL_NO_DUMP):
8054         (DEFSYMBOL_MULTIWORD_PREDICATE):
8055         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8056         (DEFKEYWORD):
8057         The construct &##name is not sensible C.
8058         Fixes compilation errors with Unixware native compiler.
8059
8060 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8061
8062         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8063         (next_frame_internal): Removed.  We now just have next_frame.
8064         (next_frame):
8065         Write a simpler and cleaner one-pass algorithm.
8066         Remove called_from_delete_device arg and #ifdefed-out code.
8067         (previous_frame):
8068         Renamed from prev_frame.  Update callers.
8069         Cleaned up to have an analogous implementation to next_frame.
8070         (other_visible_frames_internal): Remove the
8071         called_from_delete_device bogus arg, and hence, remove this
8072         function.  Just use other_visible_frames().
8073
8074         * window.c (Fnext_window):
8075         Prettify docstring.
8076         Since next_frame() is guaranteed to return a frame, remove check
8077         for nil inserted in previous patch.
8078         (Fprevious_window):
8079         Prettify docstring.
8080         Make code look more like Fnext_window.
8081         (window_loop):
8082         Respect the `console' arg when iterating through windows.
8083         Fixes bug: (get-buffer-window buffer t device) not respecting
8084         the `device' arg.
8085         This function needs more work, as others have pointed out.
8086
8087         * frame.h: Rename prev_frame to previous_frame.
8088         device_matches_console_spec no longer takes a `frame' arg.
8089
8090         * s/gnu.h:
8091         * s/linux.h:
8092         * s/hpux.h:
8093         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8094         From "Golubev I. N." <gin@mo.msk.ru>.
8095
8096         * make-src-depend: Fix typo.
8097
8098 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8099
8100         * window.c (Fnext_window):
8101         next_frame() might return nil, not a frame.
8102         Fixes this crash:
8103         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8104
8105         * frame.c (next_frame_internal):
8106         We've passed a frame if we've passed its device.
8107         Fixes this crash:
8108         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8109 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8110
8111 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8112
8113         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8114         Allow option to suppress accelerators in menu/dialog items.
8115         (populate_or_checksum_helper): Pass dialog title through above.
8116
8117 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8118
8119         * event-msw.c (mswindows_key_to_emacs_keysym):
8120         Add "pause" key, fix "menu" key.
8121
8122 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8123
8124         * eval.c (reinit_vars_of_eval):
8125         Increase max_lisp_eval_depth to 1000,
8126         required for thai-xtis.el to byte-compile under some circumstances.
8127
8128 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8129
8130         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8131         From Kenichi Handa.
8132
8133 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8134
8135         * make-src-depend: Make the generated Makefiles smaller.
8136
8137         * s/hpux.h (SETUP_SLAVE_PTY):
8138         Provide a %d in the format string for the errno argument.
8139
8140         * editfns.c (Ftemp_directory):
8141         Warning fix.
8142         Avoid buffer overrun on very long file name.
8143
8144         * input-method-xlib.c (XIM_init_device):
8145         6th parameter of XRegisterIMInstantiateCallback has different
8146         pointer types on different OSes, so simply cast to (void *).
8147
8148         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8149
8150         * sysdll.c (dll_open):
8151         shl_load will hang hard if passed a NULL filename.
8152         Simply return NULL for compatibility with dlopen.
8153         * sysdll.c: Conform to XEmacs coding standards.
8154
8155         * sysdep.c (get_pty_max_bytes):
8156         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8157
8158 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8159
8160         * tooltalk.c: Add #include <syssignal.h>
8161
8162 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8163
8164         * s/hpux.h: Don't use undefined function sigunblock().
8165
8166 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8167
8168         * config.h.in: Add HAVE_BALLOON_HELP.
8169         * emacs.c: Use HAVE_BALLOON_HELP.
8170         * Makefile.in.in (x_objs):
8171         Make Balloon Help conditional on finding shape.h.
8172
8173 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8174
8175         * syntax.c (regex_emacs_buffer_p): New variable.
8176         * syntax.h (regex_emacs_buffer_p): extern.
8177         * search.c (looking_at_1):
8178         (string_match_1):
8179         (fast_string_match):
8180         (search_buffer): Set regex_emacs_buffer_p.
8181         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8182         when before_dot, at_dot, after_dot.
8183
8184 2000-08-23  Andy Piper  <andy@xemacs.org>
8185
8186         * gui-x.c (popup_selection_callback): Only set action_occurred
8187         when we really have an image instance.
8188         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8189
8190 2000-08-23  Andy Piper  <andy@xemacs.org>
8191
8192         * gui-msw.c (mswindows_handle_gui_wm_command): set
8193         action_occurred.
8194         * gui-x.c (popup_selection_callback): ditto.
8195
8196         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8197         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8198         (struct Lisp_Image_Instance): add action_occurred flag.
8199
8200         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8201         (image_instance_changed): ditto.
8202         (reset_frame_subwindow_instance_cache): only unmap windows - do
8203         not remove them from the cache also.
8204
8205         * glyphs-widget.c (tab_control_update): better debug.
8206         (progress_gauge_update): ditto.
8207         (layout_update): ditto.
8208         (layout_instantiate): ditto.
8209         (tab_control_order_only_changed): cope with null pending items.
8210
8211         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8212         debug. Force selection of an item when an action occurred. Cope
8213         with null pending_items.
8214         (mswindows_progress_gauge_redisplay): better debug.
8215         * glyphs-x.c (x_tab_control_redisplay): ditto.
8216
8217         * redisplay.c (redisplay_frame): reset the frame cache if the
8218         frame is garbaged.
8219
8220         * window.c (Fset_window_configuration): potentially re-enable
8221         frame cache reset.
8222         (window_unmap_subwindows): need to finalize instances here since
8223         it is only used in mark_window_as_deleted.
8224
8225 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8226
8227         * nas.c (SndOpenDataForReading):
8228         nas.c (WaveOpenDataForReading):
8229         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8230         Somehow escaped from the 2000-08-14 patch.
8231
8232 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8233
8234         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8235         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8236
8237 2000-08-21  Andy Piper  <andy@xemacs.org>
8238
8239         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8240         window if it is not already displayed.
8241
8242         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8243         it is not already displayed.
8244
8245         * window.c (Fset_window_configuration): don't reset the frame
8246         cache.
8247
8248         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8249         instances from the frame cache if we are actually finalizing them.
8250         (reset_frame_subwindow_instance_cache): reset frame cache only
8251         after unmapping everything.
8252         (map_subwindow): set displayed flag after mapping.
8253
8254 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8255
8256         * data.c (indirect_function):
8257         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8258
8259         * eval.c (function_argcount):
8260         Use original function when signaling errors.
8261
8262 2000-08-18  Andy Piper  <andy@xemacs.org>
8263
8264         * frame.c (delete_frame_internal): use new
8265         free_frame_subwindow_instances name.
8266
8267         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8268         (add_tab_item): make return type correct.
8269         (mswindows_tab_control_instantiate): assert index of tab.
8270         (mswindows_tab_control_redisplay): Re-code to use
8271         gui_item_equal_sans_selected and gui_item_list_find_selected.
8272
8273         * glyphs-widget.c (tab_control_update): Correct comment.
8274
8275         * window.c (window_unmap_subwindows): use new
8276         unmap_subwindow_instance_cache_mapper.
8277         (window_unmap_subwindows_cache_mapper): deleted.
8278         (Fset_window_configuration): comparisons should now be with
8279         EQ. Preserve the subwindow instance cache across configuration
8280         changes.
8281         (allocate_window): ditto.
8282         (make_dummy_parent): ditto.
8283
8284         * glyphs.c (free_frame_subwindow_instances): rename from
8285         free_frame_subwindow_instance_cache. finalize all instances rather
8286         than just those in the display cache.
8287         (finalize_all_subwindow_instances): walk windows unmapping and
8288         finalizing subwindows.
8289         (unmap_subwindow_instance_cache_mapper): moved from
8290         window.c. Allow finalization as well as unmapping.
8291
8292         * gui.c (gui_item_list_find_selected): new function.
8293
8294         * gui.h (gui_item_list_find_selected): declare.
8295
8296         * glyphs-x.c (x_tab_control_redisplay): pick tab
8297         explicitly. Re-code to use gui_item_equal_sans_selected and
8298         gui_item_list_find_selected.
8299
8300         * glyphs-x.h: add lwlib-utils.h
8301
8302         * buffer.c (Frecord_buffer): undo previous change.
8303
8304 2000-08-09  Vin Shelton  <acs@xemacs.org>
8305
8306         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8307         possible.  Create temporary files more securely.  The patch was
8308         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8309         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8310         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8311         for details.
8312
8313 2000-08-07  Ben Wing  <ben@xemacs.org>
8314
8315         * getloadavg.c: remove duplicate (and windows-breaking)
8316         includes of fcntl.h and sys/file.h.
8317
8318         * nt.c: remove duplicate getloadavg() definition.
8319
8320         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8321         encodings.
8322
8323 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8324
8325         * eval.c (function_argcount): If function needs to be autoloaded
8326         actually use the loaded definition.
8327         GCPRO function.
8328
8329 2000-08-05  Ben Wing  <ben@xemacs.org>
8330
8331         * getloadavg.c: add prototype for getloadavg().  remove
8332         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8333         of the code).  remove duplicate header includes.
8334
8335         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8336
8337         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8338         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8339         useful load average.
8340
8341         * alloc.c (reinit_alloc_once_early): removed references to
8342         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8343         the lisp vars are the only things referencing the malloc_sbrk_*
8344         vars, and they were already if 0'd out.  these vars only exist
8345         in the older malloc.c, which is basically unused, and they're
8346         only for informational purposes.
8347
8348         * m\*.h: removed useless VIRT_ADDR_VARIES.
8349
8350         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8351
8352 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8353
8354         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8355         color if the image is a mono pixmap.
8356
8357 2000-07-30  Ben Wing  <ben@xemacs.org>
8358
8359         * Makefile.in.in (release):
8360         Remove stray @.
8361
8362         * buffer.c (directory_is_current_directory):
8363         * dired-msw.c (mswindows_get_files):
8364         * dired.c:
8365         * dired.c (Fdirectory_files):
8366         * dired.c (file_name_completion_stat):
8367         * dired.c (Ffile_attributes):
8368         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8369         preprocessor tricks, to avoid problems on some machines
8370         (e.g. SCO).
8371
8372         * callproc.c (egetenv): GC docs.
8373
8374         * console-msw.h:
8375         * console-msw.h (struct mswindows_dialog_id):
8376         * lrecord.h (lrecord_type):
8377         New object for use with MSW dialogs.
8378
8379         * console.h (struct console_methods):
8380         New enable/disable frame methods, for proper modal dialogs.
8381
8382         * device-msw.c (msprinter_default_printer): Fix to follow
8383         proper Mule conventions.
8384
8385         * device-msw.c:
8386         * device-msw.c (signal_open_printer_error):
8387         * device-msw.c (msprinter_init_device):
8388         * device-msw.c (ensure_not_printing):
8389         * device-msw.c (plist_get_margin):
8390         * device-msw.c (Fmsprinter_select_settings):
8391         * device-msw.c (finalize_devmode):
8392         * device-msw.c (Fmsprinter_settings_despecialize):
8393         * device-msw.c (signal_enum_priner_error):
8394         * extents.c (decode_extent):
8395         * extents.c (decode_map_extents_flags):
8396         * extents.c (decode_extent_at_flag):
8397         * extents.c (Fextent_at):
8398         * extents.c (Fextents_at):
8399         * extents.c (symbol_to_glyph_layout):
8400         [[[[2]]]] Use structured errors.
8401
8402         * dialog-msw.c:
8403         * dialog-msw.c (mswindows_is_dialog_msg):
8404         * dialog-msw.c (mark_mswindows_dialog_id):
8405         * dialog-msw.c (dialog_proc):
8406         * dialog-msw.c (handle_question_dialog_box):
8407         * dialog-msw.c (syms_of_dialog_mswindows):
8408         Define new object to clean up marking; use it as a dialog identifier.
8409         Call new delete-dialog-box-hook.
8410
8411         * dialog-x.c (dbox_selection_callback):
8412         * dialog-x.c (dbox_descriptor_to_widget_value):
8413         * dialog-x.c (x_make_dialog_box_internal):
8414         Call new delete-dialog-box-hook.
8415         Return an id.
8416
8417         * dialog.c:
8418         * dialog.c (syms_of_dialog):
8419         * dialog.c (vars_of_dialog):
8420         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
8421
8422         * eval.c:
8423         * eval.c (signal_call_debugger):
8424         when noninteractive, output stack traces on the console instead
8425         of in a (never-seen) buffer.
8426
8427         * eval.c (signal_type_error):
8428         * eval.c (invalid_argument_2):
8429         * lisp.h:
8430         new funs for use w/structured errors.
8431
8432         * event-Xt.c:
8433         * event-Xt.c (x_to_emacs_keysym):
8434         * event-Xt.c (describe_event):
8435         * event-Xt.c (emacs_Xt_event_handler):
8436         * event-Xt.c (vars_of_event_Xt):
8437         * event-msw.c:
8438         * event-msw.c (mswindows_wnd_proc):
8439         * event-msw.c (vars_of_event_mswindows):
8440         rename {x,mswindows}-debug-events to debug-{}-events for
8441         consistency with other debug-foo variables.
8442
8443         * event-stream.c:
8444         document next-event more clearly.
8445
8446         * fileio.c (Ffile_name_directory):
8447         * fileio.c (Ffile_name_nondirectory):
8448         * fileio.c (Funhandled_file_name_directory):
8449         * fileio.c (file_name_as_directory):
8450         * fileio.c (Ffile_name_as_directory):
8451         * fileio.c (directory_file_name):
8452         * fileio.c (Fdirectory_file_name):
8453         * fileio.c (Fmake_temp_name):
8454         * fileio.c (Ffile_truename):
8455         * fileio.c (Fsubstitute_in_file_name):
8456         * fileio.c (expand_and_dir_to_file):
8457         * fileio.c (barf_or_query_if_file_exists):
8458         * fileio.c (check_executable):
8459         * fileio.c (Ffile_exists_p):
8460         * fileio.c (Ffile_writable_p):
8461         * fileio.c (Ffile_directory_p):
8462         * fileio.c (Ffile_regular_p):
8463         * fileio.c (Ffile_modes):
8464         * fileio.c (Ffile_newer_than_file_p):
8465         * fileio.c (Fverify_visited_file_modtime):
8466         * fileio.c (Fset_visited_file_modtime):
8467         * fileio.c (auto_save_1):
8468         (1). (2).
8469         fix up gcpro's.
8470
8471         * frame-msw.c:
8472         * frame-msw.c (mswindows_init_frame_1):
8473         * frame-msw.c (mswindows_enable_frame):
8474         * frame-msw.c (error_frame_unsizable):
8475         * frame-msw.c (msprinter_init_frame_1):
8476         * frame-msw.c (msprinter_init_frame_3):
8477         * frame-msw.c (console_type_create_frame_mswindows):
8478         (2).
8479         implement new enable/disable frame methods.
8480
8481         * frame-x.c:
8482         * frame-x.c (x_enable_frame):
8483         * frame-x.c (console_type_create_frame_x):
8484         implement new enable/disable frame methods.
8485
8486         * frame.c:
8487         * frame.c (Fdisable_frame):
8488         * frame.c (syms_of_frame):
8489         * frame.h (struct frame):
8490         implement new enable/disable frame methods/functions.
8491
8492         * general-slots.h:
8493         add initial-focus.
8494
8495         * glyphs-msw.c (mswindows_widget_instantiate):
8496         comment that initial-focus should be implemented.
8497
8498         * glyphs-widget.c:
8499         * glyphs-widget.c (check_valid_instantiator):
8500         * glyphs-widget.c (check_valid_orientation):
8501         * glyphs-widget.c (check_valid_tab_orientation):
8502         * glyphs-widget.c (check_valid_justification):
8503         * glyphs-widget.c (check_valid_border):
8504         * glyphs-widget.c (check_valid_callback):
8505         * glyphs-widget.c (check_valid_int_or_function):
8506         * glyphs-widget.c (check_valid_string_or_vector):
8507         * glyphs-widget.c (check_valid_item_list_1):
8508         * glyphs-widget.c (widget_validate):
8509         * glyphs-widget.c (combo_box_validate):
8510         * glyphs-widget.c (widget_instantiate):
8511         * glyphs-widget.c (syms_of_glyphs_widget):
8512         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
8513         * glyphs-widget.c (image_instantiator_combo_box):
8514         * glyphs-widget.c (image_instantiator_scrollbar):
8515         * glyphs-widget.c (image_instantiator_tab_control):
8516         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
8517         (2).
8518         support (unimplemented) keyword initial-focus.
8519         reindent long macros.
8520
8521         * glyphs-x.c (x_redisplay_widget):
8522         * glyphs-x.c (x_button_instantiate):
8523         * glyphs-x.c (x_button_redisplay):
8524         * glyphs-x.c (x_progress_gauge_instantiate):
8525         * glyphs-x.c (x_edit_field_instantiate):
8526         * glyphs-x.c (x_combo_box_instantiate):
8527         * glyphs-x.c (x_tab_control_instantiate):
8528         * glyphs-x.c (x_label_instantiate):
8529         * gui-x.c:
8530         * gui-x.c (button_item_to_widget_value):
8531         * gui-x.c (gui_items_to_widget_values_1):
8532         * gui-x.c (gui_item_children_to_widget_values):
8533         * gui-x.c (gui_items_to_widget_values):
8534         * gui-x.h:
8535         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8536         add new flag to gui-parsing routines to indicate whether
8537         accelerator specs should be supported.
8538
8539         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
8540
8541         * glyphs.h (struct Lisp_Image_Instance):
8542         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
8543         add initial-focus flag.
8544
8545         * gui.c:
8546         * gui.c (syms_of_gui):
8547         * gui.c (vars_of_gui):
8548         clean up menu-no-selection-hook.
8549
8550         * gui.h:
8551         support delete-dialog-box-hook.
8552
8553         * lread.c (Fload_internal):
8554         * lread.c (locate_file_in_directory_mapper):
8555         (1).
8556
8557         * lrecord.h:
8558         * lrecord.h (struct toolbar_button):
8559         * lrecord.h (syms_of_toolbar):
8560         document how to create a new object.
8561
8562         * menubar-msw.c (mswindows_char_is_accelerator):
8563         may be called on frames w/o menus.
8564
8565         * menubar.c (vars_of_menubar):
8566         clean up :filter docs.
8567
8568         * nt.c (readdir):
8569         * ntproc.c:
8570         (1).
8571
8572         * process-nt.c:
8573         * process-nt.c (validate_signal_number):
8574         * process-nt.c (signal_cannot_launch):
8575         * process-nt.c (nt_create_process):
8576         * process-nt.c (nt_send_process):
8577         * process-nt.c (nt_kill_child_process):
8578         * process-nt.c (nt_open_network_stream):
8579         * process-nt.c (syms_of_process_nt):
8580         (2).
8581         delete quote-handling.  call new lisp code that does it better.
8582
8583         * process-unix.c (connect_to_file_descriptor):
8584         * process-unix.c (allocate_pty):
8585         * process-unix.c (unix_send_process):
8586         * process-unix.c (unix_kill_child_process):
8587         * process-unix.c (unix_open_network_stream):
8588         * process-unix.c (unix_open_multicast_group):
8589         (1). (2).
8590
8591         * process.c:
8592         * process.c (Fstart_process_internal):
8593         (2).  need to canonicalize process path even if absolute.
8594
8595         * select-msw.c (symbol_to_ms_cf):
8596         * select-msw.c (ms_cf_to_symbol):
8597         * select-msw.c (cf_is_autofreed):
8598         * select-msw.c (mswindows_destroy_selection):
8599         * select.c:
8600         * select.c (syms_of_select):
8601         * select.h:
8602         support dibv5, fix bugs. (from Mike Alexander)
8603
8604         * select.c (Fget_selection_internal):
8605         * select.c (select_convert_out):
8606
8607         * sysdep.c:
8608         * sysdep.c (xemacs_stat):
8609         renamed.
8610
8611         * sysdep.c (mkdir):
8612         * sysdep.c (rmdir):
8613         but keep original stat() here because we provide encapsulation
8614         around these funs.
8615
8616         * sysfile.h:
8617         * sysfile.h (fstat):
8618         remove stat garbage.
8619
8620         * syswindows.h:
8621         fix X/MSW conflict.
8622         don't include tchar.h.  it's inappropriate because it makes
8623         compile-time distinctions when we want runtime distinctions.
8624         (we provide our own tchar replacements)
8625
8626         * toolbar.c:
8627         use default object printer for toolbar-button.
8628
8629         * unexcw.c:
8630         make sure we don't encapsulate.
8631
8632         * window.c (vars_of_window):
8633         emphasize that temp-buffer-show-hook is obsolete.
8634
8635 2000-08-05  Martin Buchholz  <martin@xemacs.org>
8636
8637         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
8638         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
8639
8640         * events.c (Fevent_timestamp_lessp):
8641         Not 64-bit clean.  Use EMACS_INT, not int.
8642
8643 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
8644
8645         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
8646         unsigned int and changed the last enum to
8647         lrecord_type_last_built_in_type.
8648         (lrecord_implementations_table): changed prototype to know how
8649         long the array is supposed to be.
8650         (lrecord_type_count): new unsigned int to keep track of the
8651         current number of lisp lrecord types.
8652         (DEFINE_EXTERNAL_LRECORD):
8653         (DECLARE_EXTERNAL_LRECORD): Added these two for external
8654         dynamic-modules to declare new lisp types. They are the same
8655         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
8656         int for each new type, and increment lrecord_type_count by 1.
8657
8658         * alloc.c (lrecord_implementations_table): Changed to reference
8659         lrecord_type_last_built_in_type for the size of the array.
8660         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
8661
8662 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8663
8664         * glyphs.h (check_valid_item_list): Renamed from
8665         check_valid_item_list_1.
8666
8667 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
8668
8669         * select.c (Qselect_coerce): New.
8670         * select.c (Vselection_coercion_alist): New.
8671         * select.c (syms_of_select): Declare.
8672         * select.c (get-selection-internal): Use it.
8673         Use the new select-coerce functionality.
8674
8675         * select.c (select_coerce): New.
8676         * select.h (select_coerce): Declare.
8677         New function to coerce one type of data into another.
8678
8679 2000-08-03  Martin Buchholz  <martin@xemacs.org>
8680
8681         * callproc.c (Fcall_process_internal):
8682         (Fcall_process_internal):
8683         * process-unix.c (unix_create_process):
8684         Save and restore the value of errno, so that error messages are accurate.
8685
8686 2000-08-01  Martin Buchholz  <martin@xemacs.org>
8687
8688         * elhash.c (print_hash_table):
8689         Fix printing of hash tables to also use `key-and-value' instead of `t'.
8690         Prettify docstrings and indentation.
8691
8692 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8693
8694         * window.c (Fwindow_pixel_edges): Subtract frame border and
8695         gutter size.
8696
8697 2000-07-31  Andy Piper  <andy@xemacs.org>
8698
8699         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
8700         will acknowledge the change.
8701
8702         * glyphs.h: declare tab_control_order_only_changed.
8703
8704         * glyphs-x.c (x_tab_control_redisplay): use
8705         tab_control_order_only_changed.
8706
8707         * glyphs-widget.c (tab_control_order_only_changed): new function.
8708
8709         * glyphs-msw.c (mswindows_tab_control_redisplay): use
8710         tab_control_order_only_changed.
8711
8712         * gui.c (gui_item_equal_sans_selected): new function.
8713         (gui_item_equal): use it.
8714
8715         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
8716         :properties in favor of :items..
8717
8718         * glyphs-widget.c (check_valid_item_list): rename from
8719         check_valid_item_list_1.
8720         (check_valid_item_list_1): renamed.
8721         (combo_box_validate): deprecate :properties in favor of :items.
8722         (widget_instantiate): ditto.
8723         (tab_control_update): ditto.
8724         (image_instantiator_combo_box): ditto.
8725         (image_instantiator_tree_view): ditto.
8726         (image_instantiator_tab_control): ditto.
8727         (layout_post_instantiate): remove dead code.
8728
8729         * print.c (debug_print_no_newline): only write to debugger if in
8730         WIN32_NATIVE.
8731
8732         * elhash.c (Fmake_hash_table): update doc string.
8733
8734         * event-msw.c (mswindows_wnd_proc): don't allow processing of
8735         messages whilst in GC. This at least stops XEmacs crashing but has
8736         the potential for wierd behaviour.
8737
8738 2000-07-31  Martin Buchholz  <martin@xemacs.org>
8739
8740         * config.h.in:
8741         Make existence of s&m files optional.
8742
8743         * s/bsd386.h: Remove HAVE_GETLOADAVG.
8744         * s/freebsd.h: Remove HAVE_GETLOADAVG.
8745         * s/gnu.h: Remove HAVE_GETLOADAVG.
8746         * s/netbsd.h: Remove HAVE_GETLOADAVG.
8747         * s/sol2.h: Remove HAVE_GETLOADAVG.
8748         * lisp.h: Remove getloadavg() declaration.
8749         * fns.c:
8750         Include <sys/loadavg.h> if available.
8751         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
8752         * config.h.in:  Group together getloadavg()-related macros.
8753         Use only configure-time tests to detect getloadavg().
8754
8755 2000-07-30  Martin Buchholz  <martin@xemacs.org>
8756
8757         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
8758
8759 2000-07-25  Andy Piper  <andy@xemacs.org>
8760
8761         * syswindows.h: add tchar.h for native builds.
8762
8763         * frame.c (syms_of_frame): remove set-glyph-image.
8764
8765         * general-slots.h: add Qset_glyph_image.
8766
8767         * glyphs-widget.c (layout_update): add domain arg to
8768         set-glyph-image.
8769         (syms_of_glyphs_widget): remove set-glyph-image.
8770
8771 2000-07-23  Ben Wing  <ben@xemacs.org>
8772
8773         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
8774         Vpopup_frame_list.
8775
8776 2000-07-22  Andy Piper  <andy@xemacs.org>
8777
8778         * symsinit.h: add syms_of_win32().
8779
8780         * gui-msw.c (syms_of_gui_mswindows): remove
8781         Fmswindows_shell_execute.
8782         (Fmswindows_shell_execute): moved to win32.c.
8783
8784         * emacs.c (main_1): add syms_of_win32 ().
8785
8786         * win32.c (init_potentially_nonexistent_functions): rewrite in
8787         compiler-friendly terms.
8788         (Fmswindows_shell_execute): move here from gui-msw.c.
8789         (syms_of_win32): new.
8790
8791         * device-msw.c (Fmswindows_printer_list): clean up args to
8792         EnumPrinters.
8793         Don't include tchar under cygwin or mingw.
8794         (msprinter_default_printer): make cygwin-friendly.
8795
8796 2000-07-21  Andy Piper  <andy@xemacs.org>
8797
8798         * glyphs-widget.c (image_instantiator_tree_view): use tab
8799         control's update function.
8800         (layout_property): new function. Retrieve items.
8801
8802         * glyphs-msw.c (mswindows_tree_view_redisplay): new
8803         function. Re-populate the tree view from the pending items.
8804
8805         * glyphs.c (instantiate_image_instantiator): Make sure the domain
8806         is designated the parent if the domain is an image instance. This
8807         is needed so that dirtiness can be cascade up the hierarchy and
8808         thus for layout children to be redisplayed correctly.
8809         (allocate_image_instance): rename glyph -> parent.
8810
8811         * redisplay.h: change redisplay_output_layout signature.
8812
8813         * redisplay-msw.c (mswindows_output_display_block): use domain
8814         arg.
8815
8816         * redisplay-x.c (x_output_display_block): use domain arg.
8817
8818 2000-07-10  Andy Piper  <andy@xemacs.org>
8819
8820         * window.c (Fset_window_configuration): add comment.
8821
8822         * redisplay-output.c (compare_runes):
8823         (redisplay_output_subwindow): redisplay rather than update subwindow.
8824         (redisplay_output_layout): ditto.
8825
8826         * redisplay-msw.c (mswindows_frame_output_end):
8827         (mswindows_frame_output_end): make defer window pos optional.
8828
8829         * lisp.h: add Flast.
8830
8831         * glyphs.h (struct image_instantiator_methods): add dest_mask top
8832         normalize method. Change update method to be for changed
8833         instantiators. Add redisplay method. Change signature of layout
8834         method.
8835         (struct Lisp_Image_Instance): add instantiator.
8836         (IMAGE_INSTANCE_INSTANTIATOR): new.
8837         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
8838         (XIMAGE_INSTANCE_INSTANTIATOR): new.
8839         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
8840
8841         * glyphs.c:
8842         (find_instantiator_differences): new function.
8843         (Fset_instantiator_property): new convenience function.
8844         (check_image_instance_structure): strictly check for vector
8845         instantiators.
8846         (normalize_image_instantiator): make non-static.
8847         (instantiate_image_instantiator): pass on dest_mask and use new
8848         signatures for image_instance_layout and friends.
8849         (mark_image_instance): mark the instantiator. Mark the subwindow
8850         face not the widget face.
8851         (image_instance_equal): add instantiator.
8852         (image_instance_hash): ditto.
8853         (allocate_image_instance): ditto.
8854         (Fset_image_instance_property): removed.
8855         (Fimage_instance_file_name): ditto.
8856         (Fcolorize_image_instance): ditto.
8857         (image_instance_layout): add offsets to be set.
8858         (update_image_instance): new function. update an image instance
8859         from its changed instantiator.
8860         (inherit_normalize): add dest_mask.
8861         (xbm_normalize): ditto.
8862         (xface_normalize): ditto.
8863         (xpm_normalize): ditto.
8864         (text_update): set_property -> update.
8865         (image_instantiate): use the glyph identity as a hash key, not the
8866         instantiator.
8867         (glyph_width): use new image_instance_layout signature.
8868         (glyph_ascent): ditto.
8869         (glyph_descent): ditto.
8870         (glyph_height): ditto.
8871         (glyph_query_geometry): ressurrect.
8872         (glyph_layout): ditto.
8873         (redisplay_subwindow): update -> redisplay.
8874         (syms_of_glyphs): add Fset_instantiator_property.
8875         (image_instantiator_format_create): set_property -> update.
8876
8877         * glyphs-x.c:
8878         (autodetect_normalize): add dest_maks to signature.
8879         (x_redisplay_subwindow): update -> redisplay.
8880         (x_redisplay_widget): ditto.
8881         (x_button_redisplay): ditto.
8882         (x_progress_gauge_redisplay): ditto.
8883         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
8884         stacking order.
8885         (console_type_create_glyphs_x): update -> redisplay.
8886         (image_instantiator_format_create_glyphs_x): ditto.
8887
8888         * glyphs-widget.c:
8889         (check_valid_instantiator): disallow glyphs in the instantiator,
8890         they must now be vectors.
8891         (check_valid_instantiator_list): ditto.
8892         (glyph_instantiator_to_glyph): use internal symbol rather than
8893         intern.
8894         (widget_update): renamed from widget_set_property. Call cascaded
8895         update methods.
8896         (redisplay_widget): renamed from update_widget.
8897         (widget_layout): image_instance_layout now takes position as well
8898         as size.
8899         (widget_normalize): ditto.
8900         (widget_instantiate): ditto.
8901         (tab_control_query_geometry) ditto.:
8902         (tab_control_update): renamed from tab_control_set_property.
8903         (progress_gauge_update): set_property -> update.
8904         (layout_normalize): rewrite so that child instantiators are
8905         normalized also.
8906         (layout_update): new function. Create glyphs from the normalized
8907         children and cope with any other layout keywords. We do not
8908         instantiate children here that will be take care of by
8909         redisplay_output_layout.
8910         (layout_instantiate): call layout_update and not much else.
8911         (layout_post_instantiate): not sure whether this is needed
8912         anymore.
8913         (layout_query_geometry): query glyph geometry rather than
8914         image_instance geometry.
8915         (layout_layout): set offsets from pass in parameters. Use glyph
8916         geometry and layout functions rather than image instance ones.
8917         (native_layout_layout): ditto.
8918         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
8919         (image_instantiator_widget): set_property -> update.
8920         (image_instantiator_buttons): ditto.
8921         (image_instantiator_progress_guage): ditto.
8922         (image_instantiator_tab_control): ditto.
8923         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
8924         (image_instantiator_layout): add update method.
8925
8926         * glyphs-msw.c (bmp_normalize):
8927         (mswindows_resource_normalize): add dest_mask so that it can be
8928         proprogated by layout_normalize.
8929         (begin_defer_window_pos): make optional because it may not be the
8930         right thing to do and it introduces differences with X.
8931         (mswindows_unmap_subwindow): ditto.
8932         (mswindows_map_subwindow): ditto.
8933         (mswindows_redisplay_subwindow): renamed from
8934         mswindows_update_subwindow.
8935         (mswindows_redisplay_widget): ditto.
8936         (mswindows_button_redisplay): renamed from
8937         mswindows_button_update. Update is now what the instantiation
8938         function does for a changed instantiator.
8939         (mswindows_progress_gauge_instantiate): set the progress value
8940         here if appropriate.
8941         (mswindows_tab_control_redisplay): cope with re-ordering of the
8942         members of the tab widget by simply selecting the new top
8943         widget. This makes things appear ok if you click on a tab.
8944         (mswindows_combo_box_instantiate): image_instance_layout now takes
8945         position as well as size.
8946         (mswindows_progress_gauge_redisplay): renamed from
8947         mswindows_progress_gauge_update.
8948         (console_type_create_glyphs_mswindows): fix update -> redisplay.
8949         (image_instantiator_format_create_glyphs_mswindows): ditto.
8950
8951         * glyphs-eimage.c (jpeg_normalize):
8952         (gif_normalize):
8953         (png_normalize):
8954         (tiff_normalize): add dest_mask so that it can be proprogated by
8955         layout_normalize.
8956
8957         * elhash.c:
8958         (print_hash_table):
8959         (hash_table_weakness_validate):
8960         (decode_hash_table_weakness):
8961         (Fhash_table_weakness):
8962         (Fhash_table_type):
8963         (syms_of_elhash): use Ben's naming scheme for hashtable types..
8964
8965         * console.h (struct console_methods): move update_* to
8966         redisplay_*.
8967
8968 2000-07-20  Ben Wing  <ben@xemacs.org>
8969
8970         * *.[ch] (XSETOBJ): remove unused middle argument.
8971         lisp-disunion.h: correct wrap_object() to one argument.
8972
8973 2000-07-15  Ben Wing  <ben@xemacs.org>
8974
8975         * s/cygwin32.h:
8976         * s/cygwin32.h (CYGWIN_CONV_PATH):
8977         Add missing logb prototype for v1.1.
8978         Use post-b20 names and alias to pre-b20 names when pre-b20.
8979
8980         * s/windowsnt.h: [5].
8981
8982 2000-07-15  Ben Wing  <ben@xemacs.org>
8983
8984         * Makefile.in.in (x_objs):
8985         * Makefile.in.in (sheap_objs):
8986         * Makefile.in.in (objs):
8987         added win32.o, cosmetic cleanups.
8988
8989         * alloc.c (Fmake_byte_code):
8990         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
8991         etc. macros which declare their own args now.
8992
8993         * alloc.c (syms_of_alloc):
8994         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
8995
8996         * buffer.c:
8997         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
8998
8999         * buffer.c (Fget_file_buffer):
9000         Fixed GCPRO problem.
9001
9002         * buffer.c (get_truename_buffer):
9003         Fixed comment about GC checking.
9004
9005         * buffer.c (syms_of_buffer):
9006         Undeclared those dedicated frame funs.
9007         [2].
9008
9009         * buffer.h:
9010         Define convenience macros for internal/external conversions.
9011         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9012         and Qenvironment_variable_encoding for cleaner code.
9013
9014         * bufslots.h:
9015         Remove dedicated-frame; in lisp.
9016
9017         * bytecode.c (funcall_compiled_function):
9018         [1].
9019
9020         * bytecode.c (syms_of_bytecode):
9021         [2].
9022
9023         * console-msw.c:
9024         * console-msw.c (mswindows_show_console): Rewrote.
9025
9026         * console-msw.c (Fmswindows_debugging_output): New.
9027         Sends to OutputDebugString (special MSWin debugger interface).
9028
9029         * console-msw.c (Fmswindows_message_box):
9030         Fixed stupid bugs so it works when called from kill-emacs.
9031
9032         * console-msw.c (syms_of_console_mswindows):
9033         Declare Fmswindows_debugging_output.
9034
9035         * console-msw.h:
9036         New MSWin prototypes.
9037
9038         * console-msw.h (struct mswindows_frame):
9039         New entry last-click-mods for improved button-modifier support.
9040
9041         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9042         New struct entry `popup' with corresponding accessor.
9043
9044         * console-x.c:
9045         * console-x.c (split_up_display_spec):
9046         * console-x.c (get_display_arg_connection):
9047         * console-x.c (x_semi_canonicalize_console_connection):
9048         * console-x.c (x_canonicalize_device_connection):
9049         [[[6]]]: Change char to more specific type.
9050         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9051
9052         * console-x.c (x_semi_canonicalize_console_connection):
9053         * console-x.c (x_canonicalize_device_connection):
9054         [[[9]]]: Fix up error signalling to use new structured error system.
9055
9056         * console-x.h:
9057         [[[4]]]: Define codesys aliases:
9058         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9059         Qx_color_name_encoding, Qx_display_name_encoding.
9060
9061         * console.h (struct console_methods):
9062         New method make_dialog_box_internal supersedes older
9063         popup_dialog_box method.
9064
9065         * data.c:
9066         Define many new errors, part of new structured errors.
9067
9068         * data.c (init_errors_once_early):
9069         * data.c (syms_of_data):
9070         [2].
9071
9072         * device-msw.c (mswindows_init_device):
9073         [[[5]]]: Cleanup to support NT 3.51.
9074
9075         * device-msw.c (decode_devmode): Cleanup.
9076
9077         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9078         * device-msw.c (mswindows_handle_print_dialog_box):
9079         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9080         * device-msw.c (syms_of_device_mswindows):
9081         Delete the dialog box primitives recently introduced by Kirill and
9082         instead interface to general dialog box interface.
9083
9084         * device-x.c:
9085         * device-x.c (compute_x_app_name):
9086         * device-x.c (x_init_device):
9087         * device-x.c (Fx_valid_keysym_name_p):
9088         * device-x.c (Fx_set_font_path):
9089         [6].
9090         [7].
9091
9092         * device.h (wrap_device): New.
9093         First of its kind; meant to replace XSETDEVICE.
9094
9095         * dialog-msw.c: Many file-dialog symbols.
9096
9097         * dialog-msw.c (mswindows_register_popup_frame): New.
9098         * dialog-msw.c (mswindows_is_dialog_msg): New.
9099         For supporting kbd traversal in dialog boxes.
9100
9101         * dialog-msw.c (dialog_proc):
9102         Support hitting ESC in dialogs.
9103
9104         * dialog-msw.c (struct):
9105         Common dialog box errors.
9106
9107         * dialog-msw.c (handle_file_dialog_box): New.
9108         Add file dialog code.
9109
9110         * dialog-msw.c (handle_question_dialog_box):
9111         Redo existing code to support new question dialog syntax.
9112
9113         * dialog-msw.c (console_type_create_dialog_mswindows):
9114         We support new dialog console method.
9115
9116         * dialog-msw.c (syms_of_dialog_mswindows):
9117         * dialog-msw.c (vars_of_dialog_mswindows):
9118         New file dialog symbols, vars.
9119
9120         * dialog-x.c:
9121         * dialog-x.c (maybe_run_dbox_text_callback):
9122         * dialog-x.c (dbox_descriptor_to_widget_value):
9123         * dialog-x.c (x_make_dialog_box_internal):
9124         * dialog-x.c (console_type_create_dialog_x):
9125         Mule-ize entire file.
9126         Redo to support question dialog syntax.
9127         [6].
9128
9129         * dialog.c:
9130         * dialog.c (Fmake_dialog_box_internal):
9131         * dialog.c (syms_of_dialog):
9132         Kill old popup-dialog-box, replace with new primitive.
9133         Just call device method or signal error.
9134
9135         * eldap.c (Fldap_open):
9136         * eldap.c (Fldap_search_basic):
9137         * eldap.c (Fldap_add):
9138         * eldap.c (Fldap_modify):
9139         [1].
9140         [7].
9141
9142         * emacs.c:
9143         * emacs.c (make_arg_list_1):
9144         * emacs.c (make_arg_list):
9145         Mule-ize call to dll_init().
9146         [6].
9147         [8].
9148
9149         * emacs.c (make_argc_argv):
9150         * emacs.c (free_argc_argv):
9151         * emacs.c (init_cmdargs):
9152         * emacs.c (main_1):
9153         * emacs.c (Fkill_emacs):
9154         * emacs.c (Fdump_emacs):
9155         Update comments about what can be used in syms_* etc.
9156         Call init_win32() when necessary.
9157         Fix up MS Win dialog box in kill-buffer to actually work right.
9158         [7].
9159
9160         * eval.c:
9161         * eval.c (For):
9162         * eval.c (Fand):
9163         * eval.c (Fprogn):
9164         * eval.c (Fprog1):
9165         * eval.c (Fprog2):
9166         * eval.c (FletX):
9167         * eval.c (Flet):
9168         * eval.c (condition_case_3):
9169         * eval.c (Feval):
9170         * eval.c (function_argcount):
9171         * eval.c (funcall_lambda):
9172         [1].
9173
9174         * eval.c (type_error): New.
9175         * eval.c (maybe_type_error): New.
9176         * eval.c (continuable_type_error): New.
9177         * eval.c (maybe_continuable_type_error): New.
9178         * eval.c (type_error_with_frob): New.
9179         * eval.c (maybe_type_error_with_frob): New.
9180         * eval.c (continuable_type_error_with_frob): New.
9181         * eval.c (maybe_continuable_type_error_with_frob): New.
9182         New functions for use with structured errors.
9183
9184         * event-Xt.c:
9185         * event-Xt.c (x_event_to_emacs_event):
9186         Buttons are now modifiers too.
9187
9188         * event-Xt.c (emacs_Xt_current_event_timestamp):
9189         Implement new event method.
9190         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9191
9192         * event-msw.c:
9193         * event-msw.c (ntpipe_shove_writer): [5].
9194         * event-msw.c (mswindows_enqueue_mouse_button_event):
9195         * event-msw.c (mswindows_drain_windows_queue):
9196         * event-msw.c (mswindows_wnd_proc): [7].
9197         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9198         * event-msw.c (mswindows_modifier_state):
9199         Throughout: support new button modifiers.
9200
9201         * event-msw.c (emacs_mswindows_current_event_timestamp):
9202         Implement new event method.
9203         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9204
9205         * event-stream.c:
9206         * event-stream.c (event_stream_current_event_timestamp): New.
9207         * event-stream.c (maybe_kbd_translate): New functionality.
9208         * event-stream.c (vars_of_event_stream):
9209         Document new kbd-translate-table functionality.
9210
9211         * event-stream.c (Fcurrent_event_timestamp): New.
9212         New primitive for use in fabricated events.
9213         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9214
9215         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9216
9217         * events.c:
9218         * events.c (Fmake_event):
9219         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9220         [1].
9221         [9].
9222
9223         * events.c (format_event_object): fix gcc warnings.
9224
9225         * events.c (Fevent_timestamp): Document new primitives.
9226
9227         * events.c (TIMESTAMP_HALFSPACE): New.
9228
9229         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9230         comparing timestamps correctly (half-space algorithm).
9231
9232         * events.c (Fevent_modifier_bits): Doc fix.
9233
9234         * events.c (Fevent_modifiers): Major doc addition.
9235         * events.c (event_x_y_pixel_internal): Typo fix.
9236         * events.c (syms_of_events): Declare new primitives.
9237
9238         * events.h:
9239         Update long comment for button modifiers, timestamps.
9240
9241         * events.h (struct event_stream):
9242         New current_event_timestamp method.
9243
9244         * extents.c:
9245         * extents.c (extent_in_region_p):
9246         * extents.c (decode_extent):
9247         * extents.c (Fset_extent_parent):
9248         * extents.c (decode_map_extents_flags):
9249         Fix gcc warnings.
9250         [9].
9251
9252         * extents.c (struct extent_at_arg):
9253         * extents.c (decode_extent_at_flag):
9254         * extents.c (extent_at_mapper):
9255         * extents.c (extent_at_bytind):
9256         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9257         * extents.c (Fextents_at): New primitive. [9].
9258         * extents.c (symbol_to_glyph_layout): [9].
9259         Support new primitive `extents-at'.
9260
9261
9262         * extents.c (get_text_property_bytind):
9263         extent_at_bytind has another arg.
9264         [9].
9265
9266         * extents.c (syms_of_extents): New primitive.
9267
9268         * file-coding.c (Fmake_coding_system): [1].
9269         * file-coding.c (subsidiary_coding_system): fix gcc warning
9270         * file-coding.c (syms_of_file_coding): [2].
9271
9272         * fileio.c (Fexpand_file_name):
9273         * fileio.c (Fsysnetunam):
9274         * fileio.c (Ffile_exists_p):
9275         * fileio.c (Ffile_executable_p):
9276         * fileio.c (Fverify_visited_file_modtime):
9277         Clean up GCPROing.
9278
9279         * fileio.c (syms_of_fileio): [2].
9280
9281         * filelock.c (lock_file_1):
9282         * filelock.c (current_lock_owner):
9283         * filelock.c (lock_if_free):
9284         * filelock.c (lock_file):
9285         * filelock.c (unlock_file):
9286         Clean up GCPROing.
9287
9288         * fns.c (concat): Fix gcc warning.
9289
9290         * fns.c (Fmember):
9291         * fns.c (Fold_member):
9292         * fns.c (Fmemq):
9293         * fns.c (Fold_memq):
9294         * fns.c (memq_no_quit):
9295         * fns.c (Fassoc):
9296         * fns.c (Fold_assoc):
9297         * fns.c (Fassq):
9298         * fns.c (Fold_assq):
9299         * fns.c (assq_no_quit):
9300         * fns.c (Frassoc):
9301         * fns.c (Fold_rassoc):
9302         * fns.c (Frassq):
9303         * fns.c (Fold_rassq):
9304         * fns.c (rassq_no_quit):
9305         * fns.c (Fdelete):
9306         * fns.c (Fold_delete):
9307         * fns.c (Fdelq):
9308         * fns.c (Fold_delq):
9309         * fns.c (delq_no_quit):
9310         * fns.c (Fremassoc):
9311         * fns.c (Fremassq):
9312         * fns.c (remassq_no_quit):
9313         * fns.c (Fremrassoc):
9314         * fns.c (Fremrassq):
9315         * fns.c (remrassq_no_quit):
9316         * fns.c (Freverse):
9317         * fns.c (mapcar1):
9318         [1].
9319
9320         * frame-msw.c (mswindows_init_frame_1):
9321         * frame-msw.c (mswindows_delete_frame):
9322         Register popups with dialog code so keyboard traversing works.
9323
9324         * frame-tty.c (tty_raise_frame_no_select): [1].
9325
9326         * frame-x.c:
9327         * frame-x.c (x_set_frame_text_value):
9328         * frame-x.c (x_set_frame_properties):
9329         * frame-x.c (x_create_widgets):
9330         [7].
9331
9332         * frame.c:
9333         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9334
9335         * frame.h (wrap_frame): New.
9336         Macro like wrap_device.
9337
9338         * general.c:
9339         * general.c (SYMBOL):
9340         * general.c (syms_of_general):
9341         Major reorg.  This is now just a wrapper and symbols themselves
9342         are listed in general-slots.h.
9343
9344         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9345         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9346
9347         * glyphs-msw.c (mswindows_native_layout_instantiate):
9348         Add DS_CONTROL so keyboard traversal will work.
9349
9350         * glyphs-widget.c:
9351         * glyphs-widget.c (syms_of_glyphs_widget):
9352         Move some symbols to general-slots.h.
9353
9354         * glyphs-x.c:
9355         * glyphs-x.c (xbm_instantiate_1):
9356         * glyphs-x.c (x_xbm_instantiate):
9357         * glyphs-x.c (x_xface_instantiate):
9358         * glyphs-x.c (autodetect_instantiate):
9359         * glyphs-x.c (cursor_font_instantiate):
9360         * glyphs-x.c (x_update_widget):
9361         * glyphs-x.c (x_widget_instantiate):
9362         * glyphs.c (bitmap_to_lisp_data):
9363         * glyphs.c (pixmap_to_lisp_data):
9364         [7].
9365
9366         * glyphs.c (syms_of_glyphs):
9367         [2].
9368
9369         * gui-x.c:
9370         * gui-x.c (print_widget_value):
9371         * gui-x.c (menu_separator_style_and_to_external):
9372         * gui-x.c (add_accel_and_to_external):
9373         * gui-x.c (button_item_to_widget_value):
9374         * gui-x.c (gui_items_to_widget_values_1):
9375         * gui-x.c (gui_items_to_widget_values):
9376         * gui-x.c (syms_of_gui_x):
9377         * gui-x.c (vars_of_gui_x):
9378         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9379         [9].
9380
9381         * gui-x.h:
9382         Muleize, prototype changes matching gui-x.c.
9383
9384         * gui.c:
9385         * gui.c (separator_string_p):
9386         * gui.c (gui_item_add_keyval_pair):
9387         * gui.c (make_gui_item_from_keywords_internal):
9388         * gui.c (signal_too_long_error):
9389         * gui.c (parse_gui_item_tree_item):
9390         * gui.c (syms_of_gui):
9391         * gui.c (vars_of_gui):
9392         * gui.h:
9393         menu-no-selection-hook moved here (used by MSWin).
9394         Move some symbols to general-slots.h.
9395         [6].
9396         [9].
9397
9398         * insdel.c (get_buffer_pos_char):
9399         * insdel.c (get_buffer_range_char):
9400         Add GC comments.
9401
9402         * keymap.c (keymap_lookup_directly):
9403         * keymap.c (keymap_store):
9404         * keymap.c (ensure_meta_prefix_char_keymapp):
9405         * keymap.c (describe_map):
9406         * keymap.h:
9407         Support new button modifiers.
9408
9409         * lisp-disunion.h (wrap_object):
9410         * lisp-disunion.h (XSETOBJ):
9411         Rename make_obj to wrap_object.
9412
9413         * lisp-union.h:
9414         * lisp-union.h (make_int):
9415         * lisp-union.h (make_char):
9416         Support wrap_object.
9417
9418         * lisp.h:
9419         * lisp.h (LIST_LOOP):
9420         * lisp.h (EXTERNAL_LIST_LOOP):
9421         * lisp.h (LIST_LOOP_2):
9422         * lisp.h (EXTERNAL_LIST_LOOP_1):
9423         * lisp.h (EXTERNAL_LIST_LOOP_2):
9424         * lisp.h (EXTERNAL_LIST_LOOP_3):
9425         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
9426         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9427         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
9428         * lisp.h (EXTERNAL_ALIST_LOOP_5):
9429         * lisp.h (EXTERNAL_ALIST_LOOP_6):
9430         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
9431         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
9432         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
9433         * lisp.h (struct Lisp_Symbol):
9434         * lisp.h (maybe_continuable_error_with_frob):
9435         Fix up section comments.
9436         Add new types for char to indicate usage.
9437         Delete symbols auto-generated from general-slots.h.
9438         Add prototypes for structured error functions.
9439         Add long comments describing looping macros and change interface
9440         so that lvalues are automatically declared.
9441         Add NO_DECLARE macro in case callers want to declare lvalues
9442         themselves.
9443
9444         * lread.c (read_syntax_error):
9445         * lread.c (continuable_read_syntax_error):
9446         * lread.c (read_structure):
9447         * lread.c (sequence_reader):
9448         * lread.c (read_list_conser):
9449         * lread.c (read_compiled_function):
9450         Rename syntax_error and continuable_syntax_error to avoid clash
9451         with same-named structured error functions.
9452
9453         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9454         * menubar-msw.c (populate_menu_add_item):
9455         * menubar-msw.c (populate_or_checksum_helper):
9456         [5].
9457         [9].
9458
9459         * menubar-x.c:
9460         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9461         Mule-ize whole file.
9462
9463         * menubar.c (Fnormalize_menu_item_name): Add optimization.
9464
9465         * mule-charset.c (Fmake_charset):
9466         * mule-wnnfns.c (Fwnn_set_param):
9467         [1].
9468
9469         * ntproc.c (create_child):
9470         * ntproc.c (Fwin32_set_current_locale):
9471         Add comments portending doom.
9472
9473         * objects-msw.c:
9474         * objects-msw.c (old_font_enum_callback_2):
9475         * objects-msw.c (font_enum_callback_1):
9476         * objects-msw.c (mswindows_enumerate_fonts):
9477         [5].
9478
9479         * objects-x.c:
9480         * objects-x.c (allocate_nearest_color):
9481         * objects-x.c (x_parse_nearest_color):
9482         * objects-x.c (x_initialize_color_instance):
9483         * objects-x.c (x_print_color_instance):
9484         * objects-x.c (x_finalize_color_instance):
9485         * objects-x.c (x_valid_color_name_p):
9486         * objects-x.c (x_initialize_font_instance):
9487         * objects-x.c (x_print_font_instance):
9488         * objects-x.c (valid_x_font_name_p):
9489         * objects-x.c (truename_via_FONT_prop):
9490         * objects-x.c (truename_via_random_props):
9491         * objects-x.c (truename_via_XListFonts):
9492         * objects-x.c (x_font_truename):
9493         * objects-x.c (x_font_instance_truename):
9494         * objects-x.c (x_font_instance_properties):
9495         * objects-x.c (x_list_fonts):
9496         * objects-x.c (x_find_charset_font):
9497         Mule-ize entire file.
9498         [7].
9499
9500         * objects-x.h:
9501         Mule-verify.
9502
9503         * print.c:
9504         * print.c (std_handle_out_external):
9505         * print.c (debug_print_no_newline):
9506         * print.c (syms_of_print):
9507         Output to all debugger kinds in debug-print.
9508         Fix console-output code under MSWin to actually work.
9509
9510         * process-nt.c (send_signal):
9511         * process-nt.c (nt_create_process):
9512         Use newer Unicode macros.
9513
9514         * process-unix.c (unix_create_process):
9515         * process-unix.c (unix_canonicalize_host_name):
9516         * process-unix.c (unix_open_network_stream):
9517         [7].
9518
9519         * scrollbar-x.c:
9520         Mule-verify.
9521
9522         * search.c (syms_of_search):
9523         [2].
9524
9525         * select-msw.c (mswindows_destroy_selection):
9526         Use LIST_LOOP_2.
9527
9528         * select-x.c (symbol_to_x_atom):
9529         [7].
9530
9531         * select.c (syms_of_select):
9532         [2].
9533
9534         * sound.c (Fplay_sound_file):
9535         [7].
9536
9537         * specifier.c:
9538         * specifier.c (decode_specifier_type):
9539         * specifier.c (Fvalid_specifier_locale_type_p):
9540         * specifier.c (check_valid_locale_or_locale_type):
9541         * specifier.c (decode_locale):
9542         * specifier.c (decode_locale_type):
9543         * specifier.c (decode_locale_list):
9544         * specifier.c (check_valid_domain):
9545         * specifier.c (decode_specifier_tag_set):
9546         * specifier.c (Fcanonicalize_tag_set):
9547         * specifier.c (Fdefine_specifier_tag):
9548         * specifier.c (Fspecifier_tag_predicate):
9549         * specifier.c (check_valid_inst_list):
9550         * specifier.c (check_valid_spec_list):
9551         * specifier.c (decode_how_to_add_specification):
9552         * specifier.c (check_modifiable_specifier):
9553         * specifier.c (specifier_add_spec):
9554         * specifier.c (boolean_validate):
9555         * specifier.c (display_table_validate):
9556         [9].
9557
9558         * specifier.c (syms_of_specifier):
9559         Move some symbols to general-slots.h.
9560         [2].
9561
9562         * symbols.c:
9563         * symbols.c (Fmapatoms):
9564         * symbols.c (Fapropos_internal):
9565         Add GCPROs.
9566
9567         * symbols.c (set_default_buffer_slot_variable):
9568         * symbols.c (set_default_console_slot_variable):
9569         [1].
9570
9571         * symbols.c (defsymbol_massage_name_1):
9572         * symbols.c (defkeyword_massage_name):
9573         * symbols.c (deferror_1):
9574         * symbols.c (deferror):
9575         * symbols.c (deferror_massage_name_and_message):
9576         * symeval.h:
9577         * symeval.h (DEFSYMBOL):
9578         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
9579
9580         * symbols.c (syms_of_symbols):
9581         [2].
9582
9583         * symsinit.h:
9584         * symsinit.h (init_win32): New.
9585         Also new is syms_of_dialog_mswindows.
9586
9587         * syswindows.h:
9588         Add new Unicode macros, missing Cygwin wide-char functions,
9589         convenience conversion macros for Qmswindows_tstr, macros for
9590         encapsulating required MSWin <-> Cygwin filename conversions,
9591         prototype for dynamically-extracted (not in NT 3.51) functions.
9592
9593         * toolbar-x.c:
9594         Mule-verify.
9595
9596         * tooltalk.c (Fadd_tooltalk_message_arg):
9597         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
9598         * tooltalk.c (Fadd_tooltalk_pattern_arg):
9599         [7].
9600
9601         * tooltalk.c (syms_of_tooltalk):
9602         [2].
9603
9604         * unexnt.c:
9605         * unexnt.c (unexec):
9606         Fix up headers, declaration of unexec() to be more standard.
9607
9608 2000-07-20  Martin Buchholz  <martin@xemacs.org>
9609
9610         * offix.h: Revert change to guard macros - they're used in offix.c!
9611
9612 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9613
9614         * lisp.h: Defsubred Fdelete.
9615
9616         * console-msw.h:  (msprinter_default_printer): Added.
9617
9618         * console-msw.c (msprinter_canonicalize_console_connection):
9619         (msprinter_canonicalize_device_connection): Added.
9620
9621         * device-msw.c (msprinter_default_printer):
9622         (Fmswingows_get_default_printer):
9623         (signal_enum_priner_error):
9624         (Fmswingows_printer_list): Added.
9625
9626 2000-07-19  Martin Buchholz <martin@xemacs.org>
9627
9628         * XEmacs 21.2.35 is released.
9629
9630 2000-07-19  Martin Buchholz  <martin@xemacs.org>
9631
9632         * select-x.c (x_handle_selection_request):
9633         Text selected in xemacs and pasted into xterm failed to appear.
9634         Spelling fixes and cosmetic changes.
9635
9636 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9637
9638         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
9639         XEmacs frame (fix for doubling chars in dialog boxes).
9640
9641 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9642
9643         * select.c (select_convert_in, select_convert_out):
9644         Don't call intern() every time.
9645
9646         * select.c (Qselect_convert_in, Qselect_convert_out): New.
9647         * select.c (vars_of_select): Initialise them.
9648
9649 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9650
9651         * select.c (selection-coercible-types): New.
9652
9653         * select.c (own-selection-internal):
9654         * select.c (get-selection-internal):
9655         MULE bug fix - these should default to COMPOUND_TEXT and not
9656         STRING for MULE. I think.
9657
9658         * select.c (select_convert_out): Use selection-coercible-types
9659         to find types that we can attempt to perform coercions on.
9660
9661 2000-07-18  Martin Buchholz  <martin@xemacs.org>
9662
9663         * mule-wnnfns.c:
9664         * mule-canna.c:
9665         Add coding: cookie to identify encoding.
9666
9667         * mule-canna.c (CANNA_mode_keys): make static.
9668         Use proper prototypes, even for functions of no arguments.
9669         Remove external prototype for Fding().
9670
9671         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
9672
9673         * select.c (syms_of_select): Add missing DEFSUBR.
9674
9675 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
9676
9677         * select.c (get_selection_internal, own_selection_internal):
9678         Make the type default to STRING, rather than placing a nil type
9679         into Vselection_alist.
9680
9681 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
9682
9683         * gpmevent.c (tty_selection_exists_p):
9684         * gpmevent.c (tty_own_selection):
9685         Updated parameter lists.
9686
9687 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
9688
9689         * select.h (selection-alist): Removed declaration.
9690
9691         * select.h (get_local_selection):
9692         * select.c (get_local_selection):
9693         Made static.
9694
9695         * select.h (convert_selection): Removed declaration.
9696         * select.c (convert_selection): Removed.
9697         This function belongs in Lisp.
9698
9699         * select.h (select_convert_in): Declare.
9700         * select.h (select_convert_out): Declare.
9701         * select.c (select_convert_in): New.
9702         * select.c (select_convert_out): New.
9703         New conversion functions for other files to call.
9704
9705         * select.h (select_notify_buffer_kill): Declare.
9706         * select.c (select_notify_buffer_kill): New.
9707         New functions that get called from kill-buffer.
9708
9709         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
9710         X-specific lisp code.
9711
9712         * select.h: Declare some of the lisp-visible functions for
9713         external use.
9714
9715         * select.c (clean_local_selection_data): Removed. This was
9716         a disgusting function, and previously should have been in
9717         select-x.c in any case. The functionality is now provided
9718         in select-convert-from-integer (select.el).
9719
9720         * select.c (available-selection-types): Fixed stupidity where
9721         INTEGER and ATOM got added twice. Also add STRING when we see an
9722         extent.
9723
9724         * select.c (get-selection-internal): Removed symbol stripping. No
9725         longer causes conversion when data comes from the internal cache.
9726
9727         * select.c (syms_of_select): Added new functions.
9728
9729         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
9730         error checking - previously this called abort!
9731
9732         * select-x.c (x_own_selection): Changed comment.
9733
9734         * select-x.c (x_handle_selection_request): Use select_convert_out.
9735         Don't mess with selection-alist; it's an internal variable of select.c.
9736
9737         * select-x.c (x_get_foreign_selection): Use select_convert_in.
9738
9739         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
9740         rather than messing with selection-alist.
9741
9742         * select-msw.c (mswindows_get_foreign_selection):
9743         Use TO_INTERNAL_FORMAT rather than hacking.
9744
9745 2000-07-14  Martin Buchholz  <martin@xemacs.org>
9746
9747         * process-unix.c (unix_open_multicast_group):
9748         (unix_open_multicast_group): Remove useless casts.
9749
9750 2000-07-13  Martin Buchholz  <martin@xemacs.org>
9751
9752         * sound.c (Fplay_sound): Fix `unused variable' warning.
9753
9754         * emacs.c (main): Use correct type for _environ on SCO5.
9755
9756 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
9757
9758         * console.h (own_selection_method):
9759         * console.h (selection_exists_p_method):
9760         * console.h (available_selection_types_method): New.
9761         * console.h (register_selection_data_type_method): New.
9762         * console.h (selection_data_type_name): New.
9763
9764         * console-msw.h (mswindows_destroy_selection): Declare it.  New
9765         function & alist to track GlobalAlloc()'d handles that need
9766         releasing when the clipboard data gets replaced or emptied.
9767
9768         * event-msw.c (mswindows_wnd_proc): Call it.
9769
9770         * lisp.h, general.c (Qappend): New symbol representing a
9771         `how-to-add' mode.
9772
9773         * select.c (own-selection-internal):
9774         * select.c (selection-exists-p):
9775         * select.c (available-selection-types): New.
9776         * select.c (register-selection-data-type): New.
9777         * select.c (selection-data-type-name): New.  New functions to deal
9778         with device-specific selection data formats.
9779         * select.c (selection-converter-out-alist): Renamed.
9780         * select.c (selection-converter-in-alist): New.
9781         * select.c (selection-appender-alist): New.  Added new alists.
9782         * select.c (syms_of_select, vars_of_select): Added new symbols &
9783         variables.
9784         * select.c (get_local_selection): Split.
9785         * select.c: Removed spurious type checking - selections may now be
9786         of any type, not just strings.
9787         * select.c (own-selection-internal):
9788
9789         * select.h, select.c (convert_selection): New. Created
9790         convert_selection() function based on get_local_selection().
9791         * select.h, select.c (QCF_*): New symbols representing mswindows
9792         clipboard formats.
9793         * select.h, select.c (Qreplace_all, Qreplace_existing): New
9794         symbols representing `how-to-add' modes.
9795
9796         * select-msw.c (x_sym_p): New.
9797         * select-msw.c (symbol_to_ms_cf): New.
9798         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
9799         symbols & clipboard formats. Can also handle string names.
9800         * select-msw.c (mswindows_own_selection):
9801         * select-msw.c (mswindows_selection_exists_p):
9802         Added `data-type' parameter. Use it.
9803         * select-msw.c (mswindows_available_selection_types): New.
9804         * select-msw.c (mswindows_register_selection_data_type): New.
9805         * select-msw.c (mswindows_selection_data_type_name): New.
9806         * select-msw.c (mswindows_own_selection):
9807         * select-msw.c (mswindows_get_foreign_selection):
9808         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
9809         * select-msw.c (console_create_select_mswindows): Added new methods.
9810         * select-msw.c (mswindows_destroy_selection): New.
9811         * select-msw.c (Vhandle_alist): New list.
9812         * select-msw.c (mswindows_own_selection):
9813
9814         * select-x.c (x_own_selection):
9815         * select-x.c (x_selection_exists_p):
9816         * select-x.c: Added some comments about maybe using new
9817         functionality.
9818         * select-x.c (x_own_selection):
9819
9820         * specifier.c: Remove definition of Qappend (now in general.c)
9821         * specifier.c (syms_of_specifier): Remove Qappend.
9822
9823 2000-07-12  Martin Buchholz  <martin@xemacs.org>
9824
9825         * config.h.in: Add socklen_t.
9826
9827         * s/decosf4-0.h: No special compiler flags needed or desired.
9828         In particular, undefine _BSD for DEC OSF 4.0.
9829
9830 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9831
9832         * redisplay-msw.c (msprinter_frame_output_end): Added.
9833         (console_type_create_redisplay_mswindows): Referred the above.
9834
9835         * frame.c (setup_frame_without_minibuffer): Do not create a
9836         default minibuffer frame on a printer device.
9837
9838         * frame-msw.c (apply_dc_geometry): Added.
9839         (msprinter_start_page):
9840         (msprinter_init_frame_3):
9841         (msprinter_eject_page): Use it.
9842
9843         * console-msw.h (struct msprinter_frame): Added pix_left and top,
9844         and removed residual duplex and orientation properties.
9845
9846 2000-07-11  Martin Buchholz  <martin@xemacs.org>
9847
9848         * eval.c (function_argcount): Work around a DEC CC compiler bug.
9849
9850         * unexalpha.c: Remove system prototypes from C sources!
9851
9852 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
9853
9854         * eval.c: Remove references to M-x edit-options in DEFUNs for
9855         `defvar' and `defconst'.
9856
9857 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9858
9859         * config.h.in: Remove SMART_INCLUDE hackery.
9860
9861         PostgreSQL hacking:
9862         * config.h.in: Don't use SMART_INCLUDE.
9863
9864         * postgresql.h: Include libpq-fe.h here.  Fix typo.
9865         * inline.c: Simply #include "postgresql.h"
9866         * postgresql.c:
9867         - Don't use SMART_INCLUDE
9868         - Use simply "const".
9869         - Use standard doc string conventions.
9870         - Use correct type for result of PQstatus.
9871
9872 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9873
9874         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
9875
9876         C++ compilation changes.
9877         * config.h.in (EXTERN_C): Define.
9878         * config.h.in (not): This is also a C++ keyword.
9879         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
9880         * cm.c: Use EXTERN_C.
9881         * redisplay-tty.c: Use EXTERN_C.
9882         * sysdep.c: Use EXTERN_C.  Remove Gould support.
9883
9884 2000-07-09  Martin Buchholz  <martin@xemacs.org>
9885
9886         * general.c: Remove duplicate definition for Qfunction.
9887
9888 2000-07-08  Ben Wing  <ben@xemacs.org>
9889
9890         * device-msw.c (msprinter_init_device):
9891         * device-msw.c (sync_printer_with_devmode):
9892         * device-msw.c (handle_devmode_changes):
9893         * device-msw.c (print_dialog_worker):
9894         * device-msw.c (Fmsprinter_apply_settings):
9895         * device-msw.c (hash_devmode):
9896         * device-msw.c (Fmsprinter_settings_despecialize):
9897         use Qmswindows_tstr, not Qctext.
9898
9899         * vm-limit.c (check_memory_limits):
9900         avoid infinite loop printing warning messages.
9901
9902 2000-07-05  Craig Lanning  <lanning@scra.org>
9903
9904         * Makefile.in.in: Add support for including the Windows resources
9905         when building with the cygwin and mingw targets.
9906
9907         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
9908         not set or not correct.
9909         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
9910         (init_initial_directory): Don't try to use $PWD on the
9911         WIN32_NATIVE target.
9912
9913         * s\cygwin32.h:
9914         [[Add -mwindows to eliminate console window.]] not required --ben
9915         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9916         (MAIL_USE_POP): removed; now handled by configure.
9917
9918         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
9919         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
9920         (HAVE_NATIVE_SOUND): removed; now handled by configure.
9921         (MAIL_USE_POP): removed; now handled by configure.
9922         (ENCAPSULATE_STAT): from Dan Holmsand, added.
9923         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
9924         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
9925         constant string.
9926         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
9927         up from <winsock.h> via systime.h.
9928         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
9929         (getpagesize): from Dan Holmsand, added.
9930         Added #endif which was left dangling by Ben's mega patch; added
9931         comment to help prevent this in the future.
9932
9933         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
9934
9935 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9936
9937         * console-msw.h (struct mswindows_device): Removed unnecessary
9938         cached device geometry values.
9939         Added update_tick and an accessor macro.
9940         (Lisp_Devmode): Added lrecord declaration.
9941         (struct msprinter_device): Contain devmode as a Lisp object.
9942         Added mswindows_get_selected_frame_hwnd();
9943
9944         * console.h (struct console_methods): Indentation nitpicking.
9945
9946         * device-msw.c (mswindows_init_device): Do not initialize geometry
9947         cache. Initialize update tick.
9948         (mswindows_device_system_metrics): Ask the device for its geometry.
9949         (global_free_2_maybe):
9950         (devmode_to_hglobal):
9951         (handle_printer_changes):
9952         (ensure_not_printing):
9953         (print_dialog_worker):
9954         (Fmsprinter_print_setup_dialog):
9955         (Fmsprinter_print_dialog):
9956         (plist_get_margin):
9957         (plist_set_margin):
9958         (Fmsprinter_page_setup_dialog): Added functions.
9959         (sync_printer_with_devmode):
9960         (handle_devmode_changes):
9961         (Fmsprinter_get_settings):
9962         (Fmsprinter_select_settings):
9963         (Fmsprinter_apply_settings):
9964         (allocate_devmode):
9965         (Fmsprinter_settings_copy):
9966         (Fmsprinter_settings_despecialize):
9967         (print_devmode):
9968         (finalize_devmode):
9969         (equal_devmode):
9970         (hash_devmode): Added functions
9971         (syms_of_device_mswindows): Init devmode lrecord class.
9972
9973         * device.h: Added an exfun for find-device.
9974
9975         * event-msw.c (mswindows_wnd_proc): Do not update the cached
9976         geometry; although, recreate the device compatible DC.
9977
9978         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
9979         (msprinter_init_frame_3):
9980         (msprinter_frame_property):
9981         (msprinter_internal_frame_property_p):
9982         (msprinter_frame_properties):
9983         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
9984         print job properties (will move to device settings).
9985
9986         * lisp.h: Added symbols.
9987
9988         * general.c (syms_of_general): Declared them.
9989
9990         * hash.c (string_hash): Added.
9991
9992         * lrecord.h (lrecord_type): Added devmode lrecord type.
9993
9994 2000-07-02  Mike Sperber <mike@xemacs.org>
9995
9996         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
9997         FreeBSD 4.0.
9998
9999 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10000
10001         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10002         integer.
10003
10004 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10005
10006         * data.c (Fstring_to_number): Don't recognize floating point if
10007         base is not 10.
10008
10009 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10010
10011         * glyphs-widget.c (tab_control_query_geometry):
10012         (widget_query_geometry):
10013         (button_query_geometry):
10014         * glyphs.c (text_query_geometry):
10015         Enforce type correctness.
10016
10017 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10018
10019         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10020         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10021
10022 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10023
10024         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10025         conflicts with gcc's fixincluded version of FOO.h.
10026
10027         * glyphs.h (image_instance_geometry): Remove trailing `,'
10028
10029 2000-06-08  Mike Alexander  <mta@arbortext.com>
10030
10031         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10032         (shove_thread): Don't write the same output twice
10033         (make_ntpipe_output_stream): Increase priority of shove thread
10034         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10035         chance to run
10036         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10037         it.
10038
10039 2000-06-12  Ben Wing  <ben@xemacs.org>
10040
10041         * s\mingw32.h (sigset):
10042         * s\windowsnt.h (sigset):
10043         rename msw_ to mswindows_ for consistency with general convention.
10044
10045 2000-06-12  Ben Wing  <ben@xemacs.org>
10046
10047         * console-msw.c:
10048         * console-msw.c (mswindows_get_console_hwnd):
10049         * console-msw.c (mswindows_ensure_console_allocated):
10050         * console-msw.c (mswindows_hide_console):
10051         * console-msw.c (mswindows_show_console):
10052         * console-msw.c (mswindows_ensure_console_buffered):
10053         * console-msw.c (mswindows_output_console_string):
10054         * console-msw.c (mswindows_windows9x_p):
10055         * console-msw.h:
10056         * device-msw.c (mswindows_get_workspace_coords):
10057         * device-msw.c (mswindows_device_system_metrics):
10058         * dialog-msw.c (mswindows_popup_dialog_box):
10059         * event-msw.c (mswindows_wnd_proc):
10060         * frame-msw.c (mswindows_size_frame_internal):
10061         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10062         * menubar-msw.c (displayable_menu_item):
10063         * menubar-msw.c (mswindows_char_is_accelerator):
10064         * nt.c:
10065         * nt.c (mswindows_sigset):
10066         * nt.c (mswindows_sigrelse):
10067         * nt.c (mswindows_sigpause):
10068         * nt.c (mswindows_raise):
10069         * nt.c (timer_proc):
10070         * ntproc.c:
10071         * ntproc.c (find_child_console):
10072         * ntproc.c (sys_kill):
10073         * print.c:
10074         * print.c (std_handle_out_external):
10075         * process-nt.c (find_child_console):
10076         * process-nt.c (send_signal_the_95_way):
10077         * process-nt.c (ensure_console_window_exists):
10078         * process-nt.c (nt_create_process):
10079         * syssignal.h:
10080         rename msw_ to mswindows_ for consistency with general convention.
10081
10082         * emacs.c:
10083         * dumper.c:
10084         include nt.h, not syswindows.h.
10085
10086         * nt.c (mswindows_fstat):
10087         * nt.c (mswindows_stat):
10088         prefix mswindows_ instead of attempting to directly override the
10089         library functions.  fix declarations.
10090
10091         * nt.h:
10092         include syswindows.h.  move some sysdep.h stuff here.
10093
10094         * ntheap.h:
10095         include syswindows.h, not <windows.h>.
10096
10097         * ntplay.c:
10098         clean up headers.
10099
10100         * sysdep.c:
10101         clean up headers.
10102
10103         * sysdep.c (sys_fstat):
10104         * sysdep.c (sys_stat):
10105         call mswindows versions when appropriate.
10106
10107         * sysdep.h:
10108         move mswin decls to nt.h.
10109
10110         * syswindows.h:
10111         add long comment describing appropriate use of the various windows
10112         headers.
10113
10114 2000-06-11  Ben Wing  <ben@xemacs.org>
10115
10116         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10117
10118 2000-06-10  Ben Wing  <ben@xemacs.org>
10119
10120         * Makefile.in.in (release):
10121         Correction to make sure xemacs.exe always dumped when correct.
10122
10123         * alloca.c:
10124         * balloon_help.c:
10125         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10126
10127         * buffer.c (set_buffer_internal):
10128         [[[[2]]]]: Remove HAVE_FEP code.
10129
10130         * buffer.c (init_initial_directory):
10131         [3].
10132
10133         * bytecode.c:
10134         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10135         individual files.
10136
10137         * callproc.c:
10138         * callproc.c (call_process_cleanup):
10139         * callproc.c (Fold_call_process_internal):
10140         * callproc.c (child_setup):
10141         * callproc.c (getenv_internal):
10142         * callproc.c (init_callproc):
10143         * callproc.c (vars_of_callproc):
10144         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10145         __CYGWIN32__ -> CYGWIN.
10146         DOS_NT -> WIN32_NATIVE.
10147         Remove MSDOS support/references, converting to WIN32_NATIVE
10148           where correct.
10149         __MINGW32__ -> MINGW.
10150         Fix windows.h includes.
10151         Remove bogus HAVE_NTGUI.
10152
10153         * config.h.in:
10154         [2].
10155
10156         * console-msw.c:
10157         mswindows_message_outputted added for use in allowing startup
10158         errors on the console to be seen.
10159
10160         * console-msw.c (msw_ensure_console_allocated):
10161         * console-msw.c (msw_output_console_string):
10162         * console-msw.c (DHEADER):
10163         * console-msw.c (DOPAQUE_DATA):
10164         * console-msw.c (DEVENT):
10165         * console-msw.c (DCONS):
10166         * console-msw.c (DCONSCDR):
10167         * console-msw.c (DSTRING):
10168         * console-msw.c (DVECTOR):
10169         * console-msw.c (DSYMBOL):
10170         * console-msw.c (DSYMNAME):
10171         Fix warnings.
10172
10173         * console-stream.c (stream_init_console):
10174         Fix text/binary problems.
10175
10176         * device-msw.c:
10177         * device-msw.c (mswindows_finish_init_device):
10178         * device-msw.c (mswindows_delete_device):
10179         [1].
10180
10181         * device.c (handle_asynch_device_change):
10182         [3].
10183
10184         * dgif_lib.c:
10185         * dgif_lib.c (DGifOpenFileName):
10186         * dgif_lib.c (DGifOpenFileHandle):
10187         * dgif_lib.c (DGifGetLine):
10188         * dgif_lib.c (DGifGetPixel):
10189         Added config.h/lisp.h, fix up includes.
10190         [1].
10191
10192         * dired-msw.c:
10193         [4].
10194
10195         * dired.c:
10196         * dired.c (file_name_completion):
10197         * dired.c (Ffile_attributes):
10198         * dired.c (syms_of_dired):
10199         [1].
10200
10201         * dumper.c:
10202         * dumper.c (pdump_file_unmap):
10203         * dumper.c (pdump_load):
10204         [1].
10205
10206         * editfns.c:
10207         * editfns.c (Ftemp_directory):
10208         * editfns.c (user_login_name):
10209         * editfns.c (Fuser_real_login_name):
10210         * editfns.c (get_home_directory):
10211         [1].
10212
10213         * elhash.c (finish_marking_weak_hash_tables):
10214         [[[[5]]]]: Fix GCC warnings.
10215
10216         * emacs.c:
10217         * emacs.c (mswindows_handle_hardware_exceptions):
10218         * emacs.c (make_arg_list_1):
10219         * emacs.c (main_1):
10220         * emacs.c (Fkill_emacs):
10221         * emacs.c (Fdump_emacs):
10222         [1].
10223         Fix problems with nested crashes, add long comment.
10224
10225         * event-Xt.c (init_event_Xt_late):
10226         [1].
10227
10228         * event-msw.c:
10229         * event-msw.c (mswindows_dde_callback):
10230         * event-msw.c (mswindows_handle_sticky_modifiers):
10231         * event-msw.c (mswindows_wnd_proc):
10232         [1].
10233         [5].
10234
10235         * events.c (character_to_event):
10236         [1].
10237
10238         * fileio.c:
10239         * fileio.c (Ffile_name_directory):
10240         * fileio.c (Ffile_name_nondirectory):
10241         * fileio.c (directory_file_name):
10242         * fileio.c (Fexpand_file_name):
10243         * fileio.c (Fsubstitute_in_file_name):
10244         * fileio.c (Ffile_name_absolute_p):
10245         * fileio.c (check_executable):
10246         * fileio.c (Ffile_readable_p):
10247         * fileio.c (Ffile_accessible_directory_p):
10248         * fileio.c (Ffile_modes):
10249         * fileio.c (Funix_sync):
10250         * fileio.c (vars_of_fileio):
10251         [1]. [4].
10252
10253         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10254
10255         Expand getdefdir defn.
10256         Fix bogus rename() comment.
10257
10258         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10259         to use standard XEmacs include files, e.g. sysfile.h, rather
10260         than system-specific includes.
10261
10262         * fns.c:
10263         * fns.c (Fsubseq):
10264         [5]. [6].
10265
10266         * frame.c (vars_of_frame):
10267         [1].
10268
10269         * getloadavg.c:
10270         * getloadavg.c (getloadavg):
10271         [1]. [6].
10272         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10273         (We don't use it elsewhere in the code; just add a comment.)
10274
10275         * gif_io.c:
10276         [6].
10277         Add config.h.
10278
10279         * glyphs-msw.c:
10280         * glyphs-msw.c (mswindows_resource_instantiate):
10281         [1].
10282
10283         * glyphs-x.c (x_native_layout_instantiate):
10284         [5].
10285
10286         * gui-msw.c (Fmswindows_shell_execute):
10287         [1].
10288
10289         * insdel.c:
10290         [4].
10291
10292         * lisp.h:
10293         [4]. [5].
10294
10295         * lread.c (locate_file_in_directory_mapper):
10296         [1].
10297
10298         * lstream.c:
10299         [4].
10300
10301         * mem-limits.h:
10302         * mem-limits.h (get_lim_data):
10303         [1].
10304
10305         * menubar-msw.c:
10306         [4].
10307
10308         * ndir.h:
10309         [1].
10310
10311         * nt.c:
10312         * nt.c (getwd):
10313         * nt.c (closedir):
10314         * nt.c (rva_to_section):
10315         * nt.c (mswindows_executable_type):
10316         [1]. [6].
10317         Fix closedir() defn.
10318
10319         * nt.h:
10320         [[[[8]]]]: *_OK defs moved to sysfile.h.
10321
10322         * ntproc.c:
10323         [6]. [7].
10324
10325         * objects-x.c:
10326         [4].
10327
10328         * print.c:
10329         * print.c (std_handle_out_external):
10330         [1]. [4].
10331
10332         * process-nt.c:
10333         * process-nt.c (nt_create_process):
10334         [6].
10335         try to fix process quoting somewhat.
10336
10337         * process-unix.c (unix_create_process):
10338         [1].
10339
10340         * process.c:
10341         * process.c (vars_of_process):
10342         Add Vnull_device.
10343
10344         * process.h:
10345         [1].
10346
10347         * realpath.c:
10348         * realpath.c (xrealpath):
10349         [1].
10350
10351         * redisplay-tty.c (init_tty_for_redisplay):
10352         [3].
10353
10354         * redisplay.c:
10355         [4]. [6].
10356
10357         * scrollbar-msw.c:
10358         [4].
10359
10360         * sheap.c:
10361         * sheap.c (more_static_core):
10362         * sheap.c (report_sheap_usage):
10363         [5]. [6].
10364
10365         * signal.c:
10366         * signal.c (alarm_signal):
10367         [1]. [6].
10368
10369         * sound.c:
10370         [6].
10371
10372         * strftime.c:
10373         * strftime.c (zone_name):
10374         [1]. [5].
10375
10376         * symsinit.h (init_sunpro):
10377         [1].
10378
10379         * syscommctrl.h:
10380         commctrl.h not in Cygwin b20.1.
10381
10382         * sysdep.c:
10383         * sysdep.c (endif):
10384         * sysdep.c (sys_subshell):
10385         * sysdep.c (init_baud_rate):
10386         * sysdep.c (emacs_get_tty):
10387         * sysdep.c (emacs_set_tty):
10388         * sysdep.c (tty_init_sys_modes_on_device):
10389         * sysdep.c (init_system_name):
10390         * sysdep.c (sys_open):
10391         * sysdep.c (interruptible_open):
10392         * sysdep.c (sys_fopen):
10393         * sysdep.c (sys_mkdir):
10394         * sysdep.c (sys_rename):
10395         * sysdep.c (get_process_times_1):
10396         [1]. [6].
10397
10398         * sysdep.h:
10399         [1].
10400
10401         * sysdir.h:
10402         * sysdir.h (DIRENTRY_NONEMPTY):
10403         [1]. [6].
10404
10405         * sysdll.c (dll_init):
10406         * sysdll.h:
10407         [1].
10408
10409         * sysfile.h:
10410         [1]. [6]. [8].
10411         added text/binary defs.
10412
10413         * sysfloat.h:
10414         [1].
10415
10416         * sysproc.h:
10417         * sysproc.h (EDESTADDRREQ):
10418         * sysproc.h (poll_fds_for_input):
10419         [1]. [6].
10420
10421         * syspwd.h:
10422         [6].
10423
10424         * syssignal.h:
10425         [1].
10426
10427         * systime.h:
10428         [1]. [6].
10429
10430         * systty.h:
10431         [1].
10432
10433         * syswindows.h:
10434         [1].
10435         Always define WIN32_LEAN_AND_MEAN.
10436
10437         * unexcw.c (unexec):
10438         [5].
10439
10440         * unexec.c:
10441         * unexec.c (copy_text_and_data):
10442         * unexec.c (adjust_lnnoptrs):
10443         [1].
10444
10445         * unexnt.c:
10446         * unexnt.c (_start):
10447         [1].
10448
10449 2000-06-07  Ben Wing  <ben@xemacs.org>
10450
10451         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
10452         was used only as a model.  We've long since extracted any useful
10453         logic or code out of this. (I just did an exhaustive search.)
10454
10455         * s\msdos.h: Removed.
10456
10457         * s\windows95.h: Removed.
10458
10459 2000-06-10  Ben Wing  <ben@xemacs.org>
10460
10461         * s\cygwin32.h:
10462         [1]. [5].
10463         Don't use extern with fun defs.
10464
10465         * s\mingw32.h:
10466         [1]. [7].
10467         Remove nt\inc include.
10468         Remove getdisk, getdefdir. (The former is unused, the latter
10469         expanded in fileio.h.)
10470
10471         * s\windowsnt.h:
10472         * s\windowsnt.h (WIN32_NATIVE):
10473         * s\windowsnt.h (HAVE_STRCASECMP):
10474         [1]. [7].
10475         Add long comment about preprocessor changes.
10476         Remove getdisk, getdefdir. (The former is unused, the latter
10477         expanded in fileio.h.)
10478
10479 2000-06-10  Ben Wing  <ben@xemacs.org>
10480
10481         * m\arm.h:
10482         * m\delta.h:
10483         * m\intel386.h:
10484         * m\sequent.h:
10485         * m\template.h:
10486         * m\windowsnt.h:
10487         [1].
10488         Remove bogus/unused NO_SOCK_SIGIO.
10489
10490 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
10491
10492         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
10493         not an Emchar.
10494
10495 2000-06-04  Mike Sperber <mike@xemacs.org>
10496
10497         * casetab.c (set_case_table): For `set-standard-case-table',
10498         actually deposit the new case tables where the rest of XEmacs can
10499         see them.
10500
10501 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
10502
10503         * data.c (Faset): Don't cast XCHAR() to unsigned char.
10504
10505 2000-06-05  Ben Wing  <ben@xemacs.org>
10506
10507         * callproc.c (child_setup): Don't do close_load_descs() under
10508         MS Windows.  Put in a comment explaining why.
10509
10510 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
10511
10512         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
10513         Toolkit shell" which breaks `kill-compilation' on Windows NT
10514         native, retaining STDERR handling improvements.
10515
10516 2000-06-01  Andreas Jaeger  <aj@suse.de>
10517
10518         * s/s390.h: Support for S390, based on a patch by Martin
10519         Schwidefsky <schwidefsky@de.ibm.com>.
10520
10521 2000-05-30  Andy Piper  <andy@xemacs.org>
10522
10523         * window.c (allocate_window):
10524         (make_dummy_parent):
10525         (Fset_window_configuration): use new hashtable type.
10526
10527         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
10528         (struct image_instantiator_methods):
10529         (struct Lisp_Image_Instance): make instance geometry signed.
10530
10531         * glyphs.c (instantiate_image_instantiator):
10532         (image_instance_query_geometry):
10533         (image_instance_layout):
10534         (image_instance_layout):
10535         (query_string_geometry):
10536         (text_query_geometry):
10537         (image_instantiate):
10538         (image_instantiate):
10539         (cache_subwindow_instance_in_frame_maybe):
10540         (subwindow_query_geometry): make instance geometry signed.
10541
10542         * glyphs-widget.c (widget_query_geometry):
10543         (widget_layout):
10544         (button_query_geometry):
10545         (tree_view_query_geometry):
10546         (tab_control_query_geometry):
10547         (layout_query_geometry):
10548         (layout_layout):
10549         (native_layout_layout): make instance geometry signed.
10550
10551 2000-05-29  Olivier Galibert  <galibert@pobox.com>
10552
10553         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
10554         constant.
10555
10556         * general.c (syms_of_general): Add Qfull_assoc symbol.
10557
10558         * data.c (finish_marking_weak_lists): Mark full-assoc lists
10559         correctly.
10560         (decode_weak_list_type): Decode full-assoc type.
10561         (encode_weak_list_type): Encode full-assoc type.
10562         (Fmake_weak_list): Update doc string.
10563
10564 2000-05-30  Andy Piper  <andy@xemacs.org>
10565
10566         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
10567
10568         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
10569         (decode_hash_table_weakness): ditto.
10570         (Fhash_table_weakness): ditto.
10571         (Fhash_table_type): ditto.
10572         (finish_marking_weak_hash_tables): ditto.
10573         (hash_table_weakness_validate): ditto.
10574         (syms_of_elhash): ditto.
10575
10576 2000-05-28  Martin Buchholz <martin@xemacs.org>
10577
10578         * XEmacs 21.2.34 is released.
10579
10580 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10581
10582         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
10583         start cache.
10584         (updating_line_start_cache): Gone.
10585         (regenerate_window): Replace resetting of VERTICAL_CLIP by
10586         generic code to force a minimum of 1 line laid out in the
10587         CMOTION_DISP case.
10588
10589 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10590
10591         * glyphs.c (instantiate_image_instantiator): Check for initialized
10592         height & width no longer special cases IMAGE_NOTHING.
10593         (nothing_instantiate): Set height and width of instance.
10594
10595 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10596
10597         * unexelf.c (unexec): Search for ".data" section.
10598         Initialize new_data2_offset from old_data_index.
10599         Remove redundant check for ElfW.
10600
10601 2000-05-23  Andy Piper  <andy@xemacs.org>
10602
10603         * glyphs.c (get_image_instantiator_governing_domain): allow more
10604         specific domains as the governing domain rather than expecting an
10605         exact match. This fixes problems with layouts.
10606
10607 2000-05-22  Andy Piper  <andy@xemacs.org>
10608
10609         * redisplay-output.c (compare_runes): check for non-images
10610
10611         * glyphs.c (set_glyph_dirty_p): ditto.
10612         (update_glyph_cachel_data): ditto.
10613
10614         * glyphs-widget.c (layout_post_instantiate): ditto.
10615         (layout_post_instantiate): ditto.
10616
10617         * event-msw.c (mswindows_wnd_proc): warning removal.
10618
10619 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
10620
10621         * s\mingw32.h: Added #undef for CLASH_DETECTION.
10622
10623         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
10624
10625         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
10626
10627         * nt.c (rva_to_section): mingw32 needs rva_to_section.
10628         (mswindows_executable_type): mingw32 now has enough headers for
10629         this to work.
10630
10631 2000-05-20  Andy Piper  <andy@xemacs.org>
10632
10633         * console-msw.c (mswindows_output_last_error): ; -> ,
10634
10635 2000-05-12  Andy Piper  <andy@xemacs.org>
10636
10637         * console-msw.c (FROB): compare ints with ints.
10638
10639 2000-05-11  Andy Piper  <andy@xemacs.org>
10640
10641         * glyphs-x.c (x_finalize_image_instance): make minimal build
10642         happy.
10643
10644 2000-05-20  Ben Wing  <ben@xemacs.org>
10645
10646         * event-Xt.c:
10647         * event-Xt.c (vars_of_event_Xt):
10648         move modifier-keys-are-sticky to event-stream.c.
10649
10650         * event-msw.c:
10651         * event-msw.c (mswindows_enqueue_mouse_button_event):
10652         * event-msw.c (key_needs_default_processing_p):
10653         * event-msw.c (XEMSW_LCONTROL):
10654         * event-msw.c (mswindows_handle_sticky_modifiers):
10655         * event-msw.c (FROB):
10656         * event-msw.c (clear_sticky_modifiers):
10657         * event-msw.c (output_modifier_keyboard_state):
10658         * event-msw.c (output_alt_keyboard_state):
10659         * event-msw.c (mswindows_wnd_proc):
10660         * event-msw.c (mswindows_modifier_state):
10661         * event-msw.c (emacs_mswindows_handle_magic_event):
10662         implement sticky modifiers.
10663
10664         * event-stream.c:
10665         * event-stream.c (vars_of_event_stream):
10666         move modifier-keys-are-sticky here.
10667
10668         * lisp.h:
10669         add CHECK_FUNCTION.
10670
10671         * rangetab.c:
10672         implement map-range-table.
10673
10674
10675 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
10676
10677         * redisplay-tty.c (reset_tty_modes):
10678         (tty_redisplay_shutdown): Adjust argument type to
10679         tty_frame_output_end.
10680
10681 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10682
10683         * eval.c (Fbacktrace): Don't output a line with only right
10684         parenthesis.
10685
10686 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
10687
10688         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
10689         (Fpq_reset_poll): Ditto.
10690
10691 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
10692
10693         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
10694
10695 2000-05-16  Ben Wing  <ben@xemacs.org>
10696
10697         * buffer.c:
10698         * buffer.c (dfc_convert_to/from_internal_format):
10699         * buffer.c (reinit_vars_of_buffer):
10700         Fix conversion functions to allow reentrancy.
10701
10702         * console-msw.c:
10703         * console-msw.c (mswindows_output_last_error):
10704         New fun, generally useful -- output a human-readable
10705         version of GetLastError() on the console.
10706
10707         * console-msw.h:
10708         * console-msw.h (struct mswindows_frame):
10709         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
10710
10711         * console-stream.c (stream_output_begin):
10712         * console-stream.c (stream_output_end):
10713         * console-stream.c (stream_output_vertical_divider):
10714         * console-stream.c (stream_clear_region):
10715         * console-stream.c (stream_flash):
10716         * console-stream.c (console_type_create_stream):
10717         Delete blank stream methods, not needed.
10718
10719         * console.h (struct console_methods):
10720         Split begin/end methods into window and frame.
10721
10722         * event-msw.c:
10723         * event-msw.c (mswindows_handle_paint):
10724         * event-msw.c (output_alt_keyboard_state):
10725         * event-msw.c (mswindows_wnd_proc):
10726         * event-msw.c (vars_of_event_mswindows):
10727         Comment about problems with ignored-expose.
10728         Define mswindows-debug-events; not really implemented.
10729
10730         * frame-msw.c (mswindows_init_frame_1):
10731         random cleanups.
10732
10733         * glyphs-msw.c:
10734         * glyphs-msw.c (begin_defer_window_pos):
10735         * glyphs-msw.c (mswindows_unmap_subwindow):
10736         * glyphs-msw.c (mswindows_map_subwindow):
10737         * glyphs-msw.c (mswindows_resize_subwindow):
10738         Use DeferWindowPos to reduce flashing when mapping/unmapping.
10739
10740         * glyphs.c (make_image_instance_1):
10741         Fix crash.
10742
10743         * gutter.c (Fredisplay_gutter_area):
10744         Use new begin/end methods.
10745
10746         * lisp.h (Dynarr_new2):
10747         New creation fun.
10748
10749         * redisplay-msw.c:
10750         * redisplay-msw.c (mswindows_frame_output_begin):
10751         * redisplay-msw.c (mswindows_frame_output_end):
10752         * redisplay-msw.c (console_type_create_redisplay_mswindows):
10753         New begin/end methods -- handle DeferWindowPos.
10754
10755         * redisplay-output.c (redisplay_move_cursor):
10756         * redisplay-output.c (redraw_cursor_in_window):
10757         * redisplay-output.c (redisplay_update_line):
10758         * redisplay-output.c (redisplay_output_window):
10759         New begin/end methods.
10760
10761         * redisplay-tty.c:
10762         * redisplay-tty.c (tty_frame_output_begin):
10763         * redisplay-tty.c (tty_frame_output_end):
10764         * redisplay-tty.c (console_type_create_redisplay_tty):
10765         New begin/end methods.
10766
10767         * redisplay-x.c:
10768         * redisplay-x.c (x_window_output_begin):
10769         * redisplay-x.c (x_window_output_end):
10770         * redisplay-x.c (console_type_create_redisplay_x):
10771         New begin/end methods.
10772
10773         * redisplay.c (redisplay_frame):
10774         * redisplay.c (Fredisplay_echo_area):
10775         New begin/end methods.
10776         use MAYBE_DEVMETH for clear_frame; it may not exist.
10777
10778         * window.h (WINDOW_XFRAME):
10779         WINDOW_XFOO macros -- get locale and decode struct pointer.
10780
10781
10782 2000-05-12  Ben Wing  <ben@xemacs.org>
10783
10784         * emacs.c:
10785         * emacs.c (ensure_no_quitting_from_now_on):
10786         * emacs.c (fatal_error_signal):
10787         * emacs.c (mswindows_handle_hardware_exceptions):
10788         * emacs.c (main):
10789         * emacs.c (Fkill_emacs):
10790         * emacs.c (shut_down_emacs):
10791         * emacs.c (assert_failed):
10792         various improvements in fatal error handling.
10793
10794         * eval.c:
10795         move preparing_for_armageddon to emacs.c.
10796
10797         * lisp.h:
10798         declare fatal_error_in_progress.
10799
10800         * print.c:
10801         * print.c (std_handle_out_external):
10802         * print.c (std_handle_out_va):
10803         * print.c (stderr_out):
10804         * print.c (stdout_out):
10805         use console under mswin when no standard output.
10806         don't do code conversion during fatal error.
10807
10808         * scrollbar.c (Fscrollbar_page_up):
10809         * scrollbar.c (Fscrollbar_page_down):
10810         fix missing else.  reindent.
10811
10812 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
10813
10814         Emergency fix.
10815
10816         * glyphs.h (GLYPH_CACHEL_DESCENT):
10817         (GLYPH_CACHEL_DESCENT):
10818         (GLYPH_CACHEL_DESCENT):
10819         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
10820         used in case these are inline functions.
10821         Use more absurd values to error check.
10822
10823         include window.h for error check functions.
10824
10825 2000-05-11  Ben Wing  <ben@xemacs.org>
10826
10827         * cmdloop.c (Freally_early_error_handler):
10828         Display message box under windows; otherwise, message will disappear
10829         before it can be viewed.
10830
10831         * console-msw.c:
10832         * console-msw.c (Fmswindows_message_box):
10833         * console-msw.c (FROB):
10834         * console-msw.c (syms_of_console_mswindows):
10835         Define new fun `mswindows-message-box'.
10836         #### I will merge this into `popup-dialog-box'; just give me
10837         a bit of time.
10838
10839         * general.c:
10840         * general.c (syms_of_general):
10841         Some new symbols used in `mswindows-message-box'.
10842
10843         * glyphs.c:
10844         * glyphs.c (Fset_image_instance_property):
10845         put warning in this fun.
10846
10847         * glyphs.h:
10848         * glyphs.h (GLYPH_CACHEL_WIDTH):
10849         * glyphs.h (GLYPH_CACHEL_ASCENT):
10850         * glyphs.h (GLYPH_CACHEL):
10851         * glyphs.h (GLYPH_CACHEL_GLYPH):
10852         define error-checking versions to try to catch a bug i've seen --
10853         redisplay gets in an infinite loop because the glyph width of the
10854         continuation glyph is 65535.
10855
10856         * lisp.h:
10857         Extern message-box stuff.
10858
10859         * window.c (allocate_window):
10860         * window.c (make_dummy_parent):
10861         * window.c (Fset_window_configuration):
10862         Use EQUAL not EQ for subwindow caches to make them work a bit
10863         better. (Something is still very broken.)
10864
10865
10866 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
10867
10868         * glyphs.c (image_instantiate): Suppress gcc warnings.
10869         (Fmake_image_instance): Fix doc string.
10870         * specifier.c (Fmake_specifier): Ditto.
10871
10872 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
10873
10874         * paths.h.in (PATH_LOCK): Removed.
10875         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
10876         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
10877
10878 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10879
10880         * fns.c (Ffeaturep): Update e-mail address in doc-string.
10881         Document (featurep '(and xemacs 21.02)).
10882
10883 2000-05-09  Ben Wing  <ben@xemacs.org>
10884
10885         * buffer.c (complex_vars_of_buffer):
10886         update modeline-format doc.
10887
10888         * device.h:
10889         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
10890
10891         * emacs.c:
10892         timeline of all released versions of Emacs, for use in creating
10893         authorship comments and in synching up.
10894
10895         * glyphs-widget.c (image_instantiator_buttons):
10896         * glyphs-widget.c (image_instantiator_edit_fields):
10897         * glyphs-widget.c (image_instantiator_combo_box):
10898         * glyphs-widget.c (image_instantiator_scrollbar):
10899         * glyphs-widget.c (image_instantiator_progress_guage):
10900         * glyphs-widget.c (image_instantiator_tree_view):
10901         * glyphs-widget.c (image_instantiator_tab_control):
10902         * glyphs-widget.c (image_instantiator_labels):
10903         * glyphs-widget.c (image_instantiator_layout):
10904         * glyphs-widget.c (image_instantiator_native_layout):
10905         rename decode_domain method to governing_domain.
10906
10907         * glyphs.c:
10908         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
10909         * glyphs.c (add_entry_to_device_ii_format_list):
10910         make sure we don't put an entry more than once into the list.
10911         * glyphs.c (check_instance_cache_mapper):
10912         *************************************************************
10913         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10914         HAVE BEEN GETTING.
10915         *************************************************************
10916         * glyphs.c (get_image_instantiator_governing_domain):
10917         clean up, expand on new concept of governing domain.
10918         * glyphs.c (instantiate_image_instantiator):
10919         * glyphs.c (allocate_image_instance):
10920         use governing_domain instead of cache_domain in naming.
10921         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
10922         * glyphs.c (make_image_instance_1):
10923         * glyphs.c (Fmake_image_instance):
10924         allow for any domain (not just device), and process the
10925         governing domain correctly.  very big doc fix.
10926         * glyphs.c (Fimage_instance_domain):
10927         new primitive, to retrieve the governing domain of an image instance.
10928         * glyphs.c (image_instantiate):
10929         use new governing_domain stuff.  this fixes a crash you could get
10930         by instantiating certain widget glyphs in frame locales. (should
10931         signal an error instead of crashing.)
10932         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
10933         * glyphs.c (Fglyphp): clean up doc.
10934         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
10935         * glyphs.c (syms_of_glyphs):
10936         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
10937         * glyphs.c (image_instantiator_format_create): add some comments about
10938         bogus code.
10939         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
10940         for current-display-table. (Apparently Hrjove implemented in 1998 a
10941         design I wrote up in 1996, but didn't update the doc string.)
10942
10943         * glyphs.h: clean up a doc string.
10944         * glyphs.h (governing_domain):
10945         * glyphs.h (struct image_instantiator_methods):
10946         changes for governing_domain stuff.
10947
10948         * gutter.c:
10949         * gutter.c (Fgutter_specifier_p):
10950         * gutter.c (Fgutter_size_specifier_p):
10951         * gutter.c (Fgutter_visible_specifier_p):
10952         * objects.c:
10953         * objects.c (Fcolor_specifier_p):
10954         * objects.c (Ffont_specifier_p):
10955         * objects.c (Fface_boolean_specifier_p):
10956         doc strings moved to make-*-specifier.
10957
10958         * redisplay.c (add_disp_table_entry_runes_1):
10959         * redisplay.c (generate_fstring_runes):
10960         * redisplay.c (screen):
10961         add random comments and doc strings.
10962
10963         * specifier.c:
10964         * specifier.c (Fmake_specifier):
10965         major overhaul of this doc string.
10966
10967         * specifier.c (Fvalid_specifier_domain_p):
10968         comment about the bogosity of image instances being domains.
10969         * specifier.c (decode_domain):
10970         now non-static, used in glyphs.c.
10971         * specifier.c (specifier_instance):
10972         comment about the bogosity of image instances being domains.
10973         * specifier.c (Fgeneric_specifier_p):
10974         move doc string to make-generic-specifier.
10975         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
10976         rebackslashify.
10977
10978         * specifier.h:
10979         * specifier.h (DOMAIN_FRAME):
10980         * specifier.h (DOMAIN_LIVE_P):
10981         * specifier.h (DOMAIN_XDEVICE):
10982         rebackslashify.
10983         add comments about problems with these macros.
10984         prototype for decode_domain.
10985
10986         * toolbar.c:
10987         * toolbar.c (Ftoolbar_specifier_p):
10988         move doc string to `make-toolbar-specifier'.
10989
10990         * window.c (window_unmap_subwindows_cache_mapper):
10991         *************************************************************
10992         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
10993         HAVE BEEN GETTING.
10994         *************************************************************
10995
10996 2000-05-09  Andy Piper  <andy@xemacs.org>
10997
10998         * glyphs.h: declare reset_frame_subwindow_instance_cache.
10999
11000         * window.c (Fset_window_configuration): reset the frame subwindow
11001         cache and re-initialize the window subwindow caches.
11002
11003         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11004
11005 2000-05-09  Ben Wing  <ben@xemacs.org>
11006
11007         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11008         DWORD.
11009
11010 2000-04-26  Mike Woolley  <mike@bulsara.com>
11011
11012         * ntheap.c: Changed recreate_heap to limit the amount reserved
11013         for the heap to that which is actually available. Also now
11014         displays a message box (with some dignostics) in the event that
11015         it still can't start.
11016
11017 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11018
11019         * callproc.c (Fold_call_process_internal): GCPRO path
11020
11021 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11022
11023         Patch by Bill Perry.
11024
11025         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11026         back data instead of #ifdef.
11027         (Fscrollbar_page_down): ditto.
11028
11029 2000-05-07  Ben Wing  <ben@xemacs.org>
11030
11031         * buffer.h:
11032         Kludge for defining Qmswindows_tstr.
11033
11034         * nt.c:
11035         * nt.c (open_input_file):
11036         * nt.c (open_output_file):
11037         * nt.c (rva_to_section):
11038         * nt.c (mswindows_executable_type):
11039         Move all memory-mapped-file routines here (some were in unexnt.c,
11040         which is bad because they are used by process-nt.c, and unexnt
11041         won't be around when portable dumping).  Synched the above routines
11042         with FSF 20.6.
11043
11044         * nt.h:
11045         Removed ifdef'd out bogus code.
11046         Fixed some prototypes.
11047
11048         * nt.h (file_data):
11049         * nt.h (OFFSET_TO_RVA):
11050         * nt.h (RVA_TO_OFFSET):
11051         * nt.h (RVA_TO_PTR):
11052         Moved the memory-mapped-file structures, macros and prototypes
11053         here, to parallel nt.c.  ntheap.h should really be removed
11054         entirely, and it's a non-portable-dumper specific file.
11055
11056         * ntheap.h (round_to_next):
11057         Moved the memory-mapped-file structures, macros and prototypes
11058         to nt.h.
11059
11060         * ntproc.c (compare_env):
11061         Moved rva_to_section and mswindows_executable_type to nt.c.
11062         Moved compare_env to process-nt.c.
11063         ntproc.c will die, one day.
11064
11065         * ntproc.c (sys_spawnve):
11066         Account for win32_ -> mswindows_.
11067
11068         * process-nt.c:
11069         * process-nt.c (struct nt_process_data):
11070         * process-nt.c (ensure_console_window_exists):
11071         * process-nt.c (compare_env):
11072         * process-nt.c (nt_create_process):
11073         * process-nt.c (nt_kill_process_by_pid):
11074         * process-nt.c (syms_of_process_nt):
11075         * process-nt.c (vars_of_process_nt):
11076         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11077         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11078         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11079         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11080         Move compare_env here from ntproc.c.
11081
11082         * process.c (Fprocess_send_region):
11083         Takes an optional fourth argument, BUFFER, which should fix some
11084         problems with call-process.
11085
11086         * syscommctrl.h:
11087         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11088
11089         * syswindows.h:
11090         Move ICC_BAR_CLASSES to syscommctrl.h.
11091         Add preliminary macros for MSWindows/Mule.  More to come.
11092
11093         * unexnt.c:
11094         * unexnt.c (unexec):
11095         open_output_file moved to nt.c.
11096
11097
11098 2000-05-05  Andy Piper  <andy@xemacs.org>
11099
11100         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11101         instance from the frame cache also since GC may catch up too late
11102         to make frame deletion sane.
11103
11104 2000-05-04  Andy Piper  <andy@xemacs.org>
11105
11106         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11107         (x_finalize_image_instance): ungcpro on deletion.
11108
11109         * glyphs.c (image_instantiator_format_create): give pointers a
11110         query geometry method so that the geometry is at least set.
11111
11112         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11113         initialize layouts if using widgets.
11114
11115 2000-05-03  Andy Piper  <andy@xemacs.org>
11116
11117         * nt.c: remove bogus reference to sysmmsystem.h
11118
11119         * gui-x.c (popup_selection_callback): fix no selection abort.
11120
11121 2000-05-02  Andy Piper  <andy@xemacs.org>
11122
11123         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11124         (mswindows_widget_instantiate): ditto.
11125
11126         * glyphs-widget.c (initialize_widget_image_instance): initialize
11127         children correctly.
11128         (widget_instantiate): cope with children and items in the same
11129         instance.
11130
11131         * glyphs.c (mark_image_instance): cope with children as a first
11132         class member.
11133         (image_instance_equal): ditto.
11134         (image_instance_hash): ditto.
11135         (image_instance_changed): ditto.
11136
11137 2000-04-30  Andy Piper  <andy@xemacs.org>
11138
11139         * glyphs.c (subwindow_query_geometry): new function. Return some
11140         defaults.
11141         (subwindow_instantiate): don't assign dimensions if none have been
11142         given.
11143         (image_instantiator_format_create): add subwindow_query_geometry.
11144         (print_image_instance): cope with layouts as widgets.
11145
11146 2000-04-29  Andy Piper  <andy@xemacs.org>
11147
11148         * frame.c (delete_frame_internal): call
11149         free_frame_subwindow_instance_cache so that all subwindows are
11150         finalized before their parent.
11151         (mark_frame): remove subwindow_cachels.
11152         (Fmake_frame): remove subwindow_cachel manipulation.
11153         (allocate_frame_core): subwindow_instance_cache is a weak list.
11154         (delete_frame_internal): set subwindow_instance_cache to nil.
11155
11156         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11157         finalization safe.
11158         (mswindows_finalize_image_instance): use the device
11159         not the domain as the domain may have died already.
11160
11161         * glyphs-x.c (x_finalize_image_instance): ditto.
11162         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11163         HEIGHT.
11164
11165         * redisplay-output.c (redisplay_unmap_subwindows): update for
11166         subwindow instance cache as a weak list.
11167         (redisplay_unmap_subwindows_maybe): ditto.
11168         (redisplay_unmap_subwindows_except_us): ditto.
11169
11170         * glyphs.c (unmap_subwindow): error checking will check the domain
11171         so don't deal with it here. Don't use cachels anymore.
11172         (map_subwindow): ditto.
11173         (update_subwindow_cachel_data): remove old accessor names.
11174         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11175         (Fresize_subwindow): don't update cachel.
11176         (mark_subwindow_cachels):
11177         (update_subwindow_cachel_data):
11178         (add_subwindow_cachel):
11179         (get_subwindow_cachel_index):
11180         (update_subwindow_cachel):
11181         (reset_subwindow_cachels):
11182         (mark_subwindow_cachels_as_not_updated): deleted.
11183         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11184         subwindow instance to the frame cache.
11185         (find_matching_subwindow): update for subwindow instance cache as
11186         a weak list.
11187         (update_widget_instances): ditto.
11188         (image_instance_type_to_mask):inlined.
11189         (free_frame_subwindow_instance_cache): new function. finalize all
11190         subwindows that are instantiated.
11191
11192         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11193         of cachel information.
11194         (IMAGE_INSTANCE_DISPLAY_X):
11195         (IMAGE_INSTANCE_DISPLAY_Y):
11196         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11197         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11198         (XIMAGE_INSTANCE_DISPLAY_X):
11199         (XIMAGE_INSTANCE_DISPLAY_Y):
11200         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11201         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11202         remove subwindow_cachel structure and function references.
11203         (image_instance_type_to_mask): inline from glyphs.c
11204
11205         * redisplay.c (redisplay_frame): remove subwindow_cachel
11206         references.
11207
11208         * frame.h (struct frame): remove subwindow_cachels.
11209         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11210
11211         * frameslots.h: add subwindow_instance_cache.
11212
11213         * window.c (replace_window): check subwindow cache of replacement.
11214         (window_unmap_subwindows_cache_mapper):
11215         (window_unmap_subwindows): new functions. Unmap all subwindows
11216         cached on this window.
11217         (mark_window_as_deleted): unmap all subwindows.
11218
11219 2000-04-27  Andy Piper  <andy@xemacs.org>
11220
11221         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11222
11223         * glyphs-widget.c (widget_layout): return something.
11224         (layout_layout): return something. Fail if not initialized.
11225         (layout_query_geometry): ditto.
11226         (image_instantiator_native_layout): new function. Initialized the
11227         native layout type.
11228         (widget_instantiate): don't do layout stuff here.
11229
11230         * glyphs.c (instantiate_image_instantiator): reorded calling or
11231         instantiate and post_instantiate with layout in between.
11232         (image_instance_layout): be more selective about deciding whether
11233         the layout has been done or not.
11234
11235         * glyphs.h (struct image_instantiator_methods): return a value
11236         from layout_method.
11237
11238 2000-04-26  Andy Piper  <andy@xemacs.org>
11239
11240         * glyphs.c (allocate_image_instance): make initial width and
11241         height unspecified. Set initialized to 0.
11242
11243         * syscommctrl.h new file. Encapsulates commctrl.h.
11244
11245         * syswindows.h new file. Encapsulates windows.h.
11246
11247         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11248         * nt.c: ditto.
11249         * console-msw.h: ditto.
11250
11251         * redisplay-tty.c (tty_output_display_block): remove layout references.
11252
11253         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11254         window handle rather than just the frame.
11255
11256         * glyphs.c (mark_image_instance): remove layout references.
11257         (print_image_instance): ditto.
11258         (image_instance_equal): ditto.
11259         (image_instance_hash): ditto.
11260         (decode_image_instance_type): ditto.
11261         (encode_image_instance_type): ditto.
11262         (image_instantiate): ditto.
11263         (allocate_glyph): ditto.
11264         (Fimage_instance_height): ditto.
11265         (Fimage_instance_width): ditto.
11266         (update_subwindow): ditto.
11267
11268         * redisplay-x.c (x_output_display_block): recode for layouts as
11269         widgets.
11270
11271         * redisplay-output.c (redisplay_output_layout): recode for layouts
11272         as widgets.
11273         (compare_runes): remove layout references.
11274
11275         * redisplay-msw.c (mswindows_output_display_block): recode for
11276         layouts as widgets.
11277
11278         * glyphs-widget.c (image_instantiator_layout): remove
11279         layout_possible_dest_types.
11280         (layout_possible_dest_types): deleted.
11281
11282         * glyphs.h (image_instance_type): remove layout references.
11283         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11284         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11285         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11286
11287 2000-04-25  Andy Piper  <andy@xemacs.org>
11288
11289         * glyphs-widget.c (image_instantiator_buttons):
11290         (image_instantiator_edit_fields):
11291         (image_instantiator_combo_box):
11292         (image_instantiator_scrollbar):
11293         (image_instantiator_progress_guage):
11294         (image_instantiator_tree_view):
11295         (image_instantiator_tab_control):
11296         (image_instantiator_labels):
11297         (image_instantiator_layout): call default post_instantiate method.
11298         (widget_post_instantiate): new function. Simply lays out the
11299         widgets.
11300
11301         * glyphs.h (struct image_instantiator_methods): add
11302         post_instantiate method.
11303
11304         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11305         method calls.
11306
11307 2000-04-23  Andy Piper  <andy@xemacs.org>
11308
11309         * glyphs.h (struct image_instantiator_methods): add
11310         decode_domain_method.
11311         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11312         derived from the domain.
11313         (IMAGE_INSTANCE_FRAME): new accessor.
11314         (XIMAGE_INSTANCE_FRAME): ditto.
11315
11316         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11317         instead of _SUBWINDOW_FRAME.
11318         (finalize_image_instance): ditto.
11319         (Fimage_instance_foreground): ditto.
11320         (Fimage_instance_background): ditto.
11321         (image_instantiate): ditto.
11322         (update_subwindow_cachel): ditto.
11323         (update_subwindow): ditto.
11324         (unmap_subwindow): ditto.
11325         (map_subwindow): ditto
11326         (subwindow_instantiate): ditto.
11327         * glyphs-msw.c (mswindows_update_widget): ditto.
11328         (mswindows_progress_gauge_instantiate): ditto.
11329         (mswindows_tab_control_update): ditto.
11330         * glyphs-x.c (x_update_widget): ditto.
11331         (x_widget_instantiate): ditto.
11332         (x_tab_control_instantiate): ditto.
11333         (x_tab_control_update): ditto.
11334         * event-msw.c (mswindows_wnd_proc): ditto
11335
11336         * glyphs-widget.c (image_instantiator_layout): use
11337         subwindow_decode_domain.
11338         (image_instantiator_buttons): ditto.
11339         (image_instantiator_edit_fields): ditto.
11340         (image_instantiator_combo_box): ditto.
11341         (image_instantiator_scrollbar): ditto.
11342         (image_instantiator_progress_guage): ditto.
11343         (image_instantiator_tree_view): ditto.
11344         (image_instantiator_tab_control): ditto.
11345         (image_instantiator_labels): ditto.
11346         (image_instantiator_layout): ditto.
11347
11348         * glyphs.c: add instance error checking to many functions.
11349         (instantiate_image_instantiator): decode device from cache_domain.
11350         (image_instantiate): partially rewrite by using
11351         decode_image_instantiator_domain to determine what domain the
11352         instance needs to be cached in.
11353         (decode_image_instantiator_domain): new function. Determine what
11354         domain the image needs to be cached in.
11355         (check_window_subwindow_cache): new error checking function.
11356         (check_instance_cache_mapper): ditto.
11357         (check_image_instance_structure): ditto.
11358         (subwindow_decode_domain): new function. Encodes a window as a
11359         subwindow's cache domain.
11360         (image_instantiator_format_create): use it for text and
11361         subwindows.
11362
11363 2000-04-21  Andy Piper  <andy@xemacs.org>
11364
11365         * glyphs.c (image_instance_device): new function.
11366         (image_instance_frame): new function.
11367         (image_instance_window): new function.
11368         (image_instance_live_p): new function.
11369
11370         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11371         cache to nil.
11372
11373         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11374         (IMAGE_INSTANCE_DOMAIN): new accessor.
11375         (XIMAGE_INSTANCE_DOMAIN): ditto.
11376
11377         * glyphs-x.c (x_finalize_image_instance): device->domain.
11378
11379         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11380         (mswindows_finalize_image_instance): ditto.
11381
11382         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11383         (gif_instantiate): ditto.
11384         (png_instantiate): ditto.
11385         (tiff_instantiate): ditto.
11386
11387         * glyphs.c (instantiate_image_instantiator): use domain rather
11388         than device.
11389         (mark_image_instance): device -> domain.
11390         (print_image_instance): ditto.
11391         (finalize_image_instance): ditto.
11392         (image_instance_equal): ditto.
11393         (allocate_image_instance): ditto.
11394         (Fcolorize_image_instance): ditto.
11395         (query_string_geometry): ditto.
11396         (image_instantiate): ditto
11397         (query_string_font): ditto.
11398         (image_instantiate): ditto.
11399         (update_subwindow): ditto.
11400         (unmap_subwindow): ditto.
11401         (map_subwindow): ditto.
11402         (subwindow_instantiate): ditto.
11403
11404         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
11405         (DOMAIN_FRAME): ditto.
11406         (DOMAIN_WINDOW): ditto.
11407         (DOMAIN_LIVE_P): ditto.
11408         (XDOMAIN_DEVICE): ditto.
11409         (XDOMAIN_FRAME): ditto.
11410         (XDOMAIN_WINDOW): ditto.
11411
11412         * specifier.c (Fvalid_specifier_domain_p): add image instances as
11413         a valid specifier domain.
11414
11415 2000-04-19  Andy Piper  <andy@xemacs.org>
11416
11417         * glyphs-widget.c (syms_of_glyphs_widget): remove
11418         widget-callback-current-channel.
11419         (vars_of_glyphs_widget): ditto.
11420         * glyphs.h: ditto
11421
11422         * gui.c (get_gui_callback): revert to previous behaviour.
11423
11424 2000-04-18  Andy Piper  <andy@xemacs.org>
11425
11426         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
11427         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
11428         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
11429
11430         * glyphs.c (image_instance_equal): add margin_width.
11431         (image_instance_hash): ditto.
11432
11433         * glyphs-widget.c (widget_instantiate): deal with margin-width.
11434         (layout_query_geometry): ditto.
11435         (layout_layout): ditto.
11436         (syms_of_glyphs_widget): add margin-width.
11437         (image_instantiator_layout): allow margin-width.
11438
11439         * glyphs.c (update_widget_instances): make a normal function.
11440         (syms_of_glyphs): remove Qupdate_widget_instances.
11441         * glyphs.h: ditto.
11442
11443         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
11444         so that we don't corrupt ideas about the last event or
11445         command. Remove widget-callback-current-channel fiddling.
11446         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11447
11448 2000-05-01  Martin Buchholz <martin@xemacs.org>
11449
11450         * XEmacs 21.2.33 is released.
11451
11452 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
11453
11454         * make-src-depend: Allow dots in header file name.
11455
11456 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
11457
11458         * mule-charset.h (struct charset_lookup): Add
11459         next_allocated_1_byte_leading_byte and
11460         next_allocated_2_byte_leading_byte.
11461         * mule-charset.c: Move above two variables so that those values
11462         will be dumped.
11463
11464 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
11465
11466         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
11467         when string length is zero.
11468         (find_charsets_in_emchar_string): Ditto.
11469
11470 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
11471
11472         * lisp.h: extern Qdialog and Qmenubar.
11473
11474         * gui-x.c: added events.h.
11475                 also fixed typo which made the file uncompilable.
11476
11477         * general.c: Added Qmenubar and Qdialog
11478
11479 2000-04-28  Ben Wing  <ben@xemacs.org>
11480
11481         * frame-msw.c (mswindows_init_frame_1):
11482         * frame-msw.c (mswindows_mark_frame):
11483         * event-msw.c (mswindows_enqueue_dispatch_event):
11484         * console-msw.h:
11485         * console-msw.h (struct mswindows_frame):
11486         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
11487         there are now three hash tables for callbacks.
11488         mswindows_enqueue_dispatch_event is no longer static.
11489
11490         * dialog-x.c (maybe_run_dbox_text_callback):
11491         * dialog-x.c (dbox_descriptor_to_widget_value):
11492         switch to new cons3 form for callbacks.
11493
11494         * glyphs-msw.c (mswindows_register_gui_item):
11495         * glyphs-msw.c (mswindows_widget_instantiate):
11496         * glyphs-msw.c (add_tree_item):
11497         * glyphs-msw.c (add_tab_item):
11498         new image instance parameter, so it can be passed to callback-ex.
11499         respect :callback-ex as well as :callback.
11500
11501         * glyphs-widget.c (VALID_GUI_KEYWORDS):
11502         add :callback-ex.
11503
11504         * glyphs.c (print_image_instance):
11505         prettify, e.g. now prints widget type.
11506
11507         * gui-x.h:
11508         certain funs have new image instance parameter.
11509
11510         * gui.c:
11511         * gui.c (get_gui_callback):
11512         * gui.c (gui_item_add_keyval_pair):
11513         * gui.c (gui_item_init):
11514         * gui.c (gui_add_item_keywords_to_plist):
11515         * gui.c (mark_gui_item):
11516         * gui.c (gui_item_hash):
11517         * gui.c (gui_item_equal):
11518         * gui.c (copy_gui_item):
11519         * gui.c (syms_of_gui):
11520         recognize callback-ex in a number of places.
11521         also, fix the annoying "can't get out of yes-no dialog" bug.
11522
11523         * gui.h:
11524         * gui.h (struct Lisp_Gui_Item):
11525         recognize callback-ex in a number of places.
11526
11527         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11528         new parameter in button_item_to_widget_value.
11529
11530         * glyphs-x.c (x_update_widget):
11531         * glyphs-x.c (x_button_instantiate):
11532         * glyphs-x.c (x_button_update):
11533         * glyphs-x.c (x_progress_gauge_instantiate):
11534         * glyphs-x.c (x_edit_field_instantiate):
11535         * glyphs-x.c (x_combo_box_instantiate):
11536         * glyphs-x.c (x_tab_control_instantiate):
11537         * glyphs-x.c (x_label_instantiate):
11538         new image instance parameter in various places.
11539
11540         * event-Xt.c:
11541         * event-Xt.c (enqueue_Xt_dispatch_event):
11542         this fun gets exported.
11543
11544         * gui-msw.c:
11545         * gui-msw.c (mswindows_handle_gui_wm_command):
11546         handle both :callback and :callback-ex, and generate our own
11547         event because it's one of the callback-ex arguments.
11548
11549         * gui-x.c:
11550         * gui-x.c (popup_selection_callback):
11551         handle both :callback and :callback-ex, and generate our own
11552         event because it's one of the callback-ex arguments.
11553         * gui-x.c (button_item_to_widget_value):
11554         * gui-x.c (gui_items_to_widget_values_1):
11555         * gui-x.c (gui_item_children_to_widget_values):
11556         * gui-x.c (gui_items_to_widget_values):
11557         new image instance parameter in various places.
11558
11559         * fns.c (Freplace_list):
11560         fix small typo in doc string.
11561
11562         * lisp.h:
11563         declare enqueue_Xt_dispatch_event.
11564
11565 2000-04-28  Ben Wing  <ben@xemacs.org>
11566
11567         * buffer.c:
11568         * buffer.c (Frecord_buffer):
11569         * buffer.c (syms_of_buffer):
11570         delete record-buffer-hook.
11571
11572         * fns.c:
11573         * fns.c (Freplace_list):
11574         * fns.c (syms_of_fns):
11575         new primitive replace-list.
11576
11577         * frameslots.h:
11578         slot for old buffer-alist.
11579
11580         * lisp.h:
11581         exfun replace-list.
11582
11583         * redisplay.c:
11584         * redisplay.c (redisplay_frame):
11585         * redisplay.c (syms_of_redisplay):
11586         * redisplay.c (vars_of_redisplay):
11587         new hook buffer-list-changed-hook.
11588         call it.
11589
11590 2000-04-27  Ben Wing  <ben@xemacs.org>
11591
11592         * extents.h: extern in_modeline_generation.
11593
11594         * redisplay.c (generate_formatted_string_db): set
11595         in_modeline_generation.
11596
11597         * extents.c (extent_changed_for_redisplay): don't mark redisplay
11598         flags if in modeline generation.  otherwise frame-modified-tick
11599         is ticked far too often.
11600         Declare in_modeline_generation.
11601
11602 2000-04-26  Ben Wing  <ben@xemacs.org>
11603
11604         * emacs.c (vars_of_emacs): document quick-build "error-checking"
11605         option.
11606         (vars_of_emacs): add quick-build as an error-checking option.
11607         A bit kludgy, but there doesn't seem much point in creating
11608         a real var for this.
11609
11610         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
11611
11612 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11613
11614         * redisplay.h (struct display_line): Add a new variable,
11615         line_continuation.
11616
11617         * redisplay.c (create_text_block): Set dl->line_continuation if
11618         the line continues.
11619         (create_string_text_block): Ditto.
11620         (regenerate_window_incrementally): Use line_continuation instead
11621         of searching continuation glyph.
11622         (add_margin_runes): Call add_glyph_rune.
11623         (add_glyph_rune): Handle margin glyph.
11624
11625 2000-04-20  Martin Buchholz  <martin@xemacs.org>
11626
11627         * filelock.c (fill_in_lock_file_name):
11628         ANSIfy.
11629         Check for IS_ANY_SEP instead of '/'.
11630         (lock_file_1):
11631         Avoid generating gratuitous garbage.  Call user_login_name() directly.
11632         Never check errno without first seeing that system call failed.
11633         (unlock_file): Add GCPRO.
11634         (Flock_buffer): Fix docstring.
11635         (Ffile_locked_p): Fix docstring.  Add GCPRO.
11636
11637 2000-04-19  Martin Buchholz  <martin@xemacs.org>
11638
11639         * sysdep.c (get_pty_max_bytes):
11640         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
11641         strings longer than 252 bytes.
11642
11643         * md5.c: Unconditionally include ANSI header <limits.h>
11644
11645         * glyphs-x.c (convert_EImage_to_XImage):
11646         * lisp-union.h (union Lisp_Object):
11647         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
11648
11649 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
11650
11651         * filelock.c (current_lock_owner): Remove unused variable o, p.
11652
11653 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
11654
11655         * callint.c: Remove multiply defined symbol Qlet
11656         (syms_of_callint): ditto.
11657
11658 2000-04-14  Andy Piper  <andy@xemacs.org>
11659
11660         * general.c (syms_of_general): add last-command, this-command, let
11661         and funcall.
11662
11663         * lisp.h: declare various symbols.
11664
11665         * glyphs.h: declare Qwidget_callback_current_channel;
11666
11667         * glyphs-widget.c (syms_of_glyphs_widget): add
11668         Qgui_callback_current_channel.
11669         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
11670
11671         * gui-msw.c (mswindows_handle_gui_wm_command): bind
11672         widget-callback-current-channel when invoking the interactive
11673         arg. Also bind last-command and next-command when invoking the
11674         widget updates.
11675         * gui-x.c (popup_selection_callback): ditto.
11676
11677         * gui.c (get_gui_callback): massage args so that we are always
11678         calling eval. This allows us to add our own variable bindings
11679         outside.
11680
11681         * glyphs-x.c (x_button_instantiate): use
11682         gui_items_to_widget_values since this is GC safe.
11683         (x_progress_gauge_instantiate): ditto.
11684         (x_edit_field_instantiate): ditto.
11685         (x_label_instantiate): ditto.
11686
11687         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
11688         (emacs_Xt_event_widget_focus_out): new function
11689         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
11690         focus.
11691         (emacs_Xt_event_add_widget_actions): new function. add focus
11692         functions as actions.
11693         (init_event_Xt_late): use it.
11694
11695 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
11696
11697         * event-stream.c (Fdispatch_event): Doc fix.
11698
11699 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
11700
11701         * postgresql.c: Remove all references to PQsetenv*.
11702
11703         * postgresql.h: Remove references to PGsetenvHandler object.
11704         * lrecord.h (lrecord_type): Ditto.
11705
11706 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11707
11708         * glyphs-msw.h (struct mswindows_image_instance_data): Added
11709         real_heigh and real_width members, and accessor macros for these.
11710
11711         * glyphs-msw.c (init_image_instance_geometry): New function.
11712         (init_image_instance_from_dibitmap): Use it.
11713         (mswindows_resource_instantiate): Use it.
11714         (init_image_instance_from_xbm_inline): Use it.
11715         (mswindows_initialize_image_instance_mask): Use real bitmap
11716         geometry.
11717         (mswindows_create_resized_bitmap): Ditto.
11718         (mswindows_create_resized_mask): Ditto.
11719
11720         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
11721         and bitmap to their surface size.
11722
11723 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
11724
11725         * process-unix.c (unix_send_process): Guard against process MIA
11726         after Faccept_process_output.
11727
11728 2000-04-11  Ben Wing  <ben@xemacs.org>
11729
11730         * eval.c (unbind_to_hairy): fix brokenness introduced by
11731         nanosecond speed improvements.
11732
11733 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
11734
11735         * sunplay.c (init_device): To play sounds correctly, the device
11736         apparently needs to be initialized at least once by XEmacs.  Make
11737         it so.
11738
11739 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11740
11741         * redisplay.c (add_margin_runes): Add text image glyph
11742           handling.
11743
11744 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
11745
11746         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
11747         gcc is newer than 2.5.
11748
11749 2000-04-06  Colin Rafferty  <colin@xemacs.org>
11750
11751         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
11752
11753         * fns.c (size_bit_vector):
11754         * alloc.c (size_vector):
11755         (make_vector_internal):
11756         (make_bit_vector_internal):
11757         (sweep_bit_vectors_1):
11758         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
11759
11760 2000-04-06  Andy Piper  <andy@xemacs.org>
11761
11762         * gmalloc.c (malloc): undo previous change.
11763         (malloc): ditto.
11764         (free): ditto.
11765         (realloc): ditto.
11766
11767 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
11768
11769         * line-number.c (buffer_line_number): Revert to former version.
11770
11771 2000-04-06  Andy Piper  <andy@xemacs.org>
11772
11773         * gmalloc.c (malloc): add error checking.
11774         (malloc): ditto.
11775         (free): ditto.
11776         (realloc): ditto.
11777
11778         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
11779         button_item_to_widget_value arg.
11780
11781         * glyphs-x.c (x_button_instantiate): add extra
11782         button_item_to_widget_value arg.
11783         (x_progress_gauge_instantiate): ditto.
11784         (x_edit_field_instantiate): ditto.
11785         (x_label_instantiate): ditto.
11786
11787         * gui-x.c (gui_items_to_widget_values_1): add extra
11788         button_item_to_widget_value arg.
11789         (button_item_to_widget_value): add extra menu_item_p arg.
11790
11791         * gui-x.h: change signature of button_item_to_widget_value.
11792
11793         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
11794         button_item_to_widget_value arg.
11795
11796 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11797
11798         * buffer.h (struct buffer): auto_save_modified should be long.
11799
11800 2000-04-05  Andy Piper  <andy@xemacs.org>
11801
11802         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
11803         type.
11804         (button_query_geometry): give a little more room so that athena
11805         buttons fit.
11806
11807 2000-04-05  Andy Piper  <andy@xemacs.org>
11808
11809         * faces.c (complex_vars_of_faces): The widget face should inherit
11810         the font of the gui-element face.
11811
11812 2000-04-04  Andy Piper  <andy@xemacs.org>
11813
11814         * glyphs-x.c (x_button_update): new function. unconditionally
11815         update a button's state when the instance is dirty.
11816         (image_instantiator_format_create_glyphs_x): add x_button_update.
11817         (x_widget_instantiate): remove old resize cruft.
11818
11819 2000-04-02  Andy Piper  <andy@xemacs.org>
11820
11821         * frame.c (change_frame_size_1): The introduction of gutters means
11822         that we need to allow 0 as a potential frame dimension.
11823
11824 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11825
11826         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
11827         image glyph if allow_cursor.
11828         (add_hscroll_rune): Don't allow cursor to border glyph.
11829         (create_text_block): Ditto.
11830
11831         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
11832         text not in buffer.
11833         (redisplay_output_layout): Call ensure_face_cachel_complete for
11834         text image glyph.
11835
11836
11837 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11838
11839         * redisplay.c (add_glyph_rune): Adding text image as text runes.
11840
11841         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
11842         not in buffer
11843
11844         * redisplay-tty.c (tty_output_display_block): Delete the routine
11845         for text image glyph
11846         * redisplay-x.c (x_output_display_block): ditto
11847         * redisplay-msw.c (mswindows_output_display_block): ditto
11848
11849 2000-02-02  Mike Alexander  <mta@arbortext.com>
11850
11851         Note: Some of these were committed by accident as part of other
11852         patches.
11853
11854         * regex.c (regex_compile): Avoid compiler warnings.
11855
11856         * ntproc.c (sys_spawnve): Avoid compiler warnings.
11857
11858         * nt.h: Declare term_ntproc correctly.
11859
11860         * nt.c: Remove incorrect declaration of get_home_directory which
11861         is declared correctly in lisp.h.
11862
11863         * keymap.c (get_keyelt): Avoid compiler warnings.
11864         (raw_lookup_key_mapper): Avoid compiler warnings.
11865
11866         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
11867
11868         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
11869
11870         * filemode.c (mode_string): Avoid compiler warnings.
11871
11872         * file-coding.c (Fcoding_system_aliasee): Add return statement to
11873         avoid warning.
11874
11875         * events-mod.h: Undef some things that winuser.h defines differently.
11876
11877         * data.c (Faset): Avoid compiler warnings.
11878
11879         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
11880
11881 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11882
11883         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
11884         Fall through to simple beep on error.
11885         Replace "extern" by real header file.
11886
11887         * linuxplay.c: Use nativesound.h
11888         (play_sound_data): Return error code. Be less verbose on error.
11889
11890         * sunplay.c: Use nativesound.h
11891         (play_sound_data): Return error code. Be less verbose on error.
11892
11893         * ntplay.c: Use nativesound.h
11894         (play_sound_data): Return fake error code
11895
11896         * sgiplay.c: Use nativesound.h
11897         (play_sound_data): Return error code
11898
11899         * hpplay.c: Use nativesound.h, partially implement
11900         new error code. Break compilation until finished.
11901         (play_sound_data): error code.
11902
11903         * nativesound.h (play_sound_file):
11904           (play_sound_data): Prototype in new header.
11905
11906 2000-03-31  Andy Piper  <andy@xemacs.org>
11907
11908         * glyphs-widget.c: (button_query_geometry): new function. Adjust
11909         for toggle and radio buttons.
11910         (image_instantiator_buttons): use it.
11911
11912 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
11913
11914         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
11915         (x_update_horizontal_scrollbar_callback): Return if no mirror was
11916         found. Scrollbar event probably belonged to some old config.
11917
11918 2000-03-31  Andy Piper  <andy@xemacs.org>
11919
11920         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
11921         than 1.
11922         (initialize_widget_image_instance): default layout to
11923         LAYOUT_HORIZONTAL rather than 0.
11924         (widget_instantiate): reverse the item list at the end rather than
11925         every iteration.
11926         (layout_layout): re-code for the border text at the front of the
11927         item list rather than at the end.
11928         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
11929         provided by the user.
11930         (widget_query_geometry): comment.
11931
11932 2000-03-30  Andy Piper  <andy@xemacs.org>
11933
11934         * glyphs-widget.c (image_instantiator_layout): allow standard
11935         widget keywords in layouts.
11936
11937         * gutter.c (output_gutter): cope with nil gutter contents.
11938
11939         * frame.c (Fset_frame_properties): add gutter docs.
11940
11941 2000-03-29  Andy Piper  <andy@xemacs.org>
11942
11943         * toolbar-msw.c (TBSTYLE_FLAT): add.
11944         (mswindows_output_toolbar): minor fiddling.
11945
11946 2000-03-29  Andy Piper  <andy@xemacs.org>
11947
11948         * gutter.c (output_gutter): force gutter size recalculation if
11949         what we are trying to display won't fit.
11950         (update_gutter_geometry): new function. A per-gutter version of
11951         update_frame_gutter_geometry.
11952         (update_frame_gutter_geometry): use it.
11953         (redraw_exposed_gutter): add extra debugging output.
11954
11955 2000-03-28  Mike Alexander  <mta@arbortext.com>
11956
11957         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
11958         (pdump_file_unmap): Implement it on Windows
11959         (pdump_file_get): Save alocated handles for pdump_file_unmap
11960
11961 2000-03-28  Andy Piper  <andy@xemacs.org>
11962
11963         * gui.c (get_gui_callback): treat Quit specially.
11964
11965 2000-03-27  Andy Piper  <andy@xemacs.org>
11966
11967         * glyphs.c (image_instantiate): be careful to check in the same
11968         way we assigned.
11969
11970 2000-03-27  Didier Verna  <didier@xemacs.org>
11971
11972         * config.h.in: define the proper SMART_INCLUDE macro.
11973         handle renaming of `foo_h_path' to `foo_h_file'.
11974
11975         * database.c: ditto.
11976
11977         * emacs.c: ditto.
11978
11979         * linuxplay.c: ditto.
11980
11981         * terminfo.c: ditto.
11982
11983         * tooltalk.h: ditto.
11984
11985 2000-03-27  Andy Piper  <andy@xemacs.org>
11986
11987         * glyphs-msw.c (mswindows_update_widget): make sure the widget
11988         gets updated whenever the face might have changed.
11989
11990 2000-03-26  Mike Alexander  <mta@arbortext.com>
11991
11992         * dumper.c (pdump_resource_free): Fix the comment.
11993
11994 2000-03-21  Olivier Galibert  <galibert@pobox.com>
11995
11996         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
11997
11998 2000-03-22  Mike Alexander  <mta@arbortext.com>
11999
12000         * dumper.c: Include Windows headers on Windows
12001         (pdump_resource_free): Add a body to the function
12002         (pdump_load): exe_name -> exe_path and add some comments.
12003
12004 2000-03-25  Mike Alexander  <mta@arbortext.com>
12005
12006         * gui.c (copy_gui_item_tree): Return a value in all cases
12007
12008 2000-03-21  Didier Verna  <didier@xemacs.org>
12009
12010         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12011         lwlib/config.h.in.
12012         (SMART_INCLUDE): new macro.
12013         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12014         the proper location.
12015
12016         * postgresql.c: use it.
12017
12018         * inline.c: ditto.
12019
12020 2000-03-24  Andy Piper  <andy@xemacs.org>
12021
12022         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12023         do this.
12024
12025 2000-03-24  Andy Piper  <andy@xemacs.org>
12026
12027         * redisplay-output.c (compare_runes): use image_instance_changed
12028         to detect changes. Do not depend on glyphs_changed, only depend on
12029         dirtiness.
12030          (redisplay_output_layout): add debug messages.
12031         (compare_runes): ditto.
12032
12033         * glyphs.h: declare new functions.
12034         (struct Lisp_Image_Instance): remove percent and associated
12035         accessors.
12036
12037         * gui.h: declare new copying functions.
12038
12039         * gui.c (copy_gui_item_tree): new function.
12040         (copy_gui_item): new function.
12041         (gui_item_id_hash): revert to standard hash.
12042         (gui_item_hash): ditto.
12043         (gui_item_hash_internal): deleted.
12044         (mark_gui_item): mark value.
12045         (gui_item_add_keyval_pair): add value.
12046         (gui_item_init): ditto.
12047         (gui_add_item_keywords_to_plist): ditto.
12048         (gui_item_equal): ditto.
12049         (syms_of_gui): add Q_value.
12050
12051         * glyphs-x.c (x_progress_gauge_update): use pending items and
12052         value for setting the state.
12053         (x_update_widget): don't set items from pending here.
12054
12055         * glyphs-widget.c (update_widget): update items here.
12056         (progress_gauge_set_property): use items for storing value. Put
12057         new value in pending items.
12058
12059         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12060         items for new value. Convert percent -> value.
12061         (mswindows_tab_control_update): don't update items here.
12062
12063         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12064         (update_subwindow): ditto.
12065         (image_instance_changed): new function. Compare hash values and
12066         past and present widget items.
12067         (image_instantiate): We more careful about where we instantiate
12068         things.
12069         (image_instantiate): add error checking.
12070
12071         * gutter.c (syms_of_gutter): use -hook.
12072
12073 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12074
12075         * console-tty.c (Fset_console_tty_input_coding_system): Use
12076         Qkeyboard.
12077         (Fset_console_tty_output_coding_system): Use Qterminal.
12078         (tty_init_console): Use Qkeyboard and Qterminal.
12079
12080 2000-03-21  Ben Wing  <ben@xemacs.org>
12081
12082         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12083         From Mike Alexander <mta@arbortext.com>.
12084
12085 2000-03-21  Ben Wing  <ben@xemacs.org>
12086
12087         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12088         process brokenness.  Proper implementation to come.
12089         * callproc.c:
12090         Rename call-process-internal to old-call-process-internal.
12091         New impl. in process.el.
12092
12093 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12094
12095         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12096
12097 2000-03-20  Andy Piper  <andy@xemacs.org>
12098
12099         * glyphs.c (full_list_hash): make hashes of the same elements in
12100         different orders return different values.
12101
12102 2000-03-20  Martin Buchholz <martin@xemacs.org>
12103
12104         * XEmacs 21.2.32 is released.
12105
12106 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12107
12108         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12109         (DFC_MALLOC_USE_CONVERTED_DATA):
12110         Add aliasing-safe casts to allow use with char* or unsigned char*
12111         lvalues.
12112
12113         * eldap.c (Fldap_open):
12114         (Fldap_search_basic):
12115         (Fldap_add):
12116         (Fldap_modify):
12117         Make C++-compilable.
12118         Make sure GCPRO'ed variables are initialized.
12119         Use temp variables to avoid repeated calls to Flength.
12120
12121 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12122
12123         * sysfile.h:
12124         Make sure PATH_MAX is always defined.
12125         Include limits.h for PATH_MAX.
12126         Deprecate use of MAXPATHLEN.
12127
12128 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12129
12130         * emacs.c: Add reinit_vars_of_fileio.
12131         * symsinit.h: Add reinit_vars_of_fileio.
12132         * fileio.c (reinit_vars_of_fileio): New.
12133         * fileio.c (Fmake_temp_name):
12134         Initialize temp_name random number from microseconds to make
12135         collisions even less likely.  Initialize always at process startup
12136         time.  (make-temp-name) used to return the same file name twice in
12137         a row when PDUMP.
12138         Random stylistic fiddling.
12139         Comment fixes.
12140
12141 2000-03-20  Andy Piper  <andy@xemacs.org>
12142
12143         * glyphs.c (image_instantiate): allow text glyphs to be
12144         instantiated in the minibuffer window.
12145
12146 2000-03-19  Andy Piper  <andy@xemacs.org>
12147
12148         * glyphs.c (image_instance_hash): be careful about which items we
12149         hash on.
12150
12151         * glyphs-widget.c (tab_control_set_property): record into pending
12152         items rather than the actual items.
12153
12154         * glyphs-x.c (x_update_widget): use pending items to update with.
12155
12156         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12157         to update with.
12158
12159         * glyphs.c (mark_image_instance): mark pending items.
12160
12161         * window.c (Fset_window_configuration): record the buffer.
12162         (Fselect_window): totally revert previous change which breaks many
12163         things.
12164
12165 2000-03-18  Andy Piper  <andy@xemacs.org>
12166
12167         * glyphs-msw.c (mswindows_tab_control_update): force selected
12168         item.
12169
12170         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12171         window domain cache, otherwise we get inconsistencies at
12172         startup. There is something fishy at startup which can lead to the
12173         minibuffer being the selected window when the gutter content is
12174         instantiated.
12175
12176         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12177         gcpros.
12178         (parse_gui_item_tree_children): ditto.
12179         (parse_gui_item_tree_item): ditto.
12180
12181         * glyphs.c (Fupdate_widget_instances): return something.
12182
12183 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12184
12185         * window.c (Fselect_window): Undo 2000-03-17 change.
12186
12187 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12188
12189         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12190         against v7.0 libraries.  Insta-coredump city until the postgres
12191         folks fix it.
12192
12193 2000-03-17  Andy Piper  <andy@xemacs.org>
12194
12195         * faces.c (complex_vars_of_faces): don't give the widget face an
12196         inherited background pixmap.
12197
12198         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12199         selected item.
12200
12201         * event-stream.c (Fdispatch_non_command_events): return something.
12202
12203         * gutter.c (output_gutter): use widget face.
12204         (clear_gutter): ditto.
12205
12206         * NEWS: adjust again.
12207
12208         * window.c (Fselect_window): make sure this runs to completion to
12209         avoid oddities with Fset_window_configuration.
12210         (Fcurrent_window_configuration): in general do not save the
12211         minibuffer as the selected window.
12212
12213         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12214
12215 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12216
12217         * emacs.c (Frunning_temacs_p): Revert previous patch.
12218         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12219
12220 2000-03-16  Andy Piper  <andy@xemacs.org>
12221
12222         * glyphs-x.c (x_tab_control_update): if no widget values then
12223         return.
12224
12225         * NEWS: update for new features.
12226
12227         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12228         synthetic event to the native system.
12229         (reinit_vars_of_event_Xt): set force_event_pending to
12230         emacs_Xt_force_event_pending.
12231
12232         * events.h (struct event_stream): add force_event_pending.
12233
12234         * specifier.c (recompute_one_cached_specifier_in_window): add
12235         comment.
12236
12237         * redisplay.c (redisplay_frame): don't call
12238         update_frame_subwindows. Reset subwindow cachels when
12239         subwindows_changed, removing this was an optimization too far.
12240
12241         * redisplay-output.c (compare_runes): reorganize so that we catch
12242         glyph changes when we want them. Set optimize_output when this
12243         would help layouts.
12244         (redisplay_output_layout): remove frame_really_changed, use
12245         optimize_output instead.
12246
12247         * redisplay-msw.c (mswindows_output_display_block): reset
12248         optimize_output after outputting a glyph.
12249         * redisplay-x.c (x_output_display_block): ditto.
12250         * redisplay-tty.c (tty_output_display_block): ditto.
12251
12252         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12253         functions.
12254         (gutter_specs_changed): do specific gutter positions.
12255         (top_gutter_specs_changed): new function. Only update the
12256         specified gutter specs.
12257         (bottom_gutter_specs_changed): ditto.
12258         (left_gutter_specs_changed): ditto.
12259         (right_gutter_specs_changed): ditto.
12260
12261         * gui.c (gui_item_hash_internal): new function, does a real hash.
12262         (gui_item_id_hash): use it.
12263         (gui_item_hash): hash the eval'ed gui_item.
12264
12265         * gui-x.c (popup_selection_callback): send an eval event to call
12266         Fupdate_widget_instances.
12267
12268         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12269         to call Fupdate_widget_instances.
12270
12271         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12272         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12273
12274         * glyphs.c: (update_frame_subwindows): deleted.
12275         (Fupdate_widget_instances): new function for updating the dirty
12276         state of widgets that might have changed.
12277         (syms_of_glyphs): add Qupdate_widget_instances.
12278         (full_list_hash): hash a list completely.
12279         (image_instance_hash): use it for items and properties.
12280
12281         * frame-msw.c (mswindows_size_frame_internal): remove unused
12282         variable.
12283
12284         * faces.h (struct face_cachel): fix comment.
12285
12286         * event-stream.c (Fdispatch_non_command_events): new
12287         function. Process non-command events, forcing an event cycle
12288         beforehand.
12289         (syms_of_event_stream): declare.
12290         (event_stream_force_event_pending): new function. Force an event
12291         on the native event queue so that an event cycle will occur next
12292         time we check.
12293
12294         * event-msw.c:
12295         (struct ntpipe_shove_stream):
12296         (mswindows_enqueue_dispatch_event):
12297         (mswindows_dequeue_dispatch_event):
12298         (mswindows_cancel_dispatch_event):
12299         (mswindows_pump_outstanding_events):
12300         (mswindows_drain_windows_queue):
12301         (mswindows_handle_paint):
12302         (mswindows_wnd_proc):
12303         (mswindows_key_to_emacs_keysym):
12304         (get_process_input_waitable):
12305         (emacs_mswindows_delete_stream_pair): re-indent file.
12306         (mswindows_need_event): do not process further fds if the windows
12307         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12308         fixes the 100% cpu problem.
12309         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12310
12311 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12312
12313         * alloc.h: New.
12314         * dumper.h: New.
12315         * dumper.c: New.
12316
12317         * emacs.c: Moved dump file searching to dumper.c.
12318         (Frunning_temacs_p): Fixed.
12319
12320         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12321         last_lrecord_type_index_assigned.
12322
12323 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12324
12325         * symsinit.h: Added reinit parameter to init_console_stream
12326         declaration.
12327
12328         * lisp.h: Added file parameter to pdump_load declaration.
12329
12330         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12331         support.  Added dump file searching.
12332
12333         * config.h.in: Added EMACS_PROGNAME.
12334
12335         * console-stream.c (init_console_stream): Fix reinitialisation
12336         when running from temacs.
12337
12338         * alloc.c (pdump): Add id support.
12339         (pdump_load): Add file parameter and signature/id support.
12340
12341         * Makefile.in.in: Add full pdump support.
12342
12343 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12344
12345         * postgresql.c: Update documentation to reflect latest code
12346         status.
12347         (print_result): Show tuple counts in printed representation when
12348         appropriate.
12349         (Fpq_put_nbytes): MULE-ize.
12350         (Fpq_get_line_async): Ditto.
12351
12352 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12353
12354         * postgresql.c (Fpq_lo_import): Fix return value.
12355         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12356
12357 2000-03-13  Ben Wing  <ben@xemacs.org>
12358
12359         * alloc.c (pdump_load):
12360         Fix compile warning under mswin.
12361
12362 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12363
12364         * postgresql.c: Mule-ization, bug fixes.
12365         Use PG_CODING to encapsulate coding system name changes.
12366         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12367         (pg-coding-system): Create.
12368
12369         (Fpq_conn_defaults): Mule-ize.
12370         (Fpq_connectdb): Mule-ize & bug fix.
12371         (Fpq_connect_start): Mule-ize.
12372         (Fpq_set_client_encoding): Mule-ize.
12373         (Fpq_finish): Document `DEAD' connection status.
12374         (Fpq_clear): Ditto.
12375         (Fpq_pgconn): Mule-ize.
12376         (Fpq_exec): Mule-ize & bug fix.
12377         (Fpq_send_query): Ditto.
12378         (Fpq_get_result): Ditto.
12379         (Fpq_res_status): Mule-ize.
12380         (Fpq_result_error_message): Mule-ize.
12381         (Fpq_ntuples): fix comments.
12382         (Fpq_fname): Mule-ize.
12383         (Fpq_fnumber): Mule-ize.
12384         (Fpq_ftype): fix comments.
12385         (Fpq_get_value): Mule-ize.
12386         (Fpq_cmd_status): Ditto.
12387         (Fpq_cmd_tuples): Ditto.
12388         (Fpq_oid_value): Ditto.
12389         (Fpq_notifies): Ditto.
12390         (Fpq_lo_import): Ditto.
12391         (Fpq_lo_export): Ditto.
12392         (Fpq_get_line): Ditto.
12393         (Fpq_put_line): Mule-ize and bug fix.
12394         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12395
12396 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12397
12398         * postgresql.c (vars_of_postgresql): Mule-ize.
12399         (Fpq_conn_defaults): Ditto.
12400
12401 2000-03-12  Ben Wing  <ben@xemacs.org>
12402
12403         * alloc.c (Fmake_byte_code):
12404         * alloc.c (debug_string_purity_print):
12405         * alloc.c (pdump_backtrace):
12406         * alloc.c (pdump_get_indirect_count):
12407         * alloc.c (pdump_register_sub):
12408         * alloc.c (pdump_register_object):
12409         * alloc.c (pdump_register_struct):
12410         * alloc.c (pdump_dump_data):
12411         * alloc.c (pdump_reloc_one):
12412         Minor cleanups.
12413
12414         * console-msw.c:
12415         * console-msw.c (GetConsoleHwnd):
12416         * console-msw.c (msw_hide_console):
12417         * console-msw.c (msw_show_console):
12418         * console-msw.c (msw_ensure_console_buffered):
12419         * console-msw.c (msw_output_console_string):
12420         * console-msw.c (console_type_create_mswindows):
12421
12422         a) Added functions to manipulate the console window for use with
12423         shell support.
12424
12425         b) Added support for writing text to the console, which is now
12426         used under Windows when xemacs is not being run non-interactively,
12427         to write text that would otherwise be destined for stdout because
12428         under these circumstances, text written to stdout tends to
12429         disappear and not be seen.
12430
12431         * console-msw.h:
12432         * event-Xt.c:
12433         * event-Xt.c (x_event_to_emacs_event):
12434         * event-Xt.c (describe_event_window):
12435         * events-mod.h (XEMACS_MOD_CONTROL):
12436         * events.c:
12437         * events.c (Fmake_event):
12438         * events.c (character_to_event):
12439         * events.c (event_to_character):
12440         * events.c (format_event_object):
12441         * events.c (Fevent_modifiers):
12442         * events.h:
12443         * events.h (struct key_data):
12444         * events.h (struct button_data):
12445         * events.h (struct misc_user_data):
12446         * frame-x.c (Fcde_start_drag_internal):
12447         * frame-x.c (Foffix_start_drag_internal):
12448         * gpmevent.c (Freceive_gpm_event):
12449         * keymap.c:
12450         * keymap.c (bucky_sym_to_bucky_bit):
12451         * keymap.c (control_meta_superify):
12452         * keymap.c (make_key_description):
12453         * keymap.c (keymap_lookup_directly):
12454         * keymap.c (create_bucky_submap):
12455         * keymap.c (keymap_store):
12456         * keymap.c (define_key_check_and_coerce_keysym):
12457         * keymap.c (define_key_parser):
12458         * keymap.c (define_key_alternate_name):
12459         * keymap.c (Fdefine_key):
12460         * keymap.c (raw_lookup_key_mapper):
12461         * keymap.c (struct map_keymap_unsorted_closure):
12462         * keymap.c (map_keymap_unsorted_mapper):
12463         * keymap.c (map_keymap_sort_predicate):
12464         * keymap.c (map_keymap_sorted):
12465         * keymap.c (accessible_keymaps_mapper_1):
12466         * keymap.c (where_is_recursive_mapper):
12467         * keymap.c (describe_map_mapper):
12468         * keymap.c (describe_map_sort_predicate):
12469         * keymap.c (describe_map):
12470         * keymap.c (complex_vars_of_keymap):
12471         And a number of other files, the key modifier preprocessor
12472         constants that xemacs uses have names that conflict with constants
12473         defined under MS Windows for other purposes, so they were renamed
12474         to begin with the prefix XEMACS_. The variables that hold such
12475         modifiers were changed to consistently be of type int to fix
12476         various compile warnings.
12477
12478         * console.c (complex_vars_of_console):
12479         * device.c:
12480         * device-msw.c:
12481         * device-msw.c (mswindows_finish_init_device):
12482         * device-msw.c (msw_get_workspace_coords):
12483         * device-msw.c (mswindows_device_system_metrics):
12484         and various other files, added support for a new
12485         device property called offset-workspace which returns the position
12486         of the upper left corner of the workspace area and goes along with
12487         the existing size-workspace property.
12488
12489         * dialog-msw.c:
12490         * dialog-msw.c (push_bufbyte_string_as_unicode):
12491         * dialog-msw.c (mswindows_popup_dialog_box):
12492         Added support for XEmacs-style accelerator specifications in
12493         button text.  Note: I didn't add support for this under X Windows,
12494         and somebody needs to do this.
12495
12496         * dialog.c:
12497         * dialog.c (Fpopup_dialog_box):
12498         Documented the support for accelerators that was just mentioned.
12499
12500         editfns.c (get_home_directory): Changed behavior under Windows
12501         when HOME not defined; former behavior was irretrievably broken.
12502
12503         * emacs.c:
12504         * emacs.c (main_1):
12505         * emacs.c (main):
12506         * minibuf.c (clear_echo_area_internal):
12507         * minibuf.c (echo_area_append):
12508         * print.c:
12509         * print.c (std_handle_out_external):
12510         * print.c (std_handle_out_va):
12511         * print.c (fatal):
12512         * print.c (write_string_to_stdio_stream):
12513         * print.c (output_string):
12514         * print.c (debug_print):
12515         * print.c (debug_backtrace):
12516         * print.c (debug_short_backtrace):
12517         Cleaned up the code that prints text to stdout so that this can be
12518         changed to output into a console window instead under MS Windows,
12519         as described above.
12520
12521         * eval.c:
12522         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
12523         * eval.c (internal_catch):
12524         * eval.c (unwind_to_catch):
12525         * eval.c (throw_or_bomb_out):
12526         * eval.c (condition_case_1):
12527         * eval.c (signal_1):
12528         * eval.c (check_error_state_sanity):
12529         * eval.c (call_with_suspended_errors_1):
12530         * eval.c (call_with_suspended_errors):
12531         * eval.c (reinit_vars_of_eval):
12532         Added code to catch throw loops and check for a pesky bug that may
12533         be gone now.
12534
12535         * event-msw.c:
12536         * event-msw.c (key_needs_default_processing_p):
12537         * event-msw.c (mswindows_wnd_proc):
12538         * event-msw.c (mswindows_modifier_state):
12539         * event-msw.c (emacs_mswindows_quit_p):
12540         * event-msw.c (vars_of_event_mswindows):
12541         a) Added support for using the alt key to select menu items as is
12542         standard under MS Windows.  This is controlled using the variable
12543         menu-accelerator-enabled, just like under X Windows.  There is an
12544         option on the options menu to turn this support on.  I really
12545         think that it should be on by default under Windows, but I'm not
12546         going to make this change yet.
12547
12548         b)  Added support for dynamic display size changes under Windows.
12549
12550         * event-stream.c:
12551         * event-stream.c (maybe_echo_keys):
12552         * event-stream.c (Fnext_event):
12553         * event-stream.c (command_builder_find_leaf):
12554         * event-stream.c (lookup_command_event):
12555         * event-stream.c (execute_command_event):
12556         * event-stream.c (pre_command_hook):
12557         * event-stream.c (post_command_hook):
12558         * event-stream.c (syms_of_event_stream):
12559         * event-stream.c (vars_of_event_stream):
12560         * event-stream.c (complex_vars_of_event_stream):
12561         * events.h (struct command_builder):
12562
12563         a) Tried to clean up a little bit the horribly written x-specific
12564         accelerator code that crept into this file.  I moved this code
12565         into menubar-x.c where it belongs. I also needed to move the
12566         command builder structure into the file events.h because it is
12567         accessed directly by this accelerator code.  What I didn't do, but
12568         which should be done at some point, is to properly abstract this
12569         code using device methods instead of the kludgy way that it
12570         currently hooks into the event code.
12571
12572         b) Added the lisp variables this-command-properties and
12573         last-command- properties, which should be used to synchronize two
12574         adjacent commands in preference to playing games with the variable
12575         this-command, which is typically what happens.
12576
12577         c) Added some slightly nasty code to hook into the lisp support
12578         for shifted- motion-key selection.  This is actually necessary for
12579         somewhat complicated reasons, which are described in
12580         simple.el. (NB: I think the proper thing would be to have the code
12581         that calls the pre and post command hooks also call out to generic
12582         lisp functions in simple.el, where all built-in stuff could be
12583         added.  I will think about this more.)
12584
12585         * event-unixoid.c (poll_fds_for_input):
12586         * lread.c (readchar):
12587         * redisplay-tty.c (tty_clear_frame):
12588         * redisplay-x.c (x_get_gc):
12589         * signal.c (interrupt_signal):
12590         And a whole bunch of other files: fixed up places that printed
12591         directly to stderr to instead call the function stderr_out so that
12592         the changes I made under Windows work correctly.
12593
12594         * filemode.c (mode_string):
12595         Warning fixes.
12596
12597         * frame-msw.c:
12598         * frame-msw.c (mswindows_size_frame_internal):
12599         Fixed the computation of frame size and position to keep the frame
12600         within the workspace area, rather than within the physical
12601         dimensions of the screen, so that the frame doesn't overlap window
12602         manager decorations, such as the start menu and toolbar, typically
12603         at the bottom of the screen.
12604
12605         * frame.c (vars_of_frame):
12606         Changed the default frame title format under MS Windows to consist
12607         of buffername-XEmacs, which is standard under MS Windows.  I think
12608         it might be a good idea to change this everywhere because I think
12609         it is superior to the current frame title format, but this is the
12610         kind of change that is likely to cause some people to get annoyed,
12611         so I'm not making it.
12612
12613         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
12614
12615         * gui-msw.c (mswindows_handle_gui_wm_command):
12616         Fixed compile warnings.
12617
12618         * gui-x.c:
12619         * gui-x.c (strdup_and_add_accel):
12620         * gui-x.c (button_item_to_widget_value):
12621         * gui-x.h:
12622         Added code to automatically put an accelerator onto the beginning
12623         of menu items that don't have one as is now the standard, and is
12624         described more later.  Also fixed things so that the menu item
12625         name can be an evaluated expression, again a new standard.
12626
12627         * gui.c:
12628         * gui.c (gui_item_add_keyval_pair):
12629         * gui.c (make_gui_item_from_keywords_internal):
12630         * gui.c (gui_add_item_keywords_to_plist):
12631         * gui.c (gui_item_accelerator):
12632         * gui.c (gui_name_accelerator):
12633         * gui.c (gui_item_included_p):
12634         * gui.c (gui_item_display_flush_left):
12635         * gui.c (gui_item_display_flush_right):
12636         * gui.c (parse_gui_item_tree_item):
12637         * gui.c (parse_gui_item_tree_children):
12638         * gui.c (parse_gui_item_tree_list):
12639         Mule-ized.  Cleanup.  GCPRO addition.
12640
12641         * line-number.c (buffer_line_number):
12642         * lisp.h:
12643         * lisp.h (EMACS_INT_MAX):
12644         Added the manifest constant EMACS_INT_MIN corresponding to the
12645         existing constant EMACS_INT_MAX.  This is partially to fix compile
12646         warnings under Windows, and partly for cleanliness.
12647
12648         * menubar-msw.c:
12649         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
12650         * menubar-msw.c (msw_translate_menu_or_dialog_item):
12651         * menubar-msw.c (displayable_menu_item):
12652         * menubar-msw.c (populate_menu_add_item):
12653         * menubar-msw.c (populate_or_checksum_helper):
12654         * menubar-msw.c (populate_menu):
12655         * menubar-msw.c (update_frame_menubar_maybe):
12656         * menubar-msw.c (prune_menubar):
12657         * menubar-msw.c (msw_char_is_accelerator):
12658         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
12659         * menubar-msw.c (mswindows_handle_wm_command):
12660         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
12661         * menubar-msw.c (mswindows_handle_wm_initmenu):
12662         * menubar-msw.c (mswindows_update_frame_menubars):
12663         * menubar-msw.c (mswindows_free_frame_menubars):
12664         * menubar-msw.c (mswindows_popup_menu):
12665         Fixed a bug in handling accelerators where an extra character
12666         would be displayed in the menu item.  Also generalized the
12667         function displayable_menu_item because it is now used by the
12668         dialog box code as well.  And finally, added code in the functions
12669         that create the menubar to extract a list of accelerators for the
12670         top level menubar, which is used in the event code to determine
12671         whether a particular alt-key combination should be used to invoke
12672         a menu item, or should be passed through to access the standard
12673         XEmacs keymap binding for this key combination.
12674
12675         Much needed GCPROing.
12676
12677         * menubar-x.c:
12678         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12679         * menubar-x.c (menu_item_descriptor_to_widget_value):
12680         * menubar-x.c (restore_in_menu_callback):
12681         * menubar-x.c (x_popup_menu):
12682         * menubar-x.c (menu_move_up):
12683         * menubar-x.c (menu_move_down):
12684         * menubar-x.c (menu_move_left):
12685         * menubar-x.c (menu_move_right):
12686         * menubar-x.c (menu_select_item):
12687         * menubar-x.c (command_builder_operate_menu_accelerator):
12688         * menubar-x.c (menu_accelerator_junk_on_error):
12689         * menubar-x.c (command_builder_find_menu_accelerator):
12690         * menubar-x.c (Faccelerate_menu):
12691         * menubar.h:
12692         Moved a whole bunch of code here that was previously in
12693         event-stream.c as described above.  There is also code connected
12694         to the new standard of adding an accelerator to the beginning of
12695         menu items that don't have one as described above and below.
12696
12697         * menubar.c:
12698         * menubar.c (menu_parse_submenu_keywords):
12699         * menubar.c (Fmenu_find_real_submenu):
12700         * menubar.c (Fnormalize_menu_item_name):
12701         * menubar.c (syms_of_menubar):
12702         * menubar.c (vars_of_menubar):
12703         * menubar.c (complex_vars_of_menubar):
12704
12705         a) Cleaned up a bunch of documentation and improved it.
12706
12707         b) XEmacs now automatically adds an accelerator onto the beginning
12708         of any menu items that don't have one.  I did this because there
12709         will inevitably be some menu items on the main menubar that don't
12710         have accelerators on them because the package that adds that
12711         particular menu item hasn't yet been fixed up to have accelerators
12712         in them and it looked rather strange to have some items with and
12713         some items without accelerators, especially since even in items
12714         without accelerators, you can, at least under windows, still
12715         access the item through an accelerator corresponding to the first
12716         character in the item's name.  If people don't like this behavior,
12717         I can add a variable to turn it off optionally, but I'm not sure
12718         this is a good idea because we really do need to have accelerators
12719         on all of the menu items, and if a package doesn't like the
12720         accelerators being put on the first character, then it should put
12721         the accelerators where they belong.
12722
12723         c) I made a behavior change, which is that the descriptor that
12724         specifies the text of the menu item, which formerly was just a
12725         string, can now also be an evaluated expression.  This makes this
12726         descriptor parallel with all of the others, which could also be
12727         evaluated expressions.  This also obviates the need for the
12728         keyword :label, which was previously listed in the documentation
12729         as unimplemented, and which was for the same purpose.
12730
12731         d) GCPROing.
12732
12733         * ntproc.c:
12734         * ntproc.c (new_child):
12735         * ntproc.c (sys_spawnve):
12736         * ntproc.c (find_child_console):
12737         * ntproc.c (sys_kill):
12738         Fixed compile warnings.  By the way, this file should really go
12739         away entirely, and this will happen as soon as Kirill makes his
12740         final round of process cleanups, which affect the function
12741         call-process.
12742
12743         * process-nt.c:
12744         * process-nt.c (struct nt_process_data):
12745         * process-nt.c (find_process_from_pid):
12746         * process-nt.c (send_signal_the_nt_way):
12747         * process-nt.c (enable_child_signals):
12748         * process-nt.c (find_child_console):
12749         * process-nt.c (send_signal_the_95_way):
12750         * process-nt.c (nt_finalize_process_data):
12751         * process-nt.c (ensure_console_window_exists):
12752         * process-nt.c (nt_create_process):
12753         * process-nt.c (nt_kill_child_process):
12754         * process-nt.c (nt_kill_process_by_pid):
12755         * process-nt.c (nt_open_network_stream):
12756         * process-nt.c (vars_of_process_nt):
12757         Copied over code from Emacs 20.5 to correctly send signals to sub-
12758         processes under Windows 95.  Also added code to automatically
12759         create and hide console window when a sub-process is created under
12760         Windows 95, which obviates the need for the separate runemacs.exe
12761         executable, and finally implemented some variables that were
12762         implemented in Emacs 20.5, but previously not in XEmacs.  These
12763         include mswindows- start-process-share-console and
12764         mswindows-start-process-inherit-error-mode. (Both of these only
12765         apply to Windows 95.)
12766
12767         * regex.c (regex_compile): Fixed a compile warning.
12768
12769         * select-msw.c:
12770         * select-msw.c (mswindows_own_selection):
12771         * select-msw.c (mswindows_get_foreign_selection):
12772         * select-msw.c (mswindows_disown_selection):
12773         * select-msw.c (console_type_create_select_mswindows):
12774         * select-msw.c (syms_of_select_mswindows):
12775         Cleaned up the file and implemented the device method
12776         selection_exists_p, which had accidentally been left out.  Also
12777         removed four lisp functions that were remnants from before the
12778         time when the selection code was properly device abstracted.
12779         These functions are no longer needed because there are generic
12780         equivalents, and because they were added recently and don't exist
12781         in FSF Emacs, I don't think there's any problem with just deleting
12782         them.
12783
12784         * sysdep.c:
12785         * sysdep.c (sys_subshell):
12786         Fixed a compile warning, although in this case there's probably
12787         something wrong with this code, and it ought to be looked into
12788         more thoroughly by somebody who understands it.
12789
12790         * window.c:
12791         * window.c (Fwindow_text_area_height):
12792         * window.c (Fwindow_width):
12793         * window.c (Fwindow_full_width):
12794         * window.c (Fwindow_pixel_width):
12795         * window.c (debug_print_window):
12796         * window.c (syms_of_window):
12797         Added functions window-text-area-height and window-full-width,
12798         which are functions for returning various width and height
12799         characteristics of a window. (One of these functions is necessary
12800         for making the file dialog box work correctly, and the other one
12801         was added for completeness.)  Also added a table to the
12802         documentation for window-height which describes the entire scheme
12803         for accessing width and height characteristics of a window.
12804
12805 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12806
12807         * nt.c (fstat): Added a comment for another problem with
12808         non-encapsulated [f]stat(), reported by Adrian Aichner
12809         <aichner@ecf.teradyne.com>.
12810
12811 2000-03-11  Andy Piper  <andy@xemacs.org>
12812
12813         * window.c (make_dummy_parent): initialize subwindow instance
12814         cache.
12815         (Fset_window_configuration): zero extent_modiff.
12816
12817 2000-03-10  Andy Piper  <andy@xemacs.org>
12818
12819         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
12820         more changes can be triggered.
12821         (Fredisplay_frame): ditto.
12822         (Fredraw_device): ditto.
12823         (Fredisplay_device): ditto.
12824         (redisplay_frame): make non-static.
12825         (redisplay_frame): call update_frame_gutter_geometry outside of
12826         display proper.
12827
12828         * gutter.h: declare update_frame_gutter_geometry.
12829
12830         * redisplay.h: declare redisplay_frame.
12831
12832         * gutter.c (update_frame_gutter_geometry): move geometry changes
12833         in update_frame_gutters here. Geometry changes can only occur
12834         outside of redisplay.
12835         (update_frame_gutters): remove geometry change code.
12836         (Fredisplay_gutter_area): make sure that we are in display when we
12837         update and that we have flushed any size changes.
12838
12839 2000-03-11  Andy Piper  <andy@xemacs.org>
12840
12841         * alloc.c (pdump_dump_data): remove i & count shadows.
12842
12843 2000-02-27  Mike Alexander  <mta@arbortext.com>
12844
12845         * sysdep.h: Declare pdump_read_file
12846
12847         * sysdep.c (pdump_read_file): New function
12848
12849         * alloc.c (pdump_load): Call pdump_read_file to get the portable
12850         dump data
12851
12852 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12853
12854         * lrecord.h: add `lrecord_type_pgsetenv'.
12855
12856 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
12857
12858         * symsinit.h: declare (vars|syms)_of* functions.
12859         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
12860
12861 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
12862
12863         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
12864
12865         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
12866         GCCs.
12867
12868         * emacs.c (main_1): Call postgres initialization code.
12869
12870         * postgresql.h: New file.  PostgreSQL RDBMS support.
12871         * postgresql.c: New file.
12872
12873 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12874
12875         * redisplay-output.c (redisplay_output_display_block): Disable
12876         redundant code.
12877
12878 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12879
12880         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
12881         (Fcanna_henkan_next): Ditto.
12882         (Fcanna_bunsetu_henkou): Ditto.
12883         (Fcanna_henkan_kakutei): Ditto.
12884         (Fcanna_henkan_end): Ditto.
12885         (Fcanna_henkan_quit): Ditto.
12886         (Fcanna_henkan_next): Set retun value correctly.
12887         (c2mu): Use unsigned char instead of signed char.
12888
12889 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12890
12891         * emacs.c (main_1): Always call syms_of_gui.
12892         * inline.c: include gui.h
12893
12894 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
12895
12896         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
12897         converted to Lisp_Object.
12898         (Qtop_bottom): New variable.
12899         (syms_of_redisplay): Initialize it.
12900         * redisplay.h (Vvisible_bell): Ditto.
12901         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
12902         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
12903         only flash top and bottom.
12904
12905 2000-03-08  Andy Piper  <andy@xemacs.org>
12906
12907         * buffer.c (Frename_buffer): record new buffer name the right way.
12908
12909 2000-03-08  Andy Piper  <andy@xemacs.org>
12910
12911         * glyphs.c (update_subwindow): increase hash depth so that widget
12912         items get picked up properly.
12913
12914         * redisplay-output.c (compare_runes): increase hash depth so that
12915         widget items get picked up properly.
12916
12917 2000-03-08  Andy Piper  <andy@xemacs.org>
12918
12919         * gutter.c (output_gutter): add some debug.
12920
12921         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
12922         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
12923         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
12924
12925         * redisplay-output.c (compare_runes): use display_hash to
12926         determine if glyphs really are not the same.
12927
12928         * glyphs.c (update_subwindow): check display_hash to see if
12929         anything really needs to be updated. If not then do
12930         nothing. Record the display_hash after updating.
12931         (image_instance_equal): compare the image_instance face also.
12932
12933 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
12934
12935         * redisplay.h: Fix comment style.
12936
12937 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12938
12939         * consle-msw.h (struct mswindows_frame):
12940         Added new member paint_pending to indicate whether a WM_PAINT
12941         magic event has been queued for this frame.
12942
12943         * event-msw.c (mswindows_drain_windows_queue):
12944         Don't queue a WM_PAINT magic event if one is already queued.
12945         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
12946
12947         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
12948
12949 2000-03-07  Didier Verna  <didier@xemacs.org>
12950
12951         * dired.c: #include `regex.h' after `sysfile.h'.
12952
12953 2000-03-06  Martin Buchholz  <martin@xemacs.org>
12954
12955         * sound.c (init_nas_sound): Fix compiler warning.
12956
12957         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
12958         (FREE_STRUCT_P):
12959         (MARK_STRUCT_AS_FREE):
12960         (MARK_STRUCT_AS_NOT_FREE):
12961         Make `gcc -fstrict-aliasing' work properly.
12962
12963 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
12964
12965         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
12966         (mswindows_delete_device): Call CoUnnitialize().
12967
12968         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
12969
12970 2000-02-25    <CraigL@DyCon.com>
12971
12972         * process-nt.c: MinGW now has <shellapi.h>, but still needs
12973         <errno.h>.
12974
12975         * sysdep.c: This extern declaration for environ prevents MinGW
12976         from finding the variable in CRTDLL.DLL.
12977
12978         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
12979         windows headers.
12980         (SHGFI_EXETYPE): ..
12981         (WM_MOUSEWHEEL): ..
12982         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
12983         definitions.
12984         (MMRESULT): Removed, now defined in cygwin's windows headers.
12985         (TIMECAPS): ..
12986         (uid_t,gid_t,pid_t,ssize_t): ..
12987         (_timeb): Removed, MinGW defines both _timeb and timeb.
12988         (HAVE_H_ERRNO): Added.
12989         (HAVE_TZNAME): Added, configure is not detecting this.
12990
12991 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
12992
12993         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
12994         * syntax.c (syntax_match): Use it.
12995
12996         * cmds.c: Import auto-fill-chars from FSF Emacs.
12997         (Vauto_fill_chars): New variables.
12998         (internal_self_insert): Check Vauto_fill_chars.
12999         (vars_of_cmds):
13000         Declare auto-fill-chars as a Lisp variable and initialize it.
13001
13002 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13003
13004         * fileio.c (Fmake_symbolic_link):
13005         (Ffile_symlink_p):
13006         Run handlers even if local machine doesn't have symlinks.
13007
13008 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13009
13010         * event-msw.c (mswindows_drain_windows_queue):
13011         Don't generate paint magic events for non-XEmacs frames.
13012
13013 2000-03-05  Andy Piper  <andy@xemacs.org>
13014
13015         * redisplay.c (redisplay_frame): generate_displayable_area and
13016         friends assumes that we are not in GC, we therefore have to make
13017         sure that this doesn't happen.
13018
13019         * gutter.c (calculate_gutter_size): generate_displayable_area
13020         assumes that we are not in GC, we therefore have to make sure that
13021         this doesn't happen.
13022
13023 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13024
13025         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13026
13027 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13028
13029         * redisplay.c (regenerate_window): Make sure we set a sane value
13030         for end_pos even if we jump out of the loop.
13031         (regenerate_window): Answer Ben's question :-).
13032         (start_end_of_last_line): Add may_error argument.
13033         (start_of_last_line):
13034         (end_of_last_line): Pass may_error = 0.
13035         (end_of_last_line_may_error): New function.
13036         (pixel_to_glyph_translation): Use it, so we don't crash in
13037         event_to_glyph.
13038
13039 2000-03-04  Andy Piper  <andy@xemacs.org>
13040
13041         * window.h (struct window): add gutter_extent_modiff.
13042
13043         * window.c (allocate_window): zero out gutter_extent_modiff.
13044
13045         * redisplay.h: declare sync_display_line_structs.
13046
13047         * redisplay.c (add_glyph_rune): add a better comment.
13048
13049         * redisplay-output.c (sync_display_line_structs): made non-static.
13050         (compare_runes): remove unneccesary glyph cachel access.
13051
13052         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13053
13054         * gutter.c (output_gutter): don't output the gutter if extent
13055         changes only involve extents in buffers. use 4 sets of display
13056         lines.
13057         (gutter_extent_signal_changed_region_maybe): new function. Mark
13058         extents in gutters as changed.
13059         (update_frame_gutters): use 4 sets of display lines.
13060         (reset_gutter_display_lines): ditto.
13061         (free_frame_gutters): ditto.
13062         (redraw_exposed_gutter): force output of gutters.
13063
13064         * frame.h (struct frame): add 4 sets of gutter display lines.
13065
13066         * extents.c: (extent_changed_for_redisplay): signal changes to
13067         extents in strings in the gutter as well as extents in buffers.
13068
13069 2000-03-02  Andy Piper  <andy@xemacs.org>
13070
13071         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13072
13073         * frame.c (Fmake_frame): make sure the gutters get initialized
13074         after the frame is visible.
13075         (set_frame_selected_window): re-arrange compilation macros a
13076         little.
13077         (change_frame_size_1): mark gutters changed.
13078
13079         * device.c (Fset_device_class): mark gutters changed.
13080
13081 2000-03-01  Andy Piper  <andy@xemacs.org>
13082
13083         * window.c (window_top_frame_gutter_height): deleted.
13084         (window_bottom_frame_gutter_height): ditto.
13085         (window_left_frame_gutter_height): ditto.
13086         (window_right_frame_gutter_height): ditto.
13087         (window_top_gutter_height): don't use them.
13088         (window_bottom_gutter_height): ditto.
13089         (window_left_gutter_width): ditto.
13090         (window_right_gutter_width): ditto.
13091         (Fsplit_window): ditto.
13092         (Fwindow_pixel_edges): don't use border dimensions here.
13093
13094         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13095         (update_scrollbar_instance): ditto.
13096
13097         * redisplay.c (generate_modeline): don't take gutters into account.
13098         (generate_modeline): ditto.
13099         (redisplay_frame): small gutter display optimization.
13100
13101         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13102
13103         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13104         gutters into account.
13105
13106         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13107         for window position and type.
13108
13109         * gutter.c (get_gutter_coords): fix for frame gutters.
13110         (update_frame_gutters): update frame geometry if the gutters have
13111         changed.
13112         (init_frame_gutters): record current gutter geometries.
13113
13114         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13115         var.
13116         (mswindows_widget_instantiate): ditto.
13117
13118         * frame.h (struct frame): add current_gutter_bounds.
13119
13120         * frame.c (change_frame_size_1): position window and minibuffer
13121         appropriately taking into account the frame gutters.
13122
13123         * frame-x.c: (x_initialize_frame_size): take into account the
13124         frame gutters.
13125
13126 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13127
13128         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13129
13130 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13131
13132         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13133
13134 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13135
13136         * file-coding.c (reset_decoding_stream): Clear previous
13137         detection state when autodetect.
13138
13139 2000-02-29  Didier Verna  <didier@xemacs.org>
13140
13141         * extents.c (set_extent_glyph_1): don't require extents to be
13142         attached.
13143
13144 2000-02-27  Andy Piper  <andy@xemacs.org>
13145
13146         * gutter.c (Fset_default_gutter_position): don't default left and
13147         right gutter visibility to t.
13148         (Fset_default_gutter_position): run
13149         default-gutter-position-changed-hook.
13150         (syms_of_gutter): add default-gutter-position-changed-hook.
13151
13152 2000-02-26  Andy Piper  <andy@xemacs.org>
13153
13154         * specifier.c (Fmake_specifier): add gutter references.
13155
13156         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13157
13158         * lisp.h: declare Fvalid_plist_p.
13159
13160         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13161         as changed.
13162         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13163         well as its visibility so that it gets reconstructed.
13164         (construct_window_gutter_spec): new function. Construct a string
13165         to be displayed in the gutter from a plist of strings. Take care
13166         to only use elements that are declared as visible.
13167         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13168         WINDOW_GUTTER.
13169         (gutter_validate): allow plists of strings in the specifier.
13170         (gutter_specs_changed): construct the real_gutter from the gutter
13171         specs using construct_window_gutter_spec.
13172         (gutter_visible_validate): gutter-visible is a new specifier type.
13173         (Fgutter_visible_specifier_p): new function for the new specifier.
13174         (syms_of_gutter): declare gutter-visible and
13175         Fgutter_visible_specifier_p.
13176         (specifier_type_create_gutter): intitalize new gutter-visible
13177         specifier.
13178         (reinit_specifier_type_create_gutter): ditto.
13179         (specifier_vars_of_gutter): use new specifier type for gutter
13180         visibility.
13181         (init_frame_gutters): construct real_gutter correctly.
13182         (Fgutter_specifier_p): beef up documentation.
13183         (Fgutter_size_specifier_p): ditto.
13184
13185         * winslots.h: add real_gutter slots.
13186
13187 2000-02-25  Andy Piper  <andy@xemacs.org>
13188
13189         * device-msw.c: Be kind to older cygwin versions. From Raymond
13190         Toy <toy@rtp.ericsson.se>.
13191
13192         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13193         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13194
13195 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13196
13197         * elhash.c (MARK_OBJ): Practice macro hygiene.
13198
13199 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13200
13201         * miscplay.c: s/__inline__/inline/g;
13202         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13203         (get_device_compdc): INLINE ==> static inline
13204         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13205         find -name '*.h' | \
13206         xargs global-replace \
13207         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13208
13209 2000-02-25  Andy Piper  <andy@xemacs.org>
13210
13211         * window.c (window_top_frame_gutter_height): new function.
13212         (window_top_window_gutter_height): ditto.
13213         (window_top_gutter_height): use them.
13214         (window_bottom_frame_gutter_height): new function.
13215         (window_bottom_window_gutter_height): ditto.
13216         (window_bottom_gutter_height): use them.
13217         (window_left_window_gutter_width): new function.
13218         (window_left_frame_gutter_width): ditto.
13219         (window_left_gutter_width): use them.
13220         (window_right_window_gutter_width): new function.
13221         (window_right_frame_gutter_width): ditto.
13222         (window_right_gutter_width): use them.
13223         (window_pixel_height): new function. calulate window pixel height
13224         with frame gutter involvement.
13225         (Fsplit_window): calculate new sizes taking frame gutters into
13226         account.
13227         (window_char_height_to_pixel_height): don't include frame gutters.
13228         (window_char_height): use window_pixel_height.
13229         (window_pixheight): rename from window_pixel_height.
13230         (change_window_height): use it.
13231         (window_pixel_height_to_char_height): don't include frame gutters.
13232         (window_char_width_to_pixel_width): ditto.
13233
13234 2000-02-25  Andy Piper  <andy@xemacs.org>
13235
13236         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13237         if it is.
13238
13239 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13240
13241         * alloc.c (staticpro):
13242         (staticpro_nodump):
13243         (dumpstruct):
13244         (dumpopaque):
13245         (pdump_wire):
13246         (pdump_wire_list):
13247         (compact_string_chars):
13248         (pdump_dump_wired):
13249         Convert:  if (foo) abort();  ==>  assert (! foo);
13250
13251         * eldap.c (Fldap_search_basic):
13252         (Fldap_add):
13253         (Fldap_modify):
13254         (Fldap_delete):
13255         Fix compiler warnings, and possible crashes if (random) return
13256         value were to be used.
13257
13258 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13259
13260         * device-msw.c: Workaround ResetDC failure.
13261
13262         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13263         applying a devmode.
13264
13265         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13266         (mswindows_text_width): Do not start printer page.
13267
13268         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13269
13270         * glyphs-msw.c: Added image methods to msprinter console and
13271         msprinter-specific image instantiation.
13272
13273 2000-02-20  Mike Alexander  <mta@arbortext.com>
13274
13275         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13276         to avoid crashes when selection-sets-clipboard is on
13277         (mswindows_own_selection): ditto
13278
13279 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13280
13281         * glyphs-msw.c:
13282         * redisplay-msw.c (get_frame_dc):
13283         (get_frame_compdc):
13284         * console-msw.h:
13285         * device-msw.c (mswindows_init_device):
13286         (mswindows_delete_device):
13287         (msprinter_init_device):
13288         (msprinter_delete_device):
13289         * frame-msw.c (mswindows_init_frame_1):
13290         (mswindows_delete_frame):
13291         (msprinter_init_frame_3):
13292         (msprinter_delete_frame): Move compatible DC to device object from
13293         frame object, for both mswindows and msprinter. Only one at a time
13294         is needed, it is a real waste to have one per frame!
13295
13296 2000-02-23  Andy Piper  <andy@xemacs.org>
13297
13298         * glyphs.c: add dynamic width and height elements.
13299         (image_instance_equal): ditto.
13300
13301         * glyphs-widget.c (widget_query_geometry): calculate width and
13302         height dynamically if required.
13303         (initialize_widget_image_instance): initialize dynamic dimensions.
13304         (widget_instantiate): pick-up dynamic dimensions.
13305
13306         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13307         dynamic determination. Add appropriate macros.
13308
13309         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13310         dimensions safe.
13311         (WINDOW_GUTTER_SIZE): ditto.
13312         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13313
13314         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13315         inline.
13316         (get_frame_dc): ditto.
13317
13318         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13319         here.
13320
13321 2000-02-23  Martin Buchholz <martin@xemacs.org>
13322
13323         * XEmacs 21.2.31 is released.
13324
13325 2000-02-22  Ben Wing <ben@xemacs.org>
13326
13327         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13328
13329 2000-02-22  Andy Piper  <andy@xemacs.org>
13330
13331         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13332
13333 2000-02-21  Mike Sperber <mike@xemacs.org>
13334
13335         * .dbxrc:
13336         * .gdbinit:
13337         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13338         variables.
13339
13340 2000-02-21  Mike Sperber <mike@xemacs.org>
13341
13342         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13343
13344 2000-02-21  Martin Buchholz <martin@xemacs.org>
13345
13346         * XEmacs 21.2.30 is released.
13347
13348 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13349
13350         Performance hacking.
13351         * *.c (syms_of_*):
13352         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13353         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13354         * emacs.c (main_1):
13355         * lisp.h (DEFUN):
13356         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13357         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13358         * symeval.h (DEFVAR_SYMVAL_FWD):
13359         * symbols.c (guts_of_unbound_marker):
13360         Make all c_readonly objects also lisp_readonly and marked for life.
13361         * lrecord.h (struct lrecord_implementation):
13362         Document flags better.
13363         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13364         * lrecord.h (DECLARE_LRECORD):
13365         * lrecord.h (XSETRECORD):
13366         * lrecord.h (RECORDP):
13367         * lrecord.h (RECORD_TYPEP):
13368         * lrecord.h (RECORD_MARKER): New.
13369         * lrecord.h (error_check_*):
13370         * lrecord.h (CONCHECK_NONRECORD):
13371         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13372         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13373         * lrecord.h (set_lheader_implementation):
13374         * lrecord.h (enum lrecord_type): New.
13375         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13376         * alloc.c (disksave_object_finalization_1):
13377         * alloc.c (mark_object):
13378         * alloc.c (lrecord_type_index):
13379         * alloc.c (tick_lcrecord_stats):
13380         * alloc.c (Fgarbage_collect):
13381         * alloc.c (init_alloc_once_early):
13382         * alloc.c (pdump_load):
13383         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13384         * alloc.c (lrecord_type_index): Delete.
13385         Make lisp object type indexes be constant.
13386           Makes (byte-compile) 5% faster.
13387         Put all marker functions into their own array.
13388           Makes (garbage-collect) 5% faster.
13389         Optimize SYMBOL_VALUE_MAGIC_P.
13390           Makes (byte-compile) 2-3% faster.
13391         * config.h.in (gc_checking_assert): New.
13392         * alloc.c: Use gc_checking_assert().
13393         * .dbxrc: Make compatible with new object type implementation.
13394         * .gdbinit: Make compatible with new object type implementation.
13395         * alloc.c: Delete all symbols defined only for debugging, such as
13396         Lisp_Type_Vector and lrecord_charset.
13397
13398 2000-02-21  Andy Piper  <andy@xemacs.org>
13399
13400         * gui-msw.c (Fmswindows_shell_execute): fix file location
13401         problems.
13402
13403         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13404         unshowing so that set_window_buffer doesn't undo
13405         kill_buffer_hook's hard work.
13406
13407         * glyphs-widget.c (tab_control_query_geometry): don't count the
13408         first item when calculating geometry.
13409
13410         * glyphs.c (map_subwindow): remove redundant code.
13411         (update_frame_subwindows): be more circumspect about when to
13412         update subwindows.
13413
13414         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
13415         when items haven't changed. Update faces if faces have changed as
13416         well as just the widget face.
13417         (x_tab_control_update): Update faces if faces have changed as well
13418         as just the widget face.
13419
13420 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13421
13422         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
13423         registration.
13424         (build_syscolor_string): Use mswindows_color_to_string to try to
13425         get a named color.
13426         (mswindows_device_system_metrics): Reverse the foreground and
13427         background colors so that they match the documentation.
13428
13429         * objects-msw.c: (mswindows_X_color_map): tweak some values so
13430         they match the default Windows palette.
13431         (mswindows_color_to_string): New function.
13432
13433 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13434
13435         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
13436
13437 2000-02-18  Olivier Galibert  <galibert@pobox.com>
13438
13439         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
13440         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
13441
13442         * symbols.c (init_symbols_once_early): Removed obsolete
13443         DATA_SEG_BITS related kludge.
13444         (defvar_magic): Ditto.
13445
13446         * malloc.c: Removed obsolete DATA_SEG_BITS
13447         * ralloc.c: Ditto.
13448         * mem-limits.h: Ditto.
13449
13450         * Makefile.in.in: Removed obsolete HAVE_SHM
13451         * emacs.c: Ditto.
13452
13453 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13454
13455         *  device-msw.c (mswindows_delete_device): Free DDE string
13456         handles.
13457
13458 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13459
13460         * keymap.c (get_keyelt):
13461         * unexnt.c (unexec):
13462         * vm-limit.c (memory_warnings):
13463         * ntheap.c (recreate_heap):
13464         * ntheap.h (UNINIT_PTR):
13465         * select-msw.c (Fmswindows_get_clipboard):
13466         (Fmswindows_set_clipboard):
13467         * objects-msw.h (MSWINDOWS_BAD_HFONT):
13468         * objects-msw.c:
13469         * menubar-msw.c (displayable_menu_item):
13470         * glyphs-msw.c:
13471         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
13472         * sysdep.c (sys_subshell):
13473         * process-nt.c (nt_create_process):
13474         * nt.c (normalize_filename):
13475         (dostounix_filename):
13476         (unixtodos_filename):
13477         * ntproc.c (win32_executable_type):
13478         * ntplay.c (play_sound_data_1):
13479         (play_sound_file):
13480         * editfns.c (get_home_directory):
13481         * event-msw.c (struct winsock_stream):
13482         (mswindows_dde_callback):
13483         * device-msw.c (msprinter_init_device):
13484         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
13485
13486         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
13487         mswindows_clear_toolbar were swapped!
13488
13489         * objects-msw.c:(colormap_t):
13490         (fontmap_t):
13491         * emacs.c (struct standard_args): Fixed const jumble.
13492
13493         * glyphs-widget.c (update_widget): Fixed comparison notation.
13494
13495         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
13496
13497         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
13498         __declspec(noreturn) syntax.
13499
13500 2000-02-19  Martin Buchholz  <martin@xemacs.org>
13501
13502         * eldap.c (Fldap_open):
13503         (Fldap_search_basic):
13504         (Fldap_add):
13505         (Fldap_modify):
13506         Use new coding system conversion macros.
13507
13508 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13509
13510         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
13511
13512 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
13513
13514         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
13515         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13516
13517         * eldap.c (Qadd, Qreplace): New constant symbols
13518         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
13519         interruptions by XEmacs signals
13520         Remove unnecessary calls to slow_down_interrupts and
13521         speed_up_interrupts
13522         (Fldap_search_basic): Renamed from Fldap_search_internal
13523         Added new optional parameter VERBOSE that triggers the
13524         display of progress messages
13525         Remove unnecessary calls to slow_down_interrupts and
13526         speed_up_interrupts
13527         LDAP result code analysis rewritten
13528         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13529         (syms_of_eldap): Define the new symbols and functions
13530
13531
13532 2000-02-17  Martin Buchholz  <martin@xemacs.org>
13533
13534         * realpath.c: Determine PATH_MAX maximally portably.
13535
13536         * insdel.c (bytecount_to_charcount): Optimize.
13537         The function used to be optimized for entirely ASCII sequences.
13538         Now it is optimized for successive characters from the same
13539         charset.  This also wins big for _mostly_ ASCII sequences.
13540
13541         * fileio.c (Ffile_truename): convert return from realpath() using
13542         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
13543         - Rewrite GCPROing slightly.
13544
13545         * sysdep.c (sys_open): Do filename conversion, like all other
13546         sys_* functions.  Fixes bug:
13547         (let ((file-name-coding-system 'iso-8859-2))
13548            (write-region x y latin2-name))
13549         ==> writes filename using internal encoding.
13550
13551 2000-02-18  Martin Buchholz  <martin@xemacs.org>
13552
13553         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
13554         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
13555         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
13556         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
13557         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
13558         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
13559         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
13560         (CONST_IF_NOT_DEBUG): Delete.
13561         * alloc.c (this_one_is_unmarkable): Delete.
13562         (mark_object): Don't check for this_one_is_unmarkable. Use the
13563         c_readonly flag instead.
13564         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
13565
13566 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13567
13568         * event-msw.c (mswindows_drain_windows_queue):
13569         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
13570         away redundant repaint events.
13571
13572 2000-02-17  Andy Piper  <andy@xemacs.org>
13573
13574         * redisplay.h: declare mark_redisplay_structs.
13575
13576         * redisplay.c (redisplay_window):
13577         (redisplay_frame): don't check subwindows_state_changed.
13578         (mark_redisplay): mark gutters here.
13579
13580         * glyphs.c: (instantiate_image_instantiator): always layout if we
13581         haven't done so already.
13582         (allocate_image_instance): don't mark as dirty.
13583         (update_subwindow): bind inhibit_quit.
13584
13585         * gutter.c (mark_gutters): new function.
13586
13587         * glyphs-x.c (x_update_widget): Always resize to get round a
13588         widget bug.
13589
13590         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
13591         breaking absolutely everything.
13592
13593         * gutter.h: declare mark_gutters.
13594
13595 2000-02-16  Martin Buchholz <martin@xemacs.org>
13596
13597         * XEmacs 21.2.29 is released.
13598
13599 2000-02-15  Olivier Galibert  <galibert@pobox.com>
13600
13601         * fns.c (size_bit_vector): Fix computation of the size.
13602
13603 2000-02-15  Martin Buchholz  <martin@xemacs.org>
13604
13605         * *.[ch]: Change CONST to const globally.
13606         find -name '*.[ch]' | \
13607         xargs global-replace \
13608         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
13609         - Remove vestigial references to CONST_IS_LOSING
13610
13611 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13612
13613         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
13614         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
13615         events instead of dispatching them directly.
13616         (mswindows_handle_paint): New function to do repainting.
13617         (mswindows_wnd_proc):
13618         (emacs_mswindows_handle_magic_event): Call above function.
13619
13620 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13621
13622         * objects-msw.c (mswindows_create_font_variant): Return the new
13623         font handle.
13624         (initialize_font_instance): Get font metrics from the underlined
13625         variant of the font to cope with the case where the underlined
13626         font has a bigger descent.
13627
13628 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13629
13630         * gui.c (gui_item_accelerator): Return the first underlined
13631         character in item name.
13632
13633 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13634
13635         * lisp.h: Added Qprinter.
13636
13637         * general.c (syms_of_general): Initialized it.
13638
13639         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
13640         (get_frame_dc):
13641         (get_frame_compdc): Made inline.
13642
13643         * console.h (struct console_methods): Added eject_page method.
13644
13645         * frame.h: Added FRAME_DISPLAY_P and friends.
13646         Aligned backslahes in many macros in more readable fashion.
13647         Added page_number to struct frame, and an accessor macro
13648         for it.
13649
13650         * defice.h: Added DEVICE_DISPLAY_P and friends.
13651
13652         * device.c (Fdevice_printer_p): Used these.
13653
13654         * frame.c (allocate_frame_core): Initialize page number.
13655         (Fprint_job_page_number):
13656         (Fprint_job_eject_page): Implemented.
13657
13658         * frame-msw.c (msprinter_eject_page): Added method.
13659         (msprinter_start_page): Added.
13660
13661         * window.c (Fwindow_truncated_p): Fixed docstring.
13662         (Fwindow_last_line_visible_height): Implemented.
13663
13664 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13665
13666         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
13667
13668 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13669
13670         * syntax.c (scan_words): Always advance at least one character.
13671
13672 2000-02-13  Andy Piper  <andy@xemacs.org>
13673
13674         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
13675         to make sure the glyph is in the cachels.
13676
13677         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
13678         global image instance flag.
13679         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
13680         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
13681
13682         * glyphs.c (allocate_image_instance): set dirty bits correctly.
13683         (Fset_image_instance_property): mark layout as changed.
13684         (invalidate_glyph_geometry_maybe): mark layout as changed.
13685         (glyph_width): use new NEEDS_LAYOUT macro.
13686         (glyph_ascent): ditto.
13687         (glyph_descent): ditto.
13688         (glyph_height): ditto.
13689         (image_instance_layout): mark layout as clean after laying out.
13690         (update_subwindow): don't mark layout as clean here.
13691
13692         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
13693         should no longer be needed.
13694
13695         * glyphs-x.c (x_update_widget): sanitize asserts.
13696         (x_finalize_image_instance): sanitize assignment to widgets.
13697
13698         * glyphs-widget.c (widget_instantiate): don't need to clear the
13699         layout flag here.
13700
13701 2000-02-13  Martin Buchholz  <martin@xemacs.org>
13702
13703         * sysdep.c (getcwd): Use standard prototype.
13704         * sysdep.h (getcwd): Use standard prototype.
13705
13706         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
13707         (sequence, start, end).
13708         Remove redundant type checking.
13709         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
13710         view of `caller-protects') to avoid a crash where the real fix was
13711         found elsewhere.
13712
13713 2000-02-12  Martin Buchholz  <martin@xemacs.org>
13714
13715         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
13716
13717         * s/sol2.h: Remove feature macro initialization.
13718
13719         * alloc.c (alloc_lcrecord): Add more type checking assertions.
13720         (vector_hash): New.  Code from internal_hash.
13721         * lrecord.h:
13722         Fix up allocation subsystem comments.
13723
13724         * config.h.in: Add __EXTENSIONS__ for Solaris.
13725
13726         * systime.h (EMACS_GETTIMEOFDAY): New.
13727         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
13728         Remove Solaris-specific code.
13729         Use void* for the (ignored) second arg for gettimeofday().
13730
13731         * elhash.c (hash_table_hash): Implement it, finally.
13732         * elhash.c:  Use hashcode_t.
13733
13734         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
13735         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
13736
13737         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
13738         * fns.c (size_bit_vector):
13739         * alloc.c (size_vector):
13740         (make_vector_internal):
13741         (make_bit_vector_internal):
13742         (sweep_bit_vectors_1):
13743         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
13744
13745 2000-02-10  Martin Buchholz  <martin@xemacs.org>
13746
13747         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
13748         Include strings.h to avoid warnings for bzero and strcasecmp.
13749
13750 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13751
13752         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
13753         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
13754
13755         * fns.c (size_bit_vector): New.  Declare bit vectors as a
13756         sequence.
13757
13758 2000-02-10  Olivier Galibert  <galibert@pobox.com>
13759
13760         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
13761         use a value field instead.
13762         (symbol_value_forward_forward): Use value field.
13763         (DEFVAR_SYMVAL_FWD): Use value field.
13764         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
13765         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
13766         (DEFVAR_CONST_INT): Ditto.
13767         (DEFVAR_BOOL): Ditto.
13768         (DEFVAR_CONST_BOOL): Ditto.
13769         (DEFVAR_INT_MAGIC): Ditto.
13770         (DEFVAR_BOOL_MAGIC): Ditto.
13771
13772         * symbols.c (guts_of_unbound_marker): Use value field.
13773         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
13774         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
13775
13776         * lisp.h: Declare dumpopaque and noninteractive1.
13777
13778         * alloc.c (dumpopaque): Added.
13779         (pdump_dump_opaquevec): Added.
13780         (pdump): Call pdump_dump_opaquevec to dump opaque data.
13781         (pdump_load): Reload opaque data.  Sync noninteractive1 with
13782         noninteractive.
13783
13784 2000-02-10  Andy Piper  <andy@xemacs.org>
13785
13786         * glyphs.c (image_instance_layout): if the size changes, mark it
13787         as such.
13788
13789         * redisplay-output.c (redisplay_output_layout): Update the
13790         subwindow here.
13791         (redisplay_output_subwindow): ditto.
13792
13793         * glyphs.c (update_subwindow): make sure we reset flags for
13794         layouts as well as everything else.
13795
13796         * glyphs-widget.c (layout_layout): don't need to set the instances
13797         dimensions here.
13798
13799 2000-02-09  Martin Buchholz  <martin@xemacs.org>
13800
13801         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
13802         not HAVE_DLOPEN, which is a lower-level thing.
13803
13804         * .cvsignore: Ignore gmon.out
13805
13806 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
13807
13808         * .cvsignore: Ignore portable dumper xemacs.dmp file
13809
13810 2000-02-09  Andy Piper  <andy@xemacs.org>
13811
13812         * redisplay-output.c (redisplay_output_layout): be more clever
13813         about when we output based on the changed flags.
13814
13815         * glyphs.h (struct image_instantiator_methods): add update_method.
13816         (struct Lisp_Image_Instance): add changed flags. Declare new
13817         macros for manipulating them.
13818
13819         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
13820         (image_instance_parent_glyph): find an image_instance's parent
13821         glyph or image_instance.
13822         (image_instance_layout): mark the size as changed.
13823         (set_image_instance_dirty_p): new function. mark an image
13824         instance, plus all of its parents, as dirty.
13825         (Fset_image_instance_property): use it.
13826         (Fglyph_animated_timeout_handler): use it.
13827         (update_subwindow): call update_widget and device methods for
13828         update_subwindow. Mark all changed flags as clean.
13829         (Fresize_subwindow): mark size as changed.
13830
13831         * glyphs-x.c (x_finalize_image_instance): try and detect gc
13832         failures.
13833         (x_update_subwindow): only resize subwindows here.
13834         (x_update_widget): new function. Update all changed properties of
13835         a widget.
13836         (x_resize_subwindow): deleted.
13837         (x_widget_set_property): deleted.
13838         (x_progress_gauge_set_property): deleted.
13839         (x_progress_gauge_update): new function. Implement recorded
13840         changes.
13841         (x_tab_control_update): ditto.
13842         (x_tab_control_set_property): deleted.
13843         (console_type_create_glyphs_x): declare new functions.
13844         (image_instantiator_format_create_glyphs_x): ditto.
13845
13846         * glyphs-widget.c (widget_set_property): mark text changed.
13847         (update_widget): new function. Update properties of a widget.
13848         (widget_instantiate): for layouts make sure we set their
13849         children's parent correctly.
13850         (tab_control_set_property): new function. Record changes that will
13851         take place under redisplay's control.
13852         (progress_gauge_set_property): ditto.
13853         (image_instantiator_progress_guage): declare new functions.
13854         (image_instantiator_tab_control): ditto.
13855
13856         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
13857         now.
13858         (mswindows_update_widget): new function. Update all properties on
13859         a widget that have changed.
13860         (mswindows_button_update): new function. Update a button's set
13861         state.
13862         (mswindows_tab_control_update): new function. Update the items in
13863         a tab.
13864         (mswindows_tab_control_set_property): deleted.
13865         (mswindows_progress_gauge_update): new function. Update the
13866         progress gauge's progress.
13867         (mswindows_widget_set_property): deleted. This is all done
13868         asynchronously now.
13869         (mswindows_progress_gauge_set_property): ditto.
13870         (console_type_create_glyphs_mswindows): declare new methods.
13871         (image_instantiator_format_create_glyphs_mswindows): ditto.
13872
13873         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
13874         (msprinter_set_frame_properties): ditto.
13875
13876         * console.h (struct console_methods): Add update_widget_method.
13877
13878 2000-02-09  Andy Piper  <andy@xemacs.org>
13879
13880         * gui-msw.c (Fmswindows_shell_execute): Make
13881         mswindows-shell-execute industrial strength.
13882
13883 2000-02-08  Martin Buchholz  <martin@xemacs.org>
13884
13885         * lrecord.h: Make macro argument `props' match member function `plist'.
13886         * fns.c (Fget):
13887         * fns.c (Fput):
13888         * fns.c (Fremprop):
13889         * fns.c (Fobject_plist):
13890         * alloc.c:
13891         * symbols.c:
13892         Object property list frobbing cleanup.
13893         - Allow any lisp object (compared with `eq'), not just symbols, as
13894           keys in object plists.
13895         - Move symbol plist frobbing into symbols.c, where it belongs.
13896         - Move string plist frobbing into alloc.c, where it belongs.
13897         - Everything's an lrecord now, so no need to test for symbolp, etc.
13898         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
13899
13900         * extents.c: Reorder code to remove declarations.
13901
13902         * frame.h (store_in_alist): Remove useless declaration.
13903
13904 2000-02-07  Martin Buchholz  <martin@xemacs.org>
13905
13906         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
13907         * config.h.in: Add HAVE_XCONVERTCASE.
13908
13909 2000-02-07  Andy Piper  <andy@xemacs.org>
13910
13911         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
13912         it breaks many things.
13913
13914 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
13915
13916         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
13917         actually can start a common comment type.
13918         * src/syntax.h (SYNTAX_END_P): ditto for end.
13919
13920 2000-02-07  Martin Buchholz <martin@xemacs.org>
13921
13922         * XEmacs 21.2.28 is released.
13923
13924 2000-02-06  Martin Buchholz  <martin@xemacs.org>
13925
13926         * event-Xt.c (x_keysym_to_character): New.
13927         (maybe_define_x_key_as_self_inserting_character): New.
13928         (x_has_keysym): New.
13929         Auto-define all keys on the keyboard as self-insert-key.
13930
13931 2000-02-02  Martin Buchholz  <martin@xemacs.org>
13932
13933         * menubar.c (vars_of_menubar): A small code simplification.
13934
13935         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
13936
13937         * ExternalShell.c:
13938         * ExternalClient.c:
13939         * EmacsShell-sub.c:
13940         * EmacsManager.c:
13941         * EmacsFrame.c:
13942         Use consistent style for specifying X resources.
13943
13944         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
13945         This makes (dontusethis-set-symbol-value-handler) actually usable.
13946
13947         * lrecord.h (lrecord_decription_type):
13948         * alloc.c (pdump_register_sub):
13949         (pdump_dump_data):
13950         (pdump_reloc_one):
13951         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
13952         Comply with XEmacs coding style.
13953         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
13954         args, and XD_LISP_OBJECT_ARRAY with 3 args.
13955
13956         * keymap.c (Faccessible_keymaps):
13957         Make (accessible-keymaps map "\C-h") do the Right Thing.
13958         Make (accessible-keymaps map []) do the Right Thing.
13959         Make (accessible-keymaps map "") do the Right Thing.
13960         (check_keymap_definition_loop): New function.
13961         (keymap_store_internal): Keep luser from shooting self in foot,
13962           via (define-key ctl-x-4-map "p" global-map).
13963         Remove fullness slot from struct Lisp_Keymap, since hash tables
13964         are now reliable.
13965         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
13966
13967 2000-01-30  Martin Buchholz  <martin@xemacs.org>
13968
13969         * redisplay.c (init_redisplay): Fix small memory leak.
13970         * elhash.h:
13971         * elhash.c (pdump_reorganize_hash_table):
13972         Rename from reorganize_hash_table. Change prototype.
13973         Reuse the original memory for hentries.  Save 100k.
13974         * alloc.c (PDUMP_READ): new macro.
13975         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
13976         * alloc.c: No need to #ifndef before #undef.
13977
13978         * print.c: Allow debug_print() to print readably by modifying
13979         debug_print_readably.  Use consistent variable names.
13980
13981         * .dbxrc: Try to get things to work even if stopped in a function
13982         without source available by explicitly specifying source files.
13983 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13984
13985         * unexnt.c (_start): Removed bogus code which caused loading heap
13986         from differrent executable file.
13987         Removed bogus assignment to _fmode, which caused inconsistencies.
13988
13989 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13990
13991         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
13992         Have spawnve encapsulation regard DONT_ENCAPSULATE.
13993         Do not preliminary `#define signal sigset'.
13994
13995         * systime.h: Do not prototype environ on windows nt and cygwin,
13996         this conflicts with system header.
13997
13998         * syssignal.h: Use correct define for WINDOWSNT
13999
14000         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14001         with system header.
14002
14003         * sysdep.c (near start of file): Fixed commentary and rearranged
14004         ifdefs in readable order.
14005         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14006         (start_of_text):
14007         (end_of_text):
14008         (end_of_data): Do not compile in if using PDUMP.
14009
14010         * symsinit.h: Prototyped vars_of_nt().
14011
14012         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14013         (find_child_console): Use it.
14014         (sys_kill): Use it.
14015
14016         * ntheap.h: Do not extern os_subtype.
14017
14018         * ntheap.c (cache_system_info): Do not cache unneeded:
14019         nt_major_version, nt_minor_version and os_subtype.
14020         (recreate_heap): Do not compile in when PDUMPing.
14021
14022         * nt.c (geteuid and friends): Use the new varibale
14023         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14024         (init_user_info): Removed the above mentioned hackery.
14025         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14026         stat has been fixed in the C runtime.
14027         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14028
14029         * file-coding.c (struct file_coding_dump): Do not define
14030         ucs_to_mule_table in the struct if not MULE.
14031         (struct struct lrecord_description fcd_description_1): Do not dump
14032         the above.
14033
14034         * emacs.c (main_1): Call vars_of_nt().
14035         (right before Fdump_emacs_data): Don't need lastfile if using both
14036         portabe dumper and system malloc.
14037
14038         * alloc.c (Fmemory_limit): Conditionalized out.
14039         (pdump): Use OPEN_BINARY for the portable dump file.
14040         (pdump_load): Ditto.
14041
14042 2000-02-02  Mike Alexander  <mta@arbortext.com>
14043
14044         * nt.c (convert_time): Set tm_isdst before calling mktime and
14045         avoid calling it at all if the compiler supports 64 bit integers.
14046         Also initialize utc_base_ft before using it.
14047
14048 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14049
14050         * frame.c (change_frame_size_1): Take f->internal_border_width
14051         into consideration when calculating the width of the frame.
14052
14053 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14054
14055         * window.c (frame_min_height):
14056         (frame_size_valid_p):
14057         (frame_pixsize_valid_p): Added.
14058         (check_frame_size): Generalized.
14059
14060         * window.h: Prototyped the above.
14061
14062         * lisp.h:
14063         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14064         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14065         Deleted Vwin32_* and Vbinary_process_* unused variables.
14066
14067         * device-msw.c (msprinter_init_device): Do not get printer font
14068         list; Added DEVMODE functions.
14069
14070         * frame-msw.c: Added lots of printer code.
14071
14072         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14073         general.c.
14074
14075         * console-msw.h: Added more msprinter device private slots.
14076
14077 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14078
14079         * event-msw.c (key_needs_default_processing_p): Added.
14080         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14081
14082 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14083
14084         * glyphs.c (image_instance_layout): Mark image instance as clean
14085         after layout.
14086         (glyph_dirty_p): Removed redundant function.
14087         (invalidate_glyph_geometry_maybe): Added.
14088         (update_glyph_cachel_data): Call it.
14089
14090         * glyphs.h: Prototyped it.
14091
14092         * redisplay.c (add_glyph_rune): Call it.
14093         (redisplay_window): Reset glyphs cachels when frame faces have
14094         changed, thus forcing recomputation of built-in border glyphs.
14095
14096 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14097
14098         * Makefile.in.in: Make portable dumper and purify play well together.
14099         Add imperfect, but better than nothing, support for pdump.
14100         Remove xemacs.dmp when temacs is re-generated.
14101         Don't ignore errors when dumping xemacs.
14102
14103         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14104
14105 2000-01-28  Andy Piper  <andy@xemacs.org>
14106
14107         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14108         (setup_normal_frame): ditto.
14109         (setup_frame_without_minibuffer): ditto.
14110         (setup_minibuffer_frame): ditto.
14111         (delete_frame_internal): ditto.
14112         (Fmake_frame_invisible): ditto.
14113         (Ficonify_frame): ditto.
14114
14115         * window.h: change Fset_window_buffer signature.
14116
14117         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14118         (Fset_window_buffer): allow recording of buffer if the window is
14119         the selected window.
14120         (window_loop): Use new Fset_window signature.
14121
14122 2000-01-23  Daniel Pittman  <daniel@danann.net>
14123
14124         * config.h.in: Added template for `HAVE_ATHENA_3D'
14125
14126 2000-01-29  Andy Piper  <andy@xemacs.org>
14127
14128         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14129
14130         * gutter.c (output_gutter): Don't output if the window isn't live.
14131
14132 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14133
14134         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14135         of 01/12/00: Moved SetFocus back here where it belongs.
14136
14137 2000-01-23  Andy Piper  <andy@xemacs.org>
14138
14139         * s/cygwin32.h: declare printer things.
14140
14141 2000-01-26  Andy Piper  <andy@xemacs.org>
14142
14143         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14144         Alexander.
14145
14146 2000-01-24  Andy Piper  <andy@xemacs.org>
14147
14148         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14149         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14150
14151         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14152
14153         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14154
14155         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14156
14157         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14158         (mswindows_output_display_block): Avoid local shadows.
14159
14160         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14161         (mswindows_enqueue_mouse_button_event): ditto.
14162         (mswindows_handle_gui_wm_command): remove declaration.
14163
14164         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14165         warnings.
14166
14167         * console-msw.h: Avoid shadows.
14168         (mswindows_get_toolbar_button_text):
14169         (emacs_mswindows_create_stream_pair):
14170         (emacs_mswindows_delete_stream_pair):
14171         (mswindows_handle_toolbar_wm_command): declare.
14172
14173         * device-msw.c (build_syscolor_string): Avoid shadows.
14174
14175 2000-01-23  Andy Piper  <andy@xemacs.org>
14176
14177         * glyphs-widget.c (widget_instantiate): reverse the items for
14178         layouts so that children are in the expected order.
14179
14180 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14181
14182         * ralloc.c: safe_bcopy ==> memmove
14183         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14184         * s/msdos.h: Remove BCOPY macros.
14185         * insdel.c (gap_right): Remove BCOPY conditional code.
14186         * insdel.c (gap_left): Remove BCOPY conditional code.
14187         XEmacs demands a working ANSI C compiler - hence memmove.
14188
14189         * regex.c (regex_compile): Remove accidental use of trigraphs.
14190
14191 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14192
14193         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14194         event timestamp.
14195
14196 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14197
14198         * event-msw.c (mswindows_drain_windows_queue): Added the
14199         parameter.
14200         (mswindows_need_event): Commented the call to
14201         mswindows_drain_windows_queue().
14202         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14203         only.
14204
14205         * console-msw.h: Moved a few function prototypes here from
14206         event-msw.c.
14207
14208         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14209         parameter from unsigned short to unsigned long.
14210         (Fmswindows_shell_execute): Added return value.
14211
14212 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14213
14214         * sysdep.c (init_system_name):
14215           process-unix.c (unix_canonicalized_host_name):
14216         Don't call freeaddrinfo() if getaddrinfo() fails.
14217
14218         * process-unix.c (unix_open_unix_network_stream):
14219         Moved the code to get a port # into address loop.
14220
14221 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14222
14223         * buffer.c (reinit_vars_of_buffer):
14224         The right place to initialize conversion_in_dynarr and
14225         conversion_out_dynarr.
14226
14227         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14228
14229         * process-unix.c (unix_canonicalize_host_name): Muleize.
14230         (unix_open_network_stream): Muleize.
14231
14232         * buffer.h: Fix up prototypes for ralloc.c functions.
14233
14234 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14235         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14236         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14237                 instead of gethostbyname()
14238         * process-unix.c: In unix_canonicalize_host_name() and
14239                 unix_open_network_stream(), add code to use getaddrinfo()
14240                 instead of gethostbyname().
14241
14242 2000-01-27  Daniel Pittman <daniel@danann.net>
14243
14244         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14245         libs when built with flat Athena.
14246
14247 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14248
14249         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14250         Use coding standards for function prototypes.
14251
14252 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14253
14254         * dialog-msw.c (push_lisp_string_as_unicode):
14255         * doc.c (unparesseuxify_doc_string):
14256         * dired.c (Fuser_name_completion_1):
14257         * dired.c (Fuser_name_all_completions):
14258         * dired.c (free_user_cache):
14259         * dired.c (user_name_completion):
14260         * console-x.c (get_display_arg_connection):
14261         * minibuf.c (clear_echo_area_internal):
14262         * minibuf.c (echo_area_append):
14263         * eldap.c (Fldap_open):
14264         * eldap.c (Fldap_search_internal):
14265         * frame-x.c (x_set_frame_text_value):
14266         * frame-x.c (x_set_frame_properties):
14267         * frame-x.c (x_create_widgets):
14268         * redisplay-tty.c (term_get_fkeys_1):
14269         * objects-x.c (x_parse_nearest_color):
14270         * objects-x.c (x_valid_color_name_p):
14271         * objects-x.c (x_initialize_font_instance):
14272         * objects-x.c (x_list_fonts):
14273         * objects-x.c (x_find_charset_font):
14274         * tooltalk.c (Fadd_tooltalk_message_arg):
14275         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14276         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14277         * process-unix.c (unix_create_process):
14278         * ntproc.c (sys_spawnve):
14279         * sound.c (Fplay_sound_file):
14280         * sound.c (Fplay_sound):
14281         * buffer.c (init_initial_directory):
14282         * buffer.c (init_buffer):
14283         * editfns.c (init_editfns):
14284         * editfns.c (Ftemp_directory):
14285         * editfns.c (Fuser_full_name):
14286         * editfns.c (uncache_home_directory):
14287         * editfns.c (get_home_directory):
14288         * editfns.c (Fuser_home_directory):
14289         * editfns.c (Fformat_time_string):
14290         * editfns.c (Fcurrent_time_string):
14291         * gui-x.c (button_item_to_widget_value):
14292         * database.c (Fopen_database):
14293         * event-Xt.c (x_to_emacs_keysym):
14294         * event-Xt.c (x_event_to_emacs_event):
14295         * event-Xt.c (describe_event_window):
14296         * event-msw.c (mswindows_wnd_proc):
14297         * glyphs-eimage.c (jpeg_instantiate):
14298         * glyphs-eimage.c (gif_instantiate):
14299         * glyphs-eimage.c (png_instantiate):
14300         * glyphs-eimage.c (tiff_instantiate):
14301         * glyphs-x.c (xbm_instantiate_1):
14302         * glyphs-x.c (x_xbm_instantiate):
14303         * glyphs-x.c (x_xface_instantiate):
14304         * glyphs-x.c (autodetect_instantiate):
14305         * glyphs-x.c (cursor_font_instantiate):
14306         * glyphs-x.c (x_widget_instantiate):
14307         * glyphs-x.c (x_widget_set_property):
14308         * glyphs-x.c (x_widget_property):
14309         * glyphs-x.c (BUILD_GLYPH_INST):
14310         * print.c (write_string_to_stdio_stream):
14311         * print.c (output_string):
14312         * print.c (Falternate_debugging_output):
14313         * print.c (Fexternal_debugging_output):
14314         * glyphs-msw.c (extract_xpm_color_names):
14315         * glyphs-msw.c (mswindows_xpm_instantiate):
14316         * glyphs-msw.c (bmp_instantiate):
14317         * glyphs-msw.c (resource_name_to_resource):
14318         * glyphs-msw.c (mswindows_resource_instantiate):
14319         * glyphs-msw.c (xbm_instantiate_1):
14320         * glyphs-msw.c (mswindows_xbm_instantiate):
14321         * glyphs-msw.c (mswindows_xface_instantiate):
14322         * glyphs-msw.c (mswindows_widget_instantiate):
14323         * glyphs-msw.c (add_tree_item):
14324         * glyphs-msw.c (add_tab_item):
14325         * glyphs-msw.c (mswindows_combo_box_instantiate):
14326         * glyphs-msw.c (mswindows_widget_property):
14327         * glyphs-msw.c (mswindows_combo_box_property):
14328         * glyphs-msw.c (mswindows_widget_set_property):
14329         * console.c (stuff_buffered_input):
14330         * objects-msw.c (mswindows_initialize_color_instance):
14331         * objects-msw.c (mswindows_valid_color_name_p):
14332         * objects-msw.c (mswindows_list_fonts):
14333         * objects-msw.c (mswindows_font_instance_truename):
14334         * bytecode.c (optimize_compiled_function):
14335         * select-x.c (symbol_to_x_atom):
14336         * select-x.c (x_atom_to_symbol):
14337         * select-x.c (hack_motif_clipboard_selection):
14338         * select-x.c (selection_data_to_lisp_data):
14339         * select-x.c (lisp_data_to_selection_data):
14340         * select-x.c (Fx_get_cutbuffer_internal):
14341         * select-x.c (Fx_store_cutbuffer_internal):
14342         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14343         * buffer.h (TO_INTERNAL_FORMAT): New function.
14344         * emacs.c (make_arg_list_1):
14345         * emacs.c (make_argc_argv):
14346         * emacs.c (main_1):
14347         * emacs.c (Fdump_emacs):
14348         * emacs.c (split_string_by_emchar_1):
14349         * file-coding.h:
14350         * lisp.h:
14351         * lstream.h:
14352         * symsinit.h:
14353         * device-x.c (x_init_device):
14354         * device-x.c (Fx_valid_keysym_name_p):
14355         * device-x.c (Fx_get_font_path):
14356         * device-x.c (Fx_set_font_path):
14357         * glyphs.c (bitmap_to_lisp_data):
14358         * glyphs.c (pixmap_to_lisp_data):
14359         * alloc.c (make_ext_string): Use coding system arguments.  Update
14360         all callers.
14361         * alloc.c (build_string):
14362         * callproc.c (child_setup):
14363         * callproc.c (init_callproc):
14364         * fileio.c (lisp_strerror):
14365         * fileio.c (directory_file_name):
14366         * fileio.c (Fexpand_file_name):
14367         * fileio.c (Ffile_truename):
14368         * fileio.c (Fsysnetunam):
14369         * fileio.c (Fdo_auto_save):
14370         * sysdep.c (sys_readdir):
14371         * tests.c: New file.  Allow adding C tests.
14372         Replace GET_* macros with a more comprehensible and flexible
14373         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14374         Modify all calls.
14375         Any coding system can be used to do format conversion.
14376         Eliminate enum external_data_format.
14377         Eliminate convert_to_external_format.
14378         Eliminate convert_to_internal_format.
14379         Make sure file-name, keyboard, terminal, and ctext are always
14380         defined as coding systems or aliases.  Make
14381         file-name-coding-system, terminal-coding-system, and
14382         keyboard-coding-system magical variables that are equivalent to
14383         defining the corresponding coding system aliases.
14384
14385         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14386         * file-coding.c (Fcoding_system_alias_p): New function.
14387         * file-coding.c (Fcoding_system_aliasee): New function.
14388         * file-coding.c (append_suffix_to_symbol): New function.
14389         * file-coding.c (dangling_coding_system_alias_p): New function.
14390         * file-coding.c (Ffind_coding_system):
14391         * file-coding.c (Fcopy_coding_system):
14392         * file-coding.c (encode_coding_no_conversion):
14393         * file-coding.c (syms_of_file_coding):
14394         * file-coding.c (vars_of_file_coding):
14395         Rewrite coding system alias code.
14396         Allow nested aliases, like symbolic links.
14397         Allow redefinition of coding system aliases.
14398         Prevent existence of dangling coding system aliases.
14399
14400         * dired.c (Fuser_name_completion_1):
14401         * dired.c (Fuser_name_all_completions):
14402         A crash would happen if user did QUIT in the middle of building
14403         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14404
14405         * lisp.h:
14406         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
14407
14408         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
14409         an unsigned char *.  Update all callers.
14410
14411 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14412
14413         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
14414
14415 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14416
14417         * elhash.c (hentry_description): Use more portable definition.
14418         (resize_hash_table): Initialize new hentries using
14419         xnew_array_and_zero, thereby simplifying the code.
14420
14421         * mule-charset.c (make_charset): Make sure entire object is
14422         initialized, to avoid Purify warnings.
14423
14424         * alloc.c (resize_string): Fix unlikely crash with big strings.
14425
14426 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14427
14428         * realpath.c (xrealpath):
14429         Don't call getwd().
14430
14431 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14432
14433         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
14434
14435 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
14436
14437         * unexelfsgi.c (unexec): Change the way we decide which segment
14438         should be extended.
14439
14440         Assumption that .bss section should be outside the PT_LOADable
14441         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
14442         it's present) is inside the 'data' segment. This would fail the
14443         test which was used to find a segment to grow and cover new
14444         heap. Instead of this assumption, I created another one - on IRIX
14445         the segment to grow should start below .bss and it's address
14446         should extent above the end of .bss. Once this segment is
14447         identified, it's grown to accommodate the new heap and new
14448         zero-length .bss section is added at the end of .data2.
14449
14450 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14451
14452         * eval.c (Feval): Wrong number of arguments should use original
14453         function, not the indirect_function version of it.
14454
14455 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
14456
14457         * glyphs-x.c (x_button_instantiate): Don't add image if
14458         it is not a pixmap.
14459         (x_locate_pixmap_file): Call Fexpand_file_name when file name
14460         is relative.
14461
14462 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
14463
14464         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
14465         declaration.
14466         (DEFVAR_INT_MAGIC): Ditto.
14467         (DEFVAR_BOOL_MAGIC): Ditto.
14468         * glyphs.h: Reindent backslash.
14469
14470 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14471
14472         * glyphs-widget.c (layout_query_geometry):
14473         (layout_layout): Use correct types for gheight, gwidth.
14474
14475 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14476
14477         * EmacsManager.c (QueryGeometry): Purified.
14478
14479 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14480
14481         * alloc.c (make_float): Make sure entire object is initialized, to
14482         avoid Purify warnings.
14483         (pdump_register_sub): Remove useless assignment.
14484         (pdump): Use xmalloc, not malloc.
14485         (pdump_load): Use xmalloc, not malloc.
14486
14487 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14488
14489         * callproc.c:
14490         * dired-msw.c:
14491         * fileio.c:
14492         * process-nt.c:
14493         * redisplay-msw.c:
14494         * sysdep.c: Removed redundant #include <windows.h>
14495
14496 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14497
14498         * frame.c (delete_frame_internal): Do not delete device when its
14499         implementation so declares.
14500         (delete_frame_internal): Set device selected frame to nil when
14501         last frame goes away.
14502
14503         * device-msw.c (msprinter_device_system_metrics): Implemented.
14504         (mswindows_device_system_metrics): Added 'device-dpi property.
14505
14506         * device.c: (Fdevice_printer_p): Added.
14507         Added 'offset-workspace device metric.
14508
14509         * console.h (device_metrics): Declared DM_offset_workspace.
14510
14511 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14512
14513         * fileio.c (Ffile_truename): Remove pointless and confusing
14514         initialization of elen.
14515
14516         * glyphs-widget.c: Compiler warning fixes.
14517
14518 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
14519
14520         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
14521         instead of a Lisp_Object as argument to make it consistent with
14522         the other LIVE_P macros.
14523         (CHECK_LIVE_PROCESS): New macro.
14524
14525         * process.c: Declare Qprocess_live_p.
14526         (Fprocess_live_p): New function.
14527         (create_process): Use PROCESS_LIVE_P.
14528         (read_process_output): Ditto.
14529         (set_process_filter): Ditto.
14530         (Fdelete_process): Ditto.
14531         (kill_buffer_processes): Ditto
14532         (process_send_signal): Use CHECK_LIVE_PROCESS.
14533         (Fprocess_input_coding_system): Check whether process is still
14534         alive (fix PR#1061).
14535         (Fprocess_output_coding_system): Ditto.
14536         (Fprocess_coding_system): Ditto.
14537         (Fset_process_input_coding_system): Ditto.
14538         (Fset_process_output_coding_system): Ditto.
14539
14540 2000-01-23  Andy Piper  <andy@xemacs.org>
14541
14542         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
14543         layout and widget.
14544
14545         * glyphs.c (mark_image_instance): take into account changed
14546         image_instance format.
14547         (image_instance_equal): ditto.
14548         (image_instance_hash): ditto.
14549
14550         * glyphs-widget.c (widget_instantiate): Incorporate layout
14551         instantiation here. Delay layout of the layout until later.
14552         (layout_instantiate): deleted.
14553         (layout_query_geometry): new function. get the geometry of a
14554         layout.
14555         (layout_layout): layout a layout dynamically.
14556         (image_instantiator_widget): New function - splitting up
14557         image_instantiator_format_create_glyphs_widget for netwinder
14558         compilation.
14559         (image_instantiator_buttons):
14560         (image_instantiator_edit_fields):
14561         (image_instantiator_combo_box):
14562         (image_instantiator_scrollbar):
14563         (image_instantiator_progress_guage):
14564         (image_instantiator_tree_view):
14565         (image_instantiator_tab_control):
14566         (image_instantiator_labels):
14567         (image_instantiator_layout): ditto.
14568         (image_instantiator_format_create_glyphs_widget): Call preceding
14569         functions.
14570
14571 2000-01-22  Martin Buchholz  <martin@xemacs.org>
14572
14573         * process.c (Fset_process_coding_system):
14574         * device-x.c (Fx_keysym_hash_table):
14575         Docstring fixes.
14576
14577         * lstream.c (Lstream_write): Return documented value, not 0.
14578
14579         * fileio.c (directory_file_name):
14580         (Fsubstitute_in_file_name):
14581         (Fsubstitute_insert_file_contents_internal):
14582         (Fwrite_region_internal):
14583         * emacs.c:
14584         * sysdep.c:
14585         * getloadavg.c:
14586         * systty.h:
14587         Remove vestigial APOLLO-conditional code.
14588
14589 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14590
14591         * getpagesize.h: Add guard macros.
14592         * libsst.h: Add guard macros.
14593         * libst.h: Add guard macros.
14594         * line-number.h: Add guard macros.
14595         * ndir.h: Add guard macros.
14596         * sysfloat.h: Add guard macros.
14597         * sysfile.h: Add guard macros.
14598         * sysproc.h: Add guard macros.
14599         * syswait.h: Add guard macros.
14600         * xintrinsic.h: Add guard macros.
14601         * xintrinsicp.h: Add guard macros.
14602         * xmmanager.h: Add guard macros.
14603         * xmmanagerp.h: Add guard macros.
14604         * xmprimitive.h: Add guard macros.
14605         * xmu.h: Add guard macros.
14606         * gpmevent.h: Add copyright statement. Add guard macros.
14607         * miscplay.h: Add guard macros.
14608         * *.h: Use consistent C-standards-approved guard macro names.
14609
14610         * opaque.c (make_opaque): Switch parameter order.
14611         * opaque.h (make_opaque): Switch parameter order.
14612         Update all callers.
14613         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
14614
14615         * config.h.in (type_checking_assert): Added.
14616         (bufpos_checking_assert): Added.
14617
14618 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14619
14620         * alloc.c: Harmless pdump changes.
14621         - Use countof().
14622         - spell alignment correctly.
14623         * sysdep.c: Use countof()
14624
14625 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14626
14627         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
14628         initially_selected_for_input() console method, default to 0.
14629         (semi_canonicalize_console_connection): Try to delegate to
14630         canonicalize_console_connection if no such console method.
14631         (canonicalize_console_connection): Vice versa.
14632         (print_console): Do not print nil connection.
14633
14634         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
14635         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
14636         (XDEVIMPF_FRAMELESS_OK): Added.
14637         (CONSOLE_INHERITS_METHOD): Added.
14638
14639         * console-msw.c (mswindows_canonicalize_console_connection):
14640         Added.
14641         (mswindows_canonicalize_device_connection): Added.
14642
14643         * console-msw.h (struct msprinter_device): Added this struct and
14644         accessor macros.
14645         (mswindows_device): Made fontlist a lisp object.
14646
14647         * device.c (semi_canonicalize_device_connection):  Try to delegate
14648         to canonicalize_device_connection if no such console method.
14649         (canonicalize_device_connection): Vice versa.
14650         (print_device): Do not print nil connection.
14651
14652         * device-msw.c (mswindows_init_device): Call InitCommonControls
14653         when have widgets.
14654         (mswindows_delete_device): Removed fontlist deallocation.
14655         (mswindows_mark_device): Added.
14656
14657         * events.c (event_equal): Added abort() at unreached code.
14658         (event_hash): Ditto.
14659
14660         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
14661         fallback tags of Windows devices.
14662
14663         * general.c (syms_of_general): Initialized Qmsprinter.
14664
14665         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
14666         of fallback tags of Windows devices.
14667
14668         * lisp.h: Declared Qmsprinter.
14669
14670         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
14671         of strings.
14672         (mswindows_list_fonts): Ditto.
14673         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
14674         that it can be used by both mswindows and msprinter devices.
14675         (initialize_font_instance): Added.
14676         (mswindows_initialize_font_instance): Use it.
14677         (msprinter_initialize_font_instance): Added.
14678
14679         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
14680         and implementation flags check.
14681         (redisplay_without_hooks): Changed the call to the above.
14682         (Fredraw_device): Ditto.
14683         (Fredisplay_device): Ditto.
14684
14685         * redisplay-msw.c (get_frame_dc): Implemented.
14686         (get_frame_compdc): Implemented.
14687         (many functions): Use the two functions above to get device
14688         contexts, ether for a window or a printer.
14689
14690 2000-01-21  Olivier Galibert  <galibert@pobox.com>
14691
14692         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
14693         initialization here.
14694         (init_symbols_once_early): Call it.
14695         * emacs.c (main_1): Call it.
14696         * symsinit.h: Declare it.
14697
14698 2000-01-19  Olivier Galibert  <galibert@pobox.com>
14699
14700         * alloc.c: Use a lrecord_header * in the backtrace instead of a
14701         Lisp_Object.
14702         (pdump_backtrace): Ditto.
14703         (pdump_register_object): Ditto.  Cleanup use of the pointers.
14704         (pdump_get_entry): Abort if trying to register a null pointer.
14705         (pdump_dump_data): Cleanup types when relocating.
14706         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
14707         (pdump_dump_rtables): Remove bad casts.
14708         (pdump_load): Cleanup relocation w.r.t union type.  Use a
14709         Lisp_Object instead of a EMACS_INT for the hashtable
14710         reorganization.
14711
14712 2000-01-20  Martin Buchholz  <martin@xemacs.org>
14713
14714         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
14715
14716         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
14717
14718         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
14719
14720         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
14721
14722 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14723
14724         * faces.h (FACE_STRIKETHRU_P): Added.
14725
14726         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
14727         of font variants.
14728
14729         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
14730         (mswindows_set_dc_font): New function, aware of font variants,
14731         separated from mswindows_update_dc.
14732
14733         * objects-msw.h (struct mswindows_font_instance_data): Added
14734         definition.
14735
14736         * objects-msw.c (mswindows_finalize_font_instance): Delete all
14737         cached fonts and the data structure.
14738         (mswindows_initialize_font_instance): Added creation of font data
14739         structure.
14740         (mswindows_print_font_instance): Print at least something.
14741         (mswindows_create_font_variant): Implemented.
14742         (mswindows_get_hfont): Implemented.
14743
14744 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
14745
14746         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
14747         prototyping problem with msvc.
14748
14749         * emacs.c (main_1): added syms_of_gui_mswindows() call
14750
14751         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
14752         syms_of_gui_mswindows() function
14753
14754         * symsinit.h: added the prototype for syms_of_gui_mswindows()
14755
14756 2000-01-18  Martin Buchholz <martin@xemacs.org>
14757
14758         * XEmacs 21.2.27 is released.
14759
14760 2000-01-18  Martin Buchholz  <martin@xemacs.org>
14761
14762         * glyphs-eimage.c (struct tiff_error_struct):
14763         (tiff_error_func):
14764         (tiff_warning_func):
14765         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
14766
14767         * unexmips.c:
14768         * unexhp9k3.c:
14769         * unexfreebsd.c:
14770         * unexec.c: Remove vestigial Lucid C code.
14771         * unexalpha.c:
14772         * unexaix.c:
14773         * termcap.c:
14774         * libsst.c: Ansify.
14775         Remove declarations of errno and strerror().
14776
14777         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
14778
14779         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
14780
14781 2000-01-16  Martin Buchholz  <martin@xemacs.org>
14782
14783         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
14784         Optimize.
14785
14786 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14787
14788         * md5.c:
14789         * file-coding.c:
14790         * file-coding.h:
14791         Change enum eol_type to eol_type_t.
14792
14793 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14794
14795         * gui.c (get_gui_callback): Check cons before accessing car.
14796
14797 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14798
14799         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
14800         (XSETSPECIFIER_TYPE): Ditto.
14801
14802 2000-01-17  Didier Verna  <didier@xemacs.org>
14803
14804         * redisplay.c (generate_fstring_runes): compute string size in
14805         characters, not bytes.
14806
14807 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14808
14809         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
14810
14811 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
14812
14813         * print.c (print_error_message): Call print_prepare().
14814
14815 2000-01-14  Martin Buchholz  <martin@xemacs.org>
14816
14817         * .dbxrc: Renamed from dbxrc.
14818
14819         * events.c (event_to_character):
14820         Use `assert (foo)' instead of `if (!foo) abort()'
14821
14822         * .gdbinit (xtype): Add documentation.
14823         * .gdbinit (check-temacs): New function.
14824         * .gdbinit (check-xemacs): New function.
14825         * dbxrc (check-xemacs): New function.
14826         * dbxrc (check-xemacs): New function.
14827
14828 2000-01-14  Andy Piper  <andy@xemacs.org>
14829
14830         * glyphs-widget.c (widget_query_geometry): Make sure that we
14831         calculate default dimensions correctly.
14832
14833 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14834
14835         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
14836
14837         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
14838         pdump_wire'd variable.
14839
14840         * emacs.c: (main_1): Conditionalized calls to
14841         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
14842
14843 2000-01-13  Martin Buchholz  <martin@xemacs.org>
14844
14845         * window.c (Fset_window_configuration):
14846         * sysdep.c (_start):
14847         * input-method-motif.c (res):
14848         * event-Xt.c (Xt_process_to_emacs_event):
14849         Simple compiler warning fixes.
14850
14851         * bytecode.c (funcall_compiled_function): Use the original
14852         function symbol on the backtrace list in preference to the
14853         compiled_function object in error messages.
14854
14855 2000-01-13  Andy Piper  <andy@xemacs.org>
14856
14857         * glyphs-x.c (update_widget_face): Make sure we update the widget
14858         background as well as foreground.
14859
14860 2000-01-13  Andy Piper  <andy@xemacs.org>
14861
14862         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
14863         fields to subwindow.
14864         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
14865         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
14866         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14867         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
14868
14869         * glyphs-widget.c (check_valid_tab_orientation): new function.
14870         (initialize_widget_image_instance): zero orientation and
14871         justification.
14872         (widget_instantiate): pick up orientation.
14873         (tab_control_query_geometry): return appropriate values for
14874         vertical tabs.
14875
14876         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
14877         appropriate creation flags for left, right and bottom tabs.
14878
14879         * s/cygwin32.h: add tab definitions.
14880
14881 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14882
14883         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
14884         frame upon hiding a subwindow.
14885         (mswindows_button_instantiate): Changed the push button style to
14886         BS_PUSHBUTTON.
14887         (mswindows_button_instantiate): Removed button BS_NOTIFY
14888         style.
14889         (mswindows_button_instantiate): Removed redundant check for
14890         a disabled gui item.
14891         (mswindows_button_instantiate): Made use of WS_TABSTOP
14892         consistent: "operable" controls (edit, button, tree, scroll) have
14893         this style, "display-only" ones (static, progress gauge) do
14894         not. This style is currently ignored by XEmacs though. Also,
14895         removed the WS_EX_CONTROLPARENT style - it is not for children,
14896         it is for their parents!
14897         (mswindows_edit_field_instantiate): Ditto.
14898         (mswindows_progress_gauge_instantiate): Ditto.
14899         (mswindows_tree_view_instantiate): Ditto.
14900         (mswindows_tab_control_instantiate): Ditto.
14901         (mswindows_scrollbar_instantiate): Ditto.
14902         (mswindows_combo_box_instantiate): Ditto.
14903         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
14904         style to the "clip" window.
14905         (mswindows_button_instantiate): Removed compilation warning by
14906         equally typing terms of the ?: operator.
14907
14908 2000-01-12  Didier Verna  <didier@xemacs.org>
14909
14910         * redisplay.c (generate_fstring_runes): new parameter holding the
14911         last modeline-format extent.
14912         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
14913         extent, fill the glyph block with it.
14914         (generate_fstring_runes): handle these parameters.
14915         (generate_formatted_string_db): ditto.
14916
14917         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
14918         glyphs'extents in the modeline.
14919
14920 1999-01-11  Mike Woolley  <mike@bulsara.com>
14921
14922         * ntheap.c: Reduced the reserved heap space from 1Gb down to
14923         256Mb, as a workaround for the non-starting problem many people
14924         have experienced.
14925
14926 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14927
14928         * console-tty.c (Fset_console_tty_output_coding_system):
14929         Force redrawing tty frame.
14930
14931 2000-01-10  Didier Verna  <didier@xemacs.org>
14932
14933         * redisplay.c (generate_fstring_runes): fix size computation bug.
14934
14935 2000-01-09  William M. Perry <wmperry@aventail.com>
14936
14937         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
14938
14939 2000-01-09  Andy Piper  <andy@xemacs.org>
14940
14941         * glyphs-msw.c: index -> i to avoid shadows.
14942         (xbm_create_bitmap_from_data): make static.
14943         (check_valid_string_or_int): deleted.
14944         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
14945
14946         * glyphs-x.c (x_update_subwindow): remove unused args.
14947
14948         * glyphs.c (glyph_image_instance): return the thing. Don't set the
14949         back pointer - this is done in allocate_image_instance.
14950         (query_string_font): return Qnil to make the compiler happy.
14951         (unmap_subwindow): set to ~0 to make the compiler happy.
14952         (glyph_query_geometry): comment out until used.
14953         (glyph_layout): ditto.
14954
14955 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
14956
14957         * insdel.c (signal_after_change): Remove extraneous unbind_to().