(GT-K02180): New character.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Vcharset_ucs_big5): Deleted.
4         (Vcharset_ideograph_gt): Deleted.
5         (Qucs_big5): Deleted.
6         (Qideograph_gt): Deleted.
7         (syms_of_mule_charset): Delete symbol `ucs-big5' and
8         `ideograph-gt'.
9         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
10         and `ideograph-gt'.
11
12         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
13         (LEADING_BYTE_GT): Deleted.
14         (MIN_CHAR_GT): Deleted.
15         (MAX_CHAR_GT): Deleted.
16
17 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
18
19         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
20
21 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
22
23         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
24         (save_uint16_byte_table): Likewise.
25         (save_byte_table): Likewise; convert values by it.
26         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
27         for `ideographic-structure'.
28         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
29         as the filter for `ideographic-structure'.
30
31 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
32
33         * chartab.c (put_char_composition): New function.
34         (Fput_char_attribute): Use `put_char_composition'; use
35         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
36
37         * fns.c (simplify_char_spec): New function.
38         (char_ref_simplify_spec): New function.
39         (Fchar_refs_simplify_char_specs): New function.
40         (syms_of_fns): Add new builtin function
41         `char-refs-simplify-char-specs'.
42
43 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
44
45         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
46         (Qideograph_cbeta): Deleted.
47         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
48         (complex_vars_of_mule_charset): Likewise.
49
50         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
51         (MIN_CHAR_CBETA): Comment out.
52         (MAX_CHAR_CBETA): Likewise.
53
54 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
55
56         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
57         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
58         CHISE client feature.
59
60 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
61
62         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
63
64 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
65
66         * mule-charset.c (charset_lookup_description_1): Use
67         `NUM_LEADING_BYTES' in UTF-2000.
68
69 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
70
71         * char-ucs.h (GC_CHARSETP): Deleted.
72
73 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * char-ucs.h (MAX_CHAR_GT): Updated.
76
77 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
78
79         * text-coding.c: Sync with XEmacs 21.4.10.
80
81 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
82
83         * mule-charset.c (Vcharset_china3_jef): Deleted.
84         (Qchina3_jef): Deleted.
85         (syms_of_mule_charset): Don't define `china3-jef'.
86         (complex_vars_of_mule_charset): Likewise.
87
88         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
89         (MIN_CHAR_CHINA3_JEF): Comment out.
90         (MAX_CHAR_CHINA3_JEF): Comment out.
91
92 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
93
94         * mule-charset.c (Vcharset_ucs_gb): New variable.
95         (Qucs_gb): New variable.
96         (syms_of_mule_charset): Add new symbol `ucs-gb'.
97         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
98
99         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
100
101 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
102
103         * mule-charset.c (charset_code_point): if a coded-charset has a
104         final-byte, don't inherit the builtin range of the mother CCS.
105
106 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * mule-charset.c (charset_code_point): Fix problem about
109         inheritance.
110
111 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
112
113         * mule-charset.c (decode_builtin_char): Reorganized.
114
115 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * text-coding.c (char_encode_as_entity_reference): Modify for
118         `charset_code_point'.
119         (char_encode_shift_jis): Likewise.
120         (char_encode_big5): Likewise.
121         (char_encode_utf8): Likewise.
122         (char_encode_iso2022): Likewise.
123
124         * mule-charset.c (charset_code_point): Add new argument
125         `defined_only'.
126         (Fencode_char): Add new optional argument `defined_only'.
127
128         * chartab.c (put_char_table): Modify for `charset_code_point'.
129
130         * char-ucs.h (charset_code_point): Add new argument
131         `defined_only'.
132         (encode_char_1): Modify for `charset_code_point'.
133
134 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
135
136         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
137         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
138
139 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
140
141         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
142         (Qjis_x0208): Likewise.
143         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
144         XCHARSET_FINAL(charset).
145         (charset_code_point): Modify condition for final-byte based
146         builtin-chars.
147         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
148         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
149         in UTF-2000; specify `=jis-x0208' as the mother of
150         `japanese-jisx0208-1978', `japanese-jisx0208' and
151         `japanese-jisx0208-1990' in UTF-2000.
152
153 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
154
155         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
156
157 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
158
159         * text-coding.c (decode_coding_utf16): Support UTF-16.
160         (char_encode_utf16): Fixed.
161
162 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
163
164         * text-coding.c (Qutf16): New variable in MULE.
165         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
166         (Fcoding_system_type): Add `utf-16' in MULE.
167         (struct detection_state): Add a structure for utf16 in MULE.
168         (detect_coding_type): Setup st->utf16.mask in MULE.
169         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
170         MULE.
171         (reset_encoding_stream): Use `char_encode_utf16' and
172         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
173         (detect_coding_utf16): New function [incomplete].
174         (decode_coding_utf16): New function [support only UCS-2].
175         (char_encode_utf16): New function.
176         (char_finish_utf16): New function.
177         (syms_of_file_coding): Add new symbol `utf-16'; setup
178         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
179
180         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
181         UTF-2000.
182         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
183         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
184
185 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
186
187         * chartab.c (put_char_table): When a charset is specified as a
188         range in UTF-2000, don't support builtin characters.
189
190 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
191
192         * mule-charset.c (decode_defined_char): Don't refer external
193         database if Qunbound or Qnil are found.
194         (Fsave_charset_mapping_table): Don't define it if
195         HAVE_CHISE_CLIENT is not defined.
196         (Freset_charset_mapping_table): New function.
197         (load_char_decoding_entry_maybe): Store Qnil if a character is not
198         found in external database.
199         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
200         if HAVE_CHISE_CLIENT is not defined; add new builtin function
201         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
202
203 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
204
205         * text-coding.c (decode_coding_utf8): Check CCS is specified or
206         not.
207
208 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
209
210         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
211         Q_lowercase, Q_uppercase in UTF-2000.
212
213         * chartab.c (get_char_table): Add special code for the standard
214         case table to use character attribute `->downcase' and
215         `->uppercase' for case operations in UTF-2000.
216
217         * casetab.c (Qflippedcase): New variable in UTF-2000.
218         (Q_lowercase): Likewise.
219         (Q_uppercase): Likewise.
220         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
221         and `->uppercase' in UTF-2000.
222         (complex_vars_of_casetab): Assign attribute name `downcase' to
223         downcase and CANON table of Vstandard_case_table in UTF-2000;
224         assign attribute name `flippedcase' to upcase and EQV table of
225         Vstandard_case_table in UTF-2000.
226
227 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
228
229         * text-coding.c (decode_add_er_char): Support isolated-chars.
230         (char_encode_as_entity_reference): Likewise.
231
232 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
233
234         * emacs.c (Vutf_2000_lisp_directory): New variable.
235         (Vconfigure_utf_2000_lisp_directory): Likewise.
236         (complex_vars_of_emacs): Add new variable
237         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
238
239 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
240
241         * char-ucs.h (DECODE_CHAR): Delete special code for
242         `chinese-big5-1' and `chinese-big5-2'.
243
244         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
245         (Qbig5_2): Likewise.
246         (decode_defined_char): Support CONVERSION_BIG5_1 and
247         CONVERSION_BIG5_2.
248         (decode_builtin_char): Likewise.
249         (charset_code_point): Likewise.
250         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
251         'conversion in UTF-2000.
252         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
253         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
254         `chinese-big5-2' as children of `chinese-big5'.
255
256         * char-ucs.h (CONVERSION_BIG5_1): New macro.
257         (CONVERSION_BIG5_2): New macro.
258
259 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
260
261         * text-coding.c (char_encode_big5): Support entity-reference.
262
263 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
264
265         * text-coding.c (char_encode_as_entity_reference): New function.
266         (char_encode_utf8): Use `char_encode_as_entity_reference'.
267
268 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
269
270         * text-coding.c (decode_coding_big5): Support entity-reference
271         decoding feature.
272
273 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * text-coding.c (allocate_coding_system): Initialize initial
276         charsets for CODESYS_UTF8.
277         (Fmake_coding_system): Accept charset-g0, charset-g1 and
278         charset-g2 for CODESYS_UTF8.
279         (decode_coding_utf8): Use charset-g0.
280         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
281         to force variants to map to UCS.
282
283 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
284
285         * text-coding.c (Qutf_8_mcs): New variable.
286         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
287         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
288         instead of `utf-8' in UTF-2000.
289
290 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
291
292         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
293         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
294         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
295         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
296         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
297         CONVERSION_96x96x96x96 are introduced.
298         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
299         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
300         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
301
302         * char-ucs.h (CONVERSION_94): New macro.
303         (CONVERSION_96): New macro.
304         (CONVERSION_94x94): New macro.
305         (CONVERSION_96x96): New macro.
306         (CONVERSION_94x94x94): New macro.
307         (CONVERSION_96x96x96): New macro.
308         (CONVERSION_94x94x94x60): New macro.
309         (CONVERSION_94x94x94x94): New macro.
310         (CONVERSION_96x96x96x96): New macro.
311
312 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
313
314         * chartab.c (Vcharacter_variant_table): Deleted.
315         (Fchar_variants): Use character-attribute `->ucs-variants' instead
316         of `Vcharacter_variant_table'.
317         (Fput_char_attribute): Likewise.
318         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
319         (complex_vars_of_chartab): Likewise.
320
321 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
322
323         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
324
325         * fns.c (Qideographic_structure): New variable.
326         (Qkeyword_char): New variable.
327         (ids_format_unit): New function.
328         (Fideographic_structure_to_ids): New function.
329         (syms_of_fns): Add new symbols `ideographic-structure' and
330         `:char'; add new builtin function `ideographic-structure-to-ids'.
331
332         * data.c (Fchar_ref_p): New function.
333         (syms_of_data): Add new builtin function `char-ref-p'.
334
335         * chartab.h: Add an EXFUN for `Ffind_char'.
336
337 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
338
339         * text-coding.c (Vcharacter_composition_table): Deleted.
340         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
341         in every UTF-2000.
342
343         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
344         UTF-2000.
345         (Vcharacter_composition_table): Deleted.
346         (Fget_composite_char): Use the implementation for external-DB
347         support in every UTF-2000.
348         (Fput_char_attribute): Likewise.
349         (char_attribute_system_db_file): Don't define if external-DB
350         feature is not available.
351         (Fsave_char_attribute_table): Likewise.
352         (Fmount_char_attribute_table): Likewise.
353         (Fclose_char_attribute_table): Likewise.
354         (Freset_char_attribute_table): Likewise.
355         (Fload_char_attribute_table): Likewise.
356         (syms_of_chartab): Don't define `save-char-attribute-table',
357         `mount-char-attribute-table', `reset-char-attribute-table',
358         `close-char-attribute-table' and `load-char-attribute-table' if
359         external-DB feature is not available.
360         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
361
362 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
363
364         * text-coding.c (Qcomposition): Add extern if external-DB feature
365         is supported.
366         (Vcharacter_composition_table): Don't add extern if external-DB
367         feature is supported.
368         (COMPOSE_ADD_CHAR): Modify for new data-representation of
369         character composition rule if external-DB feature is supported.
370
371         * chartab.c (Vcharacter_composition_table): Don't define if
372         external-DB feature is supported.
373         (Qcomposition): New variable.
374         (Fget_composite_char): New implementation for external-DB support.
375         (Fput_char_attribute): Use `composition' property of each
376         character instead of `Vcharacter_composition_table' to store
377         character-composition rules if external-DB feature is supported.
378         (syms_of_chartab): Add new symbol `composition'.
379         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
380         external-DB feature is supported.
381
382 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
383
384         * chartab.c (Vchar_db_stingy_mode): New variable.
385         (load_char_attribute_maybe): Close database if
386         Vchar_db_stingy_mode is not NIL.
387         (Fload_char_attribute_table_map_function): Use
388         `get_char_id_table_0' instead of `get_char_id_table'.
389         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
390
391         * chartab.h (get_char_id_table_0): New inline function.
392         (get_char_id_table): Use `get_char_id_table_0'.
393
394 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
395
396         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
397         and `COMPOSE_ADD_CHAR'.
398         (decode_coding_iso2022): Use `decode_flush_er_chars'.
399
400 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
401
402         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
403         instead of `DECODE_ADD_UCS_CHAR'.
404         (COMPOSE_ADD_CHAR): Likewise.
405
406 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
407
408         * text-coding.c (decode_flush_er_chars): New inline function.
409         (decode_add_er_char): New function.
410         (decode_coding_utf8): Use `decode_flush_er_chars' and
411         `decode_add_er_char'.
412
413 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
414
415         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
416         done before `decode_output_utf8_partial_char'.
417
418         * mule-charset.c (complex_vars_of_mule_charset): Specify
419         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
420         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
421
422 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * mule-charset.c (decode_defined_char): New function; search
425         mother.
426         (decode_builtin_char): Don't search mother if
427         XCHARSET_MAX_CODE(charset) == 0.
428         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
429         == 0 even if code >= XCHARSET_MAX_CODE(charset).
430         (Fdecode_char): Use `decode_defined_char' instead of
431         `DECODE_DEFINED_CHAR'.
432         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
433         mother of `Vcharset_ucs_jis'.
434
435         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
436         instead of `DECODE_DEFINED_CHAR'.
437
438         * char-ucs.h (decode_defined_char): Renamed from
439         `DECODE_DEFINED_CHAR'; changed to normal function.
440         (DECODE_CHAR): Use `decode_defined_char' instead of
441         `DECODE_DEFINED_CHAR'.
442
443         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
444
445 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
446
447         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
448
449         * text-coding.c (Vcoded_charset_entity_reference_alist): New
450         variable.
451         (Quse_entity_reference): New variable.
452         (Qd): New variable.
453         (Qx): New variable.
454         (QX): New variable.
455         (coding_system_description): Add description for
456         `ccs_priority_list'.
457         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
458         (allocate_coding_system): Initialize `ccs_priority_list' in
459         UTF-2000.
460         (Fmake_coding_system): Add description about
461         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
462         (codesys).
463         (Fcoding_system_property): Accept `disable-composition' and
464         `use-entity-reference' in UTF-2000.
465         (struct decoding_stream): Add new member `er_counter' and `er_buf'
466         in UTF-2000.
467         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
468         (decode_coding_utf8): Decode entity-reference if
469         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
470         (char_encode_utf8): Encode non-Unicode characters as
471         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
472         (str->codesys).
473         (syms_of_file_coding): Add new symbols `use-entity-reference',
474         `d', `x', `X'.
475         (vars_of_file_coding): Add new variable
476         `coded-charset-entity-reference-alist'.
477         (complex_vars_of_file_coding): Declare `disable-composition' and
478         `use-entity-reference' to be coding-system-properties in UTF-2000.
479
480         * file-coding.h (struct Lisp_Coding_System): Add new member
481         `use_entity_reference' and `ccs_priority_list'.
482         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
483         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
484         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
485
486 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
487
488         * chartab.c (save_uint8_byte_table): Don't clear the table.
489         (save_uint16_byte_table): Likewise.
490         (save_byte_table): Likewise.
491         (Fmount_char_attribute_table): New function.
492         (syms_of_chartab): Add new builtin function
493         `mount-char-attribute-table'.
494
495 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
496
497         * mule-charset.c (Fsave_charset_mapping_table): Open database as
498         "w+" mode.
499         (load_char_decoding_entry_maybe): Open database as read-only mode.
500
501         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
502         open database as "w+" mode.
503         (load_char_attribute_maybe): Open database as read-only mode.
504         (Fload_char_attribute_table): Likewise.
505
506 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
507
508         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
509         (char_table_description): Delete member `db_file'.
510         (Fmake_char_table): Don't refer `ct->db_file'.
511         (Fcopy_char_table): Likewise.
512         (Fsave_char_attribute_table): Likewise.
513         (Fclose_char_attribute_table): Likewise.
514         (Freset_char_attribute_table): Likewise.
515         (load_char_attribute_maybe): Likewise.
516         (Fload_char_attribute_table): Likewise.
517
518         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
519
520 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
523         (Fsave_char_attribute_table): Don't check `ct->db_file' if
524         `ct->db' is living.
525         (load_char_attribute_maybe): Likewise.
526         (Fload_char_attribute_table): Likewise.
527
528 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
529
530         * chartab.c (Fclose_char_attribute_table): Set Qnil on
531         `ct->db_file' unconditionally.
532
533 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
534
535         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
536         UTF-2000.
537         (char_table_description): Add description for `db_file' and `db'
538         in UTF-2000.
539         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
540         UTF-2000.
541         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
542         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
543         (Fclose_char_attribute_table): New function.
544         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
545         (load_char_attribute_maybe): Change interface; use `cit->db_file'
546         and `cit->db'.
547         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
548         (syms_of_chartab): Add new builtin function
549         `Fclose_char_attribute_table'.
550
551 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
552
553         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
554         `db' in UTF-2000.
555         (load_char_attribute_maybe): Change interface.
556         (get_char_id_table): Modify for `load_char_attribute_maybe'.
557
558 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
559
560         * database.h: Add an EXFUN for `Fdatabase_live_p'.
561
562 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
563
564         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
565         instead of `DECODE_CHAR' for mother; don't use special code for
566         chinese-big5 to use code space of chinese-big5-1 and
567         chinese-big5-2.
568         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
569         `MAX_CHAR_BIG5_CDP' for chinese-big5.
570
571         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
572         (MAX_CHAR_BIG5_CDP): Revival.
573
574 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
577         the XLFD registry-encoding name of `chinese-big5'.
578
579 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
580
581         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
582         (Qchinese_big5_cdp): Deleted.
583         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
584         (complex_vars_of_mule_charset): Delete coded-charset
585         `chinese-big5-cdp'.
586
587         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
588         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
589         `CHARSET_ID_OFFSET - n' for private CCS.
590         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
591         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
592         of `MIN_LEADING_BYTE'.
593         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
594         `(CHARSET_ID_OFFSET - 97)'.
595         (MIN_CHAR_BIG5_CDP): Deleted.
596         (MAX_CHAR_BIG5_CDP): Deleted.
597
598 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
599
600         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
601
602 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
603
604         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
605         (vars_of_mule): Add new variable `utf-2000-version' [moved from
606         chartab.c].
607
608         * chartab.c (Vutf_2000_version): Moved to mule.c.
609         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
610
611 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
612
613         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
614         when HAVE_CHISE_CLIENT is not defined.
615
616         * mule.c (vars_of_mule): Provide feature `chise' when
617         HAVE_CHISE_CLIENT is defined.
618
619 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
620
621         * config.h.in (UTF2000): Add comment.
622         (HAVE_CHISE_CLIENT): New macro.
623
624 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
625
626         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
627         CONSP.
628         (Fput_char_attribute): Likewise.
629         (char_attribute_system_db_file): Encode file-name of attribute.
630         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
631         the initial value.
632
633 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
634
635         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
636         (Fsave_charset_mapping_table): Use
637         `char_attribute_system_db_file'.
638         (load_char_decoding_entry_maybe): Likewise.
639
640         * chartab.h (Qsystem_char_id): New external variable.
641         (char_attribute_system_db_file): New prototype.
642
643         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
644         (char_attribute_system_db_file): New function.
645         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
646         (Freset_char_attribute_table): Likewise.
647         (load_char_attribute_maybe): Likewise.
648         (Fload_char_attribute_table): Likewise.
649         (syms_of_chartab): Add new symbol `system-char-id'.
650
651 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
652
653         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
654         `XCHARSET_GRAPHIC(ccs)'.
655
656 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
657
658         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
659
660 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
661
662         * chartab.c (Q_ucs_variants): New variable.
663         (syms_of_chartab): Add new symbol `->ucs-variants'.
664         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
665         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
666         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
667
668         * mule-charset.c (load_char_decoding_entry_maybe): New function.
669
670         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
671         `HAVE_DATABASE' is defined.
672         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
673         `HAVE_DATABASE' is defined.
674
675 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
676
677         * chartab.c (Fsave_char_attribute_table): Don't clear internal
678         attribute-table.
679         (Freset_char_attribute_table): New function.
680         (syms_of_chartab): Add new builtin function
681         `reset-char-attribute-table'.
682
683 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
684
685         * chartab.c (load_char_attribute_maybe): Don't make directories.
686
687 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
688
689         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
690
691         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
692         for decoding-table.
693
694 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
695
696         * mule-charset.c (Fsave_charset_mapping_table): Use
697         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
698
699         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
700         instead of `XCHARSET_CHARS'.
701
702 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
703
704         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
705         (XCHARSET_BYTE_SIZE): Likewise.
706
707         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
708         mule-charset.c].
709         (XCHARSET_BYTE_SIZE): Likewise.
710
711 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
712
713         * chartab.c (Fput_char_attribute): Use exec-directory instead of
714         data-directory to store database.
715         (Fsave_char_attribute_table): Likewise.
716         (load_char_attribute_maybe): Likewise.
717         (Fload_char_attribute_table): Likewise.
718
719 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
720
721         * mule-charset.c (Fsave_charset_mapping_table): New function.
722         (syms_of_mule_charset): Add new builtin function
723         `save-charset-mapping-table'.
724
725 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * char-ucs.h (decoding_table_check_elements): Delete prototype.
728         (get_ccs_octet_table): New inline function.
729         (put_ccs_octet_table): Likewise.
730         (decoding_table_put_char): Use `get_ccs_octet_table' and
731         `put_ccs_octet_table'.
732         (decoding_table_remove_char): Use `decoding_table_put_char'.
733         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
734
735         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
736         into encoding_table.
737         (make_charset): Use Qunbound instead Qnil as initial value of
738         decoding_table.
739
740 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
741
742         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
743         element is Qunloaded.
744         (map_over_uint16_byte_table): Likewise.
745         (map_over_byte_table): Likewise.
746         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
747         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
748         database support, load encoding-table of the specified
749         coded-charset if it is not loaded yet.
750         (save_uint8_byte_table): New function of UTF-2000 with external
751         database support.
752         (save_uint16_byte_table): Likewise.
753         (save_byte_table): Likewise.
754         (Fput_char_attribute): Don't store value into external database
755         even if the external database feature is supported in UTF-2000;
756         set `attribute' as name of char-table if the external database
757         feature is supported.
758         (Fsave_char_attribute_table): New function in UTF-2000.
759         (syms_of_chartab): Add new builtin function
760         `save-char-attribute-table' in UTF-2000.
761
762 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
763
764         * chartab.c (char_attribute_table_to_put): New variable in
765         UTF-2000.
766         (Qput_char_table_map_function): Likewise.
767         (value_to_put): Likewise.
768         (Fput_char_table_map_function): New function in UTF-2000.
769         (put_char_table): Use `Fmap_char_attribute' for
770         CHARTAB_RANGE_CHARSET in UTF-2000.
771         (Fput_char_attribute): Store symbol instead of string in
772         `XCHAR_TABLE_NAME (table)'.
773         (load_char_attribute_maybe): Likewise.
774         (syms_of_chartab): Add new symbol/function
775         `put-char-table-map-function'.
776
777 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
778
779         * database.h: Add new EXFUN for `Fmap_database'.
780
781         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
782         (syms_of_database): Likewise.
783
784         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
785         UTF-2000.
786         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
787         (XCHAR_TABLE_UNLOADED): Likewise.
788
789         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
790         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
791         HAVE_DATABASE is defined.
792         (char_attribute_table_to_load): New variable of UTF-2000 with
793         external database support.
794         (Qload_char_attribute_table_map_function): Likewise.
795         (Fload_char_attribute_table_map_function): New function of
796         UTF-2000 with external database support.
797         (Fload_char_attribute_table): New function of UTF-2000.
798         (Fmap_char_attribute): Call Fload_char_attribute_table if
799         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
800         (syms_of_chartab): Add new symbol and function
801         `load-char-attribute-table-map-function' in UTF-2000 with external
802         database support; add new function `load-char-attribute-table' in
803         UTF-2000.
804
805 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * chartab.h (load_char_attribute_maybe): New prototype for
808         UTF-2000 with DATABASE support.
809         (get_char_id_table): Use `load_char_attribute_maybe' if
810         HAVE_DATABASE is defined.
811
812         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
813         with DATABASE support.
814
815 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * chartab.c (Fput_char_attribute): Use S-expression as key of
818         external database.
819
820         * chartab.h (get_char_id_table): Use S-expression as key of
821         external database.
822
823 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
826         if an element is not loaded, load the corresponding attributes
827         from an external database.
828         (map_over_uint16_byte_table): Likewise.
829         (map_over_byte_table): Likewise.
830         (map_char_table): Modify for `map_over_uint8_byte_table',
831         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
832         element is not loaded, load the corresponding attributes from an
833         external database.
834         (Fput_char_attribute): Change initial values to Qunloaded.
835
836         * chartab.h (get_char_id_table): If a character attribute is not
837         loaded and the attribute value is not found in an external
838         database, store Qunbound as the attribute value.
839
840 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
841
842         * chartab.c (BT_UINT8_unloaded): New macro.
843         (UINT8_VALUE_P): Accept Qunloaded.
844         (UINT8_ENCODE): Likewise.
845         (UINT8_DECODE): Likewise.
846         (BT_UINT16_unloaded): New macro.
847         (UINT16_VALUE_P): Accept Qunloaded.
848         (UINT16_ENCODE): Likewise.
849         (UINT16_DECODE): Likewise.
850         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
851         BT_UINT16_unloaded.
852         (mark_char_table): Mark `ct->name' in UTF-2000.
853         (char_table_description): Add `name' in UTF-2000.
854         (Fmake_char_table): Initialize `ct->name'.
855         (Fcopy_char_table): Copy `ct->name'.
856         (Fput_char_attribute): Store value into an external database if
857         HAVE_DATABASE is defined.
858
859         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
860         UTF-2000.
861         (CHAR_TABLE_NAME): New macro in UTF-2000.
862         (XCHAR_TABLE_NAME): New macro in UTF-2000.
863         (get_char_id_table): Try to read an external database if Qunloaded
864         is stored in a table.
865
866         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
867         Qunloaded.
868
869 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
870
871         * database.h: Add EXFUN definitions for Fopen_database,
872         Fput_database, Fget_database and Fclose_database.
873
874         * data.c (Qunloaded): New variable in UTF-2000.
875
876         * lisp.h (Qunloaded): New variable in UTF-2000.
877
878 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
879
880         * mule-charset.c (put_char_ccs_code_point): Modify for
881         `decoding_table_remove_char' and `decoding_table_put_char'.
882         (remove_char_ccs): Modify for `decoding_table_remove_char'.
883
884         * char-ucs.h (decoding_table_remove_char): Change arguments to
885         hide decoding_table vector.
886         (decoding_table_put_char): Likewise.
887
888 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * mule-charset.c (decoding_table_remove_char): Moved to
891         char-ucs.h.
892         (decoding_table_put_char): Likewise.
893
894         * char-ucs.h (decoding_table_check_elements): New prototype [moved
895         from mule-charset.c].
896         (decoding_table_remove_char): New inline function [moved from
897         mule-charset.c].
898         (decoding_table_put_char): Likewise.
899
900 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
901
902         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
903         extension.
904
905 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
906
907         * mule-charset.c (decode_builtin_char): Support mother charsets.
908
909 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
910
911         * mule-charset.c (Q94x94x60): New variable.
912         (charset_code_point): Support conversion `94x94x60'.
913         (Fmake_charset): Likewise.
914         (syms_of_mule_charset): Add new symbol `94x94x60'.
915
916         * char-ucs.h (CONVERSION_94x94x60): New macro.
917
918 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
919
920         * mule-charset.c (charset_code_point): Unify code about
921         `code-offset'.
922
923 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
924
925         * mule-charset.c (charset_code_point): Merge code about builtin
926         characters into code about mother charsets; don't use
927         `range_charset_code_point'.
928         (range_charset_code_point): Deleted.
929
930 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
931
932         * mule-charset.c (Qcode_offset): New variable.
933         (Fmake_charset): Use `XUINT' to get value of `min-code' and
934         `max-code'; accept new property `code-offset'.
935         (syms_of_mule_charset): Add new symbol `code-offset'.
936
937 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
938
939         * mule-charset.c (range_charset_code_point): Fixed.
940
941 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
942
943         * mule-charset.c (decode_builtin_char): Change semantics of
944         code-offset of coded-charset.
945         (charset_code_point): Likewise.
946         (range_charset_code_point): Likewise.
947         (complex_vars_of_mule_charset): Modify for the change.
948
949 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
950
951         * mule-charset.c (Fencode_char): Reverse arguments.
952
953         * mule-charset.c (charset_code_point): Fixed.
954
955 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
956
957         * mule-charset.c (Vcharset_mojikyo): Deleted.
958         (Vcharset_mojikyo_2022_1): Deleted.
959         (Vcharset_mojikyo_pj_{1..21}): Deleted.
960         (Qmin_code): New variable in UTF-2000.
961         (Qmax_code): Likewise.
962         (Qmother): Likewise.
963         (Qconversion): Likewise.
964         (Q94x60): Likewise.
965         (Qmojikyo): Deleted.
966         (Qmojikyo_2022_1): Deleted.
967         (Qmojikyo_pj_{1..22}): Deleted.
968         (mark_charset): Mark `cs->mother'.
969         (charset_description): Add description for `mother'.
970         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
971         new arguments `mother' and `conversion'; use
972         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
973         (charset_code_point): Moved from char-ucs.h; support `mother'
974         charset feature.
975         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
976         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
977         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
978         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
979         allow 2 as the value of `graphic' in UTF-2000; add new properties
980         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
981         require `final' in UTF-2000; modify for `make_charset'.
982         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
983         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
984         (Fcharset_property): Support `mother', `min-code' and `max-code'.
985         (Fencode_char): New function.
986         (syms_of_mule_charset): Add new builtin function `encode-char' in
987         UTF-2000; add new symbols `min-code', `max-code', `mother',
988         `conversion' and `94x60'; delete symbols `mojikyo',
989         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
990         (complex_vars_of_mule_charset): Modify for `make_charset' change;
991         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
992         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
993
994         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
995         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
996
997         * char-ucs.h (Vcharset_mojikyo): Deleted.
998         (Vcharset_mojikyo_2022_1): Deleted.
999         (LEADING_BYTE_MOJIKYO): Deleted.
1000         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1001         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1002         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1003         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1004         add new member `mother'; add new member `conversion'.
1005         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1006         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1007         (CHARSET_MOTHER): New macro.
1008         (CHARSET_CONVERSION): New macro.
1009         (CONVERSION_IDENTICAL): New macro.
1010         (CONVERSION_94x60): New macro.
1011         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1012         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1013         (XCHARSET_MOTHER): New macro.
1014         (XCHARSET_CONVERSION): New macro.
1015         (MIN_CHAR_MOJIKYO): Deleted.
1016         (MAX_CHAR_MOJIKYO): Deleted.
1017         (DECODE_MOJIKYO_2022): Deleted.
1018         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1019         (charset_code_point): Changed to non-inline function.
1020         (encode_char_1): Use `charset_code_point'.
1021         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1022
1023 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1024
1025         * lread.c (read_compiled_function): Fix prototype.
1026         (read_vector): Likewise.
1027
1028 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1029
1030         * lrecord.h (struct lrecord_header): Delete `older'.
1031         (set_lheader_implementation): Delete code for `older'.
1032         (set_lheader_older_implementation): Deleted.
1033         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1034         (OLDER_RECORD_P): Deleted.
1035         (OLDER_RECORD_HEADER_P): Deleted.
1036         (alloc_older_lcrecord): Deleted.
1037         (alloc_older_lcrecord_type): Deleted.
1038
1039         * alloc.c (all_older_lcrecords): Deleted.
1040         (alloc_older_lcrecord): Deleted.
1041         (disksave_object_finalization_1): Delete code for older objects.
1042         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1043         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1044
1045 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1046
1047         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1048         instead of `make_older_vector'.
1049         (put_char_ccs_code_point): Likewise.
1050         (mark_charset): Mark `cs->decoding_table'.
1051         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1052
1053         * lisp.h (make_older_vector): Deleted.
1054         (make_vector_newer): Deleted.
1055
1056         * config.h.in (HAVE_GGC): Deleted.
1057
1058         * alloc.c (make_older_vector): Deleted.
1059         (make_vector_newer_1): Deleted.
1060         (make_vector_newer): Deleted.
1061
1062 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1063
1064         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1065         (Qideograph_daikanwa_2): New variable.
1066         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1067         (complex_vars_of_mule_charset): Add new coded-charset
1068         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1069         `LEADING_BYTE_DAIKANWA'.
1070
1071         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1072         (LEADING_BYTE_DAIKANWA_1): New macro.
1073         (LEADING_BYTE_DAIKANWA_2): New macro.
1074         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1075
1076 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1077
1078         * mule-charset.c (complex_vars_of_mule_charset): Change
1079         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1080         the second revised version.
1081
1082 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1083
1084         * mule-charset.c (Vcharset_ucs_smp): New variable.
1085         (Vcharset_ucs_sip): New variable.
1086         (Qucs_smp): New variable.
1087         (Qucs_sip): New variable.
1088         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1089         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1090         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1091         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1092         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1093         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1094
1095         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1096         (LEADING_BYTE_UCS_SIP): New macro.
1097         (MIN_CHAR_SMP): New macro.
1098         (MAX_CHAR_SMP): New macro.
1099         (MIN_CHAR_SIP): New macro.
1100         (MAX_CHAR_SIP): New macro.
1101
1102 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1103
1104         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1105         utf-2000.
1106
1107 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1108
1109         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1110         value; don't store value into `encoding_table' of `Lisp_Charset'.
1111         (mark_charset): `encoding_table' was deleted.
1112         (charset_description): Likewise.
1113         (make_charset): Likewise.
1114         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1115         `put_char_ccs_code_point'.
1116
1117         * chartab.h (Fput_char_attribute): New EXFUN.
1118
1119         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1120         is unified with normal symbol space.
1121         (Fget_char_attribute): Likewise.
1122         (Fput_char_attribute): Likewise; behavior of
1123         `put_char_ccs_code_point' is changed.
1124
1125         * char-ucs.h: Include "elhash.h".
1126         (Vchar_attribute_hash_table): New external variable.
1127         (struct Lisp_Charset): Delete `encoding_table'.
1128         (CHARSET_ENCODING_TABLE): New implementation; refer
1129         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1130         `Lisp_Charset'.
1131
1132 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1133
1134         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1135         (cs) == 0.
1136
1137 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1138
1139         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1140         `chinese-big5'.
1141
1142 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1143
1144         * chartab.c (uint8_byte_table_description): New constant.
1145         (uint8-byte-table): Use `uint8_byte_table_description'.
1146         (uint16_byte_table_description): New constant.
1147         (uint16-byte-table): Use `uint16_byte_table_description'.
1148
1149 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1150
1151         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1152         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1153
1154 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1155
1156         * mule-charset.c (Vcharset_ucs_ks): New variable.
1157         (Qucs_ks): New variable.
1158         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1159         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1160
1161         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1162
1163 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1164
1165         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1166         (Fdecode_char): Likewise.
1167
1168         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1169         chartab.h.
1170         (Fdefine_char): Modify for Fdecode_char.
1171         (Ffind_char): Likewise.
1172
1173         * mule-charset.c (Fdecode_char): Add new optional argument
1174         `defined-only'.
1175         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1176
1177 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1178
1179         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1180         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1181         (allocate_coding_system): Initialize initial-charsets of
1182         CODESYS_BIG5 in XEmacs UTF-2000.
1183         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1184         CODESYS_BIG5 in XEmacs UTF-2000.
1185         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1186         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1187
1188         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1189         variables.
1190         (Qideograph_hanziku_{1 .. 12}): Likewise.
1191         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1192         .. 12}'.
1193         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1194         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1195         `ideograph-hanziku-{1 .. 12}'.
1196
1197         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1198         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1199         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1200         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1201         (DECODE_DEFINED_CHAR): New inline function.
1202         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1203
1204 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1205
1206         * mule-charset.c (Vcharset_china3_jef): Renamed from
1207         `Vcharset_japanese_jef_china3'.
1208         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1209         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1210         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1211         (syms_of_mule_charset): Rename `china3-jef' from
1212         `japanese-jef-china3'.
1213         (complex_vars_of_mule_charset): Likewise; rename
1214         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1215
1216         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1217         `LEADING_BYTE_JEF_CHINA3'.
1218         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1219         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1220
1221 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1222
1223         * mule-charset.c (encode_builtin_char_1): Comment out special code
1224         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1225
1226         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1227         (MAX_CHAR_MOJIKYO_0): Comment out.
1228         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1229         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1230         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1231         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1232
1233 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1234
1235         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1236         (Qideograph_cbeta): New variable.
1237         (encode_builtin_char_1): Comment out special code for
1238         coded-charset `mojikyo' and `japanese-jef-china3'.
1239         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1240         (complex_vars_of_mule_charset): Add new coded-charset
1241         `ideograph-cbeta'.
1242
1243         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1244         (MIN_CHAR_CBETA): New macro.
1245         (MAX_CHAR_CBETA): New macro.
1246
1247 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1248
1249         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1250         (LEADING_BYTE_JEF_CHINA3): New macro.
1251         (MIN_CHAR_JEF_CHINA3): New macro.
1252         (MAX_CHAR_JEF_CHINA3): Likewise.
1253         (DECODE_CHAR): Fixed.
1254
1255 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1256
1257         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1258         (Qjapanese_jef_china3): New variable.
1259         (encode_builtin_char_1): Support `japanese-jef-china3'.
1260         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1261         (complex_vars_of_mule_charset): Add new coded-charset
1262         `japanese-jef-china3'.
1263
1264 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1265
1266         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1267         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1268         94^4, 96^3, 96^4, 128^n and 256^n set.
1269         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1270         (map_char_table): Likewise.
1271
1272 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1273
1274         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1275         UTF-2000.
1276
1277 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1278
1279         * chartab.h (get_char_id_table): New inline function.
1280
1281         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1282         function.
1283
1284 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1285
1286         * chartab.h (decode_char_table_range): New prototype in XEmacs
1287         UTF-2000.
1288         (put_char_id_table): New inline function in XEmacs UTF-2000.
1289
1290         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1291         function.
1292         (decode_char_table_range): Delete static declaration in XEmacs
1293         UTF-2000.
1294
1295 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1296
1297         * chartab.c (put_char_id_table): Use `put_char_table'.
1298
1299 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1300
1301         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1302         (map_over_uint16_byte_table): Likewise.
1303         (map_over_byte_table): Likewise.
1304         (map_char_table): Modify for `map_over_uint8_byte_table',
1305         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1306         UTF-2000.
1307
1308 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1309
1310         * chartab.c (struct map_char_table_for_charset_arg): New
1311         structure.
1312         (map_char_table_for_charset_fun): New function.
1313         (map_char_table): Use `map_char_table' for encoding_table of
1314         `range->charset'.
1315
1316 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1317
1318         * chartab.c (map_char_table): Check a character is found in
1319         range->charset instead of non default value is defined in
1320         char-table when range is CHARTAB_RANGE_ROW.
1321
1322 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1323
1324         * chartab.c (map_char_id_table): Deleted.
1325         (Fmap_char_attribute): Use `map_char_table' instead of
1326         `map_char_id_table'.
1327
1328 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1329
1330         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1331         UTF-2000.
1332         (update_syntax_table): Deleted in XEmacs UTF-2000.
1333
1334         * syntax.c (find_defun_start): Use `syntax_table' instead of
1335         `mirror_syntax_table' in XEmacs UTF-2000.
1336         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1337         UTF-2000.
1338         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1339         XEmacs UTF-2000.
1340         (Fmatching_paren): Likewise.
1341         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1342         in XEmacs UTF-2000.
1343         (find_start_of_comment): Likewise.
1344         (find_end_of_comment): Likewise.
1345         (Fforward_comment): Likewise.
1346         (scan_lists): Likewise.
1347         (char_quoted): Likewise.
1348         (Fbackward_prefix_chars): Likewise.
1349         (scan_sexps_forward): Likewise.
1350         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1351         (update_syntax_table): Likewise.
1352
1353         * search.c (skip_chars): Use `syntax_table' instead of
1354         `mirror_syntax_table' in XEmacs UTF-2000.
1355         (wordify): Likewise.
1356         (Freplace_match): Likewise.
1357
1358         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1359         `mirror_syntax_table' in XEmacs UTF-2000.
1360         (WORDCHAR_P_UNSAFE): Likewise.
1361         (re_match_2_internal): Likewise.
1362
1363         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1364         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1365
1366         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1367         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1368
1369         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1370         XEmacs UTF-2000.
1371
1372         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1373         UTF-2000.
1374         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1375         (char_table_description): Delete `mirror_table' in XEmacs
1376         UTF-2000.
1377         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1378         UTF-2000.
1379         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1380         (Fcopy_char_table): Likewise.
1381         (put_char_table): Don't call `update_syntax_table' in XEmacs
1382         UTF-2000.
1383
1384         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1385         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1386         (casify_region_internal): Likewise.
1387
1388         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1389
1390         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1391         `mirror_syntax_table' in XEmacs UTF-2000.
1392
1393         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1394         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1395         (Fexpand_abbrev): Likewise.
1396
1397 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1398
1399         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1400
1401 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1402
1403         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1404         (map_over_uint16_byte_table): Likewise.
1405         (map_over_byte_table): Likewise.
1406         (get_char_id_table): Refer `cit->default_value'.
1407         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1408         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1409         of character-id ranges.
1410         (mark_char_table): Mark `ct->default_value'.
1411         (char_table_description): Add `default_value'.
1412         (fill_char_table): Use `default_value'.
1413         (decode_char_table_range): Decode `nil' as
1414         `CHARTAB_RANGE_DEFAULT'.
1415         (get_char_id_table): Refer `cit->default_value'.
1416         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1417         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1418         temporary hack; check value of char-table is bound or not.
1419         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1420
1421         * chartab.h (struct Lisp_Char_Table): Add new member
1422         `default_value' in XEmacs UTF-2000.
1423         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1424         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1425         UTF-2000.
1426
1427 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * chartab.h (Lisp_Char_ID_Table): Deleted.
1430
1431         * chartab.c (char_table_description): Fix typo.
1432         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1433         `Lisp_Char_ID_Table'.
1434
1435 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1436
1437         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1438         `CHAR_ID_TABLE_P'.
1439
1440         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1441         `CHAR_ID_TABLE_P'.
1442
1443         * chartab.h (XCHAR_ID_TABLE): Deleted.
1444         (XSETCHAR_ID_TABLE): Deleted.
1445         (CHAR_ID_TABLE_P): Deleted.
1446
1447         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1448         `CHAR_ID_TABLE_P'.
1449         (Fget_composite_char): Likewise.
1450         (put_char_table): Likewise.
1451         (add_char_attribute_alist_mapper): Fixed.
1452         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1453         `CHAR_ID_TABLE_P'.
1454         (Fget_char_attribute): Likewise.
1455         (Fget_char_attribute): Likewise.
1456         (Fmap_char_attribute): Likewise.
1457
1458         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1459         `CHAR_ID_TABLE_P'.
1460         (encode_char_1): Likewise.
1461
1462 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1463
1464         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1465         `XCHAR_ID_TABLE'.
1466
1467         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1468         instead of `XCHAR_ID_TABLE'.
1469         (remove_char_ccs): Likewise.
1470
1471         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1472         `XCHAR_ID_TABLE'.
1473         (Fget_composite_char): Likewise.
1474         (Fchar_variants): Likewise.
1475         (put_char_table): Likewise.
1476         (add_char_attribute_alist_mapper): Likewise.
1477         (Fchar_attribute_alist): Likewise.
1478         (Fget_char_attribute): Likewise.
1479         (Fput_char_attribute): Likewise.
1480         (Fmap_char_attribute): Likewise.
1481         (Fmap_char_attribute): Likewise.
1482
1483         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1484         `XCHAR_ID_TABLE'.
1485         (encode_char_1): Likewise.
1486
1487 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1488
1489         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1490         `Lisp_Char_ID_Table'.
1491         (mark_char_id_table): Deleted.
1492         (print_char_id_table): Likewise.
1493         (char_id_table_equal): Likewise.
1494         (char_id_table_hash): Likewise.
1495         (char_id_table_description): Likewise.
1496         (char_id_table): Likewise.
1497         (make_char_id_table): Use `Fmake_char_table' and
1498         `fill_char_table'.
1499         (get_char_id_table): Use `Lisp_Char_Table' instead of
1500         `Lisp_Char_ID_Table'.
1501         (put_char_id_table): Likewise.
1502         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1503         `XCHAR_ID_TABLE'.
1504         (Fremove_char_attribute): Likewise.
1505         (syms_of_chartab): Don't define type `char-id-table'.
1506
1507         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1508         (char_id_table): Likewise.
1509         (GC_CHAR_ID_TABLE_P): Likewise.
1510         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1511         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1512         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1513         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1514         (get_char_id_table): Use `Lisp_Char_Table' instead of
1515         `Lisp_Char_ID_Table'.
1516         (put_char_id_table_0): Likewise.
1517         (put_char_id_table): Likewise.
1518
1519 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1520
1521         * chartab.h: Lisp_Byte_Table related codes are moved from
1522         chartab.h.
1523
1524         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1525
1526 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1527
1528         * chartab.h: Don't include "chartab.h".
1529         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1530         (Lisp_Char_ID_Table): Likewise.
1531         (char_id_table): Likewise.
1532         (XCHAR_ID_TABLE): Likewise.
1533         (XSETCHAR_ID_TABLE): Likewise.
1534         (CHAR_ID_TABLE_P): Likewise.
1535         (GC_CHAR_ID_TABLE_P): Likewise.
1536         (get_char_id_table): Likewise.
1537
1538         * char-ucs.h: Include "chartab.h".
1539         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1540         (Lisp_Char_ID_Table): Likewise.
1541         (char_id_table): Likewise.
1542         (XCHAR_ID_TABLE): Likewise.
1543         (XSETCHAR_ID_TABLE): Likewise.
1544         (CHAR_ID_TABLE_P): Likewise.
1545         (GC_CHAR_ID_TABLE_P): Likewise.
1546         (get_char_id_table): Likewise.
1547
1548 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1549
1550         * chartab.c (copy_uint8_byte_table): New function.
1551         (copy_uint16_byte_table): New function.
1552         (copy_byte_table): New function.
1553         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1554         characters to call.
1555         (map_over_uint16_byte_table): Likewise.
1556         (map_over_byte_table): Likewise.
1557         (get_byte_table): Move prototype to chartab.h.
1558         (put_byte_table): Likewise.
1559         (put_char_id_table_0): Moved to chartab.h.
1560         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1561         (char_table_entry_equal): Likewise.
1562         (char_table_entry_hash): Likewise.
1563         (char_table_entry_description): Likewise.
1564         (char_table_entry): Likewise.
1565         (make_char_table_entry): Likewise.
1566         (copy_char_table_entry): Likewise.
1567         (get_non_ascii_char_table_value): Likewise.
1568         (map_over_charset_ascii): Likewise.
1569         (map_over_charset_control_1): Likewise.
1570         (map_over_charset_row): Likewise.
1571         (map_over_other_charset): Likewise.
1572         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1573         (print_char_table): Likewise.
1574         (char_table_equal): Likewise.
1575         (char_table_hash): Likewise.
1576         (char_table_description): Likewise.
1577         (fill_char_table): Likewise.
1578         (Fcopy_char_table): Likewise.
1579         (get_char_table): Likewise.
1580         (Fget_range_char_table): Likewise.
1581         (put_char_table): Likewise.
1582         (map_char_table): Likewise.
1583         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1584         UTF-2000.
1585
1586 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1587
1588         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1589         `Vauto_fill_chars' in XEmacs UTF-2000.
1590
1591         * chartab.h (get_byte_table): New prototype [moved from
1592         chartab.c].
1593         (put_byte_table): Likewise [moved from chartab.c].
1594         (put_char_id_table_0): New inline function [moved from chartab.c].
1595         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1596         (Lisp_Char_Table_Entry): Likewise.
1597         (char_table_entry): Likewise.
1598         (XCHAR_TABLE_ENTRY): Likewise.
1599         (XSETCHAR_TABLE_ENTRY): Likewise.
1600         (CHAR_TABLE_ENTRYP): Likewise.
1601         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1602         (NUM_ASCII_CHARS): Likewise.
1603         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1604         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1605
1606 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1607
1608         * chartab.c (get_char_id_table): Change interface.
1609         (put_char_id_table_0): New function.
1610         (put_char_id_table): Change interface; new implementation.
1611         (Fget_composite_char): Modify for interface change of
1612         `get_char_id_table'.
1613         (Fchar_variants): Likewise.
1614         (add_char_attribute_alist_mapper): Likewise.
1615         (Fchar_attribute_alist): Likewise.
1616         (Fget_char_attribute): Likewise.
1617         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1618         as same as character as the first argument like `put-char-table';
1619         modify for interface change of `put_char_id_table'.
1620         (Fremove_char_attribute): Modify for interface change of
1621         `put_char_id_table'.
1622
1623 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1624
1625         * text-coding.c: Sync up with XEmacs 21.2.41.
1626         (COMPOSE_ADD_CHAR): Modify for interface change of
1627         `get_char_id_table'.
1628
1629         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1630         change of `put_char_id_table'.
1631         (remove_char_ccs): Likewise.
1632
1633         * chartab.h (put_char_id_table): Change interface.
1634
1635         * char-ucs.h (get_char_id_table): Change interface.
1636         (charset_code_point): Modify for interface change of
1637         `get_char_id_table'.
1638         (encode_char_1): Likewise.
1639
1640 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1641
1642         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1643         argument `ccs'.
1644         (map_over_uint16_byte_table): Likewise.
1645         (map_over_byte_table): Likewise.
1646         (map_char_id_table): Add new argument `range' like
1647         `map_char_table'.
1648         (Fmap_char_attribute): Add new argument `range' like
1649         `Fmap_char_table'.
1650
1651 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1652
1653         * chartab.c (map_over_uint8_byte_table): Change interface of
1654         mapping function to use struct chartab_range instead of Emchar.
1655         (map_over_uint16_byte_table): Likewise.
1656         (map_over_byte_table): Likewise.
1657         (map_char_id_table): Likewise.
1658         (struct slow_map_char_id_table_arg): Deleted.
1659         (slow_map_char_id_table_fun): Deleted.
1660         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1661         function `slow_map_char_table_fun' instead of struct
1662         `slow_map_char_id_table_arg' and function
1663         `slow_map_char_id_table_fun'.
1664
1665 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1666
1667         * mule-charset.c: Move char-it-table related codes to chartab.c.
1668         (Vutf_2000_version): Moved to chartab.c.
1669         (Fdefine_char): Likewise.
1670         (Ffind_char): Likewise.
1671         (syms_of_mule_charset): Move types `uint8-byte-table',
1672         `uint16-byte-table', `byte-table' and `char-id-table' to
1673         chartab.c; move functions `char_attribute_list,
1674         `find_char_attribute_table, `char_attribute_alist,
1675         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1676         `map_char_attribute, `define_char, `find_char, `char_variants and
1677         `get_composite_char to chartab.c; move symbols `=>ucs',
1678         `->decomposition', `compat', `isolated', `initial', `medial',
1679         `final', `vertical', `noBreak', `fraction', `super', `sub',
1680         `circle', `square', `wide', `narrow', `small' and `font' to
1681         chartab.c.
1682         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1683         setting codes for `Vcharacter_composition_table' and
1684         `Vcharacter_variant_table' to chartab.c.
1685         (complex_vars_of_mule_charset): Move setting code for
1686         `Vchar_attribute_hash_table' to chartab.c.
1687
1688         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1689         (make_char_id_table): New prototype.
1690         (put_char_id_table): Likewise.
1691         (Fget_char_attribute): Likewise.
1692
1693         * chartab.c: Move char-id-table related code from mule-charset.c.
1694         (Vutf_2000_version): Moved from mule-charset.c.
1695
1696         * char-ucs.h (Qucs): New external variable.
1697         (put_char_ccs_code_point): New prototype.
1698         (remove_char_ccs): Likewise.
1699
1700 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1701
1702         * mule-charset.c (Vcharset_ucs_jis): New variable.
1703         (Qucs_jis): Likewise.
1704         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1705         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1706
1707         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1708
1709 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1710
1711         * mule-charset.c (map_over_uint8_byte_table): New function.
1712         (map_over_uint16_byte_table): Likewise.
1713         (map_over_byte_table): Likewise.
1714         (map_char_id_table): Likewise.
1715         (slow_map_char_id_table_fun): Likewise.
1716         (Fmap_char_attribute): Likewise.
1717         (syms_of_mule_charset): Add new function `map-char-attribute'.
1718
1719 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1720
1721         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1722         (syms_of_mule_charset): Add new function `find-char'.
1723
1724 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1725
1726         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1727         XEmacs UTF-2000.
1728         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1729         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1730         XEmacs UTF-2000.
1731         (complex_vars_of_mule_charset): Add new coded-charset
1732         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1733         `ideograph-gt-pj-*'.
1734
1735         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1736
1737 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1738
1739         * mule-charset.c (encode_builtin_char_1): Purge codes about
1740         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1741         {MIN|MAX}_CHAR_HEBREW.
1742         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1743         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1744
1745         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1746         (MAX_CHAR_GREEK): Purged.
1747         (MIN_CHAR_CYRILLIC): Purged.
1748         (MAX_CHAR_CYRILLIC): Purged.
1749         (MIN_CHAR_HEBREW): Commented out.
1750         (MAX_CHAR_HEBREW): Likewise.
1751
1752 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1753
1754         * mule-charset.c (Qto_ucs): New variable.
1755         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1756         (Fdefine_char): Likewise.
1757         (syms_of_mule_charset): Add new symbol `=>ucs'.
1758
1759 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1760
1761         * mule-charset.c (Fdecode_char): Fixed.
1762
1763 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1764
1765         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1766         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1767         "tcvn5712-1".
1768
1769 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1770
1771         * mule-charset.c (Vcharset_ucs_big5): New variable.
1772         (Qucs_big5): Likewise.
1773         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1774         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1775
1776         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1777
1778 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1779
1780         * mule-charset.c (decode_builtin_char): Check Big5 code range
1781         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1782
1783 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1784
1785         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1786         (Qchinese_gb12345): Likewise.
1787         (Fdecode_builtin_char): Fixed.
1788         (syms_of_mule_charset): Add `chinese-gb12345'.
1789         (complex_vars_of_mule_charset): Add coded-charset
1790         `chinese-gb12345'.
1791
1792         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1793         (LEADING_BYTE_CHINESE_GB12345): New macro.
1794
1795 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1796
1797         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1798         and `latin-viscii-upper' for `latin-viscii'.
1799
1800 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1801
1802         * mule-charset.c (Fdecode_builtin_char): Comment out
1803         regularization code for ISO-IR GR representation.
1804
1805 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1806
1807         * mule-charset.c (decode_builtin_char): New function; renamed from
1808         `make_builtin_char'; return -1 instead of signal.
1809         (Fdecode_builtin_char): Use `decode_builtin_char'.
1810
1811         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1812         `make_builtin_char'.
1813         (DECODE_CHAR): Use `decode_builtin_char' instead of
1814         `make_builtin_char'; use mapping table of `chinese-big5' for
1815         `chinese-big5-{1,2}'.
1816
1817 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1818
1819         * text-coding.c (char_encode_big5): New function.
1820         (char_finish_big5): Likewise.
1821         (reset_encoding_stream): Use `char_encode_big5' and
1822         `char_finish_big5' for CODESYS_BIG5.
1823         (mule_encode): Don't use `encode_coding_big5'.
1824         (encode_coding_big5): Deleted.
1825
1826 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1827
1828         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1829         0x81- in XEmacs UTF-2000.
1830         (detect_coding_big5): Likewise.
1831
1832 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1833
1834         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1835         generate character-id if the CCS property does not have
1836         corresponding predefined character.
1837         (make_builtin_char): Return -1 if corresponding predefined
1838         character is not found.
1839         (Fdecode_char): Return nil if corresponding character is not
1840         found.
1841         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1842         don't map to builtin ucs space.
1843
1844 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1845
1846         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1847         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1848
1849 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1850
1851         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1852         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1853         (Qideograph_gt): Likewise.
1854         (Qideograph_gt_pj_{1..11}): Likewise.
1855         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1856         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1857         `ideograph-gt-pj-11'.
1858         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1859         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1860         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1861
1862         * char-ucs.h (LEADING_BYTE_GT): New macro.
1863         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1864         (MIN_CHAR_GT): Likewise.
1865         (MAX_CHAR_GT): Likewise.
1866
1867 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1868
1869         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1870         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1871
1872         * doprnt.c (unsigned_int_converters): Add `c'.
1873         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1874
1875         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1876         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1877         `MIN_CHAR_MOJIKYO'.
1878         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1879         (MAX_CHAR_MOJIKYO_0): New macro.
1880         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1881
1882 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1883
1884         * mule-charset.c (Fdefine_char): Delete cemented out code.
1885         (encode_builtin_char_1): Modify for new allocation of builtin
1886         Mojikyo characters.
1887
1888         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1889
1890 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1891
1892         * mule-charset.c (Vcharset_ucs_cns): New variable.
1893         (Qucs_cns): New variable.
1894         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1895         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1896
1897 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1898
1899         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1900
1901 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1902
1903         * search.c (search_buffer): Make `charset_base_code' as
1904         character-id >> 6 to eliminate the corresponding last byte in
1905         UTF-8 representation [I'm not sure it is right thing].
1906         (boyer_moore): Likewise.
1907
1908 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1909
1910         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1911         representation in MULE.
1912
1913 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1914
1915         * text-coding.c (Fmake_coding_system): Use
1916         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1917         `EXTERNAL_PROPERTY_LIST_LOOP'.
1918
1919 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1920
1921         * text-coding.c (decode_output_utf8_partial_char): New function.
1922         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1923
1924 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1925
1926         * text-coding.c (decode_coding_utf8): Output original byte
1927         sequence if it is broken; change order of conditions.
1928
1929         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1930         of conditions.
1931
1932         * mb-multibyte.h (BYTE_ASCII_P):
1933         Use bit ops for char-signedness safety.
1934         (BYTE_C0_P): Use bit ops for char-signedness safety.
1935         (BYTE_C1_P): Use bit ops for char-signedness safety.
1936
1937         * character.h: (XCHAR_OR_CHAR_INT):
1938         Always use inline function.
1939         Remove redundant type checking assert() - XINT will abort quite
1940         nicely.
1941
1942 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1943
1944         * text-coding.c: (Fencode_shift_jis_char):
1945         (Fencode_big5_char):
1946         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1947         Replace 0 with '\0' when working with bytes.
1948         Replace initial "(" with "\(" in docstrings.
1949
1950         (Fmake_coding_system):
1951         When type is ccl and value is vector, register it with a proper
1952         symbol.  And checks whether the given ccl program is valid.
1953         (mule_decode): When calling ccl_driver, if src indicates
1954         NULL pointer, set an empty string instead.
1955         (mule_encode): Likewise.
1956
1957         (detect_eol_type):
1958         (detect_coding_sjis):
1959         (decode_coding_sjis):
1960         (detect_coding_big5):
1961         (decode_coding_big5):
1962         (detect_coding_ucs4):
1963         (decode_coding_ucs4):
1964         (detect_coding_utf8):
1965         (decode_coding_utf8):
1966         (detect_coding_iso2022):
1967         (decode_coding_iso2022):
1968         (decode_coding_no_conversion):
1969         (mule_decode):
1970         Make all detecting and decoding functions take an Extbyte * arg.
1971         (text_encode_generic):
1972         (encode_coding_big5):
1973         (encode_coding_no_conversion):
1974         (mule_encode):
1975         Make all encoding functions take a Bufbyte * arg.
1976         Use size_t instead of unsigned int for memory sizes.
1977         Only cast to unsigned char whenever dereferencing Extbyte *.
1978
1979         (struct lrecord_description fcd_description_1): Use countof.
1980         (complex_vars_of_file_coding):
1981         Use countof instead of sizeof.
1982         Use CHECK_NATNUM instead of CHECK_INT.
1983
1984 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1985
1986         * mule-charset.c (Fget_char_attribute): Add new optional argument
1987         `default-value'.
1988         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1989         (remove_char_ccs): Likewise.
1990
1991 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1992
1993         * text-coding.c (char_encode_shift_jis): New implementation in
1994         UTF-2000.
1995         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1996         ...)'.
1997
1998         * mule-charset.c (Vcharset_chinese_big5): New variable in
1999         UTF-2000.
2000         (Qchinese_big5): New variable in UTF-2000.
2001         (BIG5_SAME_ROW): New macro in UTF-2000.
2002         (make_builtin_char): Use builtin characters of
2003         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2004         characters of `Vcharset_chinese_big5'.
2005         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2006         (complex_vars_of_mule_charset): Add new coded-charset
2007         `chinese-big5' in UTF-2000.
2008
2009         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2010         (Vcharset_chinese_big5): New external variable declaration.
2011         (Vcharset_japanese_jisx0208_1990): Likewise.
2012
2013 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2014
2015         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2016         function.
2017         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2018
2019 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2020
2021         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2022         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2023         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2024         `mojikyo-pj-*'.
2025
2026 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2027
2028         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2029
2030 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2031
2032         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2033         to 0.17.
2034
2035 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2036
2037         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2038         for `CHARSET_BY_ATTRIBUTES'.
2039         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2040         `CHARSET_BY_ATTRIBUTES'.
2041
2042         * text-coding.c (struct decoding_stream): Rename member `CH' to
2043         `CPOS'.
2044         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2045         (decode_coding_sjis): Likewise.
2046         (decode_coding_big5): Likewise.
2047         (decode_coding_ucs4): Likewise.
2048         (decode_coding_utf8): Likewise.
2049         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2050         `CHARSET_BY_ATTRIBUTES'.
2051         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2052         `str->counter'; decode 3, 4 bytes sets.
2053         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2054         sets.
2055         (decode_coding_no_conversion): Use `str->cpos' instead of
2056         `str->ch'.
2057
2058         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2059         (Qmojikyo_2022_1): New variable.
2060         (make_charset): Don't use `CHARSET_TYPE_*'.
2061         (range_charset_code_point): Support coded-charset
2062         `mojikyo-2022-1'.
2063         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2064         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2065         `CHARSET_BY_ATTRIBUTES'.
2066         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2067         `CHARSET_BY_ATTRIBUTES'.
2068         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2069         (complex_vars_of_mule_charset): Add new coded-charset
2070         `mojikyo-2022-1'.
2071
2072         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2073         interface; changed to inline function.
2074
2075         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2076         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2077         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2078         (CHARSET_TYPE_94): Deleted.
2079         (CHARSET_TYPE_94X94): Deleted.
2080         (CHARSET_TYPE_96): Deleted.
2081         (CHARSET_TYPE_96X96): Deleted.
2082         (CHARSET_TYPE_128): Deleted.
2083         (CHARSET_TYPE_128X128): Deleted.
2084         (CHARSET_TYPE_256): Deleted.
2085         (CHARSET_TYPE_256X256): Deleted.
2086         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2087         to inline function.
2088         (DECODE_MOJIKYO_2022): New inline function.
2089         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2090         `Vcharset_mojikyo_2022_1'.
2091
2092 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2093
2094         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2095         instead of `EQ'.
2096         (put_byte_table): Likewise.
2097         (char_id_table_equal): Use `get_byte_table' [new implementation].
2098
2099 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2100
2101         * mule-charset.c: Include <limits.h> in UTF-2000.
2102         (BT_UINT8_MIN): New macro in UTF-2000.
2103         (BT_UINT8_MAX): New macro in UTF-2000.
2104         (BT_UINT8_t): New macro in UTF-2000.
2105         (BT_UINT8_nil): New macro in UTF-2000.
2106         (BT_UINT8_unbound): New macro in UTF-2000.
2107         (INT_UINT8_P): New inline function in UTF-2000.
2108         (UINT8_VALUE_P): New inline function in UTF-2000.
2109         (UINT8_ENCODE): New inline function in UTF-2000.
2110         (UINT8_DECODE): New inline function in UTF-2000.
2111         (mark_uint8_byte_table): New function in UTF-2000.
2112         (print_uint8_byte_table): New function in UTF-2000.
2113         (uint8_byte_table_equal): New function in UTF-2000.
2114         (uint8_byte_table_hash): New function in UTF-2000.
2115         (make_uint8_byte_table): New function in UTF-2000.
2116         (uint8_byte_table_same_value_p): New function in UTF-2000.
2117         (BT_UINT16_MIN): New macro in UTF-2000.
2118         (BT_UINT16_MAX): New macro in UTF-2000.
2119         (BT_UINT16_t): New macro in UTF-2000.
2120         (BT_UINT16_nil): New macro in UTF-2000.
2121         (BT_UINT16_unbound): New macro in UTF-2000.
2122         (INT_UINT16_P): New inline function in UTF-2000.
2123         (UINT16_VALUE_P): New inline function in UTF-2000.
2124         (UINT16_ENCODE): New inline function in UTF-2000.
2125         (UINT16_DECODE): New inline function in UTF-2000.
2126         (UINT8_TO_UINT16): New inline function in UTF-2000.
2127         (mark_uint16_byte_table): New function in UTF-2000.
2128         (print_uint16_byte_table): New function in UTF-2000.
2129         (uint16_byte_table_equal): New function in UTF-2000.
2130         (uint16_byte_table_hash): New function in UTF-2000.
2131         (make_uint16_byte_table): New function in UTF-2000.
2132         (uint16_byte_table_same_value_p): New function in UTF-2000.
2133         (print_byte_table): New function in UTF-2000.
2134         (byte-table): Use `print_byte_table' as printer.
2135         (make_byte_table): Delete second argument `older'.
2136         (byte_table_same_value_p): New function in UTF-2000.
2137         (copy_byte_table): Deleted.
2138         (get_byte_table): New function in UTF-2000.
2139         (put_byte_table): New function in UTF-2000.
2140         (print_char_id_table): New function in UTF-2000.
2141         (char-id-table): Use `print_char_id_table' as printer.
2142         (make_char_id_table): Delete second argument `older'.
2143         (get_char_id_table): Use `get_byte_table [new implementation].
2144         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2145         implementation].
2146         (Ffind_char_attribute_table): New function in UTF-2000.
2147         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2148         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2149         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2150         (syms_of_mule_charset): Add new function
2151         `find-char-attribute-table' in UTF-2000.
2152
2153         * lrecord.h (enum lrecord_type): Add
2154         `lrecord_type_uint16_byte_table' and
2155         `lrecord_type_uint8_byte_table'.
2156
2157         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2158         (Lisp_Uint8_Byte_Table): New type.
2159         (XUINT8_BYTE_TABLE): New macro.
2160         (XSETUINT8_BYTE_TABLE): New macro.
2161         (UINT8_BYTE_TABLE_P): New macro.
2162         (GC_UINT8_BYTE_TABLE_P): New macro.
2163         (struct Lisp_Uint16_Byte_Table): New structure.
2164         (Lisp_Uint16_Byte_Table): New type.
2165         (XUINT16_BYTE_TABLE): New macro.
2166         (XSETUINT16_BYTE_TABLE): New macro.
2167         (UINT16_BYTE_TABLE_P): New macro.
2168         (GC_UINT16_BYTE_TABLE_P): New macro.
2169
2170 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2171
2172         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2173         (Vcharacter_ideographic_strokes_table): Deleted.
2174         (Vcharacter_total_strokes_table): Deleted.
2175         (Vcharacter_morohashi_daikanwa_table): Deleted.
2176         (Vcharacter_decomposition_table): Deleted.
2177         (Qname): Deleted because it is duplicated.
2178         (Qideographic_radical): Deleted.
2179         (Qideographic_strokes): Deleted.
2180         (Qtotal_strokes): Deleted.
2181         (Qmorohashi_daikanwa): Deleted.
2182         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2183         `ideographic-radical', `ideographic-strokes', `total-strokes',
2184         `morohashi-daikanwa' and `->decomposition'.
2185         (Fget_char_attribute): Likewise.
2186         (Fput_char_attribute): Likewise; use `make-vector' instead of
2187         `make_older_vector' for `->decomposition' value.
2188         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2189         `ideograph-daikanwa'.
2190         (syms_of_mule_charset): Delete builtin symbols `name',
2191         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2192         `morohashi-daikanwa'.
2193         (vars_of_mule_charset): Don't setup
2194         `Vcharacter_ideographic_radical_table',
2195         `Vcharacter_ideographic_strokes_table',
2196         `Vcharacter_total_strokes_table',
2197         `Vcharacter_morohashi_daikanwa_table' and
2198         `Vcharacter_decomposition_table'.
2199
2200 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2201
2202         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2203         `make_older_vector', `make_vector_newer_1' and
2204         `make_vector_newer'.
2205
2206         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2207         `make_older_vector' and `make_vector_newer'.
2208
2209         * config.h.in (HAVE_GGC): New macro.
2210
2211 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2212
2213         * mule-charset.c (struct char_attribute_list_closure): New
2214         structure in UTF-2000.
2215         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2216         (Fchar_attribute_list): Likewise.
2217         (Fset_charset_mapping_table): Use `make_vector_newer'.
2218         (Fdecode_builtin_char): New function in UTF-2000.
2219         (syms_of_mule_charset): Add new function `char-attribute-list' and
2220         `decode-builtin-char' in UTF-2000.
2221
2222         * lisp.h (make_vector_newer): New prototype.
2223
2224         * alloc.c (make_vector_newer_1): New function.
2225         (make_vector_newer): New function.
2226
2227 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2228
2229         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2230         50100)'.
2231
2232 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2233
2234         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2235         (Vcharacter_attribute_table): Deleted.
2236         (Vcharacter_name_table): Deleted.
2237         (put_char_attribute): Deleted.
2238         (remove_char_attribute): Deleted.
2239         (struct char_attribute_alist_closure): New structure.
2240         (add_char_attribute_alist_mapper): New function.
2241         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2242         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2243         (Fget_char_attribute): Likewise.
2244         (Fput_char_attribute): Likewise.
2245         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2246         of `remove_char_attribute'.
2247         (Fdefine_char): Return character.
2248         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2249         and `Vcharacter_name_table'.
2250         (complex_vars_of_mule_charset): Likewise
2251         `Vchar_attribute_hash_table'.
2252
2253 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2254
2255         * character.h (CHARC_CHARSET): New macro.
2256         (CHARC_CHARSET_ID): New macro.
2257         (CHARC_CODE_POINT): New macro.
2258         (CHARC_COLUMNS): New macro.
2259         (CHARC_TO_CHAR): New inline function.
2260         (CHARC_EQ): New inline function.
2261         (CHARC_ASCII_EQ): New inline function.
2262         (CHARC_IS_SPACE): New inline function.
2263         (ASCII_TO_CHARC): New inline function.
2264
2265         * char-ucs.h (encode_char_2): Deleted.
2266         (ENCODE_CHAR): Use `encode_char_1' again.
2267         (breakup_char_1): Likewise.
2268         (CHAR_TO_CHARC): New inline function.
2269
2270         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2271
2272 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2273
2274         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2275         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2276         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2277         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2278         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2279         `CHARC_IS_SPACE'.
2280         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2281
2282         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2283         `CHARC_CODE_POINT'.
2284         (x_output_display_block): Use `CHARC_CHARSET' and
2285         `CHARC_ASCII_EQ'.
2286
2287         * redisplay-tty.c (tty_output_display_block): Use
2288         `CHARC_ASCII_EQ'.
2289         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2290
2291         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2292
2293         * insdel.c (find_charsets_in_charc_string): Use
2294         `CHARC_CHARSET_ID'.
2295         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2296         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2297         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2298         (convert_charc_string_into_malloced_string): Likewise.
2299
2300 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2301
2302         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2303         instead of <Emchar_dynarr *> for buf; use
2304         `convert_bufbyte_string_into_charc_dynarr' instead of
2305         `convert_bufbyte_string_into_emchar_dynarr'; use
2306         `find_charsets_in_charc_string' instead of
2307         `find_charsets_in_emchar_string'.
2308
2309         * redisplay.h:
2310         - Include "character.h".
2311         (struct rune): New member `cglyph'; delete member `chr'.
2312
2313         * redisplay.c (redisplay_text_width_charc_string): New function;
2314         delete `redisplay_text_width_emchar_string'.
2315         (rtw_charc_dynarr): New variable; renamed from
2316         `rtw_emchar_dynarr'.
2317         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2318         `rtw_emchar_dynarr'; use
2319         `convert_bufbyte_string_into_charc_dynarr' instead of
2320         `convert_bufbyte_string_into_emchar_dynarr'; use
2321         `redisplay_text_width_charc_string' instead of
2322         `redisplay_text_width_emchar_string'.
2323         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2324         instead of `rtw_emchar_dynarr'; use
2325         `convert_bufbyte_string_into_charc_dynarr' instead of
2326         `convert_bufbyte_string_into_emchar_dynarr'.
2327         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2328         `redisplay_text_width_charc_string' instead of
2329         `redisplay_text_width_emchar_string'.
2330         (create_text_block): Modify for <struct rune> change.
2331         (generate_formatted_string_db): Likewise.
2332         (create_string_text_block): Likewise.
2333         (pixel_to_glyph_translation): Likewise.
2334
2335         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2336         instead of <const Emchar *>.
2337         (x_text_width): Likewise.
2338         (x_output_display_block): Use <Charc_dynarr *> instead
2339         <Emchar_dynarr *>; modify for <structure rune> change.
2340         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2341         *>.
2342
2343         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2344         <const Emchar *>; use `charc_string_displayed_columns' instead of
2345         `emchar_string_displayed_columns'.
2346         (tty_output_display_block): Use <Charc_dynarr *> instead of
2347         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2348         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2349         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2350         `tty_output_emchar_dynarr_dynarr'.
2351         (tty_output_charc_dynarr): New function; delete
2352         `tty_output_charc_dynarr'.
2353
2354         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2355         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2356         <Emchar_dynarr *> for buf; use
2357         `convert_bufbyte_string_into_charc_dynarr' instead of
2358         `convert_bufbyte_string_into_emchar_dynarr'.
2359
2360         * frame.c (title_string_charc_dynarr): New variable; renamed from
2361         `title_string_emchar_dynarr'.
2362         (generate_title_string): Use `title_string_charc_dynarr' instead
2363         of `title_string_emchar_dynarr'; use
2364         `convert_charc_string_into_malloced_string' instead of
2365         `convert_emchar_string_into_malloced_string'.
2366         (init_frame): Use `title_string_charc_dynarr' instead of
2367         `title_string_emchar_dynarr'.
2368
2369         * console.h:
2370         - Include "character.h".
2371         (struct console_methods): Use <const Charc *> instead of <const
2372         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2373         <Emchar_dynarr *> in output_string_method.
2374
2375         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2376         <Emchar_dynarr *>.
2377
2378         * console-stream.c (stream_text_width): Use <const Charc *>
2379         instead of <const Emchar *>.
2380
2381         * character.h (Charc_dynarr): New type.
2382
2383         * char-ucs.h (structure Charc): New structure; define new type
2384         `Charc'.
2385
2386         * char-lb.h (DECODE_CHAR): New inline function.
2387         (encode_char_1): New inline function.
2388         (ENCODE_CHAR): New macro.
2389         (structure Charc): New structure; define new type `Charc'.
2390
2391         * char-1byte.h (Vcharset_control_1): New macro.
2392         (Vcharset_latin_iso8859_1): New macro.
2393         (DECODE_CHAR): New inline function.
2394         (encode_char_1): New inline function.
2395         (ENCODE_CHAR): New macro.
2396         (structure Charc): New structure; define new type `Charc'.
2397
2398         * insdel.c (find_charsets_in_charc_string): New function; delete
2399         `find_charsets_in_emchar_string'.
2400         (charc_string_displayed_columns): New function; delete
2401         `emchar_string_displayed_columns'.
2402         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2403         `convert_bufbyte_string_into_emchar_dynarr'.
2404         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2405         `convert_charc_string_into_bufbyte_dynarr'.
2406         (convert_charc_string_into_malloced_string): New function; delete
2407         `convert_charc_string_into_malloced_string'.
2408
2409         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2410         `find_charsets_in_emchar_string'.
2411         (charc_string_displayed_columns): New prototype; delete
2412         `emchar_string_displayed_columns'.
2413         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2414         `convert_charc_string_into_bufbyte_dynarr'.
2415         (convert_charc_string_into_malloced_string): New prototype; delete
2416         `convert_charc_string_into_malloced_string'.
2417
2418 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2419
2420         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2421
2422 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2423
2424         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2425
2426         * char-ucs.h: Use <short> for <Charset_ID>.
2427
2428         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2429         <Charset_ID>.
2430
2431 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2434         to 0.16.
2435
2436 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2437
2438         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2439         variable.
2440         (Qmorohashi_daikanwa): New variable.
2441         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2442         for `morohashi-daikanwa' attribute.
2443         (Fget_char_attribute): Likewise.
2444         (Fput_char_attribute): Likewise.
2445         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2446         has the same value of `ideograph-daikanwa'.
2447         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2448         (vars_of_mule_charset): Setup
2449         `Vcharacter_morohashi_daikanwa_table'.
2450
2451 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2452
2453         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2454         attributes.
2455         (add_charset_to_list_mapper): Add `key' instead of
2456         `XCHARSET_NAME (value)' to return aliases.
2457
2458 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2459
2460         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2461         variable.
2462         (Vcharacter_ideographic_strokes_table): New variable.
2463         (Qideographic_radical): New variable.
2464         (Qideographic_strokes): New variable.
2465         (Fchar_attribute_alist): Use
2466         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2467         attribute; use `Vcharacter_ideographic_strokes_table' for
2468         `ideographic-strokes' attribute.
2469         (Fget_char_attribute): Likewise.
2470         (Fput_char_attribute): Likewise.
2471         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2472         `ideographic-strokes'.
2473         (vars_of_mule_charset): Setup
2474         `Vcharacter_ideographic_radical_table' and
2475         `Vcharacter_ideographic_strokes_table'.
2476
2477 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2478
2479         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2480         (Qtotal_strokes): New variable.
2481         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2482         `total-strokes' attribute.
2483         (Fget_char_attribute): Likewise.
2484         (Fput_char_attribute): Likewise.
2485         (syms_of_mule_charset): Add new symbol `total-strokes'.
2486         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2487
2488 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2489
2490         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2491         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2492         are found.
2493         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2494         `->decomposition' attribute.
2495         (Fput_char_attribute): Likewise.
2496         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2497
2498 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2499
2500         * mule-charset.c (decoding_table_check_elements): New function.
2501         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2502
2503 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2504
2505         * mule-charset.c (Fset_charset_mapping_table): Use
2506         `put_char_ccs_code_point'.
2507
2508 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2509
2510         * mule-charset.c (decoding_table_put_char): New inline function.
2511         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2512
2513 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2514
2515         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2516         (XCHARSET_BYTE_SIZE): New macro.
2517         (decoding_table_remove_char): New inline function.
2518         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2519         `decoding_table_remove_char'.
2520         (remove_char_ccs): Use `decoding_table_remove_char'.
2521         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2522
2523 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2524
2525         * mule-charset.c (Vcharacter_name_table): New variable.
2526         (Qname): New variable.
2527         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2528         attribute.
2529         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2530         `Vcharacter_name_table' for `name' attribute.
2531         (Fremove_char_attribute): Use function `remove_char_ccs'.
2532         (put_char_ccs_code_point): New function.
2533         (remove_char_ccs): New function.
2534         (syms_of_mule_charset): Add new symbol `name'.
2535         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2536
2537 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2538
2539         * mule-charset.c (make_byte_table): Add new argument `older'.
2540         (make_char_id_table): Likewise.
2541         (copy_char_id_table): Comment out because it is not used.
2542         (put_char_id_table): Modify for `make_byte_table'.
2543         (Fput_char_attribute): Make encoding_table as older object;
2544         inherit older bit of `Vcharacter_composition_table'.
2545         (mark_charset): Don't mark `cs->encoding_table'.
2546         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2547         normal object; make `Vcharacter_composition_table' as an older
2548         object; delete staticpro for `Vcharacter_composition_table'; make
2549         `Vcharacter_variant_table' as a normal object.
2550
2551         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2552         (mark_object): Don't check older object in UTF-2000.
2553
2554         * lrecord.h (struct lrecord_header): Add new member `older' in
2555         UTF-2000.
2556         (set_lheader_implementation): Setup `SLI_header->older' in
2557         UTF-2000.
2558         (set_lheader_older_implementation): New macro in UTF-2000.
2559         (OLDER_RECORD_P): New macro in UTF-2000.
2560         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2561         (alloc_older_lcrecord): New prototype in UTF-2000.
2562         (alloc_older_lcrecord_type): New macro in UTF-2000.
2563
2564 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2565
2566         * mule-charset.c (byte_table_description): Use
2567         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2568         (char_id_table_description): Delete bogus `, 1'.
2569         (Fget_char_attribute): Refer encoding_table of each coded-charset
2570         to get value of coded-charset attribute of a character.
2571         (Fput_char_attribute): Use `make_older_vector' instead of
2572         `make_vector'; use encoding_table of each coded-charset to store
2573         value of coded-charset attribute of a character.
2574         (Fremove_char_attribute): Use encoding_table of each coded-charset
2575         to store value of coded-charset attribute of a character.
2576         (mark_charset): Mark `cs->encoding_table'; don't mark
2577         `cs->decoding_table'.
2578         (charset_description): Add description of new member
2579         `encoding_table'.
2580         (make_charset): Initialize `encoding_table'.
2581
2582         * char-ucs.h (struct Lisp_Charset): Add new member
2583         `encoding_table'.
2584         (CHARSET_ENCODING_TABLE): New macro.
2585         (XCHARSET_ENCODING_TABLE): New macro.
2586         (charset_code_point): New implementation.
2587         (encode_char_1): Likewise.
2588
2589         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2590         (disksave_object_finalization_1): Call finalizers of
2591         `all_older_lcrecords' in UTF-2000.
2592         (make_older_vector): New function in UTF-2000.
2593         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2594         UTF-2000.
2595
2596         * lisp.h (make_older_vector): New prototype in UTF-2000.
2597
2598 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2599
2600         * lrecord.h (enum lrecord_type): Rename
2601         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2602
2603         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2604         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2605         `get_char_code_table'.
2606
2607         * mule-charset.c (mark_char_id_table): Renamed from
2608         `mark_char_code_table'.
2609         (char_id_table_equal): Renamed from `char_code_table_equal'.
2610         (char_id_table_hash): Renamed from `char_code_table_hash'.
2611         (make_char_id_table): Renamed from `make_char_code_table'.
2612         (copy_char_id_table): Renamed from `copy_char_code_table'.
2613         (get_char_id_table): Renamed from `get_char_code_table'.
2614         (put_char_id_table): Renamed from `put_char_code_table'.
2615         (to_char_id): Renamed from `to_char_code'.
2616
2617         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2618         `Lisp_Char_Code_Table'.
2619         (char_id_table): Renamed from `char_code_table'.
2620         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2621         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2622         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2623         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2624         (get_char_id_table): Renamed from `get_char_code_table'.
2625
2626 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2627
2628         * lrecord.h (enum lrecord_type): Rename
2629         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2630
2631         * mule-charset.c (mark_byte_table): Renamed from
2632         `mark_char_byte_table'.
2633         (byte_table_equal): Renamed from `char_byte_table_equal'.
2634         (byte_table_hash): Renamed from `byte_table_hash'.
2635         (make_byte_table): Renamed from `make_byte_table'.
2636         (copy_byte_table): Renamed from `copy_char_byte_table'.
2637
2638         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2639         `Lisp_Char_Byte_Table'.
2640         (byte_table): Renamed from `char_byte_table'.
2641         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2642         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2643         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2644         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2645
2646 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2647
2648         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2649         (dfc_convert_to_internal_format): Likewise.
2650         
2651         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2652         * text-coding.c (Fcoding_system_alias_p): New function.
2653         * text-coding.c (Fcoding_system_aliasee): New function.
2654         * text-coding.c (append_suffix_to_symbol): New function.
2655         * text-coding.c (dangling_coding_system_alias_p): New function.
2656         * text-coding.c (Ffind_coding_system):
2657         * text-coding.c (Fcopy_coding_system):
2658         * text-coding.c (encode_coding_no_conversion):
2659         * text-coding.c (syms_of_file_coding):
2660         * text-coding.c (vars_of_file_coding):
2661         Rewrite coding system alias code.
2662         Allow nested aliases, like symbolic links.
2663         Allow redefinition of coding system aliases.
2664         Prevent existence of dangling coding system aliases.
2665         Eliminate convert_to_external_format.
2666         Eliminate convert_to_internal_format.
2667         
2668         * text-coding.c: Change enum eol_type to eol_type_t.
2669
2670 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2671
2672         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2673         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2674
2675         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2676         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2677
2678 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2679
2680         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2681         `ideograph-daikanwa'.
2682
2683         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2684         (Vcharset_ucs_bmp): Likewise.
2685         (Vcharset_mojikyo): Add new extern variable definition.
2686         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2687         (Vcharset_latin_iso8859_3): Likewise.
2688         (Vcharset_latin_iso8859_4): Likewise.
2689         (Vcharset_latin_iso8859_9): Likewise.
2690         (Vcharset_latin_viscii_lower): Likewise.
2691         (Vcharset_latin_viscii_upper): Likewise.
2692         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2693         `mojikyo' code-point is used to decode.
2694         (encode_char_2): New function [to convert `mojikyo' code-point to
2695         Mojikyo font encoding].
2696         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2697         (breakup_char_1): Likewise.
2698         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2699
2700 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2701
2702         * text-coding.c (Fmake_coding_system): Add document about
2703         `disable-composition' property.
2704
2705 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2706
2707         * text-coding.c (Qdisable_composition): New variable; delete
2708         `Qcomposite'.
2709         (Fmake_coding_system): Add new property `disable-composite';
2710         delete property `composite'.
2711         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2712         instead of `!CODING_SYSTEM_COMPOSITE'.
2713         (syms_of_file_coding): Add new symbol `disable-composition';
2714         delete symbol `composite'.
2715
2716         * file-coding.h (struct Lisp_Coding_System): Add
2717         `disable_composition'; delete `enable_composition'.
2718         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2719         `CODING_SYSTEM_COMPOSITE'.
2720         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2721         `XCODING_SYSTEM_COMPOSITE'.
2722
2723 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2724
2725         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2726         to 0.15.
2727
2728 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2729
2730         * text-coding.c (Qcomposite): New variable.
2731         (Fmake_coding_system): Add new property `composite'.
2732         (struct decoding_stream): Add `combined_char_count',
2733         `combined_chars' and `combining_table' in UTF-2000.
2734         (COMPOSE_FLUSH_CHARS): New macro.
2735         (COMPOSE_ADD_CHAR): New macro.
2736         (reset_decoding_stream): Reset `str->combined_char_count' and
2737         `str->combining_table' in UTF-2000.
2738         (decode_coding_iso2022): Modify for character-decomposition.
2739         (syms_of_file_coding): Add new symbol `composite'.
2740
2741 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2742
2743         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2744         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2745         of `Vcharacter_composition_table' if `->decomposition' property
2746         has only 1 element.
2747         (Qlatin_tcvn5712): New variable.
2748         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2749         (complex_vars_of_mule_charset): Add new coded-charset
2750         `latin-tcvn5712'.
2751
2752         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2753
2754 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2755
2756         * file-coding.h (struct Lisp_Coding_System): Add
2757         `enable_composition'.
2758         (CODING_SYSTEM_COMPOSITE): New macro.
2759         (XCODING_SYSTEM_COMPOSITE): New macro.
2760
2761 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2762
2763         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2764
2765 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2766
2767         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2768         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2769
2770 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2771
2772         * mule-charset.c (Vcharset_mojikyo): New variable.
2773         (Fdefine_char): Don't use coded-charset which does not have
2774         non-builtin character range to allocate character-id.
2775         (Qmojikyo): New variable.
2776         (syms_of_mule_charset): Add new symbol `mojikyo'.
2777         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2778
2779         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2780         (LEADING_BYTE_MOJIKYO): New macro.
2781         (MIN_CHAR_MOJIKYO): New macro.
2782         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2783         (MAX_CHAR_MOJIKYO): New macro.
2784
2785 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2786
2787         * mule-charset.c (remove_char_attribute): Fixed.
2788
2789 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2790
2791         * mule-charset.c (remove_char_attribute): New function.
2792         (Fremove_char_attribute): New function.
2793         (encode_builtin_char_1): Comment out builtin-support for
2794         greek-iso8859-7 and cyrillic-iso8859-5.
2795         (Fdecode_char): Check `code' is an integer.
2796         (syms_of_mule_charset): Add `remove-char-attribute'.
2797         (MIN_CHAR_GREEK): Deleted.
2798         (MAX_CHAR_GREEK): Likewise.
2799         (MIN_CHAR_CYRILLIC): Likewise.
2800         (MAX_CHAR_CYRILLIC): Likewise.
2801         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2802         MAX_CHAR_GREEK for `greek-iso8859-7'.
2803
2804         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2805         (MAX_CHAR_GREEK): Likewise.
2806         (MIN_CHAR_CYRILLIC): Likewise.
2807         (MAX_CHAR_CYRILLIC): Likewise.
2808
2809 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2810
2811         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2812         format is used without `ucs' property.
2813         (Fdecode_char): Fix problem with GR representation.
2814         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2815         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2816
2817 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2818
2819         * mule-charset.c (make_builtin_char): New function.
2820         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2821         (Fset_charset_mapping_table): Modify for new representation of
2822         code-point.
2823         (Fdecode_char): New function.
2824         (syms_of_mule_charset): Add new builtin function `decode-char' in
2825         UTF-2000.
2826
2827         * char-ucs.h (make_builtin_char): New prototype.
2828         (DECODE_CHAR): New inline function.
2829         (MAKE_CHAR): Use `DECODE_CHAR'.
2830
2831 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2832
2833         * text-coding.c (parse_charset_conversion_specs): Use
2834         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2835         `XCHARSET_TYPE'.
2836         (iso2022_designate): Likewise.
2837
2838         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2839         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2840
2841         * mule-charset.c (Vcharset_ucs): New variable.
2842         (print_charset): Change design; use `CHARSET_CHARS' and
2843         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2844         (make_charset): Change signature to specify `chars' and
2845         `dimension' instead of `type'.
2846         (range_charset_code_point): Modify for 256^n-set.
2847         (encode_builtin_char_1): Encode as `ucs' in default.
2848         (Fmake_charset): Modify for `make_charset'.
2849         (Fmake_reverse_direction_charset): Likewise.
2850         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2851         UTF-2000.
2852         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2853         for `make_charset'.
2854
2855         * char-ucs.h (Vcharset_ucs): New variable.
2856         (LEADING_BYTE_UCS): New macro.
2857         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2858         and `chars' to `unsigned short' from `unsigned int'.
2859         (CHARSET_TYPE): Deleted.
2860         (XCHARSET_TYPE): Deleted.
2861
2862 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2863
2864         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2865
2866         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2867         (ENCODE_CHAR): New macro.
2868
2869 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2870
2871         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2872         to 0.14 (Kawachi-Katakami).
2873
2874 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2875
2876         * text-coding.c (char_encode_shift_jis): Modify for
2877         `charset_code_point'.
2878         (char_encode_iso2022): Likewise.
2879
2880         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2881         (integer) instead of list of <Lisp_Object>s (integers) as the
2882         format of code-point of a coded-charset.
2883         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2884         (encode_builtin_char_1): New function; delete
2885         `split_builtin_char'.
2886         (charset_code_point): Return <int> instead of <Lisp_Object>.
2887         (Fsplit_char): Don't use `SPLIT_CHAR'.
2888
2889         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2890         prototype for `split_builtin_char'.
2891         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2892         (charset_code_point): Likewise.
2893         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2894         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2895
2896 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2897
2898         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2899         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2900
2901 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2902
2903         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2904
2905         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2906         (MAX_CHAR_OBS_94x94): Deleted.
2907
2908 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2909
2910         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2911
2912         * char-ucs.h (MAX_CHAR_BMP): New macro.
2913
2914 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2915
2916         * text-coding.c: Sync with r21-2-24.
2917
2918 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2919
2920         * file-coding.c: Modify for UTF-2000.
2921
2922 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2923
2924         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2925         to 0.13 (Takaida).
2926
2927 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2928
2929         * mule-charset.c (split_builtin_char): Delete builtin support for
2930         `katakana-jisx0201'.
2931         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2932         BMP area in builtin representation.
2933
2934         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2935         `Vcharset_katakana_jisx0201'.
2936
2937 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2938
2939         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2940         (Qisolated): New variable.
2941         (Qinitial): New variable.
2942         (Qmedial): New variable.
2943         (Qfinal): New variable.
2944         (Qvertical): New variable.
2945         (Qsmall): New variable.
2946         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2947         `Qvertical' and `Qsmall'.
2948         (Qmojikyo_pj_[1 .. 21]): New variable.
2949         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2950         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2951         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2952         .. 21]'.
2953
2954 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2955
2956         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2957         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2958         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2959
2960 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2961
2962         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2963         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2964         BMP.
2965         (Qjapanese_jisx0208_1990): New variable.
2966         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2967         (complex_vars_of_mule_charset): Add new coded-charset
2968         `japanese-jisx0208-1990'.
2969
2970         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2971         (MIN_CHAR_JIS_X0208_1990): New macro.
2972         (MAX_CHAR_JIS_X0208_1990): New macro.
2973
2974 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2975
2976         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2977         coded-charset is not found.
2978
2979 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2980
2981         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2982         (Fdefine_char): Use `Fmake_char'.
2983
2984 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2985
2986         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2987         (Vcharset_hiragana_jisx0208): Deleted.
2988         (Vcharset_katakana_jisx0208): Deleted.
2989         (Qideograph_daikanwa): New variable.
2990         (Qhiragana_jisx0208): Deleted.
2991         (Qkatakana_jisx0208): Deleted.
2992         (split_builtin_char): Split `ideograph-daikanwa'.
2993         (Fsplit_char): New implementation for UTF-2000.
2994         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2995         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2996         (complex_vars_of_mule_charset): Add new coded-charset
2997         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2998         `katakana-jisx0208'.
2999
3000         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3001         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3002         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3003         (MIN_CHAR_DAIKANWA): New macro.
3004         (MAX_CHAR_DAIKANWA): New macro.
3005
3006 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3007
3008         * data.c (Fstring_to_number): Don't recognize floating point if
3009         base is not 10.
3010
3011 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3012
3013         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3014
3015 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3016
3017         * mule-charset.c (Qsquare): New variable.
3018         (to_char_code): Add `Qsquare'.
3019         (syms_of_mule_charset): Add new symbol `square'.
3020
3021 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3022
3023         * mule-charset.c (Qcircle): New variable.
3024         (to_char_code): Add `Qcircle'.
3025         (syms_of_mule_charset): Add new symbol `circle'.
3026
3027 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3028
3029         * mule-charset.c (Qfont): New variable.
3030         (to_char_code): Add `Qfont'.
3031         (syms_of_mule_charset): Add new symbol `font'.
3032
3033 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3034
3035         * mule-charset.c (Qsub): New variable.
3036         (to_char_code): Add `Qsub'.
3037         (syms_of_mule_charset): Add new symbol `sub'.
3038
3039 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3040
3041         * mule-charset.c (Fput_char_attribute): Convert each element of
3042         VALUE to GL position if ATTRIBUTE is a GR-set,
3043
3044 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3045
3046         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3047         coded-charset is a GR-set.
3048
3049 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3050
3051         * mule-charset.c (Fput_char_attribute): Check each element of
3052         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3053
3054 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3055
3056         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3057         UTF-2000.
3058         (Qethiopic_ucs): New variable in UTF-2000.
3059         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3060         (complex_vars_of_mule_charset): Add new coded-charset
3061         `ethiopic-ucs' in UTF-2000.
3062
3063         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3064         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3065         9)'.
3066         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3067         10)'.
3068         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3069
3070 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3071
3072         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3073         `ascii'.
3074
3075 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3076
3077         * mule-charset.c (Vcharacter_variant_table): New variable.
3078         (Q_ucs): New variable.
3079         (Fchar_variants): New function.
3080         (Fput_char_attribute): Register `->ucs' value to
3081         `Vcharacter_variant_table'.
3082         (syms_of_mule_charset): Add new function `char-variants' and new
3083         symbol `->ucs'.
3084         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3085
3086 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3087
3088         * mule-charset.c (get_char_code_table): Allow negative character
3089         code.
3090         (put_char_code_table): Likewise.
3091         (Vcharacter_composition_table): New variable.
3092         (Q_decomposition): New variable.
3093         (Qwide): New variable.
3094         (Qnarrow): New variable.
3095         (Qcompat): New variable.
3096         (QnoBreak): New variable.
3097         (Qsuper): New variable.
3098         (Qfraction): New variable.
3099         (to_char_code): New function.
3100         (Fget_composite_char): New function.
3101         (Fput_char_attribute): Register `->decomposition' value to
3102         `Vcharacter_composition_table'.
3103         (syms_of_mule_charset): Add new function `get-composite-char', new
3104         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3105         `super' and `fraction'.
3106         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3107
3108 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3109
3110         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3111         character; copy the return value.
3112
3113 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3114
3115         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3116
3117         * mule-charset.c (range_charset_code_point): Must use make_int.
3118         (split_builtin_char): New function.
3119
3120 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3121
3122         * mule-charset.c (char_byte_table): Change name from
3123         "char-code-table" to "char-byte-table".
3124         (mark_char_code_table): New function.
3125         (char_code_table_equal): New function.
3126         (char_code_table_hash): New function.
3127         (char_code_table_description): New constant.
3128         (char_code_table): New type.
3129         (make_char_code_table): New function.
3130         (copy_char_code_table): New function.
3131         (get_char_code_table): Modify for `char_code_table' type.
3132         (put_char_code_table): Likewise.
3133         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3134         (Kashiwara).
3135
3136         * char-ucs.h (char_code_table): New type.
3137         (XCHAR_CODE_TABLE): New macro.
3138         (XSETCHAR_CODE_TABLE): New macro.
3139         (CHAR_CODE_TABLE_P): New macro.
3140         (GC_CHAR_CODE_TABLE_P): New macro.
3141         (struct Lisp_Char_Code_Table): New structure.
3142
3143 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3144
3145         * mule-charset.c (Fmake_charset): Setup byte_offset for
3146         {94|96}^n-set.
3147
3148 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3149
3150         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3151         character.
3152
3153 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3154
3155         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3156         is found.
3157
3158 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3159
3160         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3161         charset, it is regarded as a charset.
3162         (put_char_attribute): New function in UTF-2000.
3163         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3164         charset, mapping-table of the charset is modified.
3165         (Fdefine_char): New function in UTF-2000.
3166         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3167         `Fput_char_attribute'.
3168         (syms_of_mule_charset): Add new function `define-char' and new
3169         symbol `ucs' in UTF-2000.
3170         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3171
3172 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3173
3174         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3175         non-UTF-2000 configuration.
3176
3177 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3178
3179         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3180         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3181
3182         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3183         deleted.
3184         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3185         (Fset_charset_mapping_table): Likewise.
3186
3187         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3188         (CHARSET_ENCODING_TABLE): Delete.
3189         (XCHARSET_ENCODING_TABLE): Delete.
3190         (charset_code_point): New interface.
3191
3192 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3193
3194         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3195         instead of `charset_get_byte1' and `charset_get_byte2'.
3196
3197         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3198         (charset_get_byte2): Deleted.
3199
3200 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3201
3202         * char-ucs.h (SPLIT_CHAR): New inline function.
3203         (breakup_char_1): Use `SPLIT_CHAR'.
3204
3205         * mule-charset.c (range_charset_code_point): New function.
3206         (charset_code_point): New function.
3207
3208         * char-ucs.h (range_charset_code_point): New interface.
3209         (breakup_char_1): Use `range_charset_code_point'.
3210
3211 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3212
3213         * mule-charset.c (Fmake_charset): Delete unused local variable
3214         `code_offset'.
3215
3216         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3217         (breakup_char_1): Find a charset and code-point in
3218         `Vcharacter_attribute_table'.
3219
3220 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3221
3222         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3223         to 0.10 (Yao).
3224
3225 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3226
3227         * mule-charset.c (Vcharacter_attribute_table): New variable.
3228         (Fchar_attribute_alist): New function.
3229         (Fget_char_attribute): New function.
3230         (Fput_char_attribute): New function.
3231         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3232         too.
3233         (syms_of_mule_charset): Add new function `char-attribute-alist',
3234         `get-char-attribute' and `put-char-attribute'.
3235         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3236
3237 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3238
3239         * mule-charset.c (Fmake_charset): Just use
3240         `get_unallocated_leading_byte'.
3241
3242         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3243         sets; don't use final-byte based number for private sets.
3244
3245 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3246
3247         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3248         integer.
3249
3250 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3251
3252         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3253         to 0.9.
3254
3255 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3256
3257         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3258         of `CHAR_LEADING_BYTE' in UTF-2000.
3259
3260         * insdel.c (find_charsets_in_bufbyte_string): Use
3261         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3262         (find_charsets_in_emchar_string): Likewise.
3263
3264         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3265         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3266
3267         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3268         (CHAR_CHARSET_ID): New macro.
3269
3270 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3271
3272         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3273         charset-id - MIN_LEADING_BYTE.
3274         (put_char_table): Likewise.
3275
3276 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3277
3278         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3279         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3280         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3281         (CHARSET_ID_OFFSET): New macro.
3282         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3283         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3284         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3285         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3286         4).
3287         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3288         5).
3289         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3290         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3291         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3292         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3293         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3294
3295 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3296
3297         * mule-charset.c (next_allocated_leading_byte): New variable in
3298         UTF-2000.
3299         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3300         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3301         (get_unallocated_leading_byte): Simply use
3302         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3303         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3304         UTF-2000.
3305
3306         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3307         (MAX_LEADING_BYTE_PRIVATE): New macro.
3308         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3309         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3310
3311 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3312
3313         * mule-charset.c (Fmake_charset): Allocate final-byte based
3314         charset-id for 94-set, 96-set and 94x94-set.
3315
3316 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3317
3318         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3319         ambiguous `else'.
3320         (Fmake_charset): Likewise.
3321         (complex_vars_of_mule_charset): Modify the font registry of
3322         `ucs-bmp' not to match `Ethiopic-Unicode'.
3323
3324 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3325
3326         * mule-charset.c (complex_vars_of_mule_charset): Add font
3327         registory of `ucs-bmp'.
3328
3329 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3330
3331         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3332         coded-charsets in `default-coded-charset-priority-list' when
3333         breaking up a character.
3334
3335         * mule-charset.c (Vcharset_latin_viscii): New variable.
3336         (Qlatin_viscii): New variable.
3337         (make_charset): Don't use `decoding_table'.
3338         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3339         byte_offset.
3340         (Fset_charset_mapping_table): New implementation.
3341         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3342         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3343         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3344         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3345         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3346         charset `latin_viscii'.
3347
3348         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3349         (CHARSET_TYPE_94X94): Change to 1 from 2.
3350         (CHARSET_TYPE_96): Change to 2 from 1.
3351         (CHARSET_TYPE_128): New macro.
3352         (CHARSET_TYPE_128X128): Change to 5 from 4.
3353         (CHARSET_TYPE_256): New macro.
3354         (CHARSET_TYPE_256X256): Change to 7 from 5.
3355         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3356
3357 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3358
3359         * text-coding.c (char_encode_shift_jis): Refer
3360         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3361         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3362
3363         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3364         (char_byte_table_equal): New function in UTF-2000.
3365         (char_byte_table_hash): New function in UTF-2000.
3366         (char_byte_table_description): New constant in UTF-2000.
3367         (char_byte_table): New type in UTF-2000.
3368         (make_char_byte_table): New function in UTF-2000.
3369         (copy_char_byte_table): New function in UTF-2000.
3370         (make_char_code_table): New macro in UTF-2000.
3371         (get_char_code_table): New function in UTF-2000.
3372         (put_char_code_table): New function in UTF-2000.
3373         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3374         (charset_description): Add setting in UTF-2000.
3375         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3376         `CHARSET_TO_BYTE1_TABLE(cs)'.
3377         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3378         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3379         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3380         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3381         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3382         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3383         `CHARSET_TO_BYTE2_TABLE(cs)'.
3384
3385         * char-ucs.h (char_byte_table): New type.
3386         (XCHAR_BYTE_TABLE): New macro.
3387         (XSETCHAR_BYTE_TABLE): New macro.
3388         (CHAR_BYTE_TABLE_P): New macro.
3389         (GC_CHAR_BYTE_TABLE_P): New macro.
3390         (struct Lisp_Char_Byte_Table): New structure.
3391         (get_char_code_table): New interface.
3392         (Emchar_to_byte_table): Deleted.
3393         (get_byte_from_character_table): Deleted.
3394         (struct Lisp_Charset): Add `encoding_table'; delete
3395         `to_byte1_table' and `to_byte2_table'.
3396         (CHARSET_ENCODING_TABLE): New macro.
3397         (CHARSET_TO_BYTE1_TABLE): Deleted.
3398         (CHARSET_TO_BYTE2_TABLE): Deleted.
3399         (XCHARSET_ENCODING_TABLE): New macro.
3400         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3401         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3402
3403 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3404
3405         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3406         `vietnamese-viscii-*'.
3407
3408 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3409
3410         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3411         (Qvietnamese_viscii_upper): New variable.
3412         (Fdefine_charset_alias): New function.
3413         (syms_of_mule_charset): Add new function `define-charset-alias'.
3414         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3415         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3416         `latin-viscii-*'.
3417
3418 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3419
3420         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3421         (MAX_CHAR_OBS_94x94): New macro.
3422         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3423         for 94x94 sets.
3424
3425         * mule-charset.c (put_byte_from_character_table): Change unit size
3426         from 128 to 256.
3427         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3428         not defined.
3429         (Fmake_reverse_direction_charset): Modify dummy argument of
3430         `make_charset' for non-UTF-2000 environment.
3431
3432 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3433
3434         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3435
3436         * mule-charset.c (destroy_byte_from_character_table): New macro.
3437         (latin_jisx0201_to_ucs): Deleted.
3438         (latin_iso8859_2_to_ucs): Deleted.
3439         (latin_iso8859_3_to_ucs): Deleted.
3440         (latin_iso8859_4_to_ucs): Deleted.
3441         (latin_iso8859_9_to_ucs): Deleted.
3442         (latin_viscii_lower_to_ucs): Deleted.
3443         (latin_viscii_upper_to_ucs): Deleted.
3444         (mark_charset): Mark `cs->decoding_table'.
3445         (Fcharset_mapping_table): Fix DOC-string.
3446         (Fset_charset_mapping_table): New function.
3447         (syms_of_mule_charset): Add nwe function
3448         `set-charset-mapping-table'.
3449         (complex_vars_of_mule_charset): Don't setup and use
3450         `latin_*_to_ucs'.
3451
3452 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3453
3454         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3455         charset.
3456
3457 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3458
3459         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3460         (Vcharset_katakana_jisx0208): New variable.
3461         (Qhiragana_jisx0208): New variable.
3462         (Qkatakana_jisx0208): New variable.
3463         (make_charset): Add new argument `byte_offset'.
3464         (charset_get_byte1): Modify for new coded-charset definition; use
3465         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3466         `XCHARSET_BYTE_OFFSET'.
3467         (Fmake_charset): Modify for `make_charset'.
3468         (Fmake_reverse_direction_charset): Likewise.
3469         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3470         `katakana-jisx0208'.
3471         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3472         `.'  in font registry of charset `katakana-jisx0201',
3473         `latin-jisx0201', `vietnamese-viscii-lower' and
3474         `vietnamese-viscii-upper'; modify DOC-string of charset
3475         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3476         registry of charset `japanese-jisx0208' not to use font for JIS
3477         X0208:1990; add new charset `hiragana-jisx0208' and
3478         `katakana-jisx0208'.
3479
3480         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3481         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3482         (struct Lisp_Charset): Add `byte_offset'.
3483         (CHARSET_BYTE_OFFSET): New macro.
3484         (XCHARSET_UCS_MIN): New macro.
3485         (XCHARSET_UCS_MAX): New macro.
3486         (XCHARSET_CODE_OFFSET): New macro.
3487         (XCHARSET_BYTE_OFFSET): New macro.
3488         (MIN_CHAR_HIRAGANA): New macro.
3489         (MAX_CHAR_HIRAGANA): New macro.
3490         (MIN_CHAR_KATAKANA): New macro.
3491         (MAX_CHAR_KATAKANA): New macro.
3492         (MAKE_CHAR): Modify for new coded-charset definition; use
3493         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3494         `XCHARSET_BYTE_OFFSET'.
3495
3496 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3497
3498         * mule-charset.c (CHAR96): Deleted.
3499         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3500         <Lisp_Object>.
3501         (latin_iso8859_2_to_ucs): Likewise.
3502         (latin_iso8859_3_to_ucs): Likewise.
3503         (latin_iso8859_4_to_ucs): Likewise.
3504         (latin_iso8859_9_to_ucs): Likewise.
3505         (latin_viscii_lower_to_ucs): Likewise.
3506         (latin_viscii_upper_to_ucs): Likewise.
3507         (latin_tcvn5712_to_ucs): Commented out.
3508         (make_charset): Change type of argument `decoding_table' from
3509         <Emchar*> to <Lisp_Object> [vector of characters].
3510         (Fmake_charset): Modify for `make_charset'.
3511         (Fmake_reverse_direction_charset): Likewise.
3512         (Fcharset_mapping_table): New function in UTF-2000.
3513         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3514         UTF-2000.
3515         (complex_vars_of_mule_charset): Modify for type change of
3516         `*_to_ucs'; modify for `make_charset'.
3517
3518         * char-ucs.h (struct Lisp_Charset): Change type of
3519         `decoding_table' from <Emchar*> to <Lisp_Object>.
3520         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3521
3522 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3523
3524         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3525         error with non-UTF-2000-Mule.
3526
3527 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3528
3529         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3530         in lisp again].
3531         (Vcharset_chinese_cns11643_4): Likewise.
3532         (Vcharset_chinese_cns11643_5): Likewise.
3533         (Vcharset_chinese_cns11643_6): Likewise.
3534         (Vcharset_chinese_cns11643_7): Likewise.
3535         (Qchinese_cns11643_3): Likewise.
3536         (Qchinese_cns11643_4): Likewise.
3537         (Qchinese_cns11643_5): Likewise.
3538         (Qchinese_cns11643_6): Likewise.
3539         (Qchinese_cns11643_7): Likewise.
3540         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3541         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3542         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3543         (complex_vars_of_mule_charset): Likewise.
3544
3545 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3546
3547         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3548         96-set.
3549         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3550         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3551
3552 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3553
3554         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3555         0xFF60.
3556         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3557         (breakup_char_1): Likewise.
3558
3559         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3560         one of them includes the specified character.
3561
3562 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3563
3564         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3565
3566 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3567
3568         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3569
3570 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3571
3572         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3573         definition for non-UTF-2000 Mule.
3574         (latin_iso8859_3_to_ucs): Likewise.
3575         (latin_iso8859_4_to_ucs): Likewise.
3576         (latin_iso8859_9_to_ucs): Likewise.
3577         (latin_jisx0201_to_ucs): Likewise.
3578         (MIN_CHAR_THAI): Likewise.
3579         (MAX_CHAR_THAI): Likewise.
3580         (MIN_CHAR_GREEK): Likewise.
3581         (MAX_CHAR_GREEK): Likewise.
3582         (MIN_CHAR_HEBREW): Likewise.
3583         (MAX_CHAR_HEBREW): Likewise.
3584         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3585         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3586         (MIN_CHAR_CYRILLIC): Likewise.
3587         (MAX_CHAR_CYRILLIC): Likewise.
3588
3589 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3590
3591         * char-ucs.h (breakup_char_1): Use
3592         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3593         thai-tis620 and katakana-jisx0201 area.
3594
3595 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3596
3597         * char-ucs.h (breakup_char_1): Use
3598         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3599         area.
3600
3601         * text-coding.c (reset_encoding_stream): Fixed.
3602         (char_encode_ucs4): Delete `& 255'.
3603
3604         * char-ucs.h (breakup_char_1): Use
3605         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3606
3607 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3608
3609         * file-coding.c (Fmake_coding_system): Don't set up
3610         `codesys->fixed.size'.
3611         (encode_coding_no_conversion): Don't refer
3612         `str->codesys->fixed.size'.
3613
3614 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3615
3616         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3617         (latin_a_char_to_byte1): Deleted.
3618         (latin_a_char_to_byte2): Deleted.
3619
3620 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3621
3622         * mule-charset.c (make_charset): Add new argument `ucs_min',
3623         `ucs_max' and `code_offset'.
3624         (charset_get_byte1): New implementation [delete specific charset
3625         depended implementations].
3626         (Fmake_charset): Modify for `make_charset'.
3627         (Fmake_reverse_direction_charset): Likewise.
3628         (complex_vars_of_mule_charset): Likewise.
3629
3630         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3631         `code_offset'.
3632         (CHARSET_UCS_MIN): New macro.
3633         (CHARSET_UCS_MAX): New macro.
3634         (CHARSET_CODE_OFFSET): New macro.
3635         (MAKE_CHAR): Delete charset depended definitions [except
3636         katakana-jisx0201].
3637
3638 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3639
3640         * char-ucs.h (breakup_char_1): Use
3641         `Vdefault_coded_charset_priority_list' for C0-Controls,
3642         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3643
3644 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3645
3646         * char-ucs.h (charset_get_byte1): New function.
3647         (XCHARSET_GET_BYTE1): Deleted.
3648         (charset_get_byte2): New function.
3649         (XCHARSET_GET_BYTE2): Deleted.
3650         (Vdefault_coded_charset_priority_list): New external variable.
3651         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3652         `Vdefault_preferred_coded_charset_list'.
3653
3654         * mule-charset.c (charset_get_byte1): New function.
3655         (charset_get_byte2): New function.
3656         (Vdefault_coded_charset_priority_list): New variable.
3657         (vars_of_mule_charset): Add new variable
3658         `default-coded-charset-priority-list'.
3659
3660 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3661
3662         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3663         (XCHARSET_GET_BYTE2): New inline function.
3664         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3665         `XCHARSET_GET_BYTE2'.
3666
3667 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3668
3669         * mule-charset.c (make_charset): Initialize
3670         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3671         NULL if table is not defined.
3672
3673 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3674
3675         * text-coding.c (char_encode_shift_jis): Use
3676         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3677         `ucs_to_latin_jisx0201'.
3678
3679         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3680         (ucs_to_latin_iso8859_2): Deleted.
3681         (ucs_to_latin_iso8859_3): Deleted.
3682         (ucs_to_latin_iso8859_4): Deleted.
3683         (ucs_to_latin_iso8859_9): Deleted.
3684         (ucs_to_latin_viscii_lower): Deleted.
3685         (ucs_to_latin_viscii_upper): Deleted.
3686         (ucs_to_latin_tcvn5712): Deleted.
3687         (make_charset): Add new argument `decoding_table'; set up
3688         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3689         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3690         `decoding_table' is defined in UTF-2000.
3691         (Fmake_charset): Modify for `make_charset'.
3692         (Fmake_reverse_direction_charset): Likewise.
3693         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3694         and `GENERATE_96_SET'.
3695
3696         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3697         (ucs_to_latin_jisx0201): Deleted.
3698         (latin_iso8859_2_to_ucs): Deleted.
3699         (ucs_to_latin_iso8859_2): Deleted.
3700         (latin_iso8859_3_to_ucs): Deleted.
3701         (ucs_to_latin_iso8859_3): Deleted.
3702         (latin_iso8859_4_to_ucs): Deleted.
3703         (ucs_to_latin_iso8859_4): Deleted.
3704         (latin_iso8859_9_to_ucs): Deleted.
3705         (ucs_to_latin_iso8859_9): Deleted.
3706         (latin_viscii_lower_to_ucs): Deleted.
3707         (ucs_to_latin_viscii_lower): Deleted.
3708         (latin_viscii_upper_to_ucs): Deleted.
3709         (ucs_to_latin_viscii_upper): Deleted.
3710         (struct Lisp_Charset): Renamed `encoding_table' to
3711         `to_byte1_table'; add `to_byte2_table'.
3712         (CHARSET_DECODING_TABLE): New macro.
3713         (CHARSET_TO_BYTE1_TABLE): New macro.
3714         (CHARSET_TO_BYTE2_TABLE): New macro.
3715         (XCHARSET_DECODING_TABLE): New macro.
3716         (XCHARSET_TO_BYTE1_TABLE): New macro.
3717         (XCHARSET_TO_BYTE2_TABLE): New macro.
3718         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3719         tables.
3720         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3721         don't use `ucs_to_*' tables.
3722
3723 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3724
3725         * text-coding.c (Fmake_coding_system): Don't set up
3726         `codesys->fixed.size'.
3727         (encode_coding_no_conversion): Use `if' instead of `switch'.
3728
3729         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3730
3731 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3732
3733         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3734         (Fmake_charset): Modify for `make_charset'.
3735         (Fmake_reverse_direction_charset): Likewise.
3736         (complex_vars_of_mule_charset): Likewise.
3737
3738 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3739
3740         * text-coding.c (char_encode_shift_jis): Use table
3741         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3742
3743 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3744
3745         * text-coding.c (text_encode_generic): Use `if' instead of
3746         `switch'.
3747         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3748         decode JIS-Latin.
3749
3750 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3751
3752         * text-coding.c (encode_coding_sjis): Deleted.
3753         (char_encode_shift_jis): New function.
3754         (char_finish_shift_jis): New function.
3755         (reset_encoding_stream): Set up `encode_char' and `finish' for
3756         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3757         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3758         (char_encode_utf8): Treat `eol_type'.
3759
3760 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3761
3762         * file-coding.c (decode_coding_iso2022): Use
3763         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3764
3765 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3766
3767         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3768         to 0.7 (Hirano).
3769
3770 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3771
3772         * char-lb.h (CHAR_COLUMNS): New macro.
3773
3774 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3775
3776         * text-coding.c (char_encode_ucs4): New function.
3777         (char_finish_ucs4): New function.
3778         (encode_coding_ucs4): Deleted.
3779         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3780         (text_encode_generic): Delete local variable `charset' and `half'.
3781         (ucs_to_mule_table): Deleted.
3782         (mule_to_ucs_table): Deleted.
3783         (Fset_ucs_char): Deleted.
3784         (ucs_to_char): Deleted.
3785         (Fucs_char): Deleted.
3786         (Fset_char_ucs): Deleted.
3787         (Fchar_ucs): Deleted.
3788         (decode_ucs4): Deleted.
3789         (mule_char_to_ucs4): Deleted.
3790         (encode_ucs4): Deleted.
3791         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3792         (decode_coding_utf8): Likewise.
3793         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3794         (char_encode_iso2022): Fixed.
3795         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3796         `Fset_char_ucs' and `Fchar_ucs'.
3797         (complex_vars_of_file_coding): Don't initialize
3798         `ucs_to_mule_table'.
3799
3800         * objects-tty.c (tty_initialize_font_instance): Don't use
3801         `XCHARSET_COLUMNS'.
3802
3803         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3804         UTF-2000.
3805
3806         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3807         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3808
3809         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3810         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3811         (emchar_string_displayed_columns): Likewise.
3812
3813         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3814         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3815         (string_column_at_point): Likewise.
3816         (Fmove_to_column): Likewise.
3817
3818         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3819         `encoding_table' and `decoding_table'.
3820         (CHARSET_REP_BYTES): Deleted.
3821         (XCHARSET_REP_BYTES): Deleted.
3822         (XCHARSET_COLUMNS): Deleted.
3823         (CHAR_COLUMNS): New macro.
3824         (lookup_composite_char): Deleted unconditionally.
3825         (composite_char_string): Likewise.
3826
3827 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3828
3829         * char-ucs.h (Emchar_to_byte_table): New type.
3830         (get_byte_from_character_table): New function interface.
3831         (Vcharset_latin_jisx0201): New variable.
3832         (latin_jisx0201_to_ucs): New variable.
3833         (ucs_to_latin_jisx0201): New variable.
3834         (Vcharset_latin_iso8859_2): New variable.
3835         (latin_iso8859_2_to_ucs): New variable.
3836         (ucs_to_latin_iso8859_2): New variable.
3837         (Vcharset_latin_iso8859_3): New variable.
3838         (latin_iso8859_3_to_ucs): New variable.
3839         (ucs_to_latin_iso8859_3): New variable.
3840         (Vcharset_latin_iso8859_4): New variable.
3841         (latin_iso8859_4_to_ucs): New variable.
3842         (ucs_to_latin_iso8859_4): New variable.
3843         (Vcharset_latin_iso8859_9): New variable.
3844         (latin_iso8859_9_to_ucs): New variable.
3845         (ucs_to_latin_iso8859_9): New variable.
3846         (Vcharset_latin_viscii_lower): New variable.
3847         (latin_viscii_lower_to_ucs): New variable.
3848         (ucs_to_latin_viscii_lower): New variable.
3849         (Vcharset_latin_viscii_upper): New variable.
3850         (latin_viscii_upper_to_ucs): New variable.
3851         (ucs_to_latin_viscii_upper): New variable.
3852         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3853         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3854         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3855         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3856         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3857         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3858         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3859         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3860         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3861         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3862
3863         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3864         (Vcharset_latin_viscii_upper): New variable.
3865         (make_byte_from_character_table): New function.
3866         (put_byte_from_character_table): New function.
3867         (get_byte_from_character_table): New function.
3868         (CHAR96): New macro.
3869         (ucs_to_latin_jisx0201): New variable.
3870         (latin_jisx0201_to_ucs): New variable.
3871         (ucs_to_latin_iso8859_2): New variable.
3872         (latin_iso8859_2_to_ucs): New variable.
3873         (ucs_to_latin_iso8859_3): New variable.
3874         (latin_iso8859_3_to_ucs): New variable.
3875         (ucs_to_latin_iso8859_4): New variable.
3876         (latin_iso8859_4_to_ucs): New variable.
3877         (ucs_to_latin_iso8859_9): New variable.
3878         (latin_iso8859_9_to_ucs): New variable.
3879         (ucs_to_latin_viscii_lower): New variable.
3880         (latin_viscii_lower_to_ucs): New variable.
3881         (ucs_to_latin_viscii_upper): New variable.
3882         (latin_viscii_upper_to_ucs): New variable.
3883         (ucs_to_latin_tcvn5712): New variable.
3884         (latin_tcvn5712_to_ucs): New variable.
3885         (Qlatin_viscii_lower): New variable.
3886         (Qlatin_viscii_upper): New variable.
3887         (syms_of_mule_charset): Set up new symbol
3888         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3889         (complex_vars_of_mule_charset): Set up new charset
3890         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3891         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3892         `ucs_to_<CHARSET>' tables.
3893
3894 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3895
3896         * text-coding.c: New file.
3897
3898 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3899
3900         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3901
3902         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3903         (MAKE_CHAR): Modify for `ucs-bmp'.
3904         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3905         non-MULE characters of BMP.
3906
3907 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3908
3909         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3910         to 0.6.
3911
3912 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3913
3914         * lstream.h:
3915         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3916         - Include character.h for `CHAR_ASCII_P'.
3917
3918         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3919
3920         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3921         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3922
3923         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3924         (BYTE_C0_P): Likewise.
3925         (BYTE_C1_P): Likewise.
3926         (Lstream_get_emchar_1): Likewise.
3927         (Lstream_fput_emchar): Likewise.
3928         (Lstream_funget_emchar): Likewise.
3929         (copy_internal_to_external): Likewise.
3930         (copy_external_to_internal): Likewise.
3931
3932         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3933         (BYTE_C0_P): Likewise.
3934         (BYTE_C1_P): Likewise.
3935         (Lstream_get_emchar_1): Likewise.
3936         (Lstream_fput_emchar): Likewise.
3937         (Lstream_funget_emchar): Likewise.
3938         (copy_internal_to_external): Likewise.
3939         (copy_external_to_internal): Likewise.
3940
3941         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3942         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3943
3944         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3945         (BYTE_ASCII_P): Moved to mb-1byte.h.
3946
3947 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3948
3949         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3950
3951         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3952         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3953         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3954         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3955         (VALIDATE_CHARPTR_FORWARD): Likewise.
3956         (simple_charptr_emchar): Moved to mb-multibyte.h.
3957         (simple_set_charptr_emchar): Likewise.
3958         (simple_charptr_copy_char): Likewise.
3959         (non_ascii_charptr_emchar): Likewise.
3960         (non_ascii_set_charptr_emchar): Likewise.
3961         (non_ascii_charptr_copy_char): Likewise.
3962         (charptr_emchar): Moved to mb-*byte.h.
3963         (set_charptr_emchar): Likewise.
3964         (charptr_copy_char): Likewise.
3965
3966         * mb-1byte.h, mb-multibyte.h: New files.
3967
3968 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3969
3970         * mb-utf-8.h (MULTIBYTE): New macro.
3971         (MAX_EMCHAR_LEN): Moved from buffer.h.
3972         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3973
3974         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3975
3976         * mb-lb.h, multibyte.h: New files.
3977
3978         * char-1byte.h (Charset_ID): Moved from buffer.h.
3979         (MIN_LEADING_BYTE): Likewise.
3980         (LEADING_BYTE_ASCII): Likewise.
3981         (NUM_LEADING_BYTES): Likewise.
3982         (CHARSETP): Likewise.
3983         (CHARSET_BY_LEADING_BYTE): Likewise.
3984         (XCHARSET_LEADING_BYTE): Likewise.
3985         (XCHARSET_GRAPHIC): Likewise.
3986         (XCHARSET_COLUMNS): Likewise.
3987         (XCHARSET_DIMENSION): Likewise.
3988         (CHAR_CHARSET): Likewise.
3989         (CHAR_LEADING_BYTE): Likewise.
3990         (BREAKUP_CHAR): Likewise.
3991         (Vcharset_ascii): Likewise.
3992
3993         * buffer.h: Include multibyte.h unconditionally.
3994         (VALID_CHARPTR_P): Moved to multibyte.h.
3995         (ASSERT_VALID_CHARPTR): Likewise.
3996         (REAL_INC_CHARPTR): Likewise.
3997         (REAL_INC_CHARBYTIND): Likewise.
3998         (REAL_DEC_CHARPTR): Likewise.
3999         (INC_CHARPTR): Likewise.
4000         (INC_CHARBYTIND): Likewise.
4001         (DEC_CHARPTR): Likewise.
4002         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4003         (VALIDATE_CHARPTR_FORWARD): Likewise.
4004         (charptr_n_addr): Likewise.
4005         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4006         (simple_charptr_emchar): Moved to multibyte.h.
4007         (simple_set_charptr_emchar): Likewise.
4008         (simple_charptr_copy_char): Likewise.
4009         (non_ascii_charptr_emchar): Likewise.
4010         (non_ascii_set_charptr_emchar): Likewise.
4011         (non_ascii_charptr_copy_char): Likewise.
4012         (charptr_emchar): Likewise.
4013         (set_charptr_emchar): Likewise.
4014         (charptr_copy_char): Likewise.
4015         (charptr_emchar_n): Likewise.
4016         (Charset_ID): Moved to char-1byte.h.
4017         (Vcharset_ascii): Likewise.
4018         (CHAR_CHARSET): Likewise.
4019         (CHAR_LEADING_BYTE): Likewise.
4020         (LEADING_BYTE_ASCII): Likewise.
4021         (NUM_LEADING_BYTES): Likewise.
4022         (MIN_LEADING_BYTE): Likewise.
4023         (CHARSETP): Likewise.
4024         (CHARSET_BY_LEADING_BYTE): Likewise.
4025         (XCHARSET_LEADING_BYTE): Likewise.
4026         (XCHARSET_GRAPHIC): Likewise.
4027         (XCHARSET_COLUMNS): Likewise.
4028         (XCHARSET_DIMENSION): Likewise.
4029         (BREAKUP_CHAR): Likewise.
4030
4031 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4032
4033         * character.h: Add document about interface for characters.
4034
4035         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4036         (MAKE_CHAR): Delete comment about
4037         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4038         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4039         (BREAKUP_CHAR): Modify name of arguments.
4040         (CHAR_CHARSET): Modify name of argument.
4041
4042         * buffer.h: Delete document about Emchar accessors.
4043
4044 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4045
4046         * character.h (CHAR_INTP): Moved from buffer.h
4047         (CHAR_OR_CHAR_INTP): Likewise.
4048         (XCHAR_OR_CHAR_INT): Likewise.
4049         (CHECK_CHAR_COERCE_INT): Likewise.
4050
4051         * buffer.h (CHAR_INTP): Moved to character.h
4052         (CHAR_OR_CHAR_INTP): Likewise.
4053         (XCHAR_OR_CHAR_INT): Likewise.
4054         (CHECK_CHAR_COERCE_INT): Likewise.
4055
4056 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4057
4058         * character.h:
4059         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4060         - Include char-1byte.h, char-lb.h or char-ucs.h.
4061
4062         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4063
4064         * buffer.h: Include character unconditionally.
4065         (valid_char_p): Moved to char-*.h.
4066         (non_ascii_valid_char_p): Moved to char-lb.h.
4067
4068         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4069
4070 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4071
4072         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4073         in UTF-2000 because it is not ported yet and not to use
4074         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4075         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4076         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4077
4078         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4079         (CHAR_ASCII_P): Moved from character.h.
4080
4081         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4082         (CHAR_ASCII_P): Likewise.
4083         (CHAR_FIELD1_MASK): Deleted.
4084         (CHAR_FIELD2_MASK): Deleted.
4085         (CHAR_FIELD3_MASK): Deleted.
4086         (MAX_CHAR_BASIC_LATIN): New macro.
4087         (CHAR_FIELD1): Deleted.
4088         (CHAR_FIELD2_INTERNAL): Deleted.
4089         (CHAR_FIELD3_INTERNAL): Deleted.
4090         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4091         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4092         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4093         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4094         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4095         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4096         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4097         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4098         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4099         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4100         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4101         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4102         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4103         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4104         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4105         (MIN_CHAR_COMPOSITION): Deleted.
4106         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4107         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4108
4109 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4110
4111         * buffer.h: Include mb-utf-8.h in UTF-2000.
4112
4113         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4114
4115         * mb-utf-8.h: New file.
4116
4117 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4118
4119         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4120         instead of `int'.
4121
4122         * mule-charset.h, buffer.h (Charset_ID): New type.
4123
4124 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4125
4126         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4127         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4128         instead of `MULE_CHAR_PRIVATE_OFFSET',
4129         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4130         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4131         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4132
4133         * character.h (Vcharset_japanese_jisx0212): New variable
4134         definition.
4135
4136 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4137
4138         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4139         (charset_by_attributes): Delete array about direction.
4140         (latin_a_char_to_charset): New variable in UTF-2000.
4141         (latin_a_char_to_byte1): New variable in UTF-2000.
4142         (latin_a_char_to_byte2): New variable in UTF-2000.
4143         (Qucs_bmp): New variable.
4144         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4145         `Bufbyte'.
4146         (next_allocated_2_byte_leading_byte): Likewise.
4147         (non_ascii_set_charptr_emchar): Likewise.
4148         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4149         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4150         `charset_by_attributes'.
4151         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4152         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4153         and `CHARSET_BY_LEADING_BYTE'.
4154         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4155         `utf-2000-version' to `vars_of_mule_charset'.
4156         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4157         define `leading-code-private-11' in UTF-2000; move setting of
4158         `utf-2000-version' from `syms_of_mule_charset'.
4159         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4160         UTF-2000.
4161
4162         * character.h (Charset_ID): New type.
4163         (LEADING_BYTE_UCS_BMP): New macro.
4164         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4165         (CHARSET_ID_OFFSET_94): New macro.
4166         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4167         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4168         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4169         final-byte.
4170         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4171         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4172         (CHARSET_ID_OFFSET_96): New macro.
4173         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4174         CHARSET_ID_OFFSET_96 and final-byte.
4175         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4176         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4177         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4178         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4179         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4180         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4181         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4182         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4183         (LEADING_BYTE_THAI_TIS620): Likewise.
4184         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4185         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4186         (CHARSET_ID_OFFSET_94x94): New macro.
4187         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4188         CHARSET_ID_OFFSET_94x94 and final-byte.
4189         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4190         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4191         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4192         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4193         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4194         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4195         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4196         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4197         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4198         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4199         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4200         (CHARSET_TYPE_128X128): New macro.
4201         (CHARSET_TYPE_256X256): New macro.
4202         (XCHARSET_PRIVATE_P): Delete unconditionally.
4203         (charset_by_attributes): Delete array about direction.
4204         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4205         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4206         (MIN_CHAR_94): New macro.
4207         (MAX_CHAR_94): New macro.
4208         (MIN_CHAR_96): New macro.
4209         (MAX_CHAR_96): New macro.
4210         (MIN_CHAR_94x94): New macro.
4211         (MAX_CHAR_94x94): New macro.
4212         (MIN_CHAR_96x96): New macro.
4213         (MAX_CHAR_96x96): New macro.
4214         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4215         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4216         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4217         - 32)'.
4218         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4219         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4220         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4221         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4222         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4223         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4224         `XCHARSET_LEADING_BYTE' to make code-point.
4225         (latin_a_char_to_charset): New variable.
4226         (latin_a_char_to_byte1): New variable.
4227         (latin_a_char_to_byte2): New variable.
4228         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4229         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4230         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4231
4232         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4233         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4234         (find_charsets_in_emchar_string): Likewise.
4235         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4236
4237         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4238         `int'.
4239         (decode_coding_iso2022): Likewise.
4240
4241         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4242         of `unsigned char'.
4243
4244         * redisplay.c (redisplay_text_width_emchar_string): Use
4245         `Charset_ID' instead of `unsigned char'.
4246         (redisplay_frame_text_width_string): Likewise.
4247
4248         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4249         `unsigned char'.
4250
4251         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4252         instead of `unsigned char'.
4253         (face_cachel_charset_font_metric_info): Likewise.
4254
4255         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4256         (get_non_ascii_char_table_value): Likewise.
4257         (get_char_table): Likewise.
4258         (put_char_table): Likewise.
4259         (map_over_other_charset): Likewise.
4260         (map_char_table): Likewise.
4261
4262         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4263         instead of `unsigned char'.
4264
4265 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4266
4267         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4268         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4269
4270         * mule-charset.c (leading_code_private_11): Don't define in
4271         UTF-2000.
4272
4273         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4274         in UTF-2000 because it is not ported yet and not to use
4275         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4276
4277 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4278
4279         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4280
4281 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4282
4283         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4284         in UTF-2000.
4285
4286         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4287         of unsigned char to store leading-byte.
4288
4289         * chartab.c (get_non_ascii_char_table_value): Don't use
4290         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4291
4292         * file-coding.c (encode_coding_big5): Delete bogus implementation
4293         in UTF2000.
4294
4295         * character.h (LEADING_BYTE_*): Delete definition for
4296         non-UTF-2000.
4297         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4298         (LEADING_BYTE_PREFIX_P): Deleted.
4299         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4300         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4301         (BUFBYTE_LEADING_BYTE_P): Deleted.
4302         (CHARSET_PRIVATE_P): Deleted unconditionally.
4303         (rep_bytes_by_first_byte): Deleted unconditionally.
4304         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4305         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4306         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4307         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4308         (CHAR_FIELD2): Deleted.
4309         (CHAR_FIELD3): Deleted.
4310         (MAKE_CHAR): Delete definition for non-UTF-2000.
4311         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4312         (breakup_char_1): New implementation.
4313         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4314         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4315
4316 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4317
4318         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4319         condition.
4320
4321 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4322
4323         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4324         (CHARSET_PRIVATE_P): Likewise.
4325         (XCHARSET_PRIVATE_P): Likewise.
4326         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4327
4328         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4329         UTF2000.
4330         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4331
4332 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4333
4334         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4335         (NUM_LEADING_BYTES): Changed from 128 to 256.
4336         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4337         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4338         UTF2000.
4339         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4340
4341         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4342         UTF2000.
4343         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4344         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4345         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4346         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4347         (Qchinese_cns11643_3): New variable in UTF2000.
4348         (Qchinese_cns11643_4): New variable in UTF2000.
4349         (Qchinese_cns11643_5): New variable in UTF2000.
4350         (Qchinese_cns11643_6): New variable in UTF2000.
4351         (Qchinese_cns11643_7): New variable in UTF2000.
4352         (syms_of_mule_charset): Define `chinese-cns11643-3',
4353         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4354         and `chinese-cns11643-7' in UTF2000.
4355         (vars_of_mule_charset): Initialize
4356         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4357         + 1 in UTF2000.
4358         (complex_vars_of_mule_charset): Setup charset
4359         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4360         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4361
4362 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4363
4364         * mule-charset.c: Move setting for `leading-code-private-11' from
4365         `syms_of_mule_charset' to `vars_of_mule_charset'.
4366
4367 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4368
4369         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4370         and `NUM_LEADING_BYTES' in assert.
4371
4372 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4373
4374         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4375         instead of 128.
4376         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4377         `NUM_LEADING_BYTES' instead of 128.
4378
4379 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4380
4381         * mule-charset.h (charset_by_leading_byte): Use
4382         `NUM_LEADING_BYTES' instead of 128.
4383         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4384
4385         * mule-charset.c (charset_by_leading_byte): Use
4386         `NUM_LEADING_BYTES' instead of 128.
4387         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4388
4389         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4390         128.
4391
4392 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4393
4394         * mule-charset.c (syms_of_mule_charset): Update to
4395         0.4 (Shin-Imamiya).
4396
4397 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4398
4399         * file-coding.c (encode_coding_sjis): New implementation for
4400         UTF2000.  (decode_coding_sjis): Ditto.
4401
4402 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4403
4404         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4405         Don't define in UTF2000.
4406
4407         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4408         defined.
4409
4410         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4411         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4412         MULE.
4413
4414 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4415
4416         * config.h.in (CHAR_IS_UCS4): New macro.
4417
4418         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4419         conventional MULE representation.
4420         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4421
4422         * mule-charset.h: Reverted to original.
4423
4424         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4425         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4426         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4427
4428         * character.h: New file.
4429
4430         * file-coding.c (Fmake_coding_system): Set 1 to
4431         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4432         defined.
4433         (encode_coding_no_conversion): New implementation for UTF2000.
4434
4435         * file-coding.h (struct Lisp_Coding_System): Add new member
4436         `fixed.size'.
4437
4438 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4439
4440         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4441         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4442         (encode_coding_iso2022): New implementation for UTF2000.
4443
4444 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4445
4446         * mule-canna.c (c2mu): New implementation for UTF2000.
4447         (m2c): Likewise.
4448
4449 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4450
4451         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4452
4453 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4454
4455         * file-coding.c (reset_encoding_stream): Set 0 to
4456         `str->iso2022.current_char_boundary' in UTF2000.
4457         (encode_utf8): Don't define in UTF2000.
4458         (encode_coding_utf8): New implementation for UTF-8 representation
4459         of UTF2000.
4460         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4461
4462 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4463
4464         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4465
4466         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4467         UTF2000.
4468         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4469
4470         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4471
4472         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4473         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4474         as UTF-8 in UTF2000.
4475         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4476         (non_ascii_valid_char_p): Don't define in UTF2000.
4477         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4478         (Lstream_get_emchar_1): Likewise.
4479         (utf-2000-version): New variable in UTF2000.
4480
4481         * lread.c (read_escape): Add new reader `u'.
4482
4483         * insdel.c (three_to_one_table): Don't define in UTF2000.
4484         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4485         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4486         UTF2000.
4487         (bytind_to_bufpos_func): Likewise.
4488         (buffer_mule_signal_inserted_region): Likewise.
4489         (vars_of_insdel): Don't initialize `three_to_one_table'.
4490         (init_buffer_text): Use `buf->text->mule_size' instead of
4491         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4492         UTF2000.
4493
4494         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4495         UTF-8 representation in UTF2000.
4496         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4497         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4498         (decode_coding_iso2022): Don't define local variable `lb' in
4499         UTF2000; don't use LEADING_BYTE in UTF2000; use
4500         `DECODE_ADD_UCS_CHAR' in UTF2000.
4501         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4502
4503         * config.h.in (UTF2000): New macro.
4504
4505         * buffer.h (struct buffer_text): Add new member `mule_size' and
4506         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4507         (valid_char_p): Return always 1 in UTF2000.
4508         (MAX_EMCHAR_LEN): 6 in UTF2000.
4509         (three_to_one_table): Don't define in UTF2000.
4510         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4511         UTF2000.
4512         (real_bytind_to_bufpos): Likewise.
4513
4514         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4515
4516 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4517
4518         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4519         representation change.
4520         (Vutf_2000_version): New variable.
4521         (leading_code_private_11): New variable.
4522         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4523         `leading-code-private-11'.
4524
4525         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4526         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4527         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4528         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4529         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4530         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4531         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4532         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4533         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4534         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4535         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4536         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4537         (MIN_CHAR_GREEK): New macro.
4538         (MAX_CHAR_GREEK): New macro.
4539         (MIN_CHAR_CYRILLIC): New macro.
4540         (MAX_CHAR_CYRILLIC): New macro.
4541         (MIN_CHAR_HEBREW): New macro.
4542         (MAX_CHAR_HEBREW): New macro.
4543         (MIN_CHAR_THAI): New macro.
4544         (MAX_CHAR_THAI): New macro.
4545         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4546         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4547         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4548         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4549         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4550         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4551         (CHAR_FIELD2): New inline function.
4552         (CHAR_FIELD3): New inline function.
4553         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4554         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4555         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4556         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4557         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4558         (MIN_CHAR_COMPOSITION): Likewise.
4559         (CHAR_LEADING_BYTE): Modified for character representation change.
4560         (MAKE_CHAR): Likewise.
4561
4562         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4563         (Vcharset_greek_iso8859_7): Likewise.
4564         (Vcharset_cyrillic_iso8859_5): Likewise.
4565         (Vcharset_hebrew_iso8859_8): Likewise.
4566         (Vcharset_thai_tis620): Likewise.
4567         (Vcharset_katakana_jisx0201): Likewise.
4568
4569 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4570
4571         * XEmacs 21.4.10 "Military Intelligence" is released.
4572
4573 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4574
4575         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4576         using the NAS private array SoundFileInfo that no longer exists in
4577         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4578         and earlier.  This is broken for some versions between 1.5a and
4579         1.5f.
4580
4581 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4582
4583         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4584
4585         * emacs.c (shut_down_emacs): Improve crash message.
4586
4587 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4588
4589         * file-coding.c (determine_real_coding_system): Check for coding
4590         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4591         shebangs and Python PEP 263.
4592
4593 2002-10-08  Andy Piper  <andy@xemacs.org>
4594
4595         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4596         if static sizes haven't been set.
4597
4598 2002-08-30  Mike Alexander  <mta@arbortext.com>
4599
4600         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4601         to close a socket.
4602
4603 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4604
4605         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4606
4607 2002-09-20  Mike Sperber <mike@xemacs.org>
4608
4609         (This partially gets back my patch from 2002-07-20 without the
4610         bug.)
4611         * callproc.c (child_setup): Remove Ben's comment noting confusion
4612         over the file descriptors >= 3: close_process_descs() doesn't
4613         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4614         * process-unix.c (unix_create_process): Call
4615         begin_dont_check_for_quit to inhibit unwanted interaction (and
4616         thus breaking of X event synchronicity) in the child.
4617
4618 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4619
4620         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4621         widget.
4622
4623 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4624
4625         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4626         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4627         the xemacs process did not exit, but looped infinitely here.  This
4628         fixes that problem.
4629
4630 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4631
4632         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4633         (find_context): Improve comments.
4634
4635         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4636         (re_match_2): An XCHAR_TABLE operation was missing.
4637
4638         Many of the following changes were inspired by Andy Piper's (now
4639         obsolete) patch to make syntax-table text property lookup optional.
4640
4641         [Documentation]
4642
4643         * syntax.h (top level): Document semantics of syntax flags.
4644         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4645         * syntax.c, syntax.h (top level): Document syntax cache better in
4646         comments.
4647
4648         [Instrument syntax caching (temporary change)]
4649
4650         * syntax.h (enum syntax_cache_statistics_functions, struct
4651         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4652         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4653         * syntax.c (scan_words, Fforward_comment, scan_lists,
4654         Fbackward_prefix_characters):
4655         * font-lock.c (find_context):
4656         Use them to instrument syntax caching. 
4657         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4658         syntax_cache_statistics_function_names): New type and variables.
4659         * syntax.c (update_syntax_cache): Update and report statistics.
4660
4661         [Major syntax cache optimizations]
4662
4663         syntax.c (lookup_syntax_properties): Default off.
4664
4665         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4666         * syntax.c (update_syntax_cache):
4667         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4668
4669         [Minor syntax cache optimizations and code clarifications]
4670
4671         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4672         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4673         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4674         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4675         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4676         (Code clarification.)
4677
4678         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4679         scan_lists): Compute code from syncode, use Boolean macros instead
4680         of redundant masking operations.  (Code clarification; any decent
4681         compiler can do this optimization.)
4682
4683         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4684         for clarity.
4685
4686         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4687         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4688         use F*_single_property_change instead of F*_extent_change.
4689         Currently F*_single_property_change is _much_ less efficient.
4690
4691         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4692         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4693         syntax_cache.object properly, don't leave Qt or Qnil.
4694         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4695         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4696         tests for Qt or Qnil.
4697
4698 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4699
4700         * redisplay.c (point_in_line_start_cache): 
4701         * extents.c (print_extent_1):
4702         Fix warnings.
4703
4704         * extents.c (Fset_extent_property): Document `syntax-table' property.
4705
4706         * extents.h (Fnext_single_property_change): EXFUN it.
4707
4708 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4709
4710         * search.c (clear_unused_search_regs): New static function.
4711         (search_buffer): 
4712         (simple_search): 
4713         (boyer_moore):
4714         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
4715         Minor clarifications in comments.
4716
4717         * regex.c (re_match_2_internal): Ensure no stale submatches.
4718
4719 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4720
4721         * event-Xt.c (enqueue_focus_event): Add missing prototype.
4722
4723 2002-08-29  Jerry James  <james@xemacs.org>
4724
4725         * lisp.h: structrures -> structures.
4726
4727 2002-06-03  Andy Piper  <andy@xemacs.org>
4728
4729         * frame.c (frame_conversion_internal): add conversion appropriate
4730         for setting frame dimensions in pixels.
4731
4732         * console.h (struct console_methods): add device-specific widget
4733         layout functions.
4734
4735         * emacs.c (main_1): initialize glyph vars.
4736
4737         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
4738         (handle_focus_event_2): new function. Allow focus to
4739         be set to a particular window and widget.
4740         (enqueue_focus_event): new function. Create a
4741         synthetic focus event.
4742         (emacs_Xt_handle_magic_event): call
4743         handle_focus_event_2.
4744
4745         * frame.c (Fset_frame_pixel_height): new function. Allow
4746         pixel-based sizing. Does the right thing on character-oriented
4747         displays.
4748         (Fset_frame_pixel_width): ditto.
4749         (Fset_frame_pixel_size): ditto.
4750         (syms_of_frame): declare.
4751
4752         * general-slots.h: add :vertically-justify and
4753         :horizontally-justify.
4754
4755         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
4756         (mswindows_widget_border_width): new function.
4757         (mswindows_combo_box_instantiate): set border widths.
4758         (console_type_create_glyphs_mswindows): declare.
4759
4760         * glyphs-widget.c:
4761         (check_valid_justification): allow vertical and horizontal
4762         justification.
4763         (widget_border_width): new function. Call device methods.
4764         (widget_instance_border_width): ditto.
4765         (logical_unit_height): new function. Determine the height of a
4766         logical-unit. Logical units are intended to provide grid-like
4767         layout for subcontrols in a layout. If the layout is
4768         :vertically-justify top then subcontrols will be positioned on
4769         logical-unit boundaries, thus allowing adjacent subcontrols to
4770         line up.
4771         (widget_logical_unit_height): ditto for widgets.
4772         (redisplay_widget): misc cleanup.
4773         (widget_spacing): new function. Call device specific
4774         methods. Intended to be the default gap between adjacent widgets.
4775         (widget_query_geometry): use new spacing functions to determine
4776         appropriate geometry.
4777         (initialize_widget_image_instance): initialize horizontal and
4778         vertical justification.
4779         (widget_instantiate): use logica-units where appropriate for
4780         sizing large widgets.
4781         (button_query_geometry): use widget_instance_border_width.
4782         (tree_view_query_geometry): ditto.
4783         (tab_control_query_geometry): ditto.
4784         (edit_field_query_geometry): new function.
4785         (layout_update): pick up :justify, :horizontally-justify and
4786         :vertically-justify none of which worked previously. :justify is
4787         used as a fallback for both horizontal and vertical justification.
4788         (layout_query_geometry): use logical units to size appropriately.
4789         (layout_layout): ditto.
4790         (Fwidget_logical_to_character_width): new function. Allow users to
4791         convert from logical units to characters so that frame sizes can
4792         be set appropriately.
4793         (Fwidget_logical_to_character_height): ditto.
4794         (syms_of_glyphs_widget): declare.
4795         (image_instantiator_edit_fields): add edit_field_query_geometry.
4796         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
4797         :horizontally-justify.
4798         (specifier_vars_of_glyphs_widget): new function. Declare
4799         Vwidget_border_width which is not yet used.
4800
4801         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
4802         (x_widget_border_width): new function.
4803         (x_widget_instantiate): create a sensible name for widgets.
4804         (console_type_create_glyphs_x): declare x_widget_border_width.
4805
4806         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
4807         (struct Lisp_Image_Instance): add :vertically-justify and
4808         :horizontally-justify.
4809         (LAYOUT_JUSTIFY_TOP): new.
4810         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
4811         (ROUND_UP): new macro. Round argument up to next integral
4812         interval.
4813
4814         * redisplay-output.c (redisplay_output_layout): misc formatting.
4815
4816         * symsinit.h: declare specifier_vars_of_glyphs_widget.
4817
4818 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
4819
4820         * XEmacs 21.4.9 "Informed Management" is released.
4821
4822 2002-08-19  Andy Piper  <andy@xemacs.org>
4823
4824         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
4825         win32 format.
4826
4827         * realpath.c (xrealpath): normalize drive spec also so that dir
4828         sep chars are not mixed on cygwin.
4829
4830 2002-08-06  Jerry James  <james@xemacs.org>
4831
4832         * window.c (Fsplit_window): Count only half of the divider width
4833         against the left window when splitting horizontally. 
4834
4835 2002-06-24  Andy Piper  <andy@xemacs.org>
4836
4837         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
4838         toolbar was cleared.
4839
4840         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
4841         function. Split out from mswindows_output_frame_toolbars.
4842         (mswindows_output_frame_toolbars): move clear pieces to
4843         mswindows_output_frame_toolbars.
4844
4845         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
4846         out from gtk_output_frame_toolbars.
4847         (gtk_output_frame_toolbars): move clear pieces to
4848         gtk_clear_frame_toolbars.
4849
4850         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
4851         the frame is cleared. How this ever worked before is a mystery.
4852         (x_output_frame_toolbars): Only output toolbars.
4853         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
4854
4855         * gutter.c (update_gutter_geometry):
4856         Mark frame layout changed.
4857         (update_frame_gutter_geometry, update_frame_gutters):
4858         Respect frame_layout_changed.
4859
4860         * console.h (struct console_methods): add
4861         clear_frame_toolbars_method.
4862
4863         * redisplay.c (redisplay_frame): call
4864         update_frame_toolbars_geometry and re-order update_frame_toolbars.
4865
4866         * toolbar.h: declare update_frame_toolbars_geometry.
4867
4868         * toolbar.c (update_frame_toolbars_geometry): new function. Split
4869         out from update_frame_toolbars.  Call clear_frame_toolbars.
4870         (update_frame_toolbars): only output, do not change geometry.
4871
4872         * redisplay.c: add frame_layout_changed.
4873
4874         * redisplay.h: add frame_layout_changed.
4875         (CLASS_RESET_CHANGED_FLAGS): set it.
4876         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
4877         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
4878         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
4879
4880         * device.h (struct device): add frame_layout_changed.
4881         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
4882
4883         * frame.h (struct frame): add frame_layout_changed.
4884         (MARK_FRAME_LAYOUT_CHANGED): new.
4885
4886 2002-06-30  Mike Alexander  <mta@arbortext.com>
4887
4888         * event-msw.c (mswindows_need_event): Don't wait for a new message
4889         if the queue is not empty.  Suggested by Paul Moore.
4890
4891 2002-06-12  Andy Piper  <andy@xemacs.org>
4892
4893         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
4894         for printing on accurately.
4895
4896 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
4897
4898         * event-msw.c (mswindows_wnd_proc): Add a handler for the
4899         WM_ACTIVATE message. Make sure that the frame is visible if the
4900         window is visible. This seemss to fix the problem where XEmacs
4901         appears to freeze after switching desktops with certain virtual
4902         window managers.
4903         (debug_output_mswin_message): Added code to output message
4904         parameters for WM_WINDOWPOSCHANGED, 
4905         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
4906
4907 2002-05-25  Andy Piper  <andy@xemacs.org>
4908
4909         * select-x.c (vars_of_select_x): Fix docstring of
4910         x-selection-strict-motif-ownership
4911
4912 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4913
4914         * keymap.c (get_keymap):
4915         Add comment about do_autoload GCPROs own args.
4916
4917 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4918
4919         * bytecode.c (execute_optimized_program): check_opcode ifdef
4920         ERROR_CHECK_BYTE_CODE.
4921
4922 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4923
4924         Thanks to Ben Wing and Michael Sperber.
4925
4926         * eval.c (Fcommand_execute):
4927         (Feval):
4928         (Ffuncall):
4929         (Fmacroexpand_internal):
4930         (function_argcount):
4931         callint.c (Fcall_interactively):
4932         Add comment about do_autoload GCPROs own args.
4933
4934         * (do_autoload): GCPRO both args as well as local Lisp_Object.
4935
4936         * eval.c (Ffuncall): Extra braces to placate GCC.
4937
4938 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
4939
4940         * backtrace.h (grow_specpdl):
4941         (SPECPDL_RESERVE):
4942         * EmacsFrame.c (EmacsFrameSetValues):
4943         * eval.c (grow_specpdl):
4944         * ExternalShell.c (hack_event_masks_1):
4945         * glyphs-x.c (convert_EImage_to_XImage): 
4946         (x_finalize_image_instance):
4947         * ralloc.c (page_size):
4948         (r_alloc_sbrk):
4949         * xgccache.c (gc_cache_hash):
4950         Fix unsigned comparison warnings.
4951
4952 2002-07-29  Jerry James  <james@xemacs.org>
4953
4954         * lread.c (locate_file): Any nonnegative return value indicates
4955         success if MODE is nonnegative.
4956
4957 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
4958
4959         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
4960         argument. 
4961
4962 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
4963
4964         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
4965
4966         * dumper.c (pdump_get_indirect_count):
4967         (pdump_scan_by_alignment):
4968         (pdump_dump_root_struct_ptrs):
4969         (pdump_dump_rtables):
4970         (pdump_dump_root_objects):
4971         (pdump):
4972         * nas.c (WaveOpenDataForReading):
4973         * fns.c (print_bit_vector):
4974         * font-lock.c (SINGLE_SYNTAX_STYLE):
4975         * glyphs.c (check_for_ignored_expose):
4976         (find_matching_subwindow):
4977         * glyphs-eimage.c:
4978         * imgproc.c (get_histogram):
4979         * redisplay.c (point_in_line_start_cache):
4980         * redisplay-output.c (redisplay_unmap_subwindows):
4981         * symbols.c (defsymbol_massage_name_1):
4982         (defkeyword_massage_name):
4983         (deferror_massage_name_and_message):
4984         * redisplay-x.c (x_output_string): 
4985         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
4986         * frame.h (struct frame):
4987         * filelock.c (current_lock_owner):
4988         * doprnt.c (emacs_doprnt_1):
4989         * lisp.h (struct Lisp_Bit_Vector):
4990         (DO_REALLOC):
4991         Fix warnings.
4992
4993 2002-02-13  Ben Wing  <ben@xemacs.org>
4994
4995         * event-stream.c (reset_key_echo):
4996         * event-stream.c (reset_this_command_keys):
4997         * event-stream.c (execute_command_event):
4998         If console is dead as a result of C-x 5 0, then post-command stuff
4999         needs to be careful and do only non-console-specific stuff.
5000
5001 2002-07-01  Mike Sperber <mike@xemacs.org>
5002
5003         * process-unix.c (unix_send_process): Mark coding_outstream as
5004         non-open upon SIGPIPE.
5005
5006         * event-stream.c (Fnext_event): Reorder switch cases to something
5007         that makes sense.
5008
5009 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5010
5011         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5012         Don't bogusly reinitialize ascii_character property.
5013
5014 2002-07-08  Mike Sperber <mike@xemacs.org>
5015
5016         * process.c (Fstart_process_internal): Do error checking before we
5017         fork off the child, so the child can't muck with the state of the
5018         parent.
5019
5020 2002-07-08  Mike Sperber <mike@xemacs.org>
5021
5022         * ralloc.c (init_ralloc): Allocate properly for pdump.
5023
5024 2002-06-12  Andy Piper  <andy@xemacs.org>
5025
5026         * glyphs.c (query_string_geometry): check the string.
5027
5028         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5029         widget names.
5030
5031 2002-06-17  Jerry James  <james@xemacs.org>
5032
5033         * sysdll.c: Remove RTLD_GLOBAL initialization.
5034         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5035
5036 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5037
5038         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5039
5040 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5041
5042         * sysdep.c (sys_rename): Make sys_rename work for the case where
5043         Windows rename sets errno to EACCES if target file exists.
5044
5045 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5046
5047         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5048         Fix detection of metric units to work on Win95
5049
5050 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5051
5052         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5053
5054 2002-04-25  Andy Piper  <andy@xemacs.org>
5055
5056         * redisplay.c (create_text_block): Remove extra comment trailer.
5057
5058 2002-04-24  Andy Piper  <andy@xemacs.org>
5059
5060         * redisplay.c (create_text_block): Don't actually add propagation
5061         data if the line ends after we have added a glyph.
5062
5063 2002-04-22  Andy Piper  <andy@xemacs.org>
5064
5065         * extents.c (extent_fragment_update): check for glyphs we have
5066         previously displayed.
5067         * extents.c (print_extent_1): warning removal.
5068         * extents.h: change prototype.
5069         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5070         widths correctly for wide glyphs.
5071         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5072         * redisplay.c (prop_type): add PROP_GLYPH.
5073         * redisplay.c (struct prop_block): add glyph type
5074         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5075         to the propagation data.
5076         * redisplay.c (create_text_block): if there is a glyph in the
5077         propagation data use it to salt extent_fragment_update.
5078         * redisplay.c (create_string_text_block): ditto.
5079
5080 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5081
5082         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5083         * redisplay-output.c (compare_runes): Compare them.
5084         * redisplay.c: Update copyright date.
5085         * redisplay.c (pos_data): Add need_baseline_computation field.
5086         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5087         need_baseline_computation; zero yoffset. Set max_pixmap_height
5088         for all pixmaps, not just automatically positioned ones.
5089         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5090         * redisplay.c (calculate_baseline): New, compute textual baseline.
5091         * redisplay.c (add_glyph_rune): Call them.
5092         * redisplay.c (create_text_block): Likewise.
5093         * redisplay.c (create_overlay_glyph_block): Likewise.
5094         * redisplay.c (add_margin_runes): Likewise.
5095         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5096
5097         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5098         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5099         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5100         * redisplay-msw.c (mswindows_output_string): Likewise.
5101         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5102         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5103         * redisplay-x.c (x_output_display_block): Likewise.
5104
5105 2002-03-28  Ben Wing  <ben@xemacs.org>
5106
5107         * redisplay.c: Fixed bug in redisplay
5108         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5109         and down of the lines, since they're bigger than the line
5110         size. (It was seen most obviously when there's a horizontal scroll
5111         bar, e.g. do C-h a glyph or something like that.) The problem was
5112         that the glyph-contrib-p setting on glyphs was ignored even if it
5113         was set properly, which it wasn't until now.
5114
5115 2002-04-24  Andy Piper  <andy@xemacs.org>
5116
5117         * lisp.h (Dynarr_end): Fix definition.
5118
5119 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5120
5121         * redisplay.c (mark_redisplay): Remove call to
5122         update_frame_window_mirror.
5123
5124 2001-11-15  Andy Piper  <andy@xemacs.org>
5125
5126         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5127         cygwin (again).
5128
5129 2002-02-13  Andy Piper  <andy@xemacs.org>
5130
5131         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5132         we did in fact enqueue the XM_MAPFRAME event.
5133
5134 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5135
5136         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5137         to fix problem switching between virtual desktops under virtuawin
5138         virtual window manager.
5139
5140 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5141
5142         * event-msw.c: Typo fix.
5143         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5144         magic XM_MAPFRAME event has been sent.
5145
5146 2001-11-23  Andy Piper  <andy@xemacs.org>
5147
5148         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5149
5150 2001-11-21  Andy Piper  <andy@xemacs.org>
5151
5152         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5153         mouse events outside the frame.
5154
5155 2002-03-20  Andy Piper  <andy@xemacs.org>
5156
5157         * menubar-msw.c (mswindows_popup_menu): warning removal.
5158         * dialog-msw.c (dialog_popped_down): ditto.
5159
5160 2001-12-11  Andy Piper  <andy@xemacs.org>
5161
5162         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5163         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5164         popup_up_p.
5165         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5166         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5167         * menubar-msw.c (mswindows_popup_menu): ditto.
5168
5169 2001-10-29  Andy Piper  <andy@xemacs.org>
5170
5171         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5172         cancels.
5173
5174 2002-01-03  Andy Piper  <andy@xemacs.org>
5175
5176         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5177         letters.
5178         (xrealpath): ditto.
5179
5180 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5181
5182         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5183         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5184         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5185         Detect and handle case where machine is set up for metric units
5186
5187 2002-04-02  Andy Piper  <andy@xemacs.org>
5188
5189         * dired-msw.c (mswindows_get_files): 
5190         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5191         completely handled by XEmacs. Suggested by Thomas Vogler
5192         <mail@thomas-vogler.de>.
5193
5194 2001-11-14  Andy Piper  <andy@xemacs.org>
5195
5196         * nt.c (REG_ROOT): change registry key to XEmacs.
5197
5198 2002-04-27  Andy Piper  <andy@xemacs.org>
5199
5200         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5201
5202 2002-04-26  Andy Piper  <andy@xemacs.org>
5203
5204         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5205         behavior.
5206
5207 2002-03-14  Mike Alexander  <mta@arbortext.com>
5208
5209         * event-msw.c (mswindows_unwait_process): New, remove process from
5210         wait list
5211         * process-nt.c (nt_finalize_process_data): Call
5212         mswindows_unwait_process
5213         * console-msw.h: Declare mswindows_unwait_process
5214
5215 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5216
5217         * editfns.c (Fdecode_time):
5218         (Fformat_time_string):
5219         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5220         (make_time): Warning elimination (change arg name).
5221
5222 2001-11-24  Andy Piper  <andy@xemacs.org>
5223
5224         * window.c (Fsplit_window): Doc return type.
5225
5226 2002-04-01  Andy Piper  <andy@xemacs.org>
5227
5228         * emacs.c (Fkill_emacs): Only output message box in interactive
5229         mode.
5230
5231 2002-04-26  Andy Piper  <andy@xemacs.org>
5232  
5233         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5234         cygwin.
5235
5236 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5237
5238         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5239         bit platform.
5240
5241 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5242
5243         * XEmacs 21.4.8 "Honest Recruiter" is released.
5244
5245 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5246
5247         Supersedes 2002-04-17 patch.
5248
5249         * process.h (PROCESS_LIVE_P): Use the process status as
5250         evidence of health, not the state of the input stream.
5251         (PROCESS_READABLE_P): Say if the process is readable
5252         from. (It may be dead nonetheless.)
5253         (CHECK_READABLE_PROCESS): Test for that condition.
5254
5255         * process.c (create_process): Use PROCESS_READABLE_P.
5256         (read_process_output, set_process_filter): Likewise.
5257
5258         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5259         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5260
5261         This code is #if 0'd, this is not the time to add new functions:
5262
5263         * process.c (Fprocess_readable_p): Report readability status.
5264         * process.c (Qprocess_readable_p): New, associated symbol...
5265         * process.c (syms_of_process): ... initialize it.
5266
5267 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5268
5269         * XEmacs 21.4.7 "Economic Science" is released.
5270
5271 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5272
5273         * process.h (PROCESS_LIVE_P): Use the process status as
5274         evidence of health, not the state of the input stream.
5275
5276 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5277
5278         * sysdep.c (sys_siglist): change "signum" to "signal"
5279
5280 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5281
5282         * s/darwin.h: New file.
5283         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5284         
5285 2002-04-23  Andreas Jaeger  <aj@suse.de>
5286
5287         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5288         which use lib64 for 64-bit libs.
5289         (START_FILES): Likewise.
5290
5291 2002-02-11  Mike Sperber  <mike@xemacs.org>
5292
5293         * device-x.c: 
5294         (x_IO_error_handler):
5295         (x_init_device): Temporarily keep device in static variable
5296         `device_being_initialized' so we can recover gracefully from
5297         internal XOpenDevice failure.  (XOpenDevice is documented to
5298         return NULL on failure, but sometimes calls the IO error handler
5299         instead.)
5300
5301 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5302
5303         * dired.c (Ffile_name_all_completions): Change documentation --
5304         remove reference to completion-ignored-extensions.
5305         * dired.c (vars_of_dired): Change documentation for
5306         completion-ignored-extensions -- remove reference to
5307         file-name-all-completions.
5308
5309 2002-03-06  Jerry James  <james@xemacs.org>
5310
5311         * emodules.c (emodules_load): Fix multiple loading of same module.
5312
5313 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5314         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5315         RTLD_LAZY to avoid incorrect symbol binding when using nested
5316         shared libraries on Solaris.
5317
5318 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5319
5320         * fileio.c (Ffind_file_name_handler): Improve docstring.
5321
5322 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5323
5324         * fns.c (Fmapconcat): Improve docstring.
5325
5326 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5327
5328         * device-gtk.c: Add prototype for
5329         emacs_gtk_selection_clear_event_handle.
5330         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5331         selection.  Setup signal handler for "selection_clear_event"
5332         (emacs_gtk_selection_clear_event_handle).
5333
5334         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5335         other applications owning the clipboard (based on
5336         x_handle_selection_clear).
5337
5338 2001-12-23  William M. Perry  <wmperry@gnu.org>
5339
5340         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5341         
5342 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5343
5344         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5345
5346 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5347
5348         * XEmacs 21.4.6 "Common Lisp" is released.
5349
5350 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5351
5352         * search.c (Freplace_match): Add missing sub-expression functionality.
5353
5354         * buffer.c (decode_buffer): Add a check for pointer type to
5355         decode_buffer, before gcc's CSE optimization reorders a
5356         dereference in front of the allow_string test.
5357
5358 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5359
5360         * window.c (window_loop): Fix bug that sometimes prevented
5361         window_loop() from iterating across multiple devices.  Also, at
5362         Ben's request, changed infloop-detecting code to abort() instead
5363         of silently terminating window_loop().
5364
5365 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5366
5367         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5368         * editfns.c (make_time): New function.
5369         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5370         * lisp.h (make_time): Prototype and comment it.
5371         * dired.c (wasteful_word_to_lisp): Deprecate.
5372         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5373
5374 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5375
5376         * fileio.c (auto_save_1): Use current coding system, not
5377         escape-quoted.
5378
5379 2001-11-13  Ben Wing  <ben@xemacs.org>
5380
5381         * window.c:
5382         * window.c (window_truncation_on):
5383         * window.c (syms_of_window):
5384         truncate-partial-width-windows should respect the buffer being
5385         displayed, like other redisplay vars.
5386
5387 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5388
5389         * event-stream.c (Fread_key_sequence): save current buffer.
5390
5391 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5392
5393         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5394
5395 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5396
5397         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5398
5399 2001-10-26  Mike Alexander  <mta@arbortext.com>
5400
5401         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5402
5403 2001-10-25  Andy Piper  <andy@xemacs.org>
5404
5405         * ChangeLog:
5406         * dialog-msw.c (handle_directory_proc): new function.
5407          (handle_directory_dialog_box): new fucntion.
5408          (handle_file_dialog_box): use new directory dialog support.
5409          (mswindows_make_dialog_box_internal): ditto.
5410         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5411         handling.
5412         (mswindows_find_frame): make global.
5413         * fileio.c (Fexpand_file_name): build fix.
5414         * general-slots.h: add Qdirectory.
5415         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5416         handling.
5417         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5418         cygwin not leaving win32 paths unchanged.
5419         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5420         cygwin runtime to do path conversion.
5421         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5422         (syms_of_win32): add new function.
5423         * window.c (window_loop): build fix.
5424
5425 2001-10-15  Andy Piper  <andy@xemacs.org>
5426
5427         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5428
5429 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5430
5431         * XEmacs 21.4.5 "Civil Service" is released.
5432
5433 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5434
5435         * glyphs-x.c: Force buffer-tab highlight update when moving the
5436         buffer, avoiding an ugly black border, used for keyboard focus
5437         indication, on a widget that can never have keyboard focus, the
5438         buffer tab.
5439
5440 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5441
5442         * process-unix.c (unix_open_multicast_group): Remove too much
5443         conversion between host and network byte order.
5444
5445 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5446
5447         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5448         before replacing them.
5449
5450         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5451         operation.
5452
5453         * src/window.c (undedicate_windows): Use it.
5454         * src/window.h: Add prototype.
5455
5456 2001-09-17  Ben Wing  <ben@xemacs.org>
5457
5458         * fileio.c (normalize_filename):
5459         * fileio.c (Fexpand_file_name):
5460         Fix various C++ compile errors in Andy's recent code.
5461         
5462         * callint.c (Fcall_interactively):
5463         * editfns.c (Ftemp_directory):
5464         * editfns.c (Fuser_full_name):
5465         * emacs.c (argmatch):
5466         * lread.c (locate_file_map_suffixes):
5467         * redisplay-x.c (x_ring_bell):
5468         Fix sign-compare warnings.
5469         
5470 2001-09-08  Andy Piper  <andy@xemacs.org>
5471
5472         * fileio.c (normalize_filename): copied from nt.c
5473         * (Ffile_name_directory): enable win32 paths under cygwin.
5474         * (Ffile_name_nondirectory): ditto.
5475         * (directory_file_name): ditto.
5476         * (Fexpand_file_name): ditto.
5477         * (Ffile_truename): ditto.
5478         * (Fsubstitute_in_file_name): ditto.
5479         * (Ffile_name_absolute_p): ditto.
5480         * (Ffile_readable_p): ditto.
5481
5482 2001-09-08  Andy Piper  <andy@xemacs.org>
5483
5484         * device-msw.c (mswindows_finish_init_device): remove dde
5485         initialization.
5486         * device-msw.c (mswindows_init_dde): factor out from
5487         mswindows_finish_init_device()
5488         * device-msw.c (init_mswindows_very_early): new function
5489         initialize but don't enable dde.
5490         * emacs.c (main_1): call init_mswindows_very_early.
5491         * event-msw.c:
5492         * event-msw.c (mswindows_dde_callback): only execute when we are
5493         ready.
5494         * symsinit.h: declare init_mswindows_very_early.
5495
5496 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5497
5498         [sjt: This has been in 21.5 for months with no complaints.]
5499
5500         * console.h (struct console_methods): Added flags member.
5501         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5502         (CONMETH_IMPL_FLAG):
5503         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5504         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5505
5506         * device.c (window_system_pixelated_geometry): Use the above macros.
5507
5508         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5509         implememntation flag.
5510         * device.h (DEVICE_DISPLAY_P): Use it.
5511
5512         * frame.c (delete_frame_internal): Use the above macro.
5513
5514         * redisplay.c (redisplay_device): Use it.
5515         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5516         (redisplay_frame): Ditto.
5517
5518         * device-msw.c (mswindows_device_implementation_flags): Removed.
5519         (msprinter_device_implementation_flags): Removed.
5520         (console_type_create_device_mswindows): Removed references to
5521         implementation_flags methods, set implementation flags here.
5522         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5523
5524         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5525         (console_type_create_device_gtk): Removed method declaration.
5526         Added commented out statement which semantically matches the
5527         commented out statement in the above removed method.
5528
5529 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5530
5531         The attached patch fixes a few warnings. 
5532
5533         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5534         * src/frame-gtk.c: guard against GNOME calls in GTK only
5535         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5536         * src/select-gtk.c: prototype lisp_to_time
5537
5538 2001-06-08  Ben Wing  <ben@xemacs.org>
5539
5540         ------ gc-in-window-procedure fixes ------
5541         
5542         * alloc.c:
5543         * alloc.c (struct post_gc_action):
5544         * alloc.c (register_post_gc_action):
5545         * alloc.c (run_post_gc_actions):
5546         * alloc.c (garbage_collect_1):
5547         Create "post-gc actions", to avoid those dreaded "GC during window
5548         procedure" problems.
5549
5550         * event-msw.c:
5551         Abort, clean and simple, when GC in window procedure.  We want
5552         to flush these puppies out.
5553
5554         * glyphs-msw.c:
5555         * glyphs-msw.c (finalize_destroy_window):
5556         * glyphs-msw.c (mswindows_finalize_image_instance):
5557         Use a post-gc action when destroying subwindows.
5558
5559         * lisp.h:
5560         Declare register_post_gc_action().
5561
5562         * scrollbar-msw.c:
5563         * scrollbar-msw.c (unshow_that_mofo):
5564         Use a post-gc action when unshowing scrollbar windows, if in gc.
5565
5566         * redisplay.c (mark_redisplay):
5567         Add comment about the utter evilness of what's going down here.
5568
5569         ------ cygwin setitimer fixes ------
5570         
5571         * Makefile.in.in (sheap_objs):
5572         * Makefile.in.in (profile_objs):
5573         * Makefile.in.in (objs):
5574         Compile profile.c only when HAVE_SETITIMER.
5575         
5576         * nt.c (mswindows_sigset):
5577         * nt.c (mswindows_sighold):
5578         * nt.c (mswindows_sigrelse):
5579         * nt.c (mswindows_sigpause):
5580         * nt.c (mswindows_raise):
5581         * nt.c (close_file_data):
5582         Style fixes.
5583         
5584         * nt.c:
5585         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5586         
5587         * profile.c:
5588         * profile.c (Fstart_profiling):
5589         * profile.c (Fstop_profiling):
5590         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5591         instead of just plain setitimer().
5592         
5593         * signal.c:
5594         * signal.c (set_one_shot_timer):
5595         * signal.c (alarm):
5596         Define qxe_setitimer() as an encapsulation around setitimer() --
5597         call setitimer() directly unless Cygwin or MS Win, in which case
5598         we use our simulated version in win32.c.
5599         
5600         * systime.h:
5601         * systime.h (struct itimerval):
5602         * systime.h (ITIMER_REAL):
5603         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5604         comment about "qxe" and the policy regarding encapsulation.
5605
5606         * win32.c:
5607         * win32.c (setitimer_helper_proc):
5608         * win32.c (setitimer_helper_period):
5609         * win32.c (setitimer_helper):
5610         * win32.c (mswindows_setitimer):
5611         Move setitimer() emulation here, so Cygwin can use it.
5612         Rename a couple of functions and variables to be longer and more
5613         descriptive.  In setitimer_helper_proc(), send the signal
5614         using either mswindows_raise() or (on Cygwin) kill().  If for
5615         some reason we are still getting lockups, we'll change the kill()
5616         to directly invoke the signal handlers.
5617
5618         ------ windows shell fixes ------
5619         
5620         * callproc.c:
5621         * ntproc.c:
5622         Comments about how these two files must die.
5623
5624         * callproc.c (init_callproc):
5625         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5626         not just COMSPEC. (more correct and closer to FSF.) Don't
5627         force a value for SHELL into the environment. (Comments added
5628         to explain why not.)
5629         
5630         * nt.c (init_user_info):
5631         Don't shove a fabricated SHELL into the environment.  See above.
5632
5633 2001-06-01  Ben Wing  <ben@xemacs.org>
5634
5635         * Makefile.in.in (ldflags):
5636         eliminate that pesky "defaulting to 00401000" warning.
5637         * nt.h:
5638         eliminate warnings.
5639
5640 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5641
5642         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5643         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5644
5645 2001-04-24  Jerry James <james@xemacs.org>
5646
5647         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5648         correct order.
5649
5650 2001-06-01  Ben Wing  <ben@xemacs.org>
5651
5652         * event-msw.c (debug_mswin_messages):
5653         conditionalize the messages that were causing compile errors.
5654         (if only macros could generate #ifdef statements ...)
5655
5656 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5657
5658         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5659
5660 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5661
5662         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5663
5664 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5665
5666         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5667         * process-unix.c (unix_canonicalize_host_name):
5668         sysdep.c (init_system_name):
5669         Use it to conditionally support IPv6 canonicalization.
5670
5671 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5672
5673         * event-msw.c:
5674         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5675
5676 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5677
5678         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5679         attempt is made to scroll when no scroll bar is available.
5680
5681 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5682
5683         * input-method-motif.c (XIM_delete_frame): New callback.
5684         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5685         got deleted from 21.4.3.)
5686
5687 2001-06-01  Ben Wing  <ben@xemacs.org>
5688
5689         * nt.c (mswindows_utime):
5690         * nt.c (close_file_data):
5691         fix off-by-one-indirection error.
5692
5693 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5694
5695         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5696         because set_file_times() now takes Lisp_Object path, instead of
5697         char*.
5698         * nt.c: Include buffer.h.
5699         * nt.c (convert_from_time_t): New.
5700         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5701         not set mtime correctly.
5702         * nt.h: Declare mswindows_utime().
5703         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5704         path, instead of char*.
5705         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5706
5707 2001-05-30  Ben Wing  <ben@xemacs.org>
5708
5709         For 21.4:
5710
5711         (Stephen, just take all event-msw.c patches.  This includes
5712         the "iconify" fix below.)
5713
5714         * event-msw.c:
5715         * event-msw.c (mswindows_dequeue_dispatch_event):
5716         * event-msw.c (assert):
5717         * event-msw.c (emacs_mswindows_quit_p):
5718         * event-msw.c (debug_mswin_messages):
5719         * event-msw.c (debug_output_mswin_message):
5720         * event-msw.c (vars_of_event_mswindows):
5721         Fix yet more problems with C-g handling.
5722         Implement debug-mswindows-events.
5723         
5724 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5725
5726         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5727         
5728 2001-05-23  Ben Wing  <ben@xemacs.org>
5729
5730         * event-msw.c (winsock_writer):
5731         * event-msw.c (winsock_closer):
5732         prior kludgy code was clobbering the buffer, thinking it was
5733         "unused" space to store an unneeded return value; instead, use
5734         the variable we've already got staring us in the face.
5735
5736 2001-05-17  Andy Piper  <andy@xemacs.org>
5737
5738         * sysfile.h: don't assume that file attributes are boolean
5739
5740 2001-05-23  Ben Wing  <ben@xemacs.org>
5741
5742         * device-msw.c (msprinter_init_device):
5743         signal an error rather than crash with an unavailable network
5744         printer (from Mike Alexander).
5745         
5746         * event-msw.c:
5747         * event-msw.c (struct winsock_stream):
5748         * event-msw.c (winsock_writer):
5749         * event-msw.c (winsock_closer):
5750         * event-msw.c (make_winsock_stream_1):
5751         cleanup headers.  fix (hopefully) an error with data corruption
5752         when sending to a network connection.
5753
5754         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5755         to handle the ~user prefix by (a) always assuming we're referencing
5756         ourselves and not even verifying the user -- hence any file with
5757         a tilde as its first char is invalid! (b) if there wasn't a slash
5758         following the filename, the pointer was set *past* the end of
5759         file and we started reading from uninitialized memory.  Now we
5760         simply treat these as files, always.
5761
5762         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5763         
5764 2001-05-19  Ben Wing  <ben@xemacs.org>
5765
5766         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5767
5768         * process-nt.c:
5769         * process-nt.c (vars_of_process_nt):
5770         remove unused mswindows-quote-process-args.  rec for 21.4.
5771         
5772 2001-05-12  Ben Wing  <ben@xemacs.org>
5773
5774         * event-msw.c (mswindows_dde_callback):
5775         * event-msw.c (mswindows_wnd_proc):
5776         eliminate cygwin warnings.
5777
5778 2001-05-06  Ben Wing  <ben@xemacs.org>
5779
5780         * console-msw.h:
5781         * device-msw.c:
5782         * device-msw.c (print_dialog_worker):
5783         * device-msw.c (mswindows_handle_print_dialog_box):
5784         * device-msw.c (syms_of_device_mswindows):
5785         * dialog-msw.c (mswindows_make_dialog_box_internal):
5786         * general-slots.h:
5787         implement printing the selection when it's selected.
5788
5789 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5790
5791         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5792
5793 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5794
5795         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5796         EMACS_INT is signed.
5797
5798 2001-04-15  Michael Lausch  <mla@1012surf.net>
5799
5800         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5801         gtk_widget_request_size() to give scrollbar >0 width for
5802         GTK >1.2.8.
5803
5804 2001-05-30  William M. Perry  <wmperry@gnu.org>
5805
5806         * event-gtk.c: Check for buttons as modifier keys.
5807
5808 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5809
5810         * s\mingw32.h:
5811         Properly find MinGW's <process.h> inside Cygwin's restructured
5812         include directories.  Don't try to include <cygwin/version.h>
5813         since we are dropping support for MinGW in versions of Cygwin
5814         earlier than b21.
5815         * nt.c:
5816         Drop support for MinGW in versions of Cygwin before b21.
5817         * sysdep.c:
5818         Properly find MinGW's <process.h> inside Cygwin's restructured
5819         include directories.
5820         * syswindows.h:
5821         Drop support for MinGW in versions of Cygwin before b21.
5822         * unexcw.c:
5823         Even though a.out.h is no longer detected by configure, allow
5824         MinGW to use it until we figure out how to do the job with Win32.
5825
5826 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
5827
5828         * syntax.c (find_start_of_comment):
5829         Fix `unbalanced parentheses' bug when dealing with mixed comment
5830         styles in c++/java/etc. mode
5831
5832 2001-05-29  Mike Alexander  <mta@arbortext.com>
5833
5834         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
5835         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
5836
5837 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
5838
5839         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
5840
5841 2001-03-31  Mike Sperber <mike@xemacs.org>
5842
5843         * search.c (Freplace_match): Support FSF-style specification of
5844         match subexpression when applied to a buffer.
5845
5846 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5847
5848         * event-stream.c (is_scrollbar_event): add missing semicolon
5849
5850 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
5851
5852         * Makefile.in.in: Use TAR macro instead of hardcoding
5853           tar.  Allows use of GNU tar instead of system tar
5854
5855 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5856
5857         * event-stream.c (is_scrollbar_event): add missing semicolon
5858
5859 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5860
5861         * XEmacs 21.4.3 "Academic Rigor" is released.
5862
5863 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5864
5865         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
5866
5867 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
5868
5869         * buffer.c (Vcase_fold_search): Remove obsolete
5870           comment about non ASCII case-fold-search.  This
5871           bug has been fixed by case-table changes.
5872
5873 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
5874
5875         * event-msw.c: Restore include of events-mod.h.
5876
5877 2001-04-22   zhaoway  <zw@debian.org>
5878
5879         * event-stream.c (is_scrollbar_event): Noop returning 0 if
5880         !HAVE_SCROLLBARS.
5881
5882 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
5883
5884         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
5885
5886 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
5887
5888         * mule-charset.c (Fmake_charset): Add missing else.
5889
5890 2001-04-23  Ben Wing  <ben@xemacs.org>
5891
5892         * event-msw.c (FAKE_MOD_QUIT):
5893         * event-msw.c (mswindows_dequeue_dispatch_event):
5894         * event-msw.c (mswindows_wnd_proc):
5895         * event-msw.c (emacs_mswindows_quit_p):
5896         Get critical quit working.
5897
5898 2001-05-05  Ben Wing  <ben@xemacs.org>
5899
5900         * console-msw.h:
5901         * device-msw.c:
5902         * device-msw.c (mswindows_get_default_margin):
5903         * frame-msw.c (mswindows_size_frame_internal):
5904         * frame-msw.c (msprinter_init_frame_1):
5905         * frame-msw.c (vars_of_frame_mswindows):
5906         Change top/bottom margin defaults to 0.5 inches.
5907
5908 2001-05-01  Martin Buchholz  <martin@xemacs.org>
5909
5910         Fix link error with gcc 3.0 on Linux.
5911         * terminfo.c (UP): Remove.
5912         * terminfo.c (BC): Remove.
5913         * terminfo.c (PC): Remove.
5914         They weren't used, and in any case, these symbols should be
5915         defined in the *library*.
5916
5917 2001-05-03  Martin Buchholz  <martin@xemacs.org>
5918
5919         * s/aix4.h: Fix crash with xlc -O3.
5920         Improve comment explaining how -O3 works.
5921
5922 2001-04-15  Ben Wing  <ben@xemacs.org>
5923
5924         * event-stream.c:
5925         * event-stream.c (Fnext_event):
5926         * event-stream.c (is_scrollbar_event):
5927         * event-stream.c (execute_command_event):
5928         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
5929         crash' problem.  His fix introduces other problems.  We filter
5930         out scrollbar events specifically, making them somewhat invisible
5931         to command-building, and not appearing in `this-command-keys'.
5932         More work is still needed (see comments in event-stream.c), but
5933         this fixes all the major problems.
5934
5935 2001-04-20  Ben Wing  <ben@xemacs.org>
5936
5937         * .cvsignore: Added stuff for Windows.
5938
5939 2001-04-28  Ben Wing  <ben@xemacs.org>
5940
5941         * buffer.c (Ferase_buffer):
5942         * editfns.c (buffer_insert1):
5943         * editfns.c (Finsert_before_markers):
5944         * editfns.c (Finsert_string):
5945         * editfns.c (Finsert_char):
5946         * editfns.c (Fdelete_region):
5947         * editfns.c (Fwiden):
5948         * editfns.c (Fnarrow_to_region):
5949         remove bogus lines setting zmacs_region_stays to 0.
5950         
5951 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5952
5953         * process-unix.c (unix_open_network_stream): If connect() fails
5954         invalidate file descriptor after closing it.
5955
5956 2001-03-08  Mike Alexander  <mta@arbortext.com>
5957
5958         * event-msw.c (mswindows_need_event_in_modal_loop):
5959         Don't dispatch a message if we didn't get one.
5960         (mswindows_need_event):
5961         Terminate the correct process when one exits instead of the first
5962         one on Vprocess_list and look for process termination when in
5963         mswindows_protect_modal_loop.
5964
5965 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
5966
5967         * XEmacs 21.4.1 "Copyleft" is released.
5968
5969 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5970
5971         * input-method-motif.c (XIM_delete_frame): New callback.
5972         (XIM_init_frame): Register it.
5973
5974 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5975
5976         * XEmacs 21.4.0 "Solid Vapor" is released.
5977
5978 2001-04-15  Ben Wing  <ben@xemacs.org>
5979
5980         * cmdloop.c (call_command_loop):
5981         Fix braino in bit-rotting code.
5982         
5983 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
5984
5985         * extents.c (Fset_extent_endpoints): Force creation of extent info
5986         in buffer_or_string.
5987
5988         * extents.c (process_extents_for_insertion_mapper): Correctly
5989         check for open-open zero-length extents.
5990
5991 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5992
5993         * lisp.h: New typedefs Memory_count, Element_count.
5994         * regex.c:
5995         * regex.h:
5996         Sign-compare warning elimination: several unsigned -> signed.
5997         Based on work by Ben Wing <ben@xemacs.org>.
5998
5999 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6000
6001         * XEmacs 21.2.47 "Zephir" is released.
6002
6003 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6004
6005         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6006
6007 2001-04-03  Mike Sperber <mike@xemacs.org>
6008
6009         * search.c: Revert previous patch due because of release.
6010
6011 2001-03-30  Ben Wing  <ben@xemacs.org>
6012
6013         * s\cygwin32.h:
6014         Add missing killpg prototype.
6015
6016         * elhash.c:
6017         Add a comment about fixing problems when a new entry is added
6018         while mapping.
6019
6020         * frame-msw.c (mswindows_init_frame_1):
6021         Fix compile warnings.
6022
6023         * menubar.c (vars_of_menubar):
6024         Provide `menu-accelerator-support' to indicate that we properly
6025         support %_ in menu specifications, so that package code can
6026         conditionalize on this (and remove %_ from menu specifications
6027         on older versions).
6028
6029         * event-msw.c:
6030         * scrollbar-msw.c:
6031         * scrollbar-msw.c (can_scroll):
6032         * scrollbar-msw.h:
6033         Fix handling of mouse wheel under Windows to follow standards --
6034         now scrolls window under pointer, not selected window.
6035
6036 2001-03-31  Mike Sperber <mike@xemacs.org>
6037
6038         * search.c (Freplace_match): Support FSF-style specification of
6039         match subexpression when applied to a buffer.
6040
6041 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6042
6043         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6044         function to modify KEYMAP, so map over a copy of the hash table.
6045
6046 2001-03-21  Martin Buchholz <martin@xemacs.org>
6047
6048         * XEmacs 21.2.46 "Urania" is released.
6049
6050 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6051
6052         * realpath.c (xrealpath): Make file-truename work with symlinks to
6053         /cygdrive paths on cygwin. Always lowercase drive-letters on
6054         native windows.
6055         (cygwin_readlink): Don't try to find canonical filename unless
6056         file exists.
6057
6058 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6059
6060         * ChangeLog: Log GTK merge.
6061
6062         * dumper.c:
6063         * select-x.c:
6064         * specifier.c:
6065         * symeval.h:
6066         Revert gratuitous whitespace changes from GTK merge.
6067
6068         * emacs.c: Document end of complex #ifdef @ l. 1495.
6069
6070
6071 2001-03-12  Andy Piper  <andy@xemacs.org>
6072
6073         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6074         have to do likewise.
6075
6076 2001-03-12  Andy Piper  <andy@xemacs.org>
6077
6078         * sysdep.c: we only support mingw now.
6079
6080 2001-03-09  Andy Piper  <andy@xemacs.org>
6081
6082         * unexcw.c (copy_executable_and_dump_data_section): making approx
6083         overrun a warning only.
6084
6085 2001-03-10  William M. Perry  <wmperry@aventail.com>
6086
6087         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6088         satisfy Stephen's identical-after-cpp plea.
6089
6090 2001-03-02  Ben Wing  <ben@xemacs.org>
6091
6092         * cmds.c:
6093         * cmds.c (Fforward_char):
6094         * syntax.c:
6095         * window.c:
6096
6097         Augment documentation of the most common motion commands to make
6098         note of the shifted-motion support.
6099         
6100 2001-03-02  Ben Wing  <ben@xemacs.org>
6101
6102         * nt.c (mswindows_fstat):
6103         * nt.c (mswindows_stat):
6104         * search.c (boyer_moore):
6105         Fix compile warnings under Windows.
6106         
6107         * sysdep.c (sys_readdir):
6108         Fix buggy filename-conversion code under Mule.
6109
6110 2001-03-09  William M. Perry  <wmperry@aventail.com>
6111
6112         * Makefile.in.in:
6113         * config.h.in:
6114         * console.c:
6115         * console.h:
6116         * device.c:
6117         * device.h:
6118         * dragdrop.c:
6119         * emacs.c:
6120         * event-stream.c:
6121         * events.c:
6122         * events.h:
6123         * faces.c:
6124         * frame.h:
6125         * general-slots.h:
6126         * glyphs.c:
6127         * gutter.c:
6128         * inline.c:
6129         * lisp.h:
6130         * lrecord.h:
6131         * make-src-depend:
6132         * redisplay-output.c:
6133         * redisplay.c:
6134         * symsinit.h:
6135         * sysfile.h:
6136         * toolbar.c:
6137         * window.c:
6138         The Great GTK Merge.
6139
6140         * ChangeLog.GTK:
6141         * console-gtk.c:
6142         * console-gtk.h:
6143         * device-gtk.c:
6144         * emacs-marshals.c:
6145         * emacs-widget-accessors.c:
6146         * event-gtk.c:
6147         * frame-gtk.c:
6148         * gccache-gtk.c:
6149         * gccache-gtk.h:
6150         * glade.c:
6151         * glyphs-gtk.c:
6152         * glyphs-gtk.h:
6153         * gtk-glue.c:
6154         * gtk-xemacs.c:
6155         * gtk-xemacs.h:
6156         * gui-gtk.c:
6157         * gui-gtk.h:
6158         * menubar-gtk.c:
6159         * native-gtk-toolbar.c:
6160         * objects-gtk.c:
6161         * objects-gtk.h:
6162         * redisplay-gtk.c:
6163         * scrollbar-gtk.c:
6164         * scrollbar-gtk.h:
6165         * select-gtk.c:
6166         * toolbar-gtk.c:
6167         * ui-byhand.c:
6168         * ui-gtk.c:
6169         * ui-gtk.h:
6170         The Great GTK Merge: new files.
6171
6172 2001-02-26  Ben Wing  <ben@xemacs.org>
6173
6174         Reapplied Lstream change.
6175
6176 2001-02-26  Ben Wing  <ben@xemacs.org>
6177
6178         Undid the last change, since it is more controversial than I
6179         thought.  It should be back in at some point soon.
6180         
6181 2001-02-25  Ben Wing  <ben@xemacs.org>
6182
6183         * buffer.c:
6184         * callproc.c (Fold_call_process_internal):
6185         * event-msw.c (ntpipe_slurp_reader):
6186         * event-msw.c (ntpipe_shove_writer):
6187         * event-msw.c (winsock_reader):
6188         * event-msw.c (winsock_writer):
6189         * file-coding.c:
6190         * file-coding.c (detect_eol_type):
6191         * file-coding.c (detect_coding_type):
6192         * file-coding.c (determine_real_coding_system):
6193         * file-coding.c (Fdetect_coding_region):
6194         * file-coding.c (decoding_reader):
6195         * file-coding.c (decoding_writer):
6196         * file-coding.c (mule_decode):
6197         * file-coding.c (Fdecode_coding_region):
6198         * file-coding.c (encoding_reader):
6199         * file-coding.c (encoding_writer):
6200         * file-coding.c (mule_encode):
6201         * file-coding.c (Fencode_coding_region):
6202         * file-coding.c (detect_coding_sjis):
6203         * file-coding.c (decode_coding_sjis):
6204         * file-coding.c (encode_coding_sjis):
6205         * file-coding.c (detect_coding_big5):
6206         * file-coding.c (decode_coding_big5):
6207         * file-coding.c (encode_coding_big5):
6208         * file-coding.c (detect_coding_ucs4):
6209         * file-coding.c (decode_coding_ucs4):
6210         * file-coding.c (encode_coding_ucs4):
6211         * file-coding.c (detect_coding_utf8):
6212         * file-coding.c (decode_coding_utf8):
6213         * file-coding.c (encode_coding_utf8):
6214         * file-coding.c (detect_coding_iso2022):
6215         * file-coding.c (decode_coding_iso2022):
6216         * file-coding.c (encode_coding_iso2022):
6217         * file-coding.c (decode_coding_no_conversion):
6218         * file-coding.c (encode_coding_no_conversion):
6219         * glyphs-x.c (write_lisp_string_to_temp_file):
6220         * gpmevent.c (tty_get_foreign_selection):
6221         * lisp.h:
6222         * lstream.c:
6223         * lstream.c (Lstream_flush_out):
6224         * lstream.c (Lstream_adding):
6225         * lstream.c (Lstream_write_1):
6226         * lstream.c (Lstream_write):
6227         * lstream.c (Lstream_raw_read):
6228         * lstream.c (Lstream_read_more):
6229         * lstream.c (Lstream_read):
6230         * lstream.c (Lstream_unread):
6231         * lstream.c (Lstream_fputc):
6232         * lstream.c (stdio_reader):
6233         * lstream.c (stdio_writer):
6234         * lstream.c (filedesc_reader):
6235         * lstream.c (filedesc_writer):
6236         * lstream.c (lisp_string_reader):
6237         * lstream.c (struct fixed_buffer_stream):
6238         * lstream.c (make_fixed_buffer_input_stream):
6239         * lstream.c (make_fixed_buffer_output_stream):
6240         * lstream.c (fixed_buffer_reader):
6241         * lstream.c (fixed_buffer_writer):
6242         * lstream.c (struct resizing_buffer_stream):
6243         * lstream.c (resizing_buffer_writer):
6244         * lstream.c (dynarr_writer):
6245         * lstream.c (lisp_buffer_reader):
6246         * lstream.c (lisp_buffer_writer):
6247         * lstream.h:
6248         * lstream.h (lstream_implementation):
6249         * lstream.h (struct lstream):
6250         * md5.c (Fmd5):
6251         * process-nt.c (nt_send_process):
6252         * process-unix.c (unix_send_process):
6253         
6254         Correct Lstream lossage due to mixing of signed and unsigned
6255         quantities.  All Lstream uses of size_t and ssize_t are now a
6256         single signed data type Lstream_data_count.  This fixes problems
6257         under Windows with sending large quantities of data to a process,
6258         and may well fix other subtle bugs.
6259
6260 2001-02-23  Martin Buchholz <martin@xemacs.org>
6261
6262         * XEmacs 21.2.45 "Thelxepeia" is released.
6263
6264 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6265
6266         * lisp-union.h (XSETINT): 
6267         (XSETCHAR):
6268         (XSETOBJ): 
6269         Reverse previous change of 2001-02-06.
6270
6271 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6272
6273         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6274         buffers.
6275         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6276         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6277         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6278         * regex.c (POS_AS_IN_BUFFER): removed
6279         * regex.c (re_search_2):
6280         * regex.c (re_match_2):
6281         Don't use an offset of 1 when calculating buffer positions, since
6282         `BI_BUF_BEGV' does it already.
6283
6284 2001-02-18  Wim Dumon  <wim@easics.be>
6285
6286         * insdel.c (prepare_to_modify_buffer): Also check for
6287         supersession when clash-detection is enabled. 
6288
6289 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6290
6291         * regex.c (re_match_2_internal):
6292         Convert temp characters from 'const unsigned char' to 're_char'.
6293         Fix crashing bug with extended characters under mule.
6294         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6295         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6296         font-lock, pdump, and new syntax-table code.
6297         * syntax.c (find_start_of_comment):
6298         (find_end_of_comment):
6299         (forward-comment):
6300         Fix crashing bugs involving moving beyond end of buffer.
6301         * syntax.c (find_start_of_comment):
6302         Fixed logic to allow proper detection of cases where the same
6303         character is used to end both a two-char comment start and a
6304         two-char comment end sequence. Fixes `(forward-comment -1)'.
6305         * syntax.c (find_start_of_comment):
6306         Return position just past last comment-end character for all cases
6307         (previously was only done for two-char comment-end sequences).
6308         * syntax.c (forward-comment):
6309         Take value returned from `find_end_of_comment', rather than
6310         incrementing it.
6311         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6312         Properly deal with BUFFERP (syntax_cache.object)
6313
6314 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6315
6316         * alloc.c (Fgarbage_collect): 
6317         * alloc.c (make_bit_vector_from_byte_vector):
6318         -Wsign-compare-correctness.
6319
6320 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6321
6322         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6323         (XSETCHAR): Likewise.
6324         (XSETOBJ): Likewise.
6325
6326 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6327
6328         * mule-canna.c (canna-func-delete_previous): 
6329         Rename to canna-func-delete-previous.
6330
6331 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6332
6333         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6334
6335 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6336
6337         * font-lock.c (find_context): Fix C++ compile errors introduced by
6338         recent patch
6339
6340 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6341
6342         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6343         pragma, but earlier ones barf on the same pragma.
6344
6345 2001-02-06  Mike Sperber <mike@xemacs.org>
6346
6347         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6348         `configure-mule-lisp-directory'.
6349
6350 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6351
6352         Make sure dump-id.c is compiled in the same way as other .c's.
6353         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6354         * dump-id.h: Remove.
6355         * emacs.c: Move dump-id.h into dumper.h.
6356         * dumper.h: Move dump-id.h into dumper.h.
6357         * Makefile.in.in:
6358         Use standard .c.o rule for building dump-id.o.
6359         Remove preprocessor flags from link command.
6360         Add dump-id.o to ${otherobjs} if PDUMP.
6361
6362 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6363
6364         Port FSF 20.7 syntax table improvements.
6365         * syntax.c.
6366         * syntax.h.
6367
6368         Fixups for new syntax table stuff.
6369         * dired.c: Include syntax.c.
6370         (Fdirectory_files): Initialize regex_match_object and
6371         regex_emacs_buffer.
6372         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6373         and Fget_char_property.
6374
6375         Use ported FSF 20.7 syntax table improvements.
6376         * font-lock.c.
6377         * regex.c.
6378         * search.c.
6379         
6380 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6381
6382         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6383         Unixware's enum boolean from sys/types.h.
6384
6385 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6386
6387         Fix support for building with latest Purify.
6388         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6389         (PURIFY_FLAGS): Likewise.
6390
6391 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6392
6393         * fileio.c (lisp_string_set_file_times): New.
6394         * fileio.c (Fcopy_file): Use it.
6395         Fixes bug:
6396         (copy-file filename non-ascii-filename t t)
6397         ==> No such file or directory, non-ascii-filename
6398
6399 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6400
6401         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6402         USHRT_MAX seems clearer than ~0 anyways.
6403
6404 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6405
6406         dumper improvements.  Inspired by Olivier.
6407         * dumper.c (pdump_max_align): New.
6408         * dumper.c (pdump_add_entry): Use pdump_max_align.
6409         * dumper.c (pdump_get_entry_list): Likewise.
6410         * dumper.c (pdump_scan_by_alignment): Likewise.
6411         Don't iterate through unnecessary alignments.
6412         * dumper.c (pdump_file_get): No need to align result of malloc().
6413         * dumper.c (pdump_mallocadr): Remove.  
6414         The result of malloc() is guaranteed to be maximally aligned.
6415         * dumper.c: s/elmt/elt/g;
6416         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6417         * dumper.c (pdump_alert_undump_object): Likewise.
6418         * dumper.c (pdump_align_table): 
6419         Don't support alignments > 64.
6420         Store ALIGNOF's, not shift counts, in table.
6421
6422 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6423
6424         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6425         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6426         * systime.h: Use HAVE_UTIME.
6427         * sysdep.c (struct utimbuf): Remove.
6428         * sysdep.c (set_file_times): Prefer utime() to utimes().
6429         * config.h.in (HAVE_UTIME): New.
6430         * config.h.in (HAVE_UTIME_H): Remove.
6431         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6432
6433 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6434
6435         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6436
6437 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6438
6439         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6440
6441 2001-02-08  Martin Buchholz <martin@xemacs.org>
6442
6443         * XEmacs 21.2.44 "Thalia" is released.
6444
6445 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6446
6447         Fixes crashes in kill-emacs on some systems.
6448         * process-unix.c (unix_kill_child_process):
6449         It's OK for kill() to fail with ESRCH.
6450
6451 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6452
6453         Contortions to make .gdbinit tricks work on most systems.
6454         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6455         * alloc.c (dbg_valmask): Make non-const.
6456         * alloc.c (dbg_typemask): Make non-const.
6457         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6458         * alloc.c (dbg_valbits): Make non-const.
6459         * alloc.c (dbg_gctypebits): Make non-const.
6460         * .gdbinit (decode_object): Make it work with AIX cc.
6461
6462 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6463
6464         * elhash.c (make_general_lisp_hash_table):
6465         Use simpler and more efficient calloc to clear entries.
6466
6467 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6468
6469         * window.c (window_scroll): Work around an AIX C compiler bug.
6470         Fixes 'scroll-up' does nothing problem with xlC.
6471
6472 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6473
6474         * .gdbinit: Remove obsolete comment.
6475
6476 2001-01-31  Mike Alexander  <mta@arbortext.com>
6477
6478         * select.c (Fown_selection_internal): Set owned_p for device
6479         method correctly.
6480
6481 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6482
6483         Port to g++ 2.97.
6484         "not" cannot be used as a macro name as it is an operator in C++
6485         * config.h.in: Stop #defining `not'.
6486         * chartab.c (check_category_char): not ==> not_p
6487         * chartab.h: Likewise.
6488         * regex.c (re_match_2_internal): Likewise.
6489
6490 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6491
6492         * lisp-disunion.h: Fix up comments.
6493
6494 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6495
6496         * keymap.c (define_key_check_and_coerce_keysym):
6497         (syms_of_keymap):
6498         Support mouse-6 and mouse-7 bindings in the obvious way.
6499
6500 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6501
6502         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6503
6504 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6505
6506         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6507         Previous patch missed DEFVAR_INT_MAGIC.
6508         Make sure future DEFVAR_foo use correct types.
6509         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6510         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6511         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6512         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6513         * (DEFVAR_INT): Likewise.
6514         * redisplay.c (vertical_clip): Should be of type Fixnum.
6515         * redisplay.c (horizontal_clip): Likewise.
6516         * lisp.h (dump_add_opaque_int): New.
6517         (dump_add_opaque_fixnum): New.
6518
6519 2001-01-29  Andy Piper  <andy@xemacs.org>
6520
6521         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6522         since they can be eval'ed
6523
6524 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6525
6526         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6527         Oops, XEmacs redefines `class'.  Use `typename' instead.
6528
6529 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6530
6531         * dumper.c: Fix C++ compile errors.
6532
6533 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6534
6535         * tparam.c: Use correct prototypes.
6536
6537 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6538
6539         * sysproc.h: #include util.h for NetBSD's openpty.
6540
6541 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6542
6543         More 64-bit correctness.
6544         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6545         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6546         Fix up comments.
6547         This finally finishes the 64-bit SGI port.
6548         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6549         * symbols.c: Fix up comments and type casts.
6550         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6551         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6552         * symeval.h (Fixnum): New type.
6553         * symeval.h (symbol_value_type): Fix up comment.
6554
6555         * commands.h:
6556         * nt.c:
6557         * emacs.c:
6558         * data.c:
6559         * redisplay.c:
6560         * abbrev.c:
6561         * dired-msw.c:
6562         * event-Xt.c:
6563         * eldap.c:
6564         * window.c:
6565         * sound.c:
6566         * event-stream.c:
6567         * eval.c:
6568         * buffer.c:
6569         * mule-canna.c: A million DEFVAR_INTs here...
6570         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6571         * extents.c:
6572         * cmdloop.c:
6573         * lisp.h:
6574         * select-x.c:
6575         * console-x.h:
6576         * event-msw.c:
6577         * mule-wnnfns.c:
6578         * hpplay.c:
6579         * ralloc.c:
6580         * alloc.c:
6581         * keymap.c:
6582         * profile.c:
6583         s/int/Fixnum/g in DEFVAR_INT declarations.
6584
6585 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6586
6587         Port pdump to SGI alignment-sensitive environment.
6588         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6589         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6590         properly aligned.
6591         Define and use aligned reading and writing macros.
6592         Use buffered stdio instead of posix i/o for faster dumping.
6593         Eliminate kludgy 256 byte space for header.
6594         Read and write from dump file using structs for alignment safety.
6595         * dumper.c (pdump_align_stream): New.
6596         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6597         * dumper.c (PDUMP_READ_ALIGNED): New.
6598         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6599         * dumper.c (pdump_static_Lisp_Object): New struct.
6600         * dumper.c (pdump_static_pointer): New struct.
6601         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6602         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6603         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6604         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6605
6606         * dumper.c (pdump_backtrace):
6607         * dumper.c (pdump_get_indirect_count):
6608         * dumper.c (pdump_register_object):
6609         * dumper.c (pdump_register_struct):
6610         * dumper.c (pdump_reloc_one):
6611         * dumper.c (pdump_scan_by_alignment):
6612         * dumper.c (pdump_dump_from_root_struct_ptrs):
6613         * dumper.c (pdump_dump_opaques):
6614         * dumper.c (pdump_dump_rtables):
6615         * dumper.c (pdump_dump_from_root_objects):
6616         * dumper.c (pdump):
6617         * dumper.c (pdump_load_finish):
6618         Use aligned reading and writing.
6619
6620         * dumper.c (pdump_free): Make static.
6621         * dumper.c (pdump_hFile): Likewise.
6622         * dumper.c (pdump_hMap): Likewise.
6623
6624 2001-01-26  Martin Buchholz <martin@xemacs.org>
6625
6626         * XEmacs 21.2.43 "Terspichore" is released.
6627
6628 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6629
6630         Type fiddling for window_config.saved_windows_count
6631         * window.c (struct window_config): 
6632         Make saved_windows_count member unsigned.
6633         * window.c (sizeof_window_config_for_n_windows): 
6634         Make parameter unsigned.
6635         * window.c (mark_window_config):
6636         * window.c (window_config_equal):
6637         * window.c (free_window_configuration):
6638         * window.c (Fset_window_configuration):
6639         * window.c (count_windows):
6640         * window.c (Fcurrent_window_configuration):
6641         * window.c (reinit_vars_of_window):
6642         Update all callers and users.
6643
6644 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6645
6646         Alignment correctness for flexible arrays.
6647         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6648         Make alignment-correct. Add interesting comments.
6649         * alloc.c (size_vector):
6650         * alloc.c (make_vector_internal):
6651         * alloc.c (make_bit_vector_internal):
6652         * alloc.c (sweep_bit_vectors_1):
6653         * fns.c (size_bit_vector):
6654         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6655         * window.c (sizeof_window_config_for_n_windows): 
6656         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6657
6658 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6659
6660         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6661
6662 2001-01-23  Andy Piper  <andy@xemacs.org>
6663
6664         * select.c (Fown_selection_internal): pass owned_p
6665
6666         * select-msw.c (mswindows_own_selection): New Signature.
6667
6668         * console.h (struct console_methods): add owned_p to
6669         _own_selection.
6670
6671         * select-x.c (x_own_selection): pass owned_p
6672         (hack_motif_clipboard_selection): use owned_p
6673         (vars_of_select_x): new variable -
6674         x_selection_strict_motif_ownership.
6675
6676 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6677
6678         * specifier.h (specifier_data_offset): Remove pointless parens.
6679         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6680
6681 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6682
6683         Make Lisp_Object sizeof methods be alignment-correct.
6684         pdump must restore objects to the same alignment as the C compiler
6685         assumes.  It really matters on SGIs.
6686         * lstream.c (aligned_sizeof_lstream): New.
6687         (sizeof_lstream): Use aligned_sizeof_lstream.
6688         (Lstream_new): Likewise.
6689         * opaque.c (aligned_sizeof_opaque): New.
6690         (sizeof_opaque): Use aligned_sizeof_opaque.
6691         (make_opaque): Likewise.
6692         * specifier.c (aligned_sizeof_specifier): New.
6693         (sizeof_specifier): Use aligned_sizeof_specifier.
6694         (make_specifier_internal): Likewise.
6695
6696 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6697
6698         * lstream.h (struct lstream): Use max_align_t for trailing data.
6699         * specifier.h (struct Lisp_Specifier): Likewise.
6700
6701 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6702
6703         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6704         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6705         (CCL_SUSPEND): Likewise.
6706         (CCL_INVALID_CMD): Likewise.
6707         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6708         (ccl_driver): Likewise.
6709         (CCL_WRITE_CHAR): Macro hygiene.
6710         (CCL_WRITE_STRING): Macro hygiene.
6711
6712 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6713
6714         Port "portable" dumper to SunOS 4 and HP-UX.
6715         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6716         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6717         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6718
6719 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6720
6721         * lisp.h (ALIGNOF): A better definition for C++.
6722
6723 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6724
6725         Macro hygiene.
6726         Fix printf warnings: int format, long int arg.
6727         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6728         (PUSH_FAILURE_POINT): Use correct printf formats.
6729         (POP_FAILURE_POINT): Use correct printf formats.  
6730         Use do {...} while (0)
6731
6732 2001-01-20  Martin Buchholz <martin@xemacs.org>
6733
6734         * XEmacs 21.2.42 "Poseidon" is released.
6735
6736 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6737
6738         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6739
6740 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6741
6742         De-kludgify FIXED_TYPE free list frobbing.
6743         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6744         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6745         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6746         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6747         * alloc.c (LRECORD_FREE_P): New.
6748         * alloc.c (MARK_LRECORD_AS_FREE): New.
6749         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6750         * alloc.c (STRUCT_FREE_P): Deleted.
6751         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6752         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6753         * alloc.c (STRING_CHARS_FREE_P): New.
6754         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6755         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6756         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6757         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6758         * alloc.c (resize_string): Use new definitions.
6759         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6760         * alloc.c (verify_string_chars_integrity): Use new definitions.
6761         * alloc.c (compact_string_chars): Use new definitions.
6762         * alloc.c: Update monster comments.
6763         * lrecord.h (lrecord_type): Add some new lrecord types for
6764         alloc.c's use.
6765
6766 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6767
6768         Improve alignment hackery.
6769         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6770         (max_align_t): Moved from opaque.h - general purpose.
6771         (ALIGN_PTR): Use size_t, not long.
6772         * opaque.h (max_align_t): Move to lisp.h.
6773
6774 2001-01-18  Norbert Koch  <nk@LF.net>
6775
6776         * gui.h: Fix and add prototypes to fix build problems.
6777
6778 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6779
6780         temacs is going away, so `dump-temacs' is now a bad name.
6781         * .dbxrc (dump-temacs): Rename to `dmp'.
6782         * .gdbinit (dump-temacs): Rename to `dmp'.
6783
6784 2001-01-17  Andy Piper  <andy@xemacs.org>
6785
6786         * glyphs.c (print_image_instance): comment to make martin happy.
6787
6788         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6789         change.
6790
6791         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6792         activation.
6793         (mswindows_tab_control_redisplay): warning suppression.
6794
6795         * glyphs-widget.c (widget_update): re-write to cope with updated
6796         items.
6797         (widget_instantiate): use new gui_item functions.
6798         (tab_control_update): deleted.
6799         (progress_gauge_update): deleted.
6800         (image_instantiator_progress_guage): take out update reference.
6801         (image_instantiator_tree_view): ditto.
6802         (image_instantiator_tab_control): ditto.
6803
6804         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6805         Right the new way.
6806         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6807         return whether anything was changed.
6808         (update_gui_item_keywords): as it sounds.
6809
6810         * gui.h: declare widget_gui_parse_item_keywords.
6811
6812         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
6813         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
6814
6815 2001-01-17  Martin Buchholz <martin@xemacs.org>
6816
6817         * XEmacs 21.2.41 "Polyhymnia" is released.
6818
6819 2001-01-16  Didier Verna  <didier@xemacs.org>
6820
6821         * glyphs.c (image_instantiate): don't use fallbacks when
6822         instantiating a face's background pixmap by inheritance.
6823
6824 2001-01-14  Mike Sperber <mike@xemacs.org>
6825
6826         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
6827         Conditionalize accordingly.
6828
6829 2001-01-16  Martin Buchholz  <martin@xemacs.org>
6830
6831         * dumper.c (pdump_file_get): Fix a compiler warning.
6832
6833 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6834
6835         Make Purify happy when pdumping.
6836         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
6837         iniitalizing all bits of new lisp object memory.
6838         * symbols.c (Fmake_local_variable): Likewise.
6839         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
6840         * symbols.c (Fdefvaralias): Likewise.
6841         * mule-charset.c (vars_of_mule_charset): Likewise.
6842
6843 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6844         Add the `-nd' flag when running pre-dump operations under the debugger.
6845         * .dbxrc (run-temacs): Add `-nd'.
6846         * .dbxrc (update-elc): Likewise.
6847         * .dbxrc (dump-temacs): Likewise.
6848         * .gdbinit (run-temacs): Likewise.
6849         * .gdbinit (check-temacs): Likewise.
6850         * .gdbinit (update-elc): Likewise.
6851         * .gdbinit (dump-temacs): Likewise.
6852
6853 2001-01-14  Martin Buchholz  <martin@xemacs.org>
6854
6855         Allow building 64-bit executables on AIX with GNU malloc, e.g.
6856         export OBJECT_MODE=64
6857         configure --pdump --use-union-type=no
6858         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
6859         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
6860
6861         * miscplay.c (sndcnv8U_2mono):
6862         Avoid two uses of `++' in the same expression.
6863         Suppresses a GCC warning.
6864
6865 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6866
6867         Make sure future compilers don't miscompile alloc.c.
6868         * alloc.c:
6869         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
6870         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
6871
6872 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6873
6874         * dumper.c: A little post-pdump-rename comment fixup.
6875
6876 2001-01-09  Jerry James  <james@eecs.ku.edu>
6877
6878         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
6879
6880 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6881
6882         * *.[ch]: Globally rename symbols using the following `pdump-rename'
6883         script:
6884         #!/bin/sh
6885         replace_symbol () {
6886           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
6887         }
6888
6889         replace_symbol pdump_wire_lists pdump_weak_object_chains
6890         replace_symbol pdump_wire_list dump_add_weak_object_chain
6891
6892         replace_symbol pdump_wires pdump_root_objects
6893         replace_symbol pdump_wire dump_add_root_object
6894
6895         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
6896         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
6897
6898         replace_symbol dumpstructinfos pdump_root_struct_ptrs
6899         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
6900         replace_symbol dumpstructinfo pdump_root_struct_ptr
6901         replace_symbol dumpstruct dump_add_root_struct_ptr
6902
6903         replace_symbol dumpopaque dump_add_opaque
6904         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
6905         replace_symbol dumpopaqueinfos pdump_opaques
6906         replace_symbol dumpopaqueinfo pdump_opaque
6907
6908         replace_symbol nb_structdump nb_root_struct_ptrs
6909         replace_symbol nb_opaquedump nb_opaques
6910
6911         replace_symbol align_table pdump_align_table
6912         replace_symbol dump_header pdump_header
6913
6914         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
6915         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
6916
6917
6918 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6919
6920         * s/aix4.h: Keep the C for AIX compiler from overaggressively
6921         optimizing bytecount_to_charcount().
6922
6923 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6924
6925         * config.h.in:
6926         (HAVE_DLFCN_H): Removed.
6927         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
6928
6929 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6930
6931         Portable dumper maintainability improvements.
6932         * alloc.c (staticpro):
6933         * alloc.c (staticpro_nodump):
6934         * alloc.c (garbage_collect_1):
6935         * alloc.c (reinit_alloc_once_early):
6936         * alloc.c (init_alloc_once_early):
6937         * alloc.c: Move dumper functions to alloc.c.
6938         * dumper.c (pdump_backtrace):
6939         * dumper.c (pdump_dump_structs):
6940         * dumper.c (pdump_dump_opaques):
6941         * dumper.c (pdump_dump_rtables):
6942         * dumper.c (pdump_dump_wired):
6943         * dumper.c (pdump):
6944         * dumper.c (pdump_load_check):
6945         * dumper.c (pdump_load_finish):
6946         * dumper.c (pdump_file_unmap):
6947         * dumper.c (pdump_file_get):
6948         * dumper.c (pdump_resource_free):
6949         * dumper.c (pdump_resource_get):
6950         * dumper.c (pdump_file_free):
6951         * dumper.c (pdump_file_try):
6952         * dumper.c (pdump_load):
6953         Remove fixed size limits on staticpro(), staticpro_nodump(),
6954         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
6955         Remove custom code for dumping lrecord_implementations_table - use
6956         dumpopaque instead.
6957         Remove (most of the) custom code for dumping staticpros - dump it
6958         like any other dynarr.
6959
6960         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
6961         * dumper.c: Moved functions from alloc.c.
6962         * alloc.c (dumpstruct): Moved to dumper.c.
6963         * alloc.c (dumpopaque): Likewise.
6964         * alloc.c (pdump_wire): Likewise.
6965         * alloc.c (pdump_wire_list): Likewise.
6966
6967         * lisp.h (Dynarr_sizeof): New.
6968         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
6969         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
6970         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
6971
6972         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
6973         * lisp.h (dumpopaque): ditto.
6974         * lisp.h (pdump_wire): ditto.
6975         * lisp.h (pdump_wire_list): ditto.
6976
6977 2001-01-09  Martin Buchholz  <martin@xemacs.org>
6978
6979         * make-src-depend (PrintPatternDeps):
6980         Use `sort' to make output independent of perl version.
6981
6982 2001-01-08  Martin Buchholz  <martin@xemacs.org>
6983
6984         Port to Netbsd 1.5.
6985         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
6986         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
6987
6988 2001-01-03  Didier Verna  <didier@xemacs.org>
6989
6990         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
6991         that `focus_frame' is alive before thinking of calling
6992         `redisplay_redraw_cursor' on it.
6993
6994 2001-01-08  Martin Buchholz <martin@xemacs.org>
6995
6996         * XEmacs 21.2.40 is released.
6997
6998 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6999
7000         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7001
7002 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7003
7004         * alloc.c (dbg_valmask): Make const.
7005         * alloc.c (dbg_typemask): Make const.
7006         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7007         * alloc.c (dbg_valbits): Make const.
7008         * alloc.c (dbg_gctypebits): Make const.
7009
7010 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7011
7012         * redisplay-x.c (x_bevel_area):
7013         redisplay.h (struct rune):
7014         Typo fixes in comments.
7015
7016 2001-01-05  Andy Piper  <andy@xemacs.org>
7017
7018         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7019         adjustment.
7020
7021         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7022
7023 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7024
7025         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7026
7027         * mule-ccl.c (stack_idx_of_map_multiple):
7028         Non const global data must not be initialized!
7029         Found by MIYASHITA Hisashi.
7030
7031 2001-01-02  Andy Piper  <andy@xemacs.org>
7032
7033         * frame.c (change_frame_size): make sure frame size is always
7034         marked as changed.
7035
7036         * glyphs.c (image_instance_layout): minor code reuse.
7037
7038         * window.c (Fcurrent_window_configuration): revert previous
7039         change.
7040
7041 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7042
7043         * glyphs.h:
7044         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7045
7046 2000-12-31  Andy Piper  <andy@xemacs.org>
7047
7048         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7049         when widget gets unmapped.
7050
7051         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7052         function. Make sure widgets losing focus don't just drop it.
7053         (handle_focus_event_1): record the widget with focus.
7054
7055 2000-12-31  Andy Piper  <andy@xemacs.org>
7056
7057         * window.c (allocate_window): use
7058         make_image_instance_cache_hash_table.
7059         (make_dummy_parent): ditto.
7060         (Fset_window_configuration): ditto.
7061
7062         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7063
7064         * glyphs.c (process_image_string_instantiator): use
7065         INSTANTIATOR_TYPE.
7066         (get_image_instantiator_governing_domain): ditto.
7067         (normalize_image_instantiator): ditto.
7068         (instantiate_image_instantiator): ditto.
7069         (make_image_instance_1): ditto.
7070         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7071         (instantiator_eq_equal): new function for use with instance hash
7072         tables.
7073         (instantiator_eq_hash): ditto.
7074         (make_image_instance_cache_hash_table): create a suitable hash
7075         table for storing image instances.
7076
7077         * elhash.h (hash_table_weakness): new internal weakness type
7078         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7079         declare new functions.
7080
7081         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7082         another weakness type for glyphs.
7083         (make_standard_lisp_hash_table): new function split out from
7084         make_general_lisp_hash_table.
7085         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7086         (hash_table_instantiate): ditto.
7087         (Fmake_hash_table): ditto.
7088
7089 2000-12-31  Martin Buchholz <martin@xemacs.org>
7090
7091         * XEmacs 21.2.39 is released.
7092
7093 2000-12-29  Andy Piper  <andy@xemacs.org>
7094
7095         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7096
7097         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7098         the frame has changed so that we pick up geometry changes such as
7099         menubar visibility.
7100
7101 2000-12-28  Andy Piper  <andy@xemacs.org>
7102
7103         * lastfile.c (my_ebss): make a char array so we can pad the
7104         bss. Fixes cygwin unexec.
7105
7106         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7107
7108 2000-12-26  Andy Piper  <andy@xemacs.org>
7109
7110         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7111         comments and try and be more precise about a non-/SIGIO world.
7112         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7113         SIGIO.
7114
7115         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7116         we don't normalize to zero width or height.
7117
7118 2000-12-24  Andy Piper  <andy@xemacs.org>
7119
7120         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7121
7122 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7123
7124         * s/sco5.h: SCO 5 has pty support.
7125
7126 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7127
7128         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7129         input-method-xlib.c contains whole contents of input-method-xfs.c,
7130         so we can use input-method-xlib.c's code for USE_XFONTSET
7131         using #ifdefs.
7132         * input-method-xfs.c: removed.
7133
7134 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7135
7136         * file-coding.h (enum coding_category_type): reorder enumerators to
7137         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7138         (now one greater than largest real coding_category_type enumerator).
7139         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7140         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7141         Fcoding_category_list, Fset_coding_priority_list,
7142         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7143         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7144
7145 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7146
7147         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7148         * redisplay-output.c (redisplay_output_window): Clear top of window
7149         when face is changed.
7150         * redisplay-x.c (x_redraw_exposed_window): Call
7151         redisplay_clear_top_of_window.
7152         * redisplay.h: Publish redisplay_clear_top_of_window.
7153
7154 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7155
7156         * buffer.c (Fkill_buffer): Map over all devices.
7157         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7158         (list_windows): New function.
7159         (list_all_windows): Ditto.
7160         (Freplace_buffer_in_windows): Use them.
7161
7162 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7163
7164         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7165         (Fopen_database): Use `db_create' instead of `db_open'.
7166         (syms_of_database): Initialize Qqueue.
7167
7168 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7169
7170         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7171         buffer_local_face_property.
7172         * buffer.h (struct buffer): New member buffer_local_face_property.
7173         * window.c (Fset_window_buffer):  Mark window's face as changed
7174         when buffer has buffer local face.
7175         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7176         * objects.c (color_after_change): Set buffer_local_face_property
7177         when locale of face specifier is buffer.
7178         * objects.c (font_after_change): Ditto.
7179         * objects.c (face_boolean_after_change): Ditto.
7180         * glyphs.c (image_after_change): Ditto.
7181
7182 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7183
7184         * nt.c (mswindows_fstat): Report file permissions, volume serial
7185         number, etc. Code adapted from FSF Emacs 20.7.
7186
7187 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7188
7189         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7190         of stat when we don't have symbolic links, to make sure
7191         mswindows_stat is called on mswindows.
7192
7193 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7194
7195         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7196
7197 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7198
7199         * doprnt.c (emacs_doprnt_1): More printing fixes.
7200         Make printing of numbers compatible with libc and FSF Emacs.
7201         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7202         Use the system printf to do most of the hard work of formatting,
7203         instead of doprnt_1().
7204         Calculate memory to allocate for format string.
7205         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7206         (doprnt_1): Cleaner code and documentation.
7207
7208 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7209
7210         * Makefile.in.in: Use the loop variable to install headers.
7211
7212 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7213
7214         * window.c (Fsplit_window): Don't invalidate face cache.
7215
7216 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7217
7218         * minibuf.c (Fall_completions): Undo the previous change
7219         which removed checking elements start with space.
7220
7221 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7222
7223         * mule-canna.c: Didier suppression.
7224
7225 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7226
7227         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7228         (warning suppression).  Add English comment translations.
7229
7230 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7231
7232         * unexelfsgi.c (unexec): Better test for mmap failure.
7233
7234 2000-12-05  Martin Buchholz <martin@xemacs.org>
7235
7236         * XEmacs 21.2.38 is released.
7237
7238 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7239
7240         * redisplay.c (bar-cursor): Make a user variable.
7241
7242         * symsinit.h: Add init_postgresql_from_environment.
7243
7244 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7245
7246         * regex.c: Convert to clean C.
7247
7248 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7249
7250         * realpath.c:
7251         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7252         initialization.
7253         (sys_readlink): renamed to system_readlink to avoid conflict with
7254         the other sys_readlink.
7255
7256 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7257
7258         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7259
7260 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7261
7262         * postgresql.c (init_postgresql_from_environment): new function.
7263         (vars_of_postgresql): Move code initializing Lisp variables out and
7264         into init_postgresql_from_environment.
7265         emacs.c (main_1): Call init_postgresql_from_environment if and only
7266         if running a dumped XEmacs.
7267
7268 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7269
7270         * buffer.c: Make find-file-compare-truenames default to true on
7271         windows.
7272
7273         * realpath.c (win32_abs_start):
7274         (cygwin_readlink):
7275         (win32_readlink): New functions.
7276         (xrealpath): Return really real filenames on windows.
7277
7278         * fileio.c (Ffile_truename): Make file-truename work on windows.
7279
7280 2000-11-29  Didier Verna  <didier@xemacs.org>
7281
7282         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7283         * faces.c (update_face_cachel_data): use it.
7284         * faces.c (add_face_cachel): use it. Complete background pixmap
7285         frobbing in face cache if `update_face_cachel_data' has not done so.
7286
7287 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7288
7289         * search.c (string_match_1): Don't set last_thing_searched
7290         when search failed.
7291
7292 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7293
7294         * buffer.c: Include casetab.h
7295         (common_init_complex_vars_of_buffer): Use new case-table object.
7296         * buffer.h: Include casetab.h
7297         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7298         (DOWNCASE_TABLE_OF): Ditto.
7299         * bufslots.h: Remove char-tables and add case-table.
7300         * casetab.c: Include casetab.h
7301         (CASE_TABLE_P): Removed.
7302         (mark_case_table): New function.
7303         (allocate_case_table): New function.
7304         (Fcase_table_p): Use new case-table.
7305         (case_table_char): New function.
7306         (Fget_case_table): Ditto.
7307         (Fput_case_table): Ditto.
7308         (Fput_case_table_pair): Ditto.
7309         (Fcopy_case_table): Ditto.
7310         (Fcurrent_case_table): Return case-table.
7311         (Fstandard_case_table): Return case-table.
7312         (Fset_case_table): Fix doc-string.
7313         (set_case_table): Use case-table
7314         (syms_of_casetab): DEFSUBR new functions.
7315         (complex_vars_of_casetab): Set up standard case-table.
7316         * casetab.h: New file.
7317         * editfns.c: Include casetab.h
7318         (Fcompare_buffer_substrings): Use case-table.
7319         * inline.c: Include casetab.h
7320         * lisp.h: Remove bogus extern.
7321         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7322         * search.c: Include casetab.h
7323         (TRANSLATE_ASCII): Removed.
7324         (TRANSLATE): Unconditionally translate character.
7325         (looking_at_1): Use case-table.
7326         (string_match_1): Ditto.
7327         (fast_string_match): Ditto.
7328         (search_command): Ditto.
7329         (search_buffer): Separate boyer_moore.  Check whether
7330         boyer_moore is possible.
7331         (simple_search): New function.
7332         (boyer_moore): Separated from search_buffer. Translate char.
7333
7334 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7335
7336         * regex.c (RE_TR_ASCII): Removed.
7337         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7338         (PATFETCH): Call PATFETCH_RAW.
7339         (PATFETCH_RAW): Fetch Emchar.
7340         (PATUNFETCH): Decrement charptr.
7341         (GET_BUFFER_SPACE): Rename b to buf_end.
7342         (BUF_PUSH): Ditto.
7343         (BUF_PUSH_2): Ditto.
7344         (BUF_PUSH_3): Ditto.
7345         (EXTEND_BUFFER): Ditto.
7346         (SET_LIST_BIT): Ditto.
7347         (regex_compile): Ditto.  Translate non ASCII char.
7348         (compile_range): Ditto.
7349         (re_search_2): Ditto.
7350         (re_match_2_internal): Compare Emchar.
7351         (bcmp_translate): Ditto.
7352
7353 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7354
7355         * lisp.h (basic char/int typedefs):  comment improvement.
7356
7357 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7358
7359         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7360         unstomp inhibit_site_lisp.  Improve comments.
7361
7362 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7363
7364         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7365
7366 2000-11-28  Andy Piper  <andy@xemacs.org>
7367
7368         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7369         clipped display for windows in the gutter also.
7370         (redisplay_display_boxes_in_window_p): change semantics of return
7371         codes to be more intuitive.
7372
7373         * gutter.h: declare display_boxes_in_gutter_p.
7374
7375         * gutter.c (display_boxes_in_gutter_p): new function for
7376         redisplay.
7377
7378 2000-11-22  Andy Piper  <andy@xemacs.org>
7379
7380         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7381         autodetect domain.
7382
7383 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7384
7385         * callproc.c (Fold_call_process_internal):
7386         * gpm.c (Freceive_gpm_event):
7387         (tty_get_foreign_selection): Might be just warning supression.
7388         * fileio.c (Fwrite_region_internal):
7389         (Fset_visited_file_modtime):
7390         * keymap.c (event_matches_key_specifier_p):
7391         Initialize GCPROed variable.
7392
7393         * menubar-x.c (command_builder_find_menu_accelerator):
7394         Initialize before use.
7395
7396 2000-11-23  Andy Piper  <andy@xemacs.org>
7397
7398         * unexcw.c (unexec): make the resulting executable executable.
7399
7400 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7401
7402         * doc.c (get_doc_string):
7403         Use size_t, not int, for result of XSTRING_LENGTH.
7404
7405         * cmds.c (Fdelete_char):
7406         * cmds.c (Fpoint_at_eol):
7407         * cmds.c (Fself_insert_command):
7408         Use EMACS_INT, not int, for result of XINT.
7409         Someday, someone will want to insert more than 2**31 identical characters.
7410
7411         * cmds.c (Fdelete_char):
7412         * cmds.c (Fdelete_backward_char):
7413         * syntax.c (Fforward_word):
7414         * syntax.c (Fforward_comment):
7415         Make COUNT argument optional, for consistency with forward-char et al.
7416
7417 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7418
7419         * lisp.h:
7420         * print.c (long_to_string):
7421         Return a useful value: the pointer at end of data written.
7422
7423         * doprnt.c:
7424         Use `static const char * const' for constant strings.
7425         (union printf_arg): Delete `i', `ui' members.
7426         (get_doprnt_args):
7427         (emacs_doprnt_1):
7428         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7429         Do all printf-ing via the `l' specifier.
7430         Use EMACS_INT instead of int.
7431         Optimize.
7432
7433 2000-11-20  Didier Verna  <didier@xemacs.org>
7434
7435         * faces.c (update_face_cachel_data): don't frob the background
7436         pixmap when the window is being created. The face is needed but
7437         does not exist yet.
7438
7439 2000-11-20  Andy Piper  <andy@xemacs.org>
7440
7441         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7442         messing with a debug environment.
7443
7444 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7445
7446         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7447
7448 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7449
7450         * casetab.c (Fcase_table_p): Fix compile error and crash.
7451
7452 2000-11-18  Philip Aston  <philipa@mail.com>
7453
7454         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7455
7456 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7457
7458         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7459         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7460
7461 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7462
7463         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7464         * unexelf.c: Use HAVE_ELF_H.
7465         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7466         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7467         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7468         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7469         for testing.
7470         So this is an unexelfsgi.c from a different line of development.
7471
7472 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7473
7474         * regex.c (RE_TR_ASCII): New function.
7475         (RE_TRANSLATE): Call it.
7476
7477 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7478
7479         * buffer.h (TRT_TABLE_OF): Remove assert.
7480         (IN_TRT_TABLE_DOMAIN): Removed.
7481
7482 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7483
7484         * free-hook.c (log_gcpro):
7485         (show_gcprohist): Add support for GCPRO5.
7486
7487 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7488
7489         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7490
7491 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7492
7493         * symeval.h: Declare flush_all_buffer_local_cache.
7494
7495         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7496         (flush_buffer_local_cache): Added.
7497         (flush_all_buffer_local_cache): Added.
7498
7499         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7500
7501         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7502         (pdump_dump_data): Ditto.
7503         (pdump_reloc_one): Ditto.
7504         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7505         before dumping.
7506
7507
7508 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7509
7510         * buffer.c: Remove if 0'ed entry.
7511         * buffer.h: Rewrite TRT to use char-table.
7512         * bufslots.h: Remove mirror tables.
7513         * casetab.c: Remove mirror tables.
7514         (CASE_TABLE_P): New macro.
7515         (Fcase_table_p): Element of a case table is string or char-table.
7516         (make_mirror_trt_table): Removed.
7517         (set_case_table): Setup char-table from strings for backward
7518         compatibility.
7519         * dired.c (Fdirectory_files):
7520         * dired-msw.c: (mswindows_get_files):
7521         * lisp.h: Change prototype of re_pattern_buffer.
7522         * regex.c: (RE_TRANSLATE): New macro.
7523         (TRANSLATE_P): Ditto.
7524         Change translate to type RE_TRANSLATE_TYPE.
7525         * regex.h: Define RE_TRANSLATE_TYPE
7526         * search.c (TRANSLATE): New macro.
7527         (TRANSLATE_ASCII): New macro.
7528         Translate table is changed to Lisp_Object.
7529         (signal_failure): Inhibit return.
7530
7531 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7532
7533         * device-msw.c:
7534         * eldap.c:
7535         * event-Xt.c:
7536         * event-stream.c:
7537         * print.c:
7538         Do UNGCPRO before return.
7539
7540 2000-11-14  Martin Buchholz <martin@xemacs.org>
7541
7542         * XEmacs 21.2.37 is released.
7543
7544 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7545
7546         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7547         Add comments about discarded return value.
7548
7549 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7550
7551         * callint.c:
7552         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7553
7554 2000-10-27  Andy Piper  <andy@xemacs.org>
7555
7556         * gutter.c (Fset_default_gutter_position): default left and right
7557         gutters to visible.
7558         (calculate_gutter_size): calculate resonable heuristic for left
7559         and right gutter sizes.
7560         (specifier_vars_of_gutter): change left and right gutter sizes to
7561         autodetect.
7562         (calculate_gutter_size_from_display_lines): new function.
7563         (output_gutter): check for resizing on left and right gutters.
7564         (clear_gutter): don't special case top and left gutters.
7565         (specifier_vars_of_gutter): use new signature for
7566         set_specifier_caching.
7567
7568         * glyphs-x.c (x_redisplay_widget): spelling fix.
7569         * glyphs.c (specifier_vars_of_glyphs):
7570         * menubar.c (specifier_vars_of_menubar):
7571         * redisplay.c (specifier_vars_of_redisplay):
7572         * toolbar.c (specifier_vars_of_toolbar):
7573         * window.c (specifier_vars_of_window):
7574         * scrollbar.c (specifier_vars_of_scrollbar):
7575         (complex_vars_of_scrollbar): use new signature for
7576         set_specifier_caching.
7577
7578         * specifier.c (set_specifier_caching): include recompute flag.
7579         (recompute_one_cached_specifier_in_window): always recompute if
7580         flag set.
7581         (recompute_one_cached_specifier_in_frame): ditto.
7582
7583         * specifier.h (struct specifier_caching): add recompute flag.
7584
7585 2000-10-24  Andy Piper  <andy@xemacs.org>
7586
7587         * unexcw.c (copy_executable_and_dump_data_section): add new
7588         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7589         5.0 happy.
7590
7591 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7592
7593         * console-x.h (x_device): New member modifier_release_time.
7594         * event-Xt.c (x_handle_sticky_modifiers):
7595         Bound interval modifier keys are sticky.
7596         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7597         * events.h: extern it.
7598
7599 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7600
7601         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7602
7603 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7604
7605         * event-stream.c (execute_command_event): Preserve current_events
7606         and the like when event is misc-user-event.
7607         Inhibit quit during the call to maybe_echo_keys.
7608
7609 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7610
7611         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7612         symlink when buffer is killed.
7613         (inhibit_clash_detection): New variable.
7614
7615 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7616
7617         * console.c (Fset_input_method): Trigger redisplay on tty.
7618
7619 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7620
7621         * process.c (Fprocess_status): Revert to previous behavior:
7622         (process-status "nosuchprocess") ==> nil
7623
7624 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7625
7626         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7627         Work around another GCC 2.95.2 optimizer bug.
7628
7629 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7630
7631         * process.c (Fget_process): Use LIST_LOOP_2.
7632         (kill_buffer_processes): Use LIST_LOOP_2.
7633
7634         * minibuf.c (Fall_completions):
7635         Delete old non-functional code for FSF fourth argument.
7636
7637         * frame.c (frame_matches_frame_spec):
7638         Renamed from `frame_matches_frametype'.  Update all callers.
7639         (device_matches_device_spec):
7640         Renamed from 'device_matches_console_spec'.  Update all callers.
7641
7642         * doc.c (Fsubstitute_command_keys):
7643         Remove buffer overflow crash.  Small code cleanups.
7644
7645         * casetab.c (check_case_table): Simpler code.
7646
7647         * window.c (Freplace_buffer_in_windows):
7648         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7649         (and similar implementation) as Fdelete_windows_on.
7650         Update all callers.
7651
7652         * alloc.c (Fmake_list):
7653         * alloc.c (make_vector):
7654         * alloc.c (Fmake_vector):
7655         * alloc.c (make_bit_vector):
7656         * alloc.c (Fmake_bit_vector):
7657         * alloc.c (Fbit_vector):
7658         * alloc.c (Fmake_string):
7659         * alloc.c (Fpurecopy):
7660         * alloc.c (Fmemory_limit):
7661         * buffer.c:
7662         * buffer.c (Fget_buffer):
7663         * buffer.c (Fkill_buffer):
7664         * buffer.c (complex_vars_of_buffer):
7665         * bytecode.c (Fcompiled_function_stack_depth):
7666         * callint.c (Fprefix_numeric_value):
7667         * event-stream.c:
7668         * event-stream.c (Fread_key_sequence):
7669         * casetab.c:
7670         * casetab.c (Fcase_table_p):
7671         * casetab.c (check_case_table):
7672         * casetab.c (Fset_case_table):
7673         * casetab.c (Fset_standard_case_table):
7674         * chartab.c:
7675         * chartab.c (Fchar_table_type):
7676         * chartab.c (Freset_char_table):
7677         * chartab.c (Fget_char_table):
7678         * chartab.c (Fget_range_char_table):
7679         * chartab.c (Fput_char_table):
7680         * chartab.c (Fmap_char_table):
7681         * chartab.c (Fcategory_table_p):
7682         * chartab.c (Fcheck_category_at):
7683         * chartab.c (Fchar_in_category_p):
7684         * chartab.c (Fcategory_table):
7685         * chartab.c (Fcopy_category_table):
7686         * chartab.c (Fset_category_table):
7687         * chartab.c (Fcategory_designator_p):
7688         * chartab.c (Fcategory_table_value_p):
7689         * cmds.c (Fdelete_char):
7690         * cmds.c (Fdelete_backward_char):
7691         * cmds.c (Fself_insert_command):
7692         * cmds.c (Fself_insert_internal):
7693         * console.c (Fvalid_console_type_p):
7694         * console.c (Fcdfw_console):
7695         * console.c (Fconsole_type):
7696         * console.c (Fconsole_name):
7697         * console.c (Fconsole_device_list):
7698         * console.c (Fconsole_on_window_system_p):
7699         * data.c:
7700         * data.c (Feq):
7701         * data.c (Fold_eq):
7702         * data.c (Fsubr_interactive):
7703         * data.c (Fchar_to_int):
7704         * data.c (Fint_to_char):
7705         * data.c (Fsetcar):
7706         * data.c (Fsetcdr):
7707         * data.c (Fnumber_to_string):
7708         * data.c (Fstring_to_number):
7709         * data.c (Frem):
7710         * database.c (mark_database):
7711         * database.c (finalize_database):
7712         * database.c (Fdatabase_live_p):
7713         * database.c (Fdatabasep):
7714         * device-x.c (Fx_get_resource):
7715         * device.c (Fdfw_device):
7716         * dired.c:
7717         * dired.c (Ffile_name_completion):
7718         * dired.c (Ffile_name_all_completions):
7719         * dired.c (Fuser_name_completion):
7720         * dired.c (Fuser_name_completion_1):
7721         * dired.c (Fuser_name_all_completions):
7722         * doc.c (Fdocumentation):
7723         * doc.c (Fdocumentation_property):
7724         * doc.c (Fsubstitute_command_keys):
7725         * editfns.c:
7726         * editfns.c (Fchar_to_string):
7727         * editfns.c (Fstring_to_char):
7728         * editfns.c (Ftemp_directory):
7729         * editfns.c (Finsert_char):
7730         * editfns.c (Fbuffer_substring_no_properties):
7731         * editfns.c (Fnarrow_to_region):
7732         * editfns.c (Fchar_equal):
7733         * editfns.c (Fchar_Equal):
7734         * editfns.c (Ftranspose_regions):
7735         * emacs.c (Fdump_emacs):
7736         * eval.c (Fthrow):
7737         * eval.c (Fcommand_execute):
7738         * eval.c (Fautoload):
7739         * eval.c (Fbacktrace):
7740         * eval.c (Fbacktrace_frame):
7741         * events.c:
7742         * events.c (Fcopy_event):
7743         * events.c (Fcharacter_to_event):
7744         * events.c (Fevent_button):
7745         * events.c (Fevent_process):
7746         * extents.c:
7747         * extents.c (Fnext_extent_change):
7748         * extents.c (Fextent_property):
7749         * faces.c (Ffacep):
7750         * faces.c (Fmake_face):
7751         * file-coding.c:
7752         * file-coding.c (Fencode_shift_jis_char):
7753         * file-coding.c (Fencode_big5_char):
7754         * fileio.c (Ffile_name_directory):
7755         * fileio.c (Ffile_name_nondirectory):
7756         * fileio.c (Ffile_name_as_directory):
7757         * fileio.c (Fdirectory_file_name):
7758         * fileio.c (Ffile_truename):
7759         * fileio.c (Fsubstitute_in_file_name):
7760         * fileio.c (Ffile_modes):
7761         * fileio.c (Fset_file_modes):
7762         * fileio.c (Fset_default_file_modes):
7763         * fileio.c (Fverify_visited_file_modtime):
7764         * floatfns.c (Facos):
7765         * floatfns.c (Fasin):
7766         * floatfns.c (Fatan):
7767         * floatfns.c (Fcos):
7768         * floatfns.c (Fsin):
7769         * floatfns.c (Ftan):
7770         * floatfns.c (Fbessel_j0):
7771         * floatfns.c (Fbessel_j1):
7772         * floatfns.c (Fbessel_jn):
7773         * floatfns.c (Fbessel_y0):
7774         * floatfns.c (Fbessel_y1):
7775         * floatfns.c (Fbessel_yn):
7776         * floatfns.c (Ferf):
7777         * floatfns.c (Ferfc):
7778         * floatfns.c (Flog_gamma):
7779         * floatfns.c (Fexp):
7780         * floatfns.c (Fexpt):
7781         * floatfns.c (Flog):
7782         * floatfns.c (Flog10):
7783         * floatfns.c (Fsqrt):
7784         * floatfns.c (Fcube_root):
7785         * floatfns.c (Facosh):
7786         * floatfns.c (Fasinh):
7787         * floatfns.c (Fatanh):
7788         * floatfns.c (Fcosh):
7789         * floatfns.c (Fsinh):
7790         * floatfns.c (Ftanh):
7791         * floatfns.c (Fabs):
7792         * floatfns.c (Ffloat):
7793         * floatfns.c (Flogb):
7794         * floatfns.c (Fceiling):
7795         * floatfns.c (Ffloor):
7796         * floatfns.c (Fround):
7797         * floatfns.c (Ftruncate):
7798         * floatfns.c (Ffceiling):
7799         * floatfns.c (Fffloor):
7800         * floatfns.c (Ffround):
7801         * floatfns.c (Fftruncate):
7802         * fns.c (Fstring_equal):
7803         * fns.c (Fstring_lessp):
7804         * fns.c (concat2):
7805         * fns.c (concat3):
7806         * fns.c (vconcat2):
7807         * fns.c (vconcat3):
7808         * fns.c (Fsubstring):
7809         * fns.c (Fassoc):
7810         * fns.c (Fold_assoc):
7811         * fns.c (assoc_no_quit):
7812         * fns.c (Fassq):
7813         * fns.c (Fold_assq):
7814         * fns.c (assq_no_quit):
7815         * fns.c (Frassoc):
7816         * fns.c (Fold_rassoc):
7817         * fns.c (Frassq):
7818         * fns.c (Fold_rassq):
7819         * fns.c (rassq_no_quit):
7820         * fns.c (Fremassoc):
7821         * fns.c (remassoc_no_quit):
7822         * fns.c (Fremassq):
7823         * fns.c (remassq_no_quit):
7824         * fns.c (Fremrassoc):
7825         * fns.c (Fremrassq):
7826         * fns.c (remrassq_no_quit):
7827         * fns.c (Fsort):
7828         * fns.c (Fplist_get):
7829         * fns.c (Fplist_put):
7830         * fns.c (Fplist_remprop):
7831         * fns.c (Fplist_member):
7832         * fns.c (Flax_plist_get):
7833         * fns.c (Flax_plist_put):
7834         * fns.c (Flax_plist_remprop):
7835         * fns.c (Flax_plist_member):
7836         * fns.c (Fequal):
7837         * fns.c (Fold_equal):
7838         * fns.c (Frequire):
7839         * fns.c (Fbase64_encode_region):
7840         * fns.c (Fbase64_encode_string):
7841         * fns.c (Fbase64_decode_region):
7842         * frame.c:
7843         * frame.c (frame_matches_frame_spec):
7844         * frame.c (device_matches_device_spec):
7845         * frame.c (next_frame):
7846         * frame.c (previous_frame):
7847         * frame.c (Fnext_frame):
7848         * frame.c (Fprevious_frame):
7849         * frame.c (Fframe_property):
7850         * frame.c (Fset_frame_height):
7851         * frame.c (Fset_frame_size):
7852         * frame.h:
7853         * glyphs.c:
7854         * glyphs.c (if):
7855         * glyphs.c (decode_error_behavior_flag):
7856         * glyphs.c (Fmake_image_instance):
7857         * indent.c (Findent_to):
7858         * intl.c (Fignore_defer_gettext):
7859         * keymap.c (Fkeymapp):
7860         * keymap.c (Flookup_key):
7861         * lread.c:
7862         * lread.c (Fload_internal):
7863         * lread.c (Feval_buffer):
7864         * lread.c (Feval_region):
7865         * macros.c (Fexecute_kbd_macro):
7866         * marker.c (set_marker_internal):
7867         * marker.c (Fset_marker):
7868         * marker.c (set_marker_restricted):
7869         * marker.c (Fcopy_marker):
7870         * marker.c (noseeum_copy_marker):
7871         * menubar.c:
7872         * menubar.c (Fpopup_menu):
7873         * minibuf.c:
7874         * mule-charset.c (Fcharset_name):
7875         * mule-charset.c (Fchar_charset):
7876         * mule-charset.c (Fchar_octet):
7877         * mule-charset.c (Fsplit_char):
7878         * mule-wnnfns.c (Fwnn_open):
7879         * mule-wnnfns.c (Fwnn_dict_comment):
7880         * mule-wnnfns.c (Fwnn_quit_henkan):
7881         * mule-wnnfns.c (Fwnn_word_toroku):
7882         * mule-wnnfns.c (Fwnn_word_sakujo):
7883         * mule-wnnfns.c (Fwnn_word_use):
7884         * mule-wnnfns.c (Fwnn_hindo_set):
7885         * objects.c:
7886         * objects.c (Fmake_color_instance):
7887         * objects.c (Fmake_font_instance):
7888         * print.c (Fwrite_char):
7889         * process.c:
7890         * process.c (mark_process):
7891         * process.c (print_process):
7892         * process.c (get_process_from_usid):
7893         * process.c (Fprocessp):
7894         * process.c (Fprocess_live_p):
7895         * process.c (Fget_process):
7896         * process.c (Fget_buffer_process):
7897         * process.c (get_process):
7898         * process.c (Fprocess_id):
7899         * process.c (Fprocess_name):
7900         * process.c (Fprocess_command):
7901         * process.c (init_process_io_handles):
7902         * process.c (start_process_unwind):
7903         * process.c (Fstart_process_internal):
7904         * process.c (Fopen_multicast_group_internal):
7905         * process.c (Fset_process_window_size):
7906         * process.c (read_process_output):
7907         * process.c (send_process):
7908         * process.c (Fprocess_tty_name):
7909         * process.c (Fset_process_buffer):
7910         * process.c (Fprocess_buffer):
7911         * process.c (Fprocess_mark):
7912         * process.c (set_process_filter):
7913         * process.c (Fset_process_filter):
7914         * process.c (Fprocess_filter):
7915         * process.c (Fprocess_send_region):
7916         * process.c (Fprocess_send_string):
7917         * process.c (exec_sentinel):
7918         * process.c (Fset_process_sentinel):
7919         * process.c (Fprocess_sentinel):
7920         * process.c (status_notify):
7921         * process.c (Fprocess_status):
7922         * process.c (Fprocess_exit_status):
7923         * process.c (process_send_signal):
7924         * process.c (Fprocess_send_eof):
7925         * process.c (deactivate_process):
7926         * process.c (remove_process):
7927         * process.c (Fdelete_process):
7928         * process.c (kill_buffer_processes):
7929         * process.c (Fprocess_kill_without_query):
7930         * process.c (Fprocess_kill_without_query_p):
7931         * rangetab.c:
7932         * rangetab.c (Fget_range_table):
7933         * rangetab.c (Fput_range_table):
7934         * rangetab.c (Fremove_range_table):
7935         * rangetab.c (Fclear_range_table):
7936         * search.c:
7937         * search.c (Fskip_chars_forward):
7938         * search.c (Fskip_chars_backward):
7939         * search.c (Fskip_syntax_forward):
7940         * search.c (Fskip_syntax_backward):
7941         * search.c (search_command):
7942         * search.c (Freplace_match):
7943         * search.c (Fregexp_quote):
7944         * select.c (Fown_selection_internal):
7945         * select.c (Fselection_owner_p):
7946         * select.c (Fselection_exists_p):
7947         * select.c (Fget_selection_internal):
7948         * specifier.c:
7949         * symbols.c:
7950         * symbols.c (Fintern):
7951         * symbols.c (Fintern_soft):
7952         * symbols.c (Funintern):
7953         * symbols.c (Fapropos_internal):
7954         * symbols.c (Fset_default):
7955         * syntax.c:
7956         * syntax.c (Fsyntax_table_p):
7957         * syntax.c (Fcopy_syntax_table):
7958         * syntax.c (Fset_syntax_table):
7959         * syntax.c (Fchar_syntax):
7960         * syntax.c (syntax_match):
7961         * syntax.c (Fmatching_paren):
7962         * syntax.c (Fforward_word):
7963         * syntax.c (scan_lists):
7964         * syntax.c (Fscan_lists):
7965         * syntax.c (Fscan_sexps):
7966         * syntax.c (Fparse_partial_sexp):
7967         * toolbar.c (Fcheck_toolbar_button_syntax):
7968         * tooltalk.doc:
7969         * window.c:
7970         * window.c (Fwindowp):
7971         * window.c (Fwindow_live_p):
7972         * window.c (Fwindow_point):
7973         * window.c (Fdelete_window):
7974         * window.c (Fnext_window):
7975         * window.c (Fprevious_window):
7976         * window.c (Fother_window):
7977         * window.c (window_loop):
7978         * window.c (Fget_lru_window):
7979         * window.c (Fsplit_window):
7980         * window.c (Fenlarge_window):
7981         * window.c (Fenlarge_window_pixels):
7982         * window.c (Fshrink_window):
7983         * window.c (Fshrink_window_pixels):
7984         * window.c (change_window_height):
7985         * window.c (Fwindow_configuration_p):
7986         * window.c (Fcurrent_window_configuration):
7987         * window.h:
7988         * casefiddle.c (casify_object):
7989         * casefiddle.c (Fupcase):
7990         * casefiddle.c (Fdowncase):
7991         * casefiddle.c (Fcapitalize):
7992         * casefiddle.c (Fupcase_initials):
7993         * casefiddle.c (casify_region_internal):
7994         * casefiddle.c (casify_region):
7995         * casefiddle.c (Fupcase_region):
7996         * casefiddle.c (Fdowncase_region):
7997         * casefiddle.c (Fcapitalize_region):
7998         * casefiddle.c (Fupcase_initials_region):
7999         * casefiddle.c (Fupcase_word):
8000         * casefiddle.c (Fdowncase_word):
8001         * casefiddle.c (Fcapitalize_word):
8002         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8003         Replace 0 with '\0' when working with bytes.
8004         Replace initial "(" with "\(" in docstrings.
8005
8006 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8007
8008         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8009
8010         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8011
8012 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8013
8014         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8015
8016 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8017
8018         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8019         correctly.
8020
8021 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8022
8023         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8024         (inhibit_auto_save_session): New variable.
8025         (vars_of_fileio): Declare and initialize them.
8026         * fileio.c (Fdo_auto_save): Don't create session file if
8027         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8028
8029 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8030
8031         * sgiplay.c (play_internal): C++ compilability.
8032         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8033         * callproc.c (Fold_call_process_internal):
8034         Remove unused vars `env', `first'.
8035         * scrollbar.c (update_scrollbar_instance):
8036         #### unused var `current_window'.
8037         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8038         etc. within #ifdef NOT_YET.
8039         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8040         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8041         * specifier.c (specifier_instance):
8042         #### unused var `tag'.
8043         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8044
8045 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8046
8047         * fns.c (Fbutlast):
8048         * fns.c (list_sort):
8049         * fns.c (Ffillarray):
8050         * fns.c (bytecode_nconc2):
8051         * fns.c (Fnconc):
8052         * fns.c (mapcar1):
8053         * fns.c (Fmapconcat):
8054         Be pedantically 64-bit correct.  For the time when someone will
8055         want to have a list with length > 2**32.
8056
8057         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8058         Work around MIPSpro compiler bug.
8059
8060         * process-unix.c (unix_kill_child_process): Add snarky comment.
8061         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8062
8063         * config.h.in: Oops, _getpt ==> _getpty
8064
8065 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8066
8067         * config.h.in:
8068         * regex.c:
8069         Use void*, not char*, as return type of alloca().
8070
8071         * alloc.c (free_marker): Side effect inside assert expression!
8072
8073 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8074
8075         * mule-charset.c (Fset_charset_ccl_program): To check
8076         if the given ccl program is valid, use setup_ccl_program()
8077         instead of CHECK_VECTOR().
8078         (Fmake_charset): Likewise.
8079
8080 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8081
8082         * faces.c (get_extent_fragment_face_cache_index):
8083         Fix cachel.merged_faces memory leak.
8084
8085 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8086
8087         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8088         Reset MSB of octets obtained by DECODE_SJIS
8089         because of the incompatibility with Emacs.
8090         (ccl_driver)<CCL_ENCODE_SJIS>:
8091         Set MSB of octets before passing them to
8092         ENCODE_SJIS because of the incompatibility
8093         with Emacs.
8094
8095 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8096
8097         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8098         (DECLARE_LRECORD): Undo the last change.
8099         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8100
8101 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8102
8103         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8104         the implementation to lrecord_implementations_table.
8105
8106 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8107
8108         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8109         initial value of `lrecord_type_##c_name' and
8110         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8111         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8112         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8113         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8114         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8115
8116 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8117
8118         * miscplay.c (sndcnv8S_2mono):
8119         (sndcnv2monounsigned):
8120         (sndcnvULaw_2linear):
8121         (sndcnv16swap):
8122         Remove implementation-defined behavior.
8123
8124 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8125
8126         * input-method-xlib.c: Warning suppression.
8127
8128 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8129
8130         * mule-ccl.c: Sync up with Emacs 21.0.90.
8131         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8132         Do nothing.
8133         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8134         Likewise.
8135         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8136         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8137         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8138         leading char belongs to official 2-dimensional charset.
8139         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8140         write the given character as is.  Otherwise,
8141         if it is a multibyte char, convert it by
8142         non_ascii_set_charptr_emchar, then write it.
8143         (CCL_WRITE_STRING): Likewise.
8144         (ccl_get_compiled_code): New function.
8145         (setup_ccl_program): When ccl_prog is invalid,
8146         return -1.
8147         (Fregister_code_conversion_map): New function.
8148         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8149
8150         * mule-ccl.h: Sync up with Emacs 21.0.90.
8151         (Fregister_ccl_program): export it.
8152
8153         * redisplay-msw.c (separate_textual_runs):
8154         If ccl program is not valid, don't do ccl conversion.
8155
8156         * redisplay-x.c (separate_textual_runs): Ditto.
8157
8158         * file-coding.c (Fmake_coding_system):
8159         When type is ccl and value is vector, register it
8160         with a proper symbol.  And checks whether the
8161         given ccl program is valid.
8162         (mule_decode): When calling ccl_driver, if src indicates
8163         NULL pointer, set an empty string instead.
8164         (mule_encode): Likewise.
8165
8166 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8167
8168         The following large batch of changes gets us back to a state of
8169         C++ compilability.  Extbyte is now a char, which means that
8170         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8171
8172         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8173
8174         * sound.c (Fplay_sound): Type correctness.
8175
8176         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8177         (x_get_window_property): Type correctness.
8178         (receive_incremental_selection): unsigned char ==> Extbyte
8179         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8180         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8181         (Fx_store_cutbuffer_internal): Type correctness.
8182
8183         * process-unix.c (try_to_initialize_subtty): Type correctness.
8184
8185         * objects-x.c (x_print_color_instance): Type correctness.
8186         (x_print_font_instance): Type correctness.
8187         (x_list_fonts): SExtbyte ==> Extbyte.
8188         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8189         (x_find_charset_font): SExtbyte ==> Extbyte.
8190         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8191         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8192         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8193         Use bufbyte_strcmp.
8194
8195         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8196         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8197         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8198         (BYTE_C0_P): Use bit ops for char-signedness safety.
8199         (BYTE_C1_P): Use bit ops for char-signedness safety.
8200         (CHARSET_BY_LEADING_BYTE):
8201         (CHARSET_BY_ATTRIBUTES):
8202         Always use inline function.
8203         Use type_checking_assert.
8204         Hide chlook.
8205
8206         * mule-charset.c (non_ascii_charptr_copy_char):
8207         Modify to work with both ASCII and non-ASCII characters.
8208         Improve docs and variable names.
8209         Replace over-clever fall-through switch with a simple loop.
8210         (Lstream_get_emchar_1):
8211         Replace over-clever fall-through switch with a simple loop.
8212
8213         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8214         Warning suppression.
8215
8216         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8217         the return value of Lstream_getc, which could be EOF as well.
8218
8219         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8220
8221         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8222         APIs can be used on Extbytes without casts.  Risky!
8223         (SExtbyte): Remove.
8224         (UExtbyte): Remove.
8225
8226         * input-method-xlib.c (XIM_init_device):
8227         Use Xlib.h instead of IntrinsicP.h.
8228         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8229         which will break in X11R7.
8230         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8231         to call XRegisterIMInstantiateCallback with correct types.
8232
8233         * gui-x.c (button_item_to_widget_value): Type correctness.
8234
8235         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8236
8237         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8238         (xbm_instantiate_1): Type correctness.
8239         (BUILD_GLYPH_INST):  Type correctness.
8240
8241         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8242
8243         * file-coding.c:
8244         (decode_coding_sjis):
8245         (decode_coding_big5):
8246         (decode_coding_ucs4):
8247         (decode_coding_utf8):
8248         (decode_coding_iso2022):
8249         (decode_coding_no_conversion):
8250         Make all decoding functions take an Extbyte * arg.
8251         (encode_coding_sjis):
8252         (encode_coding_big5):
8253         (encode_coding_ucs4):
8254         (encode_coding_utf8):
8255         (encode_coding_iso2022):
8256         (encode_coding_no_conversion):
8257         Make all encoding functions take a Bufbyte * arg.
8258         Use size_t instead of unsigned int for memory sizes.
8259         Only cast to unsigned char whenever dereferencing Extbyte *.
8260
8261         * doc.c (unparesseuxify_doc_string): Type correctness.
8262
8263         * console-x.c (split_up_display_spec):
8264         Rewrite without using details of internal string representation.
8265         (x_semi_canonicalize_device_connection): Type correctness.
8266
8267         * config.h.in:
8268         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8269         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8270         (HAVE_XFREE386): Removed.
8271
8272         * buffer.h (DEC_CHARPTR): `const' correctness.
8273         (bufbyte_strcmp): New.
8274         (bufbyte_memcmp): New.
8275
8276         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8277
8278         * buffer.h (XCHAR_OR_CHAR_INT):
8279         Always use inline function.
8280         Remove redundant type checking assert() - XINT will abort quite nicely.
8281
8282 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8283
8284         * search.c (Freplace_match): Set newtext to an empty string.
8285
8286 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8287
8288         * s/decosf1-3.h: Remove #include of stropts.h
8289         * s/ptx.h: Remove #include of stropts.h
8290         * s/usg5-4.h: Remove #include of stropts.h
8291         * sysproc.h:
8292         * config.h.in:
8293         Use stropts.h, not sys/stropts.h.
8294         Use strtio.h, not sys/strtio.h.
8295
8296 2000-10-04  Martin Buchholz <martin@xemacs.org>
8297
8298         * XEmacs 21.2.36 is released.
8299
8300 2000-09-21  Andy Piper  <andy@xemacs.org>
8301
8302         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8303         changes still involve copying the widget tree.
8304         (update_widget_face): make sure a change is register in the widget
8305         tree. Call update_tab_widget_face appropriately.
8306         (update_tab_widget_face): ditto.
8307         (x_tab_control_redisplay): make sure non-structural changes still
8308         involve copying the widget tree.
8309
8310 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8311
8312         * lread.c (locate_file): Check the path element is non-nil.
8313
8314 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8315
8316         * lisp.h: Warning suppression for SCO compilers.
8317
8318         * redisplay-tty.c (reset_tty_modes): Fix crash.
8319         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8320
8321 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8322
8323         Big signal/process handling overhaul.  Bugs fixed:
8324         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8325         M-x comint-kill-subjob should work for both values nil and t of
8326         process-connection-type. It was broken on most platforms.
8327         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8328         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8329         * process-unix.c: Signal/Process handling overhaul.
8330         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8331         (allocate_pty): Use all available modern methods of allocating
8332         ptys, falling back to old style BSD allocation as a last resort.
8333         Use allegedly more secure Unix98 pty allocation by default.
8334         (allocate_pty_the_old_fashioned_way): New. the last resort.
8335         (unix_create_process): Push ptem, ldterm, ttcompat where
8336         available.  Autoconfiscate.
8337         (try_to_initialize_subtty): New.
8338         (unix_kill_child_process): Proper signal handling for ptys on most
8339         platforms, using special knowledge of AIX, BSD, etc...
8340         (unix_create_process): Always disconnect_controlling_terminal() for
8341         subprocesses, whether using ptys or not.
8342         * process.h: Remove old getpt-dependent PTY code.
8343         * process.c (Fprocess_send_signal): New, obvious generic function.
8344         (decode_signal): New.
8345         (Finterrupt_process):
8346         (Fkill_process):
8347         (Fquit_process):
8348         (Fstop_process):
8349         (Fcontinue_process):
8350         (Fsignal_process): Use decode_signal.
8351         (process_send_signal):
8352         Many docstring corrections.
8353         Allow any signal to be sent to a process object.
8354         * config.h.in: Add symbols for big signal/process overhaul.
8355         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8356         * sysproc.h: Include process-related headers, where available:
8357         sys/stropts.h sys/strtio.h pty.h libutil.h
8358         * s/irix4-0.h:
8359         * s/irix5-0.h:
8360         * s/cygwin32.h:
8361         * s/gnu.h:
8362         * s/linux.h:
8363         * s/hpux.h:
8364         * s/aix3-1.h:
8365         Remove old S&M pty stuff.
8366         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8367         * systty.h: Simplify cpp hackery, improve comments.
8368         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8369
8370         * editfns.c (Fformat_time_string):
8371         Be a little more paranoid with the return value of ctime.
8372
8373         * fileio.c (check_executable):
8374         (check_writable):
8375         Use symbolic constants X_OK, W_OK.
8376
8377         * console-x.c (split_up_display_spec): Fix a warning.
8378
8379 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8380
8381         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8382         * ntproc.c (sys_spawnve): make_string ==> build_string
8383         Small clarity improvements.
8384
8385 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8386
8387         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8388
8389         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8390
8391         * config.h.in (HAVE_STRCASECMP): Remove.
8392
8393 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8394
8395         * redisplay-output.c (redisplay_output_pixmap):
8396         Cleaner and possibly more 64-bit correct code.
8397
8398 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8399
8400         * dumper.c (pdump_load_finish): move restoration of
8401         `noninteractive1' to emacs.c (main_1).
8402         * emacs.c (main_1): protect LISP-visible command-line flags
8403         from pdump_load().
8404
8405 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8406
8407         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8408         DUMP_TARGET instead of literal program names.
8409
8410 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8411
8412         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8413
8414 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8415
8416         * *: Spelling mega-patch
8417
8418 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8419
8420         * fns.c (bad_bad_turtle):
8421         Delete "Eek!" comment, since we fixed the bug to which it refers.
8422
8423 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8424
8425         * alloca.c: Replace REGISTER with register.
8426
8427 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8428
8429         * file-coding.c (ucs_to_char): Use countof.
8430
8431 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8432
8433         * file-coding.c: (ucs_to_char):
8434         (complex_vars_of_file_coding):
8435         Use countof instead of sizeof.
8436         Use CHECK_NATNUM instead of CHECK_INT.
8437
8438         * sysdep.c (strcasecmp): Remove.
8439         * device-x.c (ascii_strcasecmp): New.
8440         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8441         Avoid using non-standard non-portable strcasecmp.
8442
8443 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8444
8445         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8446         * font-lock.c: remove reference to emacsfns.h.
8447         * search.c: small doc improvement.
8448         * event-Xt.c: correct file names in comments.
8449         * console-x.h Correct file names in comments.
8450         * frame.c: Correct file names in comments.
8451         * event-stream.c: remove Energize from comments.
8452
8453 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8454
8455         * symeval.h (DEFERROR_STANDARD):
8456         (DEFERROR):
8457         (DEFSYMBOL):
8458         (DEFSYMBOL_NO_DUMP):
8459         (DEFSYMBOL_MULTIWORD_PREDICATE):
8460         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8461         (DEFKEYWORD):
8462         The construct &##name is not sensible C.
8463         Fixes compilation errors with Unixware native compiler.
8464
8465 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8466
8467         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8468         (next_frame_internal): Removed.  We now just have next_frame.
8469         (next_frame):
8470         Write a simpler and cleaner one-pass algorithm.
8471         Remove called_from_delete_device arg and #ifdefed-out code.
8472         (previous_frame):
8473         Renamed from prev_frame.  Update callers.
8474         Cleaned up to have an analogous implementation to next_frame.
8475         (other_visible_frames_internal): Remove the
8476         called_from_delete_device bogus arg, and hence, remove this
8477         function.  Just use other_visible_frames().
8478
8479         * window.c (Fnext_window):
8480         Prettify docstring.
8481         Since next_frame() is guaranteed to return a frame, remove check
8482         for nil inserted in previous patch.
8483         (Fprevious_window):
8484         Prettify docstring.
8485         Make code look more like Fnext_window.
8486         (window_loop):
8487         Respect the `console' arg when iterating through windows.
8488         Fixes bug: (get-buffer-window buffer t device) not respecting
8489         the `device' arg.
8490         This function needs more work, as others have pointed out.
8491
8492         * frame.h: Rename prev_frame to previous_frame.
8493         device_matches_console_spec no longer takes a `frame' arg.
8494
8495         * s/gnu.h:
8496         * s/linux.h:
8497         * s/hpux.h:
8498         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8499         From "Golubev I. N." <gin@mo.msk.ru>.
8500
8501         * make-src-depend: Fix typo.
8502
8503 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8504
8505         * window.c (Fnext_window):
8506         next_frame() might return nil, not a frame.
8507         Fixes this crash:
8508         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8509
8510         * frame.c (next_frame_internal):
8511         We've passed a frame if we've passed its device.
8512         Fixes this crash:
8513         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8514 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8515
8516 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8517
8518         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8519         Allow option to suppress accelerators in menu/dialog items.
8520         (populate_or_checksum_helper): Pass dialog title through above.
8521
8522 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8523
8524         * event-msw.c (mswindows_key_to_emacs_keysym):
8525         Add "pause" key, fix "menu" key.
8526
8527 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8528
8529         * eval.c (reinit_vars_of_eval):
8530         Increase max_lisp_eval_depth to 1000,
8531         required for thai-xtis.el to byte-compile under some circumstances.
8532
8533 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8534
8535         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8536         From Kenichi Handa.
8537
8538 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8539
8540         * make-src-depend: Make the generated Makefiles smaller.
8541
8542         * s/hpux.h (SETUP_SLAVE_PTY):
8543         Provide a %d in the format string for the errno argument.
8544
8545         * editfns.c (Ftemp_directory):
8546         Warning fix.
8547         Avoid buffer overrun on very long file name.
8548
8549         * input-method-xlib.c (XIM_init_device):
8550         6th parameter of XRegisterIMInstantiateCallback has different
8551         pointer types on different OSes, so simply cast to (void *).
8552
8553         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8554
8555         * sysdll.c (dll_open):
8556         shl_load will hang hard if passed a NULL filename.
8557         Simply return NULL for compatibility with dlopen.
8558         * sysdll.c: Conform to XEmacs coding standards.
8559
8560         * sysdep.c (get_pty_max_bytes):
8561         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8562
8563 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8564
8565         * tooltalk.c: Add #include <syssignal.h>
8566
8567 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8568
8569         * s/hpux.h: Don't use undefined function sigunblock().
8570
8571 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8572
8573         * config.h.in: Add HAVE_BALLOON_HELP.
8574         * emacs.c: Use HAVE_BALLOON_HELP.
8575         * Makefile.in.in (x_objs):
8576         Make Balloon Help conditional on finding shape.h.
8577
8578 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8579
8580         * syntax.c (regex_emacs_buffer_p): New variable.
8581         * syntax.h (regex_emacs_buffer_p): extern.
8582         * search.c (looking_at_1):
8583         (string_match_1):
8584         (fast_string_match):
8585         (search_buffer): Set regex_emacs_buffer_p.
8586         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8587         when before_dot, at_dot, after_dot.
8588
8589 2000-08-23  Andy Piper  <andy@xemacs.org>
8590
8591         * gui-x.c (popup_selection_callback): Only set action_occurred
8592         when we really have an image instance.
8593         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8594
8595 2000-08-23  Andy Piper  <andy@xemacs.org>
8596
8597         * gui-msw.c (mswindows_handle_gui_wm_command): set
8598         action_occurred.
8599         * gui-x.c (popup_selection_callback): ditto.
8600
8601         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8602         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8603         (struct Lisp_Image_Instance): add action_occurred flag.
8604
8605         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8606         (image_instance_changed): ditto.
8607         (reset_frame_subwindow_instance_cache): only unmap windows - do
8608         not remove them from the cache also.
8609
8610         * glyphs-widget.c (tab_control_update): better debug.
8611         (progress_gauge_update): ditto.
8612         (layout_update): ditto.
8613         (layout_instantiate): ditto.
8614         (tab_control_order_only_changed): cope with null pending items.
8615
8616         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8617         debug. Force selection of an item when an action occurred. Cope
8618         with null pending_items.
8619         (mswindows_progress_gauge_redisplay): better debug.
8620         * glyphs-x.c (x_tab_control_redisplay): ditto.
8621
8622         * redisplay.c (redisplay_frame): reset the frame cache if the
8623         frame is garbaged.
8624
8625         * window.c (Fset_window_configuration): potentially re-enable
8626         frame cache reset.
8627         (window_unmap_subwindows): need to finalize instances here since
8628         it is only used in mark_window_as_deleted.
8629
8630 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8631
8632         * nas.c (SndOpenDataForReading):
8633         nas.c (WaveOpenDataForReading):
8634         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8635         Somehow escaped from the 2000-08-14 patch.
8636
8637 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8638
8639         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8640         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8641
8642 2000-08-21  Andy Piper  <andy@xemacs.org>
8643
8644         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8645         window if it is not already displayed.
8646
8647         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8648         it is not already displayed.
8649
8650         * window.c (Fset_window_configuration): don't reset the frame
8651         cache.
8652
8653         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8654         instances from the frame cache if we are actually finalizing them.
8655         (reset_frame_subwindow_instance_cache): reset frame cache only
8656         after unmapping everything.
8657         (map_subwindow): set displayed flag after mapping.
8658
8659 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8660
8661         * data.c (indirect_function):
8662         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8663
8664         * eval.c (function_argcount):
8665         Use original function when signaling errors.
8666
8667 2000-08-18  Andy Piper  <andy@xemacs.org>
8668
8669         * frame.c (delete_frame_internal): use new
8670         free_frame_subwindow_instances name.
8671
8672         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8673         (add_tab_item): make return type correct.
8674         (mswindows_tab_control_instantiate): assert index of tab.
8675         (mswindows_tab_control_redisplay): Re-code to use
8676         gui_item_equal_sans_selected and gui_item_list_find_selected.
8677
8678         * glyphs-widget.c (tab_control_update): Correct comment.
8679
8680         * window.c (window_unmap_subwindows): use new
8681         unmap_subwindow_instance_cache_mapper.
8682         (window_unmap_subwindows_cache_mapper): deleted.
8683         (Fset_window_configuration): comparisons should now be with
8684         EQ. Preserve the subwindow instance cache across configuration
8685         changes.
8686         (allocate_window): ditto.
8687         (make_dummy_parent): ditto.
8688
8689         * glyphs.c (free_frame_subwindow_instances): rename from
8690         free_frame_subwindow_instance_cache. finalize all instances rather
8691         than just those in the display cache.
8692         (finalize_all_subwindow_instances): walk windows unmapping and
8693         finalizing subwindows.
8694         (unmap_subwindow_instance_cache_mapper): moved from
8695         window.c. Allow finalization as well as unmapping.
8696
8697         * gui.c (gui_item_list_find_selected): new function.
8698
8699         * gui.h (gui_item_list_find_selected): declare.
8700
8701         * glyphs-x.c (x_tab_control_redisplay): pick tab
8702         explicitly. Re-code to use gui_item_equal_sans_selected and
8703         gui_item_list_find_selected.
8704
8705         * glyphs-x.h: add lwlib-utils.h
8706
8707         * buffer.c (Frecord_buffer): undo previous change.
8708
8709 2000-08-09  Vin Shelton  <acs@xemacs.org>
8710
8711         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8712         possible.  Create temporary files more securely.  The patch was
8713         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8714         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8715         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8716         for details.
8717
8718 2000-08-07  Ben Wing  <ben@xemacs.org>
8719
8720         * getloadavg.c: remove duplicate (and windows-breaking)
8721         includes of fcntl.h and sys/file.h.
8722
8723         * nt.c: remove duplicate getloadavg() definition.
8724
8725         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8726         encodings.
8727
8728 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8729
8730         * eval.c (function_argcount): If function needs to be autoloaded
8731         actually use the loaded definition.
8732         GCPRO function.
8733
8734 2000-08-05  Ben Wing  <ben@xemacs.org>
8735
8736         * getloadavg.c: add prototype for getloadavg().  remove
8737         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8738         of the code).  remove duplicate header includes.
8739
8740         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8741
8742         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8743         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8744         useful load average.
8745
8746         * alloc.c (reinit_alloc_once_early): removed references to
8747         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8748         the lisp vars are the only things referencing the malloc_sbrk_*
8749         vars, and they were already if 0'd out.  these vars only exist
8750         in the older malloc.c, which is basically unused, and they're
8751         only for informational purposes.
8752
8753         * m\*.h: removed useless VIRT_ADDR_VARIES.
8754
8755         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8756
8757 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8758
8759         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8760         color if the image is a mono pixmap.
8761
8762 2000-07-30  Ben Wing  <ben@xemacs.org>
8763
8764         * Makefile.in.in (release):
8765         Remove stray @.
8766
8767         * buffer.c (directory_is_current_directory):
8768         * dired-msw.c (mswindows_get_files):
8769         * dired.c:
8770         * dired.c (Fdirectory_files):
8771         * dired.c (file_name_completion_stat):
8772         * dired.c (Ffile_attributes):
8773         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8774         preprocessor tricks, to avoid problems on some machines
8775         (e.g. SCO).
8776
8777         * callproc.c (egetenv): GC docs.
8778
8779         * console-msw.h:
8780         * console-msw.h (struct mswindows_dialog_id):
8781         * lrecord.h (lrecord_type):
8782         New object for use with MSW dialogs.
8783
8784         * console.h (struct console_methods):
8785         New enable/disable frame methods, for proper modal dialogs.
8786
8787         * device-msw.c (msprinter_default_printer): Fix to follow
8788         proper Mule conventions.
8789
8790         * device-msw.c:
8791         * device-msw.c (signal_open_printer_error):
8792         * device-msw.c (msprinter_init_device):
8793         * device-msw.c (ensure_not_printing):
8794         * device-msw.c (plist_get_margin):
8795         * device-msw.c (Fmsprinter_select_settings):
8796         * device-msw.c (finalize_devmode):
8797         * device-msw.c (Fmsprinter_settings_despecialize):
8798         * device-msw.c (signal_enum_priner_error):
8799         * extents.c (decode_extent):
8800         * extents.c (decode_map_extents_flags):
8801         * extents.c (decode_extent_at_flag):
8802         * extents.c (Fextent_at):
8803         * extents.c (Fextents_at):
8804         * extents.c (symbol_to_glyph_layout):
8805         [[[[2]]]] Use structured errors.
8806
8807         * dialog-msw.c:
8808         * dialog-msw.c (mswindows_is_dialog_msg):
8809         * dialog-msw.c (mark_mswindows_dialog_id):
8810         * dialog-msw.c (dialog_proc):
8811         * dialog-msw.c (handle_question_dialog_box):
8812         * dialog-msw.c (syms_of_dialog_mswindows):
8813         Define new object to clean up marking; use it as a dialog identifier.
8814         Call new delete-dialog-box-hook.
8815
8816         * dialog-x.c (dbox_selection_callback):
8817         * dialog-x.c (dbox_descriptor_to_widget_value):
8818         * dialog-x.c (x_make_dialog_box_internal):
8819         Call new delete-dialog-box-hook.
8820         Return an id.
8821
8822         * dialog.c:
8823         * dialog.c (syms_of_dialog):
8824         * dialog.c (vars_of_dialog):
8825         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
8826
8827         * eval.c:
8828         * eval.c (signal_call_debugger):
8829         when noninteractive, output stack traces on the console instead
8830         of in a (never-seen) buffer.
8831
8832         * eval.c (signal_type_error):
8833         * eval.c (invalid_argument_2):
8834         * lisp.h:
8835         new funs for use w/structured errors.
8836
8837         * event-Xt.c:
8838         * event-Xt.c (x_to_emacs_keysym):
8839         * event-Xt.c (describe_event):
8840         * event-Xt.c (emacs_Xt_event_handler):
8841         * event-Xt.c (vars_of_event_Xt):
8842         * event-msw.c:
8843         * event-msw.c (mswindows_wnd_proc):
8844         * event-msw.c (vars_of_event_mswindows):
8845         rename {x,mswindows}-debug-events to debug-{}-events for
8846         consistency with other debug-foo variables.
8847
8848         * event-stream.c:
8849         document next-event more clearly.
8850
8851         * fileio.c (Ffile_name_directory):
8852         * fileio.c (Ffile_name_nondirectory):
8853         * fileio.c (Funhandled_file_name_directory):
8854         * fileio.c (file_name_as_directory):
8855         * fileio.c (Ffile_name_as_directory):
8856         * fileio.c (directory_file_name):
8857         * fileio.c (Fdirectory_file_name):
8858         * fileio.c (Fmake_temp_name):
8859         * fileio.c (Ffile_truename):
8860         * fileio.c (Fsubstitute_in_file_name):
8861         * fileio.c (expand_and_dir_to_file):
8862         * fileio.c (barf_or_query_if_file_exists):
8863         * fileio.c (check_executable):
8864         * fileio.c (Ffile_exists_p):
8865         * fileio.c (Ffile_writable_p):
8866         * fileio.c (Ffile_directory_p):
8867         * fileio.c (Ffile_regular_p):
8868         * fileio.c (Ffile_modes):
8869         * fileio.c (Ffile_newer_than_file_p):
8870         * fileio.c (Fverify_visited_file_modtime):
8871         * fileio.c (Fset_visited_file_modtime):
8872         * fileio.c (auto_save_1):
8873         (1). (2).
8874         fix up gcpro's.
8875
8876         * frame-msw.c:
8877         * frame-msw.c (mswindows_init_frame_1):
8878         * frame-msw.c (mswindows_enable_frame):
8879         * frame-msw.c (error_frame_unsizable):
8880         * frame-msw.c (msprinter_init_frame_1):
8881         * frame-msw.c (msprinter_init_frame_3):
8882         * frame-msw.c (console_type_create_frame_mswindows):
8883         (2).
8884         implement new enable/disable frame methods.
8885
8886         * frame-x.c:
8887         * frame-x.c (x_enable_frame):
8888         * frame-x.c (console_type_create_frame_x):
8889         implement new enable/disable frame methods.
8890
8891         * frame.c:
8892         * frame.c (Fdisable_frame):
8893         * frame.c (syms_of_frame):
8894         * frame.h (struct frame):
8895         implement new enable/disable frame methods/functions.
8896
8897         * general-slots.h:
8898         add initial-focus.
8899
8900         * glyphs-msw.c (mswindows_widget_instantiate):
8901         comment that initial-focus should be implemented.
8902
8903         * glyphs-widget.c:
8904         * glyphs-widget.c (check_valid_instantiator):
8905         * glyphs-widget.c (check_valid_orientation):
8906         * glyphs-widget.c (check_valid_tab_orientation):
8907         * glyphs-widget.c (check_valid_justification):
8908         * glyphs-widget.c (check_valid_border):
8909         * glyphs-widget.c (check_valid_callback):
8910         * glyphs-widget.c (check_valid_int_or_function):
8911         * glyphs-widget.c (check_valid_string_or_vector):
8912         * glyphs-widget.c (check_valid_item_list_1):
8913         * glyphs-widget.c (widget_validate):
8914         * glyphs-widget.c (combo_box_validate):
8915         * glyphs-widget.c (widget_instantiate):
8916         * glyphs-widget.c (syms_of_glyphs_widget):
8917         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
8918         * glyphs-widget.c (image_instantiator_combo_box):
8919         * glyphs-widget.c (image_instantiator_scrollbar):
8920         * glyphs-widget.c (image_instantiator_tab_control):
8921         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
8922         (2).
8923         support (unimplemented) keyword initial-focus.
8924         reindent long macros.
8925
8926         * glyphs-x.c (x_redisplay_widget):
8927         * glyphs-x.c (x_button_instantiate):
8928         * glyphs-x.c (x_button_redisplay):
8929         * glyphs-x.c (x_progress_gauge_instantiate):
8930         * glyphs-x.c (x_edit_field_instantiate):
8931         * glyphs-x.c (x_combo_box_instantiate):
8932         * glyphs-x.c (x_tab_control_instantiate):
8933         * glyphs-x.c (x_label_instantiate):
8934         * gui-x.c:
8935         * gui-x.c (button_item_to_widget_value):
8936         * gui-x.c (gui_items_to_widget_values_1):
8937         * gui-x.c (gui_item_children_to_widget_values):
8938         * gui-x.c (gui_items_to_widget_values):
8939         * gui-x.h:
8940         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8941         add new flag to gui-parsing routines to indicate whether
8942         accelerator specs should be supported.
8943
8944         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
8945
8946         * glyphs.h (struct Lisp_Image_Instance):
8947         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
8948         add initial-focus flag.
8949
8950         * gui.c:
8951         * gui.c (syms_of_gui):
8952         * gui.c (vars_of_gui):
8953         clean up menu-no-selection-hook.
8954
8955         * gui.h:
8956         support delete-dialog-box-hook.
8957
8958         * lread.c (Fload_internal):
8959         * lread.c (locate_file_in_directory_mapper):
8960         (1).
8961
8962         * lrecord.h:
8963         * lrecord.h (struct toolbar_button):
8964         * lrecord.h (syms_of_toolbar):
8965         document how to create a new object.
8966
8967         * menubar-msw.c (mswindows_char_is_accelerator):
8968         may be called on frames w/o menus.
8969
8970         * menubar.c (vars_of_menubar):
8971         clean up :filter docs.
8972
8973         * nt.c (readdir):
8974         * ntproc.c:
8975         (1).
8976
8977         * process-nt.c:
8978         * process-nt.c (validate_signal_number):
8979         * process-nt.c (signal_cannot_launch):
8980         * process-nt.c (nt_create_process):
8981         * process-nt.c (nt_send_process):
8982         * process-nt.c (nt_kill_child_process):
8983         * process-nt.c (nt_open_network_stream):
8984         * process-nt.c (syms_of_process_nt):
8985         (2).
8986         delete quote-handling.  call new lisp code that does it better.
8987
8988         * process-unix.c (connect_to_file_descriptor):
8989         * process-unix.c (allocate_pty):
8990         * process-unix.c (unix_send_process):
8991         * process-unix.c (unix_kill_child_process):
8992         * process-unix.c (unix_open_network_stream):
8993         * process-unix.c (unix_open_multicast_group):
8994         (1). (2).
8995
8996         * process.c:
8997         * process.c (Fstart_process_internal):
8998         (2).  need to canonicalize process path even if absolute.
8999
9000         * select-msw.c (symbol_to_ms_cf):
9001         * select-msw.c (ms_cf_to_symbol):
9002         * select-msw.c (cf_is_autofreed):
9003         * select-msw.c (mswindows_destroy_selection):
9004         * select.c:
9005         * select.c (syms_of_select):
9006         * select.h:
9007         support dibv5, fix bugs. (from Mike Alexander)
9008
9009         * select.c (Fget_selection_internal):
9010         * select.c (select_convert_out):
9011
9012         * sysdep.c:
9013         * sysdep.c (xemacs_stat):
9014         renamed.
9015
9016         * sysdep.c (mkdir):
9017         * sysdep.c (rmdir):
9018         but keep original stat() here because we provide encapsulation
9019         around these funs.
9020
9021         * sysfile.h:
9022         * sysfile.h (fstat):
9023         remove stat garbage.
9024
9025         * syswindows.h:
9026         fix X/MSW conflict.
9027         don't include tchar.h.  it's inappropriate because it makes
9028         compile-time distinctions when we want runtime distinctions.
9029         (we provide our own tchar replacements)
9030
9031         * toolbar.c:
9032         use default object printer for toolbar-button.
9033
9034         * unexcw.c:
9035         make sure we don't encapsulate.
9036
9037         * window.c (vars_of_window):
9038         emphasize that temp-buffer-show-hook is obsolete.
9039
9040 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9041
9042         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9043         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9044
9045         * events.c (Fevent_timestamp_lessp):
9046         Not 64-bit clean.  Use EMACS_INT, not int.
9047
9048 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9049
9050         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9051         unsigned int and changed the last enum to
9052         lrecord_type_last_built_in_type.
9053         (lrecord_implementations_table): changed prototype to know how
9054         long the array is supposed to be.
9055         (lrecord_type_count): new unsigned int to keep track of the
9056         current number of lisp lrecord types.
9057         (DEFINE_EXTERNAL_LRECORD):
9058         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9059         dynamic-modules to declare new lisp types. They are the same
9060         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9061         int for each new type, and increment lrecord_type_count by 1.
9062
9063         * alloc.c (lrecord_implementations_table): Changed to reference
9064         lrecord_type_last_built_in_type for the size of the array.
9065         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9066
9067 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9068
9069         * glyphs.h (check_valid_item_list): Renamed from
9070         check_valid_item_list_1.
9071
9072 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9073
9074         * select.c (Qselect_coerce): New.
9075         * select.c (Vselection_coercion_alist): New.
9076         * select.c (syms_of_select): Declare.
9077         * select.c (get-selection-internal): Use it.
9078         Use the new select-coerce functionality.
9079
9080         * select.c (select_coerce): New.
9081         * select.h (select_coerce): Declare.
9082         New function to coerce one type of data into another.
9083
9084 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9085
9086         * callproc.c (Fcall_process_internal):
9087         (Fcall_process_internal):
9088         * process-unix.c (unix_create_process):
9089         Save and restore the value of errno, so that error messages are accurate.
9090
9091 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9092
9093         * elhash.c (print_hash_table):
9094         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9095         Prettify docstrings and indentation.
9096
9097 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9098
9099         * window.c (Fwindow_pixel_edges): Subtract frame border and
9100         gutter size.
9101
9102 2000-07-31  Andy Piper  <andy@xemacs.org>
9103
9104         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9105         will acknowledge the change.
9106
9107         * glyphs.h: declare tab_control_order_only_changed.
9108
9109         * glyphs-x.c (x_tab_control_redisplay): use
9110         tab_control_order_only_changed.
9111
9112         * glyphs-widget.c (tab_control_order_only_changed): new function.
9113
9114         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9115         tab_control_order_only_changed.
9116
9117         * gui.c (gui_item_equal_sans_selected): new function.
9118         (gui_item_equal): use it.
9119
9120         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9121         :properties in favor of :items..
9122
9123         * glyphs-widget.c (check_valid_item_list): rename from
9124         check_valid_item_list_1.
9125         (check_valid_item_list_1): renamed.
9126         (combo_box_validate): deprecate :properties in favor of :items.
9127         (widget_instantiate): ditto.
9128         (tab_control_update): ditto.
9129         (image_instantiator_combo_box): ditto.
9130         (image_instantiator_tree_view): ditto.
9131         (image_instantiator_tab_control): ditto.
9132         (layout_post_instantiate): remove dead code.
9133
9134         * print.c (debug_print_no_newline): only write to debugger if in
9135         WIN32_NATIVE.
9136
9137         * elhash.c (Fmake_hash_table): update doc string.
9138
9139         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9140         messages whilst in GC. This at least stops XEmacs crashing but has
9141         the potential for wierd behaviour.
9142
9143 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9144
9145         * config.h.in:
9146         Make existence of s&m files optional.
9147
9148         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9149         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9150         * s/gnu.h: Remove HAVE_GETLOADAVG.
9151         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9152         * s/sol2.h: Remove HAVE_GETLOADAVG.
9153         * lisp.h: Remove getloadavg() declaration.
9154         * fns.c:
9155         Include <sys/loadavg.h> if available.
9156         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9157         * config.h.in:  Group together getloadavg()-related macros.
9158         Use only configure-time tests to detect getloadavg().
9159
9160 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9161
9162         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9163
9164 2000-07-25  Andy Piper  <andy@xemacs.org>
9165
9166         * syswindows.h: add tchar.h for native builds.
9167
9168         * frame.c (syms_of_frame): remove set-glyph-image.
9169
9170         * general-slots.h: add Qset_glyph_image.
9171
9172         * glyphs-widget.c (layout_update): add domain arg to
9173         set-glyph-image.
9174         (syms_of_glyphs_widget): remove set-glyph-image.
9175
9176 2000-07-23  Ben Wing  <ben@xemacs.org>
9177
9178         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9179         Vpopup_frame_list.
9180
9181 2000-07-22  Andy Piper  <andy@xemacs.org>
9182
9183         * symsinit.h: add syms_of_win32().
9184
9185         * gui-msw.c (syms_of_gui_mswindows): remove
9186         Fmswindows_shell_execute.
9187         (Fmswindows_shell_execute): moved to win32.c.
9188
9189         * emacs.c (main_1): add syms_of_win32 ().
9190
9191         * win32.c (init_potentially_nonexistent_functions): rewrite in
9192         compiler-friendly terms.
9193         (Fmswindows_shell_execute): move here from gui-msw.c.
9194         (syms_of_win32): new.
9195
9196         * device-msw.c (Fmswindows_printer_list): clean up args to
9197         EnumPrinters.
9198         Don't include tchar under cygwin or mingw.
9199         (msprinter_default_printer): make cygwin-friendly.
9200
9201 2000-07-21  Andy Piper  <andy@xemacs.org>
9202
9203         * glyphs-widget.c (image_instantiator_tree_view): use tab
9204         control's update function.
9205         (layout_property): new function. Retrieve items.
9206
9207         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9208         function. Re-populate the tree view from the pending items.
9209
9210         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9211         is designated the parent if the domain is an image instance. This
9212         is needed so that dirtiness can be cascade up the hierarchy and
9213         thus for layout children to be redisplayed correctly.
9214         (allocate_image_instance): rename glyph -> parent.
9215
9216         * redisplay.h: change redisplay_output_layout signature.
9217
9218         * redisplay-msw.c (mswindows_output_display_block): use domain
9219         arg.
9220
9221         * redisplay-x.c (x_output_display_block): use domain arg.
9222
9223 2000-07-10  Andy Piper  <andy@xemacs.org>
9224
9225         * window.c (Fset_window_configuration): add comment.
9226
9227         * redisplay-output.c (compare_runes):
9228         (redisplay_output_subwindow): redisplay rather than update subwindow.
9229         (redisplay_output_layout): ditto.
9230
9231         * redisplay-msw.c (mswindows_frame_output_end):
9232         (mswindows_frame_output_end): make defer window pos optional.
9233
9234         * lisp.h: add Flast.
9235
9236         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9237         normalize method. Change update method to be for changed
9238         instantiators. Add redisplay method. Change signature of layout
9239         method.
9240         (struct Lisp_Image_Instance): add instantiator.
9241         (IMAGE_INSTANCE_INSTANTIATOR): new.
9242         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9243         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9244         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9245
9246         * glyphs.c:
9247         (find_instantiator_differences): new function.
9248         (Fset_instantiator_property): new convenience function.
9249         (check_image_instance_structure): strictly check for vector
9250         instantiators.
9251         (normalize_image_instantiator): make non-static.
9252         (instantiate_image_instantiator): pass on dest_mask and use new
9253         signatures for image_instance_layout and friends.
9254         (mark_image_instance): mark the instantiator. Mark the subwindow
9255         face not the widget face.
9256         (image_instance_equal): add instantiator.
9257         (image_instance_hash): ditto.
9258         (allocate_image_instance): ditto.
9259         (Fset_image_instance_property): removed.
9260         (Fimage_instance_file_name): ditto.
9261         (Fcolorize_image_instance): ditto.
9262         (image_instance_layout): add offsets to be set.
9263         (update_image_instance): new function. update an image instance
9264         from its changed instantiator.
9265         (inherit_normalize): add dest_mask.
9266         (xbm_normalize): ditto.
9267         (xface_normalize): ditto.
9268         (xpm_normalize): ditto.
9269         (text_update): set_property -> update.
9270         (image_instantiate): use the glyph identity as a hash key, not the
9271         instantiator.
9272         (glyph_width): use new image_instance_layout signature.
9273         (glyph_ascent): ditto.
9274         (glyph_descent): ditto.
9275         (glyph_height): ditto.
9276         (glyph_query_geometry): ressurrect.
9277         (glyph_layout): ditto.
9278         (redisplay_subwindow): update -> redisplay.
9279         (syms_of_glyphs): add Fset_instantiator_property.
9280         (image_instantiator_format_create): set_property -> update.
9281
9282         * glyphs-x.c:
9283         (autodetect_normalize): add dest_maks to signature.
9284         (x_redisplay_subwindow): update -> redisplay.
9285         (x_redisplay_widget): ditto.
9286         (x_button_redisplay): ditto.
9287         (x_progress_gauge_redisplay): ditto.
9288         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9289         stacking order.
9290         (console_type_create_glyphs_x): update -> redisplay.
9291         (image_instantiator_format_create_glyphs_x): ditto.
9292
9293         * glyphs-widget.c:
9294         (check_valid_instantiator): disallow glyphs in the instantiator,
9295         they must now be vectors.
9296         (check_valid_instantiator_list): ditto.
9297         (glyph_instantiator_to_glyph): use internal symbol rather than
9298         intern.
9299         (widget_update): renamed from widget_set_property. Call cascaded
9300         update methods.
9301         (redisplay_widget): renamed from update_widget.
9302         (widget_layout): image_instance_layout now takes position as well
9303         as size.
9304         (widget_normalize): ditto.
9305         (widget_instantiate): ditto.
9306         (tab_control_query_geometry) ditto.:
9307         (tab_control_update): renamed from tab_control_set_property.
9308         (progress_gauge_update): set_property -> update.
9309         (layout_normalize): rewrite so that child instantiators are
9310         normalized also.
9311         (layout_update): new function. Create glyphs from the normalized
9312         children and cope with any other layout keywords. We do not
9313         instantiate children here that will be take care of by
9314         redisplay_output_layout.
9315         (layout_instantiate): call layout_update and not much else.
9316         (layout_post_instantiate): not sure whether this is needed
9317         anymore.
9318         (layout_query_geometry): query glyph geometry rather than
9319         image_instance geometry.
9320         (layout_layout): set offsets from pass in parameters. Use glyph
9321         geometry and layout functions rather than image instance ones.
9322         (native_layout_layout): ditto.
9323         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9324         (image_instantiator_widget): set_property -> update.
9325         (image_instantiator_buttons): ditto.
9326         (image_instantiator_progress_guage): ditto.
9327         (image_instantiator_tab_control): ditto.
9328         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9329         (image_instantiator_layout): add update method.
9330
9331         * glyphs-msw.c (bmp_normalize):
9332         (mswindows_resource_normalize): add dest_mask so that it can be
9333         proprogated by layout_normalize.
9334         (begin_defer_window_pos): make optional because it may not be the
9335         right thing to do and it introduces differences with X.
9336         (mswindows_unmap_subwindow): ditto.
9337         (mswindows_map_subwindow): ditto.
9338         (mswindows_redisplay_subwindow): renamed from
9339         mswindows_update_subwindow.
9340         (mswindows_redisplay_widget): ditto.
9341         (mswindows_button_redisplay): renamed from
9342         mswindows_button_update. Update is now what the instantiation
9343         function does for a changed instantiator.
9344         (mswindows_progress_gauge_instantiate): set the progress value
9345         here if appropriate.
9346         (mswindows_tab_control_redisplay): cope with re-ordering of the
9347         members of the tab widget by simply selecting the new top
9348         widget. This makes things appear ok if you click on a tab.
9349         (mswindows_combo_box_instantiate): image_instance_layout now takes
9350         position as well as size.
9351         (mswindows_progress_gauge_redisplay): renamed from
9352         mswindows_progress_gauge_update.
9353         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9354         (image_instantiator_format_create_glyphs_mswindows): ditto.
9355
9356         * glyphs-eimage.c (jpeg_normalize):
9357         (gif_normalize):
9358         (png_normalize):
9359         (tiff_normalize): add dest_mask so that it can be proprogated by
9360         layout_normalize.
9361
9362         * elhash.c:
9363         (print_hash_table):
9364         (hash_table_weakness_validate):
9365         (decode_hash_table_weakness):
9366         (Fhash_table_weakness):
9367         (Fhash_table_type):
9368         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9369
9370         * console.h (struct console_methods): move update_* to
9371         redisplay_*.
9372
9373 2000-07-20  Ben Wing  <ben@xemacs.org>
9374
9375         * *.[ch] (XSETOBJ): remove unused middle argument.
9376         lisp-disunion.h: correct wrap_object() to one argument.
9377
9378 2000-07-15  Ben Wing  <ben@xemacs.org>
9379
9380         * s/cygwin32.h:
9381         * s/cygwin32.h (CYGWIN_CONV_PATH):
9382         Add missing logb prototype for v1.1.
9383         Use post-b20 names and alias to pre-b20 names when pre-b20.
9384
9385         * s/windowsnt.h: [5].
9386
9387 2000-07-15  Ben Wing  <ben@xemacs.org>
9388
9389         * Makefile.in.in (x_objs):
9390         * Makefile.in.in (sheap_objs):
9391         * Makefile.in.in (objs):
9392         added win32.o, cosmetic cleanups.
9393
9394         * alloc.c (Fmake_byte_code):
9395         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9396         etc. macros which declare their own args now.
9397
9398         * alloc.c (syms_of_alloc):
9399         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9400
9401         * buffer.c:
9402         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9403
9404         * buffer.c (Fget_file_buffer):
9405         Fixed GCPRO problem.
9406
9407         * buffer.c (get_truename_buffer):
9408         Fixed comment about GC checking.
9409
9410         * buffer.c (syms_of_buffer):
9411         Undeclared those dedicated frame funs.
9412         [2].
9413
9414         * buffer.h:
9415         Define convenience macros for internal/external conversions.
9416         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9417         and Qenvironment_variable_encoding for cleaner code.
9418
9419         * bufslots.h:
9420         Remove dedicated-frame; in lisp.
9421
9422         * bytecode.c (funcall_compiled_function):
9423         [1].
9424
9425         * bytecode.c (syms_of_bytecode):
9426         [2].
9427
9428         * console-msw.c:
9429         * console-msw.c (mswindows_show_console): Rewrote.
9430
9431         * console-msw.c (Fmswindows_debugging_output): New.
9432         Sends to OutputDebugString (special MSWin debugger interface).
9433
9434         * console-msw.c (Fmswindows_message_box):
9435         Fixed stupid bugs so it works when called from kill-emacs.
9436
9437         * console-msw.c (syms_of_console_mswindows):
9438         Declare Fmswindows_debugging_output.
9439
9440         * console-msw.h:
9441         New MSWin prototypes.
9442
9443         * console-msw.h (struct mswindows_frame):
9444         New entry last-click-mods for improved button-modifier support.
9445
9446         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9447         New struct entry `popup' with corresponding accessor.
9448
9449         * console-x.c:
9450         * console-x.c (split_up_display_spec):
9451         * console-x.c (get_display_arg_connection):
9452         * console-x.c (x_semi_canonicalize_console_connection):
9453         * console-x.c (x_canonicalize_device_connection):
9454         [[[6]]]: Change char to more specific type.
9455         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9456
9457         * console-x.c (x_semi_canonicalize_console_connection):
9458         * console-x.c (x_canonicalize_device_connection):
9459         [[[9]]]: Fix up error signalling to use new structured error system.
9460
9461         * console-x.h:
9462         [[[4]]]: Define codesys aliases:
9463         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9464         Qx_color_name_encoding, Qx_display_name_encoding.
9465
9466         * console.h (struct console_methods):
9467         New method make_dialog_box_internal supersedes older
9468         popup_dialog_box method.
9469
9470         * data.c:
9471         Define many new errors, part of new structured errors.
9472
9473         * data.c (init_errors_once_early):
9474         * data.c (syms_of_data):
9475         [2].
9476
9477         * device-msw.c (mswindows_init_device):
9478         [[[5]]]: Cleanup to support NT 3.51.
9479
9480         * device-msw.c (decode_devmode): Cleanup.
9481
9482         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9483         * device-msw.c (mswindows_handle_print_dialog_box):
9484         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9485         * device-msw.c (syms_of_device_mswindows):
9486         Delete the dialog box primitives recently introduced by Kirill and
9487         instead interface to general dialog box interface.
9488
9489         * device-x.c:
9490         * device-x.c (compute_x_app_name):
9491         * device-x.c (x_init_device):
9492         * device-x.c (Fx_valid_keysym_name_p):
9493         * device-x.c (Fx_set_font_path):
9494         [6].
9495         [7].
9496
9497         * device.h (wrap_device): New.
9498         First of its kind; meant to replace XSETDEVICE.
9499
9500         * dialog-msw.c: Many file-dialog symbols.
9501
9502         * dialog-msw.c (mswindows_register_popup_frame): New.
9503         * dialog-msw.c (mswindows_is_dialog_msg): New.
9504         For supporting kbd traversal in dialog boxes.
9505
9506         * dialog-msw.c (dialog_proc):
9507         Support hitting ESC in dialogs.
9508
9509         * dialog-msw.c (struct):
9510         Common dialog box errors.
9511
9512         * dialog-msw.c (handle_file_dialog_box): New.
9513         Add file dialog code.
9514
9515         * dialog-msw.c (handle_question_dialog_box):
9516         Redo existing code to support new question dialog syntax.
9517
9518         * dialog-msw.c (console_type_create_dialog_mswindows):
9519         We support new dialog console method.
9520
9521         * dialog-msw.c (syms_of_dialog_mswindows):
9522         * dialog-msw.c (vars_of_dialog_mswindows):
9523         New file dialog symbols, vars.
9524
9525         * dialog-x.c:
9526         * dialog-x.c (maybe_run_dbox_text_callback):
9527         * dialog-x.c (dbox_descriptor_to_widget_value):
9528         * dialog-x.c (x_make_dialog_box_internal):
9529         * dialog-x.c (console_type_create_dialog_x):
9530         Mule-ize entire file.
9531         Redo to support question dialog syntax.
9532         [6].
9533
9534         * dialog.c:
9535         * dialog.c (Fmake_dialog_box_internal):
9536         * dialog.c (syms_of_dialog):
9537         Kill old popup-dialog-box, replace with new primitive.
9538         Just call device method or signal error.
9539
9540         * eldap.c (Fldap_open):
9541         * eldap.c (Fldap_search_basic):
9542         * eldap.c (Fldap_add):
9543         * eldap.c (Fldap_modify):
9544         [1].
9545         [7].
9546
9547         * emacs.c:
9548         * emacs.c (make_arg_list_1):
9549         * emacs.c (make_arg_list):
9550         Mule-ize call to dll_init().
9551         [6].
9552         [8].
9553
9554         * emacs.c (make_argc_argv):
9555         * emacs.c (free_argc_argv):
9556         * emacs.c (init_cmdargs):
9557         * emacs.c (main_1):
9558         * emacs.c (Fkill_emacs):
9559         * emacs.c (Fdump_emacs):
9560         Update comments about what can be used in syms_* etc.
9561         Call init_win32() when necessary.
9562         Fix up MS Win dialog box in kill-buffer to actually work right.
9563         [7].
9564
9565         * eval.c:
9566         * eval.c (For):
9567         * eval.c (Fand):
9568         * eval.c (Fprogn):
9569         * eval.c (Fprog1):
9570         * eval.c (Fprog2):
9571         * eval.c (FletX):
9572         * eval.c (Flet):
9573         * eval.c (condition_case_3):
9574         * eval.c (Feval):
9575         * eval.c (function_argcount):
9576         * eval.c (funcall_lambda):
9577         [1].
9578
9579         * eval.c (type_error): New.
9580         * eval.c (maybe_type_error): New.
9581         * eval.c (continuable_type_error): New.
9582         * eval.c (maybe_continuable_type_error): New.
9583         * eval.c (type_error_with_frob): New.
9584         * eval.c (maybe_type_error_with_frob): New.
9585         * eval.c (continuable_type_error_with_frob): New.
9586         * eval.c (maybe_continuable_type_error_with_frob): New.
9587         New functions for use with structured errors.
9588
9589         * event-Xt.c:
9590         * event-Xt.c (x_event_to_emacs_event):
9591         Buttons are now modifiers too.
9592
9593         * event-Xt.c (emacs_Xt_current_event_timestamp):
9594         Implement new event method.
9595         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9596
9597         * event-msw.c:
9598         * event-msw.c (ntpipe_shove_writer): [5].
9599         * event-msw.c (mswindows_enqueue_mouse_button_event):
9600         * event-msw.c (mswindows_drain_windows_queue):
9601         * event-msw.c (mswindows_wnd_proc): [7].
9602         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9603         * event-msw.c (mswindows_modifier_state):
9604         Throughout: support new button modifiers.
9605
9606         * event-msw.c (emacs_mswindows_current_event_timestamp):
9607         Implement new event method.
9608         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9609
9610         * event-stream.c:
9611         * event-stream.c (event_stream_current_event_timestamp): New.
9612         * event-stream.c (maybe_kbd_translate): New functionality.
9613         * event-stream.c (vars_of_event_stream):
9614         Document new kbd-translate-table functionality.
9615
9616         * event-stream.c (Fcurrent_event_timestamp): New.
9617         New primitive for use in fabricated events.
9618         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9619
9620         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9621
9622         * events.c:
9623         * events.c (Fmake_event):
9624         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9625         [1].
9626         [9].
9627
9628         * events.c (format_event_object): fix gcc warnings.
9629
9630         * events.c (Fevent_timestamp): Document new primitives.
9631
9632         * events.c (TIMESTAMP_HALFSPACE): New.
9633
9634         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9635         comparing timestamps correctly (half-space algorithm).
9636
9637         * events.c (Fevent_modifier_bits): Doc fix.
9638
9639         * events.c (Fevent_modifiers): Major doc addition.
9640         * events.c (event_x_y_pixel_internal): Typo fix.
9641         * events.c (syms_of_events): Declare new primitives.
9642
9643         * events.h:
9644         Update long comment for button modifiers, timestamps.
9645
9646         * events.h (struct event_stream):
9647         New current_event_timestamp method.
9648
9649         * extents.c:
9650         * extents.c (extent_in_region_p):
9651         * extents.c (decode_extent):
9652         * extents.c (Fset_extent_parent):
9653         * extents.c (decode_map_extents_flags):
9654         Fix gcc warnings.
9655         [9].
9656
9657         * extents.c (struct extent_at_arg):
9658         * extents.c (decode_extent_at_flag):
9659         * extents.c (extent_at_mapper):
9660         * extents.c (extent_at_bytind):
9661         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9662         * extents.c (Fextents_at): New primitive. [9].
9663         * extents.c (symbol_to_glyph_layout): [9].
9664         Support new primitive `extents-at'.
9665
9666
9667         * extents.c (get_text_property_bytind):
9668         extent_at_bytind has another arg.
9669         [9].
9670
9671         * extents.c (syms_of_extents): New primitive.
9672
9673         * file-coding.c (Fmake_coding_system): [1].
9674         * file-coding.c (subsidiary_coding_system): fix gcc warning
9675         * file-coding.c (syms_of_file_coding): [2].
9676
9677         * fileio.c (Fexpand_file_name):
9678         * fileio.c (Fsysnetunam):
9679         * fileio.c (Ffile_exists_p):
9680         * fileio.c (Ffile_executable_p):
9681         * fileio.c (Fverify_visited_file_modtime):
9682         Clean up GCPROing.
9683
9684         * fileio.c (syms_of_fileio): [2].
9685
9686         * filelock.c (lock_file_1):
9687         * filelock.c (current_lock_owner):
9688         * filelock.c (lock_if_free):
9689         * filelock.c (lock_file):
9690         * filelock.c (unlock_file):
9691         Clean up GCPROing.
9692
9693         * fns.c (concat): Fix gcc warning.
9694
9695         * fns.c (Fmember):
9696         * fns.c (Fold_member):
9697         * fns.c (Fmemq):
9698         * fns.c (Fold_memq):
9699         * fns.c (memq_no_quit):
9700         * fns.c (Fassoc):
9701         * fns.c (Fold_assoc):
9702         * fns.c (Fassq):
9703         * fns.c (Fold_assq):
9704         * fns.c (assq_no_quit):
9705         * fns.c (Frassoc):
9706         * fns.c (Fold_rassoc):
9707         * fns.c (Frassq):
9708         * fns.c (Fold_rassq):
9709         * fns.c (rassq_no_quit):
9710         * fns.c (Fdelete):
9711         * fns.c (Fold_delete):
9712         * fns.c (Fdelq):
9713         * fns.c (Fold_delq):
9714         * fns.c (delq_no_quit):
9715         * fns.c (Fremassoc):
9716         * fns.c (Fremassq):
9717         * fns.c (remassq_no_quit):
9718         * fns.c (Fremrassoc):
9719         * fns.c (Fremrassq):
9720         * fns.c (remrassq_no_quit):
9721         * fns.c (Freverse):
9722         * fns.c (mapcar1):
9723         [1].
9724
9725         * frame-msw.c (mswindows_init_frame_1):
9726         * frame-msw.c (mswindows_delete_frame):
9727         Register popups with dialog code so keyboard traversing works.
9728
9729         * frame-tty.c (tty_raise_frame_no_select): [1].
9730
9731         * frame-x.c:
9732         * frame-x.c (x_set_frame_text_value):
9733         * frame-x.c (x_set_frame_properties):
9734         * frame-x.c (x_create_widgets):
9735         [7].
9736
9737         * frame.c:
9738         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9739
9740         * frame.h (wrap_frame): New.
9741         Macro like wrap_device.
9742
9743         * general.c:
9744         * general.c (SYMBOL):
9745         * general.c (syms_of_general):
9746         Major reorg.  This is now just a wrapper and symbols themselves
9747         are listed in general-slots.h.
9748
9749         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9750         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9751
9752         * glyphs-msw.c (mswindows_native_layout_instantiate):
9753         Add DS_CONTROL so keyboard traversal will work.
9754
9755         * glyphs-widget.c:
9756         * glyphs-widget.c (syms_of_glyphs_widget):
9757         Move some symbols to general-slots.h.
9758
9759         * glyphs-x.c:
9760         * glyphs-x.c (xbm_instantiate_1):
9761         * glyphs-x.c (x_xbm_instantiate):
9762         * glyphs-x.c (x_xface_instantiate):
9763         * glyphs-x.c (autodetect_instantiate):
9764         * glyphs-x.c (cursor_font_instantiate):
9765         * glyphs-x.c (x_update_widget):
9766         * glyphs-x.c (x_widget_instantiate):
9767         * glyphs.c (bitmap_to_lisp_data):
9768         * glyphs.c (pixmap_to_lisp_data):
9769         [7].
9770
9771         * glyphs.c (syms_of_glyphs):
9772         [2].
9773
9774         * gui-x.c:
9775         * gui-x.c (print_widget_value):
9776         * gui-x.c (menu_separator_style_and_to_external):
9777         * gui-x.c (add_accel_and_to_external):
9778         * gui-x.c (button_item_to_widget_value):
9779         * gui-x.c (gui_items_to_widget_values_1):
9780         * gui-x.c (gui_items_to_widget_values):
9781         * gui-x.c (syms_of_gui_x):
9782         * gui-x.c (vars_of_gui_x):
9783         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9784         [9].
9785
9786         * gui-x.h:
9787         Muleize, prototype changes matching gui-x.c.
9788
9789         * gui.c:
9790         * gui.c (separator_string_p):
9791         * gui.c (gui_item_add_keyval_pair):
9792         * gui.c (make_gui_item_from_keywords_internal):
9793         * gui.c (signal_too_long_error):
9794         * gui.c (parse_gui_item_tree_item):
9795         * gui.c (syms_of_gui):
9796         * gui.c (vars_of_gui):
9797         * gui.h:
9798         menu-no-selection-hook moved here (used by MSWin).
9799         Move some symbols to general-slots.h.
9800         [6].
9801         [9].
9802
9803         * insdel.c (get_buffer_pos_char):
9804         * insdel.c (get_buffer_range_char):
9805         Add GC comments.
9806
9807         * keymap.c (keymap_lookup_directly):
9808         * keymap.c (keymap_store):
9809         * keymap.c (ensure_meta_prefix_char_keymapp):
9810         * keymap.c (describe_map):
9811         * keymap.h:
9812         Support new button modifiers.
9813
9814         * lisp-disunion.h (wrap_object):
9815         * lisp-disunion.h (XSETOBJ):
9816         Rename make_obj to wrap_object.
9817
9818         * lisp-union.h:
9819         * lisp-union.h (make_int):
9820         * lisp-union.h (make_char):
9821         Support wrap_object.
9822
9823         * lisp.h:
9824         * lisp.h (LIST_LOOP):
9825         * lisp.h (EXTERNAL_LIST_LOOP):
9826         * lisp.h (LIST_LOOP_2):
9827         * lisp.h (EXTERNAL_LIST_LOOP_1):
9828         * lisp.h (EXTERNAL_LIST_LOOP_2):
9829         * lisp.h (EXTERNAL_LIST_LOOP_3):
9830         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
9831         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9832         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
9833         * lisp.h (EXTERNAL_ALIST_LOOP_5):
9834         * lisp.h (EXTERNAL_ALIST_LOOP_6):
9835         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
9836         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
9837         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
9838         * lisp.h (struct Lisp_Symbol):
9839         * lisp.h (maybe_continuable_error_with_frob):
9840         Fix up section comments.
9841         Add new types for char to indicate usage.
9842         Delete symbols auto-generated from general-slots.h.
9843         Add prototypes for structured error functions.
9844         Add long comments describing looping macros and change interface
9845         so that lvalues are automatically declared.
9846         Add NO_DECLARE macro in case callers want to declare lvalues
9847         themselves.
9848
9849         * lread.c (read_syntax_error):
9850         * lread.c (continuable_read_syntax_error):
9851         * lread.c (read_structure):
9852         * lread.c (sequence_reader):
9853         * lread.c (read_list_conser):
9854         * lread.c (read_compiled_function):
9855         Rename syntax_error and continuable_syntax_error to avoid clash
9856         with same-named structured error functions.
9857
9858         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9859         * menubar-msw.c (populate_menu_add_item):
9860         * menubar-msw.c (populate_or_checksum_helper):
9861         [5].
9862         [9].
9863
9864         * menubar-x.c:
9865         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9866         Mule-ize whole file.
9867
9868         * menubar.c (Fnormalize_menu_item_name): Add optimization.
9869
9870         * mule-charset.c (Fmake_charset):
9871         * mule-wnnfns.c (Fwnn_set_param):
9872         [1].
9873
9874         * ntproc.c (create_child):
9875         * ntproc.c (Fwin32_set_current_locale):
9876         Add comments portending doom.
9877
9878         * objects-msw.c:
9879         * objects-msw.c (old_font_enum_callback_2):
9880         * objects-msw.c (font_enum_callback_1):
9881         * objects-msw.c (mswindows_enumerate_fonts):
9882         [5].
9883
9884         * objects-x.c:
9885         * objects-x.c (allocate_nearest_color):
9886         * objects-x.c (x_parse_nearest_color):
9887         * objects-x.c (x_initialize_color_instance):
9888         * objects-x.c (x_print_color_instance):
9889         * objects-x.c (x_finalize_color_instance):
9890         * objects-x.c (x_valid_color_name_p):
9891         * objects-x.c (x_initialize_font_instance):
9892         * objects-x.c (x_print_font_instance):
9893         * objects-x.c (valid_x_font_name_p):
9894         * objects-x.c (truename_via_FONT_prop):
9895         * objects-x.c (truename_via_random_props):
9896         * objects-x.c (truename_via_XListFonts):
9897         * objects-x.c (x_font_truename):
9898         * objects-x.c (x_font_instance_truename):
9899         * objects-x.c (x_font_instance_properties):
9900         * objects-x.c (x_list_fonts):
9901         * objects-x.c (x_find_charset_font):
9902         Mule-ize entire file.
9903         [7].
9904
9905         * objects-x.h:
9906         Mule-verify.
9907
9908         * print.c:
9909         * print.c (std_handle_out_external):
9910         * print.c (debug_print_no_newline):
9911         * print.c (syms_of_print):
9912         Output to all debugger kinds in debug-print.
9913         Fix console-output code under MSWin to actually work.
9914
9915         * process-nt.c (send_signal):
9916         * process-nt.c (nt_create_process):
9917         Use newer Unicode macros.
9918
9919         * process-unix.c (unix_create_process):
9920         * process-unix.c (unix_canonicalize_host_name):
9921         * process-unix.c (unix_open_network_stream):
9922         [7].
9923
9924         * scrollbar-x.c:
9925         Mule-verify.
9926
9927         * search.c (syms_of_search):
9928         [2].
9929
9930         * select-msw.c (mswindows_destroy_selection):
9931         Use LIST_LOOP_2.
9932
9933         * select-x.c (symbol_to_x_atom):
9934         [7].
9935
9936         * select.c (syms_of_select):
9937         [2].
9938
9939         * sound.c (Fplay_sound_file):
9940         [7].
9941
9942         * specifier.c:
9943         * specifier.c (decode_specifier_type):
9944         * specifier.c (Fvalid_specifier_locale_type_p):
9945         * specifier.c (check_valid_locale_or_locale_type):
9946         * specifier.c (decode_locale):
9947         * specifier.c (decode_locale_type):
9948         * specifier.c (decode_locale_list):
9949         * specifier.c (check_valid_domain):
9950         * specifier.c (decode_specifier_tag_set):
9951         * specifier.c (Fcanonicalize_tag_set):
9952         * specifier.c (Fdefine_specifier_tag):
9953         * specifier.c (Fspecifier_tag_predicate):
9954         * specifier.c (check_valid_inst_list):
9955         * specifier.c (check_valid_spec_list):
9956         * specifier.c (decode_how_to_add_specification):
9957         * specifier.c (check_modifiable_specifier):
9958         * specifier.c (specifier_add_spec):
9959         * specifier.c (boolean_validate):
9960         * specifier.c (display_table_validate):
9961         [9].
9962
9963         * specifier.c (syms_of_specifier):
9964         Move some symbols to general-slots.h.
9965         [2].
9966
9967         * symbols.c:
9968         * symbols.c (Fmapatoms):
9969         * symbols.c (Fapropos_internal):
9970         Add GCPROs.
9971
9972         * symbols.c (set_default_buffer_slot_variable):
9973         * symbols.c (set_default_console_slot_variable):
9974         [1].
9975
9976         * symbols.c (defsymbol_massage_name_1):
9977         * symbols.c (defkeyword_massage_name):
9978         * symbols.c (deferror_1):
9979         * symbols.c (deferror):
9980         * symbols.c (deferror_massage_name_and_message):
9981         * symeval.h:
9982         * symeval.h (DEFSYMBOL):
9983         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
9984
9985         * symbols.c (syms_of_symbols):
9986         [2].
9987
9988         * symsinit.h:
9989         * symsinit.h (init_win32): New.
9990         Also new is syms_of_dialog_mswindows.
9991
9992         * syswindows.h:
9993         Add new Unicode macros, missing Cygwin wide-char functions,
9994         convenience conversion macros for Qmswindows_tstr, macros for
9995         encapsulating required MSWin <-> Cygwin filename conversions,
9996         prototype for dynamically-extracted (not in NT 3.51) functions.
9997
9998         * toolbar-x.c:
9999         Mule-verify.
10000
10001         * tooltalk.c (Fadd_tooltalk_message_arg):
10002         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10003         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10004         [7].
10005
10006         * tooltalk.c (syms_of_tooltalk):
10007         [2].
10008
10009         * unexnt.c:
10010         * unexnt.c (unexec):
10011         Fix up headers, declaration of unexec() to be more standard.
10012
10013 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10014
10015         * offix.h: Revert change to guard macros - they're used in offix.c!
10016
10017 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10018
10019         * lisp.h: Defsubred Fdelete.
10020
10021         * console-msw.h:  (msprinter_default_printer): Added.
10022
10023         * console-msw.c (msprinter_canonicalize_console_connection):
10024         (msprinter_canonicalize_device_connection): Added.
10025
10026         * device-msw.c (msprinter_default_printer):
10027         (Fmswingows_get_default_printer):
10028         (signal_enum_priner_error):
10029         (Fmswingows_printer_list): Added.
10030
10031 2000-07-19  Martin Buchholz <martin@xemacs.org>
10032
10033         * XEmacs 21.2.35 is released.
10034
10035 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10036
10037         * select-x.c (x_handle_selection_request):
10038         Text selected in xemacs and pasted into xterm failed to appear.
10039         Spelling fixes and cosmetic changes.
10040
10041 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10042
10043         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10044         XEmacs frame (fix for doubling chars in dialog boxes).
10045
10046 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10047
10048         * select.c (select_convert_in, select_convert_out):
10049         Don't call intern() every time.
10050
10051         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10052         * select.c (vars_of_select): Initialise them.
10053
10054 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10055
10056         * select.c (selection-coercible-types): New.
10057
10058         * select.c (own-selection-internal):
10059         * select.c (get-selection-internal):
10060         MULE bug fix - these should default to COMPOUND_TEXT and not
10061         STRING for MULE. I think.
10062
10063         * select.c (select_convert_out): Use selection-coercible-types
10064         to find types that we can attempt to perform coercions on.
10065
10066 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10067
10068         * mule-wnnfns.c:
10069         * mule-canna.c:
10070         Add coding: cookie to identify encoding.
10071
10072         * mule-canna.c (CANNA_mode_keys): make static.
10073         Use proper prototypes, even for functions of no arguments.
10074         Remove external prototype for Fding().
10075
10076         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10077
10078         * select.c (syms_of_select): Add missing DEFSUBR.
10079
10080 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10081
10082         * select.c (get_selection_internal, own_selection_internal):
10083         Make the type default to STRING, rather than placing a nil type
10084         into Vselection_alist.
10085
10086 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10087
10088         * gpmevent.c (tty_selection_exists_p):
10089         * gpmevent.c (tty_own_selection):
10090         Updated parameter lists.
10091
10092 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10093
10094         * select.h (selection-alist): Removed declaration.
10095
10096         * select.h (get_local_selection):
10097         * select.c (get_local_selection):
10098         Made static.
10099
10100         * select.h (convert_selection): Removed declaration.
10101         * select.c (convert_selection): Removed.
10102         This function belongs in Lisp.
10103
10104         * select.h (select_convert_in): Declare.
10105         * select.h (select_convert_out): Declare.
10106         * select.c (select_convert_in): New.
10107         * select.c (select_convert_out): New.
10108         New conversion functions for other files to call.
10109
10110         * select.h (select_notify_buffer_kill): Declare.
10111         * select.c (select_notify_buffer_kill): New.
10112         New functions that get called from kill-buffer.
10113
10114         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10115         X-specific lisp code.
10116
10117         * select.h: Declare some of the lisp-visible functions for
10118         external use.
10119
10120         * select.c (clean_local_selection_data): Removed. This was
10121         a disgusting function, and previously should have been in
10122         select-x.c in any case. The functionality is now provided
10123         in select-convert-from-integer (select.el).
10124
10125         * select.c (available-selection-types): Fixed stupidity where
10126         INTEGER and ATOM got added twice. Also add STRING when we see an
10127         extent.
10128
10129         * select.c (get-selection-internal): Removed symbol stripping. No
10130         longer causes conversion when data comes from the internal cache.
10131
10132         * select.c (syms_of_select): Added new functions.
10133
10134         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10135         error checking - previously this called abort!
10136
10137         * select-x.c (x_own_selection): Changed comment.
10138
10139         * select-x.c (x_handle_selection_request): Use select_convert_out.
10140         Don't mess with selection-alist; it's an internal variable of select.c.
10141
10142         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10143
10144         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10145         rather than messing with selection-alist.
10146
10147         * select-msw.c (mswindows_get_foreign_selection):
10148         Use TO_INTERNAL_FORMAT rather than hacking.
10149
10150 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10151
10152         * process-unix.c (unix_open_multicast_group):
10153         (unix_open_multicast_group): Remove useless casts.
10154
10155 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10156
10157         * sound.c (Fplay_sound): Fix `unused variable' warning.
10158
10159         * emacs.c (main): Use correct type for _environ on SCO5.
10160
10161 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10162
10163         * console.h (own_selection_method):
10164         * console.h (selection_exists_p_method):
10165         * console.h (available_selection_types_method): New.
10166         * console.h (register_selection_data_type_method): New.
10167         * console.h (selection_data_type_name): New.
10168
10169         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10170         function & alist to track GlobalAlloc()'d handles that need
10171         releasing when the clipboard data gets replaced or emptied.
10172
10173         * event-msw.c (mswindows_wnd_proc): Call it.
10174
10175         * lisp.h, general.c (Qappend): New symbol representing a
10176         `how-to-add' mode.
10177
10178         * select.c (own-selection-internal):
10179         * select.c (selection-exists-p):
10180         * select.c (available-selection-types): New.
10181         * select.c (register-selection-data-type): New.
10182         * select.c (selection-data-type-name): New.  New functions to deal
10183         with device-specific selection data formats.
10184         * select.c (selection-converter-out-alist): Renamed.
10185         * select.c (selection-converter-in-alist): New.
10186         * select.c (selection-appender-alist): New.  Added new alists.
10187         * select.c (syms_of_select, vars_of_select): Added new symbols &
10188         variables.
10189         * select.c (get_local_selection): Split.
10190         * select.c: Removed spurious type checking - selections may now be
10191         of any type, not just strings.
10192         * select.c (own-selection-internal):
10193
10194         * select.h, select.c (convert_selection): New. Created
10195         convert_selection() function based on get_local_selection().
10196         * select.h, select.c (QCF_*): New symbols representing mswindows
10197         clipboard formats.
10198         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10199         symbols representing `how-to-add' modes.
10200
10201         * select-msw.c (x_sym_p): New.
10202         * select-msw.c (symbol_to_ms_cf): New.
10203         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10204         symbols & clipboard formats. Can also handle string names.
10205         * select-msw.c (mswindows_own_selection):
10206         * select-msw.c (mswindows_selection_exists_p):
10207         Added `data-type' parameter. Use it.
10208         * select-msw.c (mswindows_available_selection_types): New.
10209         * select-msw.c (mswindows_register_selection_data_type): New.
10210         * select-msw.c (mswindows_selection_data_type_name): New.
10211         * select-msw.c (mswindows_own_selection):
10212         * select-msw.c (mswindows_get_foreign_selection):
10213         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10214         * select-msw.c (console_create_select_mswindows): Added new methods.
10215         * select-msw.c (mswindows_destroy_selection): New.
10216         * select-msw.c (Vhandle_alist): New list.
10217         * select-msw.c (mswindows_own_selection):
10218
10219         * select-x.c (x_own_selection):
10220         * select-x.c (x_selection_exists_p):
10221         * select-x.c: Added some comments about maybe using new
10222         functionality.
10223         * select-x.c (x_own_selection):
10224
10225         * specifier.c: Remove definition of Qappend (now in general.c)
10226         * specifier.c (syms_of_specifier): Remove Qappend.
10227
10228 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10229
10230         * config.h.in: Add socklen_t.
10231
10232         * s/decosf4-0.h: No special compiler flags needed or desired.
10233         In particular, undefine _BSD for DEC OSF 4.0.
10234
10235 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10236
10237         * redisplay-msw.c (msprinter_frame_output_end): Added.
10238         (console_type_create_redisplay_mswindows): Referred the above.
10239
10240         * frame.c (setup_frame_without_minibuffer): Do not create a
10241         default minibuffer frame on a printer device.
10242
10243         * frame-msw.c (apply_dc_geometry): Added.
10244         (msprinter_start_page):
10245         (msprinter_init_frame_3):
10246         (msprinter_eject_page): Use it.
10247
10248         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10249         and removed residual duplex and orientation properties.
10250
10251 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10252
10253         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10254
10255         * unexalpha.c: Remove system prototypes from C sources!
10256
10257 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10258
10259         * eval.c: Remove references to M-x edit-options in DEFUNs for
10260         `defvar' and `defconst'.
10261
10262 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10263
10264         * config.h.in: Remove SMART_INCLUDE hackery.
10265
10266         PostgreSQL hacking:
10267         * config.h.in: Don't use SMART_INCLUDE.
10268
10269         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10270         * inline.c: Simply #include "postgresql.h"
10271         * postgresql.c:
10272         - Don't use SMART_INCLUDE
10273         - Use simply "const".
10274         - Use standard doc string conventions.
10275         - Use correct type for result of PQstatus.
10276
10277 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10278
10279         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10280
10281         C++ compilation changes.
10282         * config.h.in (EXTERN_C): Define.
10283         * config.h.in (not): This is also a C++ keyword.
10284         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10285         * cm.c: Use EXTERN_C.
10286         * redisplay-tty.c: Use EXTERN_C.
10287         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10288
10289 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10290
10291         * general.c: Remove duplicate definition for Qfunction.
10292
10293 2000-07-08  Ben Wing  <ben@xemacs.org>
10294
10295         * device-msw.c (msprinter_init_device):
10296         * device-msw.c (sync_printer_with_devmode):
10297         * device-msw.c (handle_devmode_changes):
10298         * device-msw.c (print_dialog_worker):
10299         * device-msw.c (Fmsprinter_apply_settings):
10300         * device-msw.c (hash_devmode):
10301         * device-msw.c (Fmsprinter_settings_despecialize):
10302         use Qmswindows_tstr, not Qctext.
10303
10304         * vm-limit.c (check_memory_limits):
10305         avoid infinite loop printing warning messages.
10306
10307 2000-07-05  Craig Lanning  <lanning@scra.org>
10308
10309         * Makefile.in.in: Add support for including the Windows resources
10310         when building with the cygwin and mingw targets.
10311
10312         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10313         not set or not correct.
10314         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10315         (init_initial_directory): Don't try to use $PWD on the
10316         WIN32_NATIVE target.
10317
10318         * s\cygwin32.h:
10319         [[Add -mwindows to eliminate console window.]] not required --ben
10320         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10321         (MAIL_USE_POP): removed; now handled by configure.
10322
10323         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10324         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10325         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10326         (MAIL_USE_POP): removed; now handled by configure.
10327         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10328         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10329         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10330         constant string.
10331         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10332         up from <winsock.h> via systime.h.
10333         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10334         (getpagesize): from Dan Holmsand, added.
10335         Added #endif which was left dangling by Ben's mega patch; added
10336         comment to help prevent this in the future.
10337
10338         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10339
10340 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10341
10342         * console-msw.h (struct mswindows_device): Removed unnecessary
10343         cached device geometry values.
10344         Added update_tick and an accessor macro.
10345         (Lisp_Devmode): Added lrecord declaration.
10346         (struct msprinter_device): Contain devmode as a Lisp object.
10347         Added mswindows_get_selected_frame_hwnd();
10348
10349         * console.h (struct console_methods): Indentation nitpicking.
10350
10351         * device-msw.c (mswindows_init_device): Do not initialize geometry
10352         cache. Initialize update tick.
10353         (mswindows_device_system_metrics): Ask the device for its geometry.
10354         (global_free_2_maybe):
10355         (devmode_to_hglobal):
10356         (handle_printer_changes):
10357         (ensure_not_printing):
10358         (print_dialog_worker):
10359         (Fmsprinter_print_setup_dialog):
10360         (Fmsprinter_print_dialog):
10361         (plist_get_margin):
10362         (plist_set_margin):
10363         (Fmsprinter_page_setup_dialog): Added functions.
10364         (sync_printer_with_devmode):
10365         (handle_devmode_changes):
10366         (Fmsprinter_get_settings):
10367         (Fmsprinter_select_settings):
10368         (Fmsprinter_apply_settings):
10369         (allocate_devmode):
10370         (Fmsprinter_settings_copy):
10371         (Fmsprinter_settings_despecialize):
10372         (print_devmode):
10373         (finalize_devmode):
10374         (equal_devmode):
10375         (hash_devmode): Added functions
10376         (syms_of_device_mswindows): Init devmode lrecord class.
10377
10378         * device.h: Added an exfun for find-device.
10379
10380         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10381         geometry; although, recreate the device compatible DC.
10382
10383         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10384         (msprinter_init_frame_3):
10385         (msprinter_frame_property):
10386         (msprinter_internal_frame_property_p):
10387         (msprinter_frame_properties):
10388         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10389         print job properties (will move to device settings).
10390
10391         * lisp.h: Added symbols.
10392
10393         * general.c (syms_of_general): Declared them.
10394
10395         * hash.c (string_hash): Added.
10396
10397         * lrecord.h (lrecord_type): Added devmode lrecord type.
10398
10399 2000-07-02  Mike Sperber <mike@xemacs.org>
10400
10401         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10402         FreeBSD 4.0.
10403
10404 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10405
10406         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10407         integer.
10408
10409 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10410
10411         * data.c (Fstring_to_number): Don't recognize floating point if
10412         base is not 10.
10413
10414 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10415
10416         * glyphs-widget.c (tab_control_query_geometry):
10417         (widget_query_geometry):
10418         (button_query_geometry):
10419         * glyphs.c (text_query_geometry):
10420         Enforce type correctness.
10421
10422 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10423
10424         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10425         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10426
10427 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10428
10429         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10430         conflicts with gcc's fixincluded version of FOO.h.
10431
10432         * glyphs.h (image_instance_geometry): Remove trailing `,'
10433
10434 2000-06-08  Mike Alexander  <mta@arbortext.com>
10435
10436         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10437         (shove_thread): Don't write the same output twice
10438         (make_ntpipe_output_stream): Increase priority of shove thread
10439         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10440         chance to run
10441         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10442         it.
10443
10444 2000-06-12  Ben Wing  <ben@xemacs.org>
10445
10446         * s\mingw32.h (sigset):
10447         * s\windowsnt.h (sigset):
10448         rename msw_ to mswindows_ for consistency with general convention.
10449
10450 2000-06-12  Ben Wing  <ben@xemacs.org>
10451
10452         * console-msw.c:
10453         * console-msw.c (mswindows_get_console_hwnd):
10454         * console-msw.c (mswindows_ensure_console_allocated):
10455         * console-msw.c (mswindows_hide_console):
10456         * console-msw.c (mswindows_show_console):
10457         * console-msw.c (mswindows_ensure_console_buffered):
10458         * console-msw.c (mswindows_output_console_string):
10459         * console-msw.c (mswindows_windows9x_p):
10460         * console-msw.h:
10461         * device-msw.c (mswindows_get_workspace_coords):
10462         * device-msw.c (mswindows_device_system_metrics):
10463         * dialog-msw.c (mswindows_popup_dialog_box):
10464         * event-msw.c (mswindows_wnd_proc):
10465         * frame-msw.c (mswindows_size_frame_internal):
10466         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10467         * menubar-msw.c (displayable_menu_item):
10468         * menubar-msw.c (mswindows_char_is_accelerator):
10469         * nt.c:
10470         * nt.c (mswindows_sigset):
10471         * nt.c (mswindows_sigrelse):
10472         * nt.c (mswindows_sigpause):
10473         * nt.c (mswindows_raise):
10474         * nt.c (timer_proc):
10475         * ntproc.c:
10476         * ntproc.c (find_child_console):
10477         * ntproc.c (sys_kill):
10478         * print.c:
10479         * print.c (std_handle_out_external):
10480         * process-nt.c (find_child_console):
10481         * process-nt.c (send_signal_the_95_way):
10482         * process-nt.c (ensure_console_window_exists):
10483         * process-nt.c (nt_create_process):
10484         * syssignal.h:
10485         rename msw_ to mswindows_ for consistency with general convention.
10486
10487         * emacs.c:
10488         * dumper.c:
10489         include nt.h, not syswindows.h.
10490
10491         * nt.c (mswindows_fstat):
10492         * nt.c (mswindows_stat):
10493         prefix mswindows_ instead of attempting to directly override the
10494         library functions.  fix declarations.
10495
10496         * nt.h:
10497         include syswindows.h.  move some sysdep.h stuff here.
10498
10499         * ntheap.h:
10500         include syswindows.h, not <windows.h>.
10501
10502         * ntplay.c:
10503         clean up headers.
10504
10505         * sysdep.c:
10506         clean up headers.
10507
10508         * sysdep.c (sys_fstat):
10509         * sysdep.c (sys_stat):
10510         call mswindows versions when appropriate.
10511
10512         * sysdep.h:
10513         move mswin decls to nt.h.
10514
10515         * syswindows.h:
10516         add long comment describing appropriate use of the various windows
10517         headers.
10518
10519 2000-06-11  Ben Wing  <ben@xemacs.org>
10520
10521         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10522
10523 2000-06-10  Ben Wing  <ben@xemacs.org>
10524
10525         * Makefile.in.in (release):
10526         Correction to make sure xemacs.exe always dumped when correct.
10527
10528         * alloca.c:
10529         * balloon_help.c:
10530         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10531
10532         * buffer.c (set_buffer_internal):
10533         [[[[2]]]]: Remove HAVE_FEP code.
10534
10535         * buffer.c (init_initial_directory):
10536         [3].
10537
10538         * bytecode.c:
10539         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10540         individual files.
10541
10542         * callproc.c:
10543         * callproc.c (call_process_cleanup):
10544         * callproc.c (Fold_call_process_internal):
10545         * callproc.c (child_setup):
10546         * callproc.c (getenv_internal):
10547         * callproc.c (init_callproc):
10548         * callproc.c (vars_of_callproc):
10549         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10550         __CYGWIN32__ -> CYGWIN.
10551         DOS_NT -> WIN32_NATIVE.
10552         Remove MSDOS support/references, converting to WIN32_NATIVE
10553           where correct.
10554         __MINGW32__ -> MINGW.
10555         Fix windows.h includes.
10556         Remove bogus HAVE_NTGUI.
10557
10558         * config.h.in:
10559         [2].
10560
10561         * console-msw.c:
10562         mswindows_message_outputted added for use in allowing startup
10563         errors on the console to be seen.
10564
10565         * console-msw.c (msw_ensure_console_allocated):
10566         * console-msw.c (msw_output_console_string):
10567         * console-msw.c (DHEADER):
10568         * console-msw.c (DOPAQUE_DATA):
10569         * console-msw.c (DEVENT):
10570         * console-msw.c (DCONS):
10571         * console-msw.c (DCONSCDR):
10572         * console-msw.c (DSTRING):
10573         * console-msw.c (DVECTOR):
10574         * console-msw.c (DSYMBOL):
10575         * console-msw.c (DSYMNAME):
10576         Fix warnings.
10577
10578         * console-stream.c (stream_init_console):
10579         Fix text/binary problems.
10580
10581         * device-msw.c:
10582         * device-msw.c (mswindows_finish_init_device):
10583         * device-msw.c (mswindows_delete_device):
10584         [1].
10585
10586         * device.c (handle_asynch_device_change):
10587         [3].
10588
10589         * dgif_lib.c:
10590         * dgif_lib.c (DGifOpenFileName):
10591         * dgif_lib.c (DGifOpenFileHandle):
10592         * dgif_lib.c (DGifGetLine):
10593         * dgif_lib.c (DGifGetPixel):
10594         Added config.h/lisp.h, fix up includes.
10595         [1].
10596
10597         * dired-msw.c:
10598         [4].
10599
10600         * dired.c:
10601         * dired.c (file_name_completion):
10602         * dired.c (Ffile_attributes):
10603         * dired.c (syms_of_dired):
10604         [1].
10605
10606         * dumper.c:
10607         * dumper.c (pdump_file_unmap):
10608         * dumper.c (pdump_load):
10609         [1].
10610
10611         * editfns.c:
10612         * editfns.c (Ftemp_directory):
10613         * editfns.c (user_login_name):
10614         * editfns.c (Fuser_real_login_name):
10615         * editfns.c (get_home_directory):
10616         [1].
10617
10618         * elhash.c (finish_marking_weak_hash_tables):
10619         [[[[5]]]]: Fix GCC warnings.
10620
10621         * emacs.c:
10622         * emacs.c (mswindows_handle_hardware_exceptions):
10623         * emacs.c (make_arg_list_1):
10624         * emacs.c (main_1):
10625         * emacs.c (Fkill_emacs):
10626         * emacs.c (Fdump_emacs):
10627         [1].
10628         Fix problems with nested crashes, add long comment.
10629
10630         * event-Xt.c (init_event_Xt_late):
10631         [1].
10632
10633         * event-msw.c:
10634         * event-msw.c (mswindows_dde_callback):
10635         * event-msw.c (mswindows_handle_sticky_modifiers):
10636         * event-msw.c (mswindows_wnd_proc):
10637         [1].
10638         [5].
10639
10640         * events.c (character_to_event):
10641         [1].
10642
10643         * fileio.c:
10644         * fileio.c (Ffile_name_directory):
10645         * fileio.c (Ffile_name_nondirectory):
10646         * fileio.c (directory_file_name):
10647         * fileio.c (Fexpand_file_name):
10648         * fileio.c (Fsubstitute_in_file_name):
10649         * fileio.c (Ffile_name_absolute_p):
10650         * fileio.c (check_executable):
10651         * fileio.c (Ffile_readable_p):
10652         * fileio.c (Ffile_accessible_directory_p):
10653         * fileio.c (Ffile_modes):
10654         * fileio.c (Funix_sync):
10655         * fileio.c (vars_of_fileio):
10656         [1]. [4].
10657
10658         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10659
10660         Expand getdefdir defn.
10661         Fix bogus rename() comment.
10662
10663         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10664         to use standard XEmacs include files, e.g. sysfile.h, rather
10665         than system-specific includes.
10666
10667         * fns.c:
10668         * fns.c (Fsubseq):
10669         [5]. [6].
10670
10671         * frame.c (vars_of_frame):
10672         [1].
10673
10674         * getloadavg.c:
10675         * getloadavg.c (getloadavg):
10676         [1]. [6].
10677         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10678         (We don't use it elsewhere in the code; just add a comment.)
10679
10680         * gif_io.c:
10681         [6].
10682         Add config.h.
10683
10684         * glyphs-msw.c:
10685         * glyphs-msw.c (mswindows_resource_instantiate):
10686         [1].
10687
10688         * glyphs-x.c (x_native_layout_instantiate):
10689         [5].
10690
10691         * gui-msw.c (Fmswindows_shell_execute):
10692         [1].
10693
10694         * insdel.c:
10695         [4].
10696
10697         * lisp.h:
10698         [4]. [5].
10699
10700         * lread.c (locate_file_in_directory_mapper):
10701         [1].
10702
10703         * lstream.c:
10704         [4].
10705
10706         * mem-limits.h:
10707         * mem-limits.h (get_lim_data):
10708         [1].
10709
10710         * menubar-msw.c:
10711         [4].
10712
10713         * ndir.h:
10714         [1].
10715
10716         * nt.c:
10717         * nt.c (getwd):
10718         * nt.c (closedir):
10719         * nt.c (rva_to_section):
10720         * nt.c (mswindows_executable_type):
10721         [1]. [6].
10722         Fix closedir() defn.
10723
10724         * nt.h:
10725         [[[[8]]]]: *_OK defs moved to sysfile.h.
10726
10727         * ntproc.c:
10728         [6]. [7].
10729
10730         * objects-x.c:
10731         [4].
10732
10733         * print.c:
10734         * print.c (std_handle_out_external):
10735         [1]. [4].
10736
10737         * process-nt.c:
10738         * process-nt.c (nt_create_process):
10739         [6].
10740         try to fix process quoting somewhat.
10741
10742         * process-unix.c (unix_create_process):
10743         [1].
10744
10745         * process.c:
10746         * process.c (vars_of_process):
10747         Add Vnull_device.
10748
10749         * process.h:
10750         [1].
10751
10752         * realpath.c:
10753         * realpath.c (xrealpath):
10754         [1].
10755
10756         * redisplay-tty.c (init_tty_for_redisplay):
10757         [3].
10758
10759         * redisplay.c:
10760         [4]. [6].
10761
10762         * scrollbar-msw.c:
10763         [4].
10764
10765         * sheap.c:
10766         * sheap.c (more_static_core):
10767         * sheap.c (report_sheap_usage):
10768         [5]. [6].
10769
10770         * signal.c:
10771         * signal.c (alarm_signal):
10772         [1]. [6].
10773
10774         * sound.c:
10775         [6].
10776
10777         * strftime.c:
10778         * strftime.c (zone_name):
10779         [1]. [5].
10780
10781         * symsinit.h (init_sunpro):
10782         [1].
10783
10784         * syscommctrl.h:
10785         commctrl.h not in Cygwin b20.1.
10786
10787         * sysdep.c:
10788         * sysdep.c (endif):
10789         * sysdep.c (sys_subshell):
10790         * sysdep.c (init_baud_rate):
10791         * sysdep.c (emacs_get_tty):
10792         * sysdep.c (emacs_set_tty):
10793         * sysdep.c (tty_init_sys_modes_on_device):
10794         * sysdep.c (init_system_name):
10795         * sysdep.c (sys_open):
10796         * sysdep.c (interruptible_open):
10797         * sysdep.c (sys_fopen):
10798         * sysdep.c (sys_mkdir):
10799         * sysdep.c (sys_rename):
10800         * sysdep.c (get_process_times_1):
10801         [1]. [6].
10802
10803         * sysdep.h:
10804         [1].
10805
10806         * sysdir.h:
10807         * sysdir.h (DIRENTRY_NONEMPTY):
10808         [1]. [6].
10809
10810         * sysdll.c (dll_init):
10811         * sysdll.h:
10812         [1].
10813
10814         * sysfile.h:
10815         [1]. [6]. [8].
10816         added text/binary defs.
10817
10818         * sysfloat.h:
10819         [1].
10820
10821         * sysproc.h:
10822         * sysproc.h (EDESTADDRREQ):
10823         * sysproc.h (poll_fds_for_input):
10824         [1]. [6].
10825
10826         * syspwd.h:
10827         [6].
10828
10829         * syssignal.h:
10830         [1].
10831
10832         * systime.h:
10833         [1]. [6].
10834
10835         * systty.h:
10836         [1].
10837
10838         * syswindows.h:
10839         [1].
10840         Always define WIN32_LEAN_AND_MEAN.
10841
10842         * unexcw.c (unexec):
10843         [5].
10844
10845         * unexec.c:
10846         * unexec.c (copy_text_and_data):
10847         * unexec.c (adjust_lnnoptrs):
10848         [1].
10849
10850         * unexnt.c:
10851         * unexnt.c (_start):
10852         [1].
10853
10854 2000-06-07  Ben Wing  <ben@xemacs.org>
10855
10856         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
10857         was used only as a model.  We've long since extracted any useful
10858         logic or code out of this. (I just did an exhaustive search.)
10859
10860         * s\msdos.h: Removed.
10861
10862         * s\windows95.h: Removed.
10863
10864 2000-06-10  Ben Wing  <ben@xemacs.org>
10865
10866         * s\cygwin32.h:
10867         [1]. [5].
10868         Don't use extern with fun defs.
10869
10870         * s\mingw32.h:
10871         [1]. [7].
10872         Remove nt\inc include.
10873         Remove getdisk, getdefdir. (The former is unused, the latter
10874         expanded in fileio.h.)
10875
10876         * s\windowsnt.h:
10877         * s\windowsnt.h (WIN32_NATIVE):
10878         * s\windowsnt.h (HAVE_STRCASECMP):
10879         [1]. [7].
10880         Add long comment about preprocessor changes.
10881         Remove getdisk, getdefdir. (The former is unused, the latter
10882         expanded in fileio.h.)
10883
10884 2000-06-10  Ben Wing  <ben@xemacs.org>
10885
10886         * m\arm.h:
10887         * m\delta.h:
10888         * m\intel386.h:
10889         * m\sequent.h:
10890         * m\template.h:
10891         * m\windowsnt.h:
10892         [1].
10893         Remove bogus/unused NO_SOCK_SIGIO.
10894
10895 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
10896
10897         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
10898         not an Emchar.
10899
10900 2000-06-04  Mike Sperber <mike@xemacs.org>
10901
10902         * casetab.c (set_case_table): For `set-standard-case-table',
10903         actually deposit the new case tables where the rest of XEmacs can
10904         see them.
10905
10906 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
10907
10908         * data.c (Faset): Don't cast XCHAR() to unsigned char.
10909
10910 2000-06-05  Ben Wing  <ben@xemacs.org>
10911
10912         * callproc.c (child_setup): Don't do close_load_descs() under
10913         MS Windows.  Put in a comment explaining why.
10914
10915 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
10916
10917         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
10918         Toolkit shell" which breaks `kill-compilation' on Windows NT
10919         native, retaining STDERR handling improvements.
10920
10921 2000-06-01  Andreas Jaeger  <aj@suse.de>
10922
10923         * s/s390.h: Support for S390, based on a patch by Martin
10924         Schwidefsky <schwidefsky@de.ibm.com>.
10925
10926 2000-05-30  Andy Piper  <andy@xemacs.org>
10927
10928         * window.c (allocate_window):
10929         (make_dummy_parent):
10930         (Fset_window_configuration): use new hashtable type.
10931
10932         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
10933         (struct image_instantiator_methods):
10934         (struct Lisp_Image_Instance): make instance geometry signed.
10935
10936         * glyphs.c (instantiate_image_instantiator):
10937         (image_instance_query_geometry):
10938         (image_instance_layout):
10939         (image_instance_layout):
10940         (query_string_geometry):
10941         (text_query_geometry):
10942         (image_instantiate):
10943         (image_instantiate):
10944         (cache_subwindow_instance_in_frame_maybe):
10945         (subwindow_query_geometry): make instance geometry signed.
10946
10947         * glyphs-widget.c (widget_query_geometry):
10948         (widget_layout):
10949         (button_query_geometry):
10950         (tree_view_query_geometry):
10951         (tab_control_query_geometry):
10952         (layout_query_geometry):
10953         (layout_layout):
10954         (native_layout_layout): make instance geometry signed.
10955
10956 2000-05-29  Olivier Galibert  <galibert@pobox.com>
10957
10958         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
10959         constant.
10960
10961         * general.c (syms_of_general): Add Qfull_assoc symbol.
10962
10963         * data.c (finish_marking_weak_lists): Mark full-assoc lists
10964         correctly.
10965         (decode_weak_list_type): Decode full-assoc type.
10966         (encode_weak_list_type): Encode full-assoc type.
10967         (Fmake_weak_list): Update doc string.
10968
10969 2000-05-30  Andy Piper  <andy@xemacs.org>
10970
10971         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
10972
10973         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
10974         (decode_hash_table_weakness): ditto.
10975         (Fhash_table_weakness): ditto.
10976         (Fhash_table_type): ditto.
10977         (finish_marking_weak_hash_tables): ditto.
10978         (hash_table_weakness_validate): ditto.
10979         (syms_of_elhash): ditto.
10980
10981 2000-05-28  Martin Buchholz <martin@xemacs.org>
10982
10983         * XEmacs 21.2.34 is released.
10984
10985 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10986
10987         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
10988         start cache.
10989         (updating_line_start_cache): Gone.
10990         (regenerate_window): Replace resetting of VERTICAL_CLIP by
10991         generic code to force a minimum of 1 line laid out in the
10992         CMOTION_DISP case.
10993
10994 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10995
10996         * glyphs.c (instantiate_image_instantiator): Check for initialized
10997         height & width no longer special cases IMAGE_NOTHING.
10998         (nothing_instantiate): Set height and width of instance.
10999
11000 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11001
11002         * unexelf.c (unexec): Search for ".data" section.
11003         Initialize new_data2_offset from old_data_index.
11004         Remove redundant check for ElfW.
11005
11006 2000-05-23  Andy Piper  <andy@xemacs.org>
11007
11008         * glyphs.c (get_image_instantiator_governing_domain): allow more
11009         specific domains as the governing domain rather than expecting an
11010         exact match. This fixes problems with layouts.
11011
11012 2000-05-22  Andy Piper  <andy@xemacs.org>
11013
11014         * redisplay-output.c (compare_runes): check for non-images
11015
11016         * glyphs.c (set_glyph_dirty_p): ditto.
11017         (update_glyph_cachel_data): ditto.
11018
11019         * glyphs-widget.c (layout_post_instantiate): ditto.
11020         (layout_post_instantiate): ditto.
11021
11022         * event-msw.c (mswindows_wnd_proc): warning removal.
11023
11024 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11025
11026         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11027
11028         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11029
11030         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11031
11032         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11033         (mswindows_executable_type): mingw32 now has enough headers for
11034         this to work.
11035
11036 2000-05-20  Andy Piper  <andy@xemacs.org>
11037
11038         * console-msw.c (mswindows_output_last_error): ; -> ,
11039
11040 2000-05-12  Andy Piper  <andy@xemacs.org>
11041
11042         * console-msw.c (FROB): compare ints with ints.
11043
11044 2000-05-11  Andy Piper  <andy@xemacs.org>
11045
11046         * glyphs-x.c (x_finalize_image_instance): make minimal build
11047         happy.
11048
11049 2000-05-20  Ben Wing  <ben@xemacs.org>
11050
11051         * event-Xt.c:
11052         * event-Xt.c (vars_of_event_Xt):
11053         move modifier-keys-are-sticky to event-stream.c.
11054
11055         * event-msw.c:
11056         * event-msw.c (mswindows_enqueue_mouse_button_event):
11057         * event-msw.c (key_needs_default_processing_p):
11058         * event-msw.c (XEMSW_LCONTROL):
11059         * event-msw.c (mswindows_handle_sticky_modifiers):
11060         * event-msw.c (FROB):
11061         * event-msw.c (clear_sticky_modifiers):
11062         * event-msw.c (output_modifier_keyboard_state):
11063         * event-msw.c (output_alt_keyboard_state):
11064         * event-msw.c (mswindows_wnd_proc):
11065         * event-msw.c (mswindows_modifier_state):
11066         * event-msw.c (emacs_mswindows_handle_magic_event):
11067         implement sticky modifiers.
11068
11069         * event-stream.c:
11070         * event-stream.c (vars_of_event_stream):
11071         move modifier-keys-are-sticky here.
11072
11073         * lisp.h:
11074         add CHECK_FUNCTION.
11075
11076         * rangetab.c:
11077         implement map-range-table.
11078
11079
11080 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11081
11082         * redisplay-tty.c (reset_tty_modes):
11083         (tty_redisplay_shutdown): Adjust argument type to
11084         tty_frame_output_end.
11085
11086 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11087
11088         * eval.c (Fbacktrace): Don't output a line with only right
11089         parenthesis.
11090
11091 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11092
11093         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11094         (Fpq_reset_poll): Ditto.
11095
11096 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11097
11098         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11099
11100 2000-05-16  Ben Wing  <ben@xemacs.org>
11101
11102         * buffer.c:
11103         * buffer.c (dfc_convert_to/from_internal_format):
11104         * buffer.c (reinit_vars_of_buffer):
11105         Fix conversion functions to allow reentrancy.
11106
11107         * console-msw.c:
11108         * console-msw.c (mswindows_output_last_error):
11109         New fun, generally useful -- output a human-readable
11110         version of GetLastError() on the console.
11111
11112         * console-msw.h:
11113         * console-msw.h (struct mswindows_frame):
11114         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11115
11116         * console-stream.c (stream_output_begin):
11117         * console-stream.c (stream_output_end):
11118         * console-stream.c (stream_output_vertical_divider):
11119         * console-stream.c (stream_clear_region):
11120         * console-stream.c (stream_flash):
11121         * console-stream.c (console_type_create_stream):
11122         Delete blank stream methods, not needed.
11123
11124         * console.h (struct console_methods):
11125         Split begin/end methods into window and frame.
11126
11127         * event-msw.c:
11128         * event-msw.c (mswindows_handle_paint):
11129         * event-msw.c (output_alt_keyboard_state):
11130         * event-msw.c (mswindows_wnd_proc):
11131         * event-msw.c (vars_of_event_mswindows):
11132         Comment about problems with ignored-expose.
11133         Define mswindows-debug-events; not really implemented.
11134
11135         * frame-msw.c (mswindows_init_frame_1):
11136         random cleanups.
11137
11138         * glyphs-msw.c:
11139         * glyphs-msw.c (begin_defer_window_pos):
11140         * glyphs-msw.c (mswindows_unmap_subwindow):
11141         * glyphs-msw.c (mswindows_map_subwindow):
11142         * glyphs-msw.c (mswindows_resize_subwindow):
11143         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11144
11145         * glyphs.c (make_image_instance_1):
11146         Fix crash.
11147
11148         * gutter.c (Fredisplay_gutter_area):
11149         Use new begin/end methods.
11150
11151         * lisp.h (Dynarr_new2):
11152         New creation fun.
11153
11154         * redisplay-msw.c:
11155         * redisplay-msw.c (mswindows_frame_output_begin):
11156         * redisplay-msw.c (mswindows_frame_output_end):
11157         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11158         New begin/end methods -- handle DeferWindowPos.
11159
11160         * redisplay-output.c (redisplay_move_cursor):
11161         * redisplay-output.c (redraw_cursor_in_window):
11162         * redisplay-output.c (redisplay_update_line):
11163         * redisplay-output.c (redisplay_output_window):
11164         New begin/end methods.
11165
11166         * redisplay-tty.c:
11167         * redisplay-tty.c (tty_frame_output_begin):
11168         * redisplay-tty.c (tty_frame_output_end):
11169         * redisplay-tty.c (console_type_create_redisplay_tty):
11170         New begin/end methods.
11171
11172         * redisplay-x.c:
11173         * redisplay-x.c (x_window_output_begin):
11174         * redisplay-x.c (x_window_output_end):
11175         * redisplay-x.c (console_type_create_redisplay_x):
11176         New begin/end methods.
11177
11178         * redisplay.c (redisplay_frame):
11179         * redisplay.c (Fredisplay_echo_area):
11180         New begin/end methods.
11181         use MAYBE_DEVMETH for clear_frame; it may not exist.
11182
11183         * window.h (WINDOW_XFRAME):
11184         WINDOW_XFOO macros -- get locale and decode struct pointer.
11185
11186
11187 2000-05-12  Ben Wing  <ben@xemacs.org>
11188
11189         * emacs.c:
11190         * emacs.c (ensure_no_quitting_from_now_on):
11191         * emacs.c (fatal_error_signal):
11192         * emacs.c (mswindows_handle_hardware_exceptions):
11193         * emacs.c (main):
11194         * emacs.c (Fkill_emacs):
11195         * emacs.c (shut_down_emacs):
11196         * emacs.c (assert_failed):
11197         various improvements in fatal error handling.
11198
11199         * eval.c:
11200         move preparing_for_armageddon to emacs.c.
11201
11202         * lisp.h:
11203         declare fatal_error_in_progress.
11204
11205         * print.c:
11206         * print.c (std_handle_out_external):
11207         * print.c (std_handle_out_va):
11208         * print.c (stderr_out):
11209         * print.c (stdout_out):
11210         use console under mswin when no standard output.
11211         don't do code conversion during fatal error.
11212
11213         * scrollbar.c (Fscrollbar_page_up):
11214         * scrollbar.c (Fscrollbar_page_down):
11215         fix missing else.  reindent.
11216
11217 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11218
11219         Emergency fix.
11220
11221         * glyphs.h (GLYPH_CACHEL_DESCENT):
11222         (GLYPH_CACHEL_DESCENT):
11223         (GLYPH_CACHEL_DESCENT):
11224         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11225         used in case these are inline functions.
11226         Use more absurd values to error check.
11227
11228         include window.h for error check functions.
11229
11230 2000-05-11  Ben Wing  <ben@xemacs.org>
11231
11232         * cmdloop.c (Freally_early_error_handler):
11233         Display message box under windows; otherwise, message will disappear
11234         before it can be viewed.
11235
11236         * console-msw.c:
11237         * console-msw.c (Fmswindows_message_box):
11238         * console-msw.c (FROB):
11239         * console-msw.c (syms_of_console_mswindows):
11240         Define new fun `mswindows-message-box'.
11241         #### I will merge this into `popup-dialog-box'; just give me
11242         a bit of time.
11243
11244         * general.c:
11245         * general.c (syms_of_general):
11246         Some new symbols used in `mswindows-message-box'.
11247
11248         * glyphs.c:
11249         * glyphs.c (Fset_image_instance_property):
11250         put warning in this fun.
11251
11252         * glyphs.h:
11253         * glyphs.h (GLYPH_CACHEL_WIDTH):
11254         * glyphs.h (GLYPH_CACHEL_ASCENT):
11255         * glyphs.h (GLYPH_CACHEL):
11256         * glyphs.h (GLYPH_CACHEL_GLYPH):
11257         define error-checking versions to try to catch a bug i've seen --
11258         redisplay gets in an infinite loop because the glyph width of the
11259         continuation glyph is 65535.
11260
11261         * lisp.h:
11262         Extern message-box stuff.
11263
11264         * window.c (allocate_window):
11265         * window.c (make_dummy_parent):
11266         * window.c (Fset_window_configuration):
11267         Use EQUAL not EQ for subwindow caches to make them work a bit
11268         better. (Something is still very broken.)
11269
11270
11271 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11272
11273         * glyphs.c (image_instantiate): Suppress gcc warnings.
11274         (Fmake_image_instance): Fix doc string.
11275         * specifier.c (Fmake_specifier): Ditto.
11276
11277 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11278
11279         * paths.h.in (PATH_LOCK): Removed.
11280         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11281         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11282
11283 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11284
11285         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11286         Document (featurep '(and xemacs 21.02)).
11287
11288 2000-05-09  Ben Wing  <ben@xemacs.org>
11289
11290         * buffer.c (complex_vars_of_buffer):
11291         update modeline-format doc.
11292
11293         * device.h:
11294         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11295
11296         * emacs.c:
11297         timeline of all released versions of Emacs, for use in creating
11298         authorship comments and in synching up.
11299
11300         * glyphs-widget.c (image_instantiator_buttons):
11301         * glyphs-widget.c (image_instantiator_edit_fields):
11302         * glyphs-widget.c (image_instantiator_combo_box):
11303         * glyphs-widget.c (image_instantiator_scrollbar):
11304         * glyphs-widget.c (image_instantiator_progress_guage):
11305         * glyphs-widget.c (image_instantiator_tree_view):
11306         * glyphs-widget.c (image_instantiator_tab_control):
11307         * glyphs-widget.c (image_instantiator_labels):
11308         * glyphs-widget.c (image_instantiator_layout):
11309         * glyphs-widget.c (image_instantiator_native_layout):
11310         rename decode_domain method to governing_domain.
11311
11312         * glyphs.c:
11313         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11314         * glyphs.c (add_entry_to_device_ii_format_list):
11315         make sure we don't put an entry more than once into the list.
11316         * glyphs.c (check_instance_cache_mapper):
11317         *************************************************************
11318         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11319         HAVE BEEN GETTING.
11320         *************************************************************
11321         * glyphs.c (get_image_instantiator_governing_domain):
11322         clean up, expand on new concept of governing domain.
11323         * glyphs.c (instantiate_image_instantiator):
11324         * glyphs.c (allocate_image_instance):
11325         use governing_domain instead of cache_domain in naming.
11326         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11327         * glyphs.c (make_image_instance_1):
11328         * glyphs.c (Fmake_image_instance):
11329         allow for any domain (not just device), and process the
11330         governing domain correctly.  very big doc fix.
11331         * glyphs.c (Fimage_instance_domain):
11332         new primitive, to retrieve the governing domain of an image instance.
11333         * glyphs.c (image_instantiate):
11334         use new governing_domain stuff.  this fixes a crash you could get
11335         by instantiating certain widget glyphs in frame locales. (should
11336         signal an error instead of crashing.)
11337         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11338         * glyphs.c (Fglyphp): clean up doc.
11339         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11340         * glyphs.c (syms_of_glyphs):
11341         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11342         * glyphs.c (image_instantiator_format_create): add some comments about
11343         bogus code.
11344         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11345         for current-display-table. (Apparently Hrjove implemented in 1998 a
11346         design I wrote up in 1996, but didn't update the doc string.)
11347
11348         * glyphs.h: clean up a doc string.
11349         * glyphs.h (governing_domain):
11350         * glyphs.h (struct image_instantiator_methods):
11351         changes for governing_domain stuff.
11352
11353         * gutter.c:
11354         * gutter.c (Fgutter_specifier_p):
11355         * gutter.c (Fgutter_size_specifier_p):
11356         * gutter.c (Fgutter_visible_specifier_p):
11357         * objects.c:
11358         * objects.c (Fcolor_specifier_p):
11359         * objects.c (Ffont_specifier_p):
11360         * objects.c (Fface_boolean_specifier_p):
11361         doc strings moved to make-*-specifier.
11362
11363         * redisplay.c (add_disp_table_entry_runes_1):
11364         * redisplay.c (generate_fstring_runes):
11365         * redisplay.c (screen):
11366         add random comments and doc strings.
11367
11368         * specifier.c:
11369         * specifier.c (Fmake_specifier):
11370         major overhaul of this doc string.
11371
11372         * specifier.c (Fvalid_specifier_domain_p):
11373         comment about the bogosity of image instances being domains.
11374         * specifier.c (decode_domain):
11375         now non-static, used in glyphs.c.
11376         * specifier.c (specifier_instance):
11377         comment about the bogosity of image instances being domains.
11378         * specifier.c (Fgeneric_specifier_p):
11379         move doc string to make-generic-specifier.
11380         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11381         rebackslashify.
11382
11383         * specifier.h:
11384         * specifier.h (DOMAIN_FRAME):
11385         * specifier.h (DOMAIN_LIVE_P):
11386         * specifier.h (DOMAIN_XDEVICE):
11387         rebackslashify.
11388         add comments about problems with these macros.
11389         prototype for decode_domain.
11390
11391         * toolbar.c:
11392         * toolbar.c (Ftoolbar_specifier_p):
11393         move doc string to `make-toolbar-specifier'.
11394
11395         * window.c (window_unmap_subwindows_cache_mapper):
11396         *************************************************************
11397         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11398         HAVE BEEN GETTING.
11399         *************************************************************
11400
11401 2000-05-09  Andy Piper  <andy@xemacs.org>
11402
11403         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11404
11405         * window.c (Fset_window_configuration): reset the frame subwindow
11406         cache and re-initialize the window subwindow caches.
11407
11408         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11409
11410 2000-05-09  Ben Wing  <ben@xemacs.org>
11411
11412         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11413         DWORD.
11414
11415 2000-04-26  Mike Woolley  <mike@bulsara.com>
11416
11417         * ntheap.c: Changed recreate_heap to limit the amount reserved
11418         for the heap to that which is actually available. Also now
11419         displays a message box (with some dignostics) in the event that
11420         it still can't start.
11421
11422 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11423
11424         * callproc.c (Fold_call_process_internal): GCPRO path
11425
11426 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11427
11428         Patch by Bill Perry.
11429
11430         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11431         back data instead of #ifdef.
11432         (Fscrollbar_page_down): ditto.
11433
11434 2000-05-07  Ben Wing  <ben@xemacs.org>
11435
11436         * buffer.h:
11437         Kludge for defining Qmswindows_tstr.
11438
11439         * nt.c:
11440         * nt.c (open_input_file):
11441         * nt.c (open_output_file):
11442         * nt.c (rva_to_section):
11443         * nt.c (mswindows_executable_type):
11444         Move all memory-mapped-file routines here (some were in unexnt.c,
11445         which is bad because they are used by process-nt.c, and unexnt
11446         won't be around when portable dumping).  Synched the above routines
11447         with FSF 20.6.
11448
11449         * nt.h:
11450         Removed ifdef'd out bogus code.
11451         Fixed some prototypes.
11452
11453         * nt.h (file_data):
11454         * nt.h (OFFSET_TO_RVA):
11455         * nt.h (RVA_TO_OFFSET):
11456         * nt.h (RVA_TO_PTR):
11457         Moved the memory-mapped-file structures, macros and prototypes
11458         here, to parallel nt.c.  ntheap.h should really be removed
11459         entirely, and it's a non-portable-dumper specific file.
11460
11461         * ntheap.h (round_to_next):
11462         Moved the memory-mapped-file structures, macros and prototypes
11463         to nt.h.
11464
11465         * ntproc.c (compare_env):
11466         Moved rva_to_section and mswindows_executable_type to nt.c.
11467         Moved compare_env to process-nt.c.
11468         ntproc.c will die, one day.
11469
11470         * ntproc.c (sys_spawnve):
11471         Account for win32_ -> mswindows_.
11472
11473         * process-nt.c:
11474         * process-nt.c (struct nt_process_data):
11475         * process-nt.c (ensure_console_window_exists):
11476         * process-nt.c (compare_env):
11477         * process-nt.c (nt_create_process):
11478         * process-nt.c (nt_kill_process_by_pid):
11479         * process-nt.c (syms_of_process_nt):
11480         * process-nt.c (vars_of_process_nt):
11481         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11482         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11483         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11484         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11485         Move compare_env here from ntproc.c.
11486
11487         * process.c (Fprocess_send_region):
11488         Takes an optional fourth argument, BUFFER, which should fix some
11489         problems with call-process.
11490
11491         * syscommctrl.h:
11492         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11493
11494         * syswindows.h:
11495         Move ICC_BAR_CLASSES to syscommctrl.h.
11496         Add preliminary macros for MSWindows/Mule.  More to come.
11497
11498         * unexnt.c:
11499         * unexnt.c (unexec):
11500         open_output_file moved to nt.c.
11501
11502
11503 2000-05-05  Andy Piper  <andy@xemacs.org>
11504
11505         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11506         instance from the frame cache also since GC may catch up too late
11507         to make frame deletion sane.
11508
11509 2000-05-04  Andy Piper  <andy@xemacs.org>
11510
11511         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11512         (x_finalize_image_instance): ungcpro on deletion.
11513
11514         * glyphs.c (image_instantiator_format_create): give pointers a
11515         query geometry method so that the geometry is at least set.
11516
11517         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11518         initialize layouts if using widgets.
11519
11520 2000-05-03  Andy Piper  <andy@xemacs.org>
11521
11522         * nt.c: remove bogus reference to sysmmsystem.h
11523
11524         * gui-x.c (popup_selection_callback): fix no selection abort.
11525
11526 2000-05-02  Andy Piper  <andy@xemacs.org>
11527
11528         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11529         (mswindows_widget_instantiate): ditto.
11530
11531         * glyphs-widget.c (initialize_widget_image_instance): initialize
11532         children correctly.
11533         (widget_instantiate): cope with children and items in the same
11534         instance.
11535
11536         * glyphs.c (mark_image_instance): cope with children as a first
11537         class member.
11538         (image_instance_equal): ditto.
11539         (image_instance_hash): ditto.
11540         (image_instance_changed): ditto.
11541
11542 2000-04-30  Andy Piper  <andy@xemacs.org>
11543
11544         * glyphs.c (subwindow_query_geometry): new function. Return some
11545         defaults.
11546         (subwindow_instantiate): don't assign dimensions if none have been
11547         given.
11548         (image_instantiator_format_create): add subwindow_query_geometry.
11549         (print_image_instance): cope with layouts as widgets.
11550
11551 2000-04-29  Andy Piper  <andy@xemacs.org>
11552
11553         * frame.c (delete_frame_internal): call
11554         free_frame_subwindow_instance_cache so that all subwindows are
11555         finalized before their parent.
11556         (mark_frame): remove subwindow_cachels.
11557         (Fmake_frame): remove subwindow_cachel manipulation.
11558         (allocate_frame_core): subwindow_instance_cache is a weak list.
11559         (delete_frame_internal): set subwindow_instance_cache to nil.
11560
11561         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11562         finalization safe.
11563         (mswindows_finalize_image_instance): use the device
11564         not the domain as the domain may have died already.
11565
11566         * glyphs-x.c (x_finalize_image_instance): ditto.
11567         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11568         HEIGHT.
11569
11570         * redisplay-output.c (redisplay_unmap_subwindows): update for
11571         subwindow instance cache as a weak list.
11572         (redisplay_unmap_subwindows_maybe): ditto.
11573         (redisplay_unmap_subwindows_except_us): ditto.
11574
11575         * glyphs.c (unmap_subwindow): error checking will check the domain
11576         so don't deal with it here. Don't use cachels anymore.
11577         (map_subwindow): ditto.
11578         (update_subwindow_cachel_data): remove old accessor names.
11579         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11580         (Fresize_subwindow): don't update cachel.
11581         (mark_subwindow_cachels):
11582         (update_subwindow_cachel_data):
11583         (add_subwindow_cachel):
11584         (get_subwindow_cachel_index):
11585         (update_subwindow_cachel):
11586         (reset_subwindow_cachels):
11587         (mark_subwindow_cachels_as_not_updated): deleted.
11588         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11589         subwindow instance to the frame cache.
11590         (find_matching_subwindow): update for subwindow instance cache as
11591         a weak list.
11592         (update_widget_instances): ditto.
11593         (image_instance_type_to_mask):inlined.
11594         (free_frame_subwindow_instance_cache): new function. finalize all
11595         subwindows that are instantiated.
11596
11597         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11598         of cachel information.
11599         (IMAGE_INSTANCE_DISPLAY_X):
11600         (IMAGE_INSTANCE_DISPLAY_Y):
11601         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11602         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11603         (XIMAGE_INSTANCE_DISPLAY_X):
11604         (XIMAGE_INSTANCE_DISPLAY_Y):
11605         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11606         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11607         remove subwindow_cachel structure and function references.
11608         (image_instance_type_to_mask): inline from glyphs.c
11609
11610         * redisplay.c (redisplay_frame): remove subwindow_cachel
11611         references.
11612
11613         * frame.h (struct frame): remove subwindow_cachels.
11614         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11615
11616         * frameslots.h: add subwindow_instance_cache.
11617
11618         * window.c (replace_window): check subwindow cache of replacement.
11619         (window_unmap_subwindows_cache_mapper):
11620         (window_unmap_subwindows): new functions. Unmap all subwindows
11621         cached on this window.
11622         (mark_window_as_deleted): unmap all subwindows.
11623
11624 2000-04-27  Andy Piper  <andy@xemacs.org>
11625
11626         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11627
11628         * glyphs-widget.c (widget_layout): return something.
11629         (layout_layout): return something. Fail if not initialized.
11630         (layout_query_geometry): ditto.
11631         (image_instantiator_native_layout): new function. Initialized the
11632         native layout type.
11633         (widget_instantiate): don't do layout stuff here.
11634
11635         * glyphs.c (instantiate_image_instantiator): reorded calling or
11636         instantiate and post_instantiate with layout in between.
11637         (image_instance_layout): be more selective about deciding whether
11638         the layout has been done or not.
11639
11640         * glyphs.h (struct image_instantiator_methods): return a value
11641         from layout_method.
11642
11643 2000-04-26  Andy Piper  <andy@xemacs.org>
11644
11645         * glyphs.c (allocate_image_instance): make initial width and
11646         height unspecified. Set initialized to 0.
11647
11648         * syscommctrl.h new file. Encapsulates commctrl.h.
11649
11650         * syswindows.h new file. Encapsulates windows.h.
11651
11652         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11653         * nt.c: ditto.
11654         * console-msw.h: ditto.
11655
11656         * redisplay-tty.c (tty_output_display_block): remove layout references.
11657
11658         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11659         window handle rather than just the frame.
11660
11661         * glyphs.c (mark_image_instance): remove layout references.
11662         (print_image_instance): ditto.
11663         (image_instance_equal): ditto.
11664         (image_instance_hash): ditto.
11665         (decode_image_instance_type): ditto.
11666         (encode_image_instance_type): ditto.
11667         (image_instantiate): ditto.
11668         (allocate_glyph): ditto.
11669         (Fimage_instance_height): ditto.
11670         (Fimage_instance_width): ditto.
11671         (update_subwindow): ditto.
11672
11673         * redisplay-x.c (x_output_display_block): recode for layouts as
11674         widgets.
11675
11676         * redisplay-output.c (redisplay_output_layout): recode for layouts
11677         as widgets.
11678         (compare_runes): remove layout references.
11679
11680         * redisplay-msw.c (mswindows_output_display_block): recode for
11681         layouts as widgets.
11682
11683         * glyphs-widget.c (image_instantiator_layout): remove
11684         layout_possible_dest_types.
11685         (layout_possible_dest_types): deleted.
11686
11687         * glyphs.h (image_instance_type): remove layout references.
11688         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11689         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11690         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11691
11692 2000-04-25  Andy Piper  <andy@xemacs.org>
11693
11694         * glyphs-widget.c (image_instantiator_buttons):
11695         (image_instantiator_edit_fields):
11696         (image_instantiator_combo_box):
11697         (image_instantiator_scrollbar):
11698         (image_instantiator_progress_guage):
11699         (image_instantiator_tree_view):
11700         (image_instantiator_tab_control):
11701         (image_instantiator_labels):
11702         (image_instantiator_layout): call default post_instantiate method.
11703         (widget_post_instantiate): new function. Simply lays out the
11704         widgets.
11705
11706         * glyphs.h (struct image_instantiator_methods): add
11707         post_instantiate method.
11708
11709         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11710         method calls.
11711
11712 2000-04-23  Andy Piper  <andy@xemacs.org>
11713
11714         * glyphs.h (struct image_instantiator_methods): add
11715         decode_domain_method.
11716         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11717         derived from the domain.
11718         (IMAGE_INSTANCE_FRAME): new accessor.
11719         (XIMAGE_INSTANCE_FRAME): ditto.
11720
11721         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11722         instead of _SUBWINDOW_FRAME.
11723         (finalize_image_instance): ditto.
11724         (Fimage_instance_foreground): ditto.
11725         (Fimage_instance_background): ditto.
11726         (image_instantiate): ditto.
11727         (update_subwindow_cachel): ditto.
11728         (update_subwindow): ditto.
11729         (unmap_subwindow): ditto.
11730         (map_subwindow): ditto
11731         (subwindow_instantiate): ditto.
11732         * glyphs-msw.c (mswindows_update_widget): ditto.
11733         (mswindows_progress_gauge_instantiate): ditto.
11734         (mswindows_tab_control_update): ditto.
11735         * glyphs-x.c (x_update_widget): ditto.
11736         (x_widget_instantiate): ditto.
11737         (x_tab_control_instantiate): ditto.
11738         (x_tab_control_update): ditto.
11739         * event-msw.c (mswindows_wnd_proc): ditto
11740
11741         * glyphs-widget.c (image_instantiator_layout): use
11742         subwindow_decode_domain.
11743         (image_instantiator_buttons): ditto.
11744         (image_instantiator_edit_fields): ditto.
11745         (image_instantiator_combo_box): ditto.
11746         (image_instantiator_scrollbar): ditto.
11747         (image_instantiator_progress_guage): ditto.
11748         (image_instantiator_tree_view): ditto.
11749         (image_instantiator_tab_control): ditto.
11750         (image_instantiator_labels): ditto.
11751         (image_instantiator_layout): ditto.
11752
11753         * glyphs.c: add instance error checking to many functions.
11754         (instantiate_image_instantiator): decode device from cache_domain.
11755         (image_instantiate): partially rewrite by using
11756         decode_image_instantiator_domain to determine what domain the
11757         instance needs to be cached in.
11758         (decode_image_instantiator_domain): new function. Determine what
11759         domain the image needs to be cached in.
11760         (check_window_subwindow_cache): new error checking function.
11761         (check_instance_cache_mapper): ditto.
11762         (check_image_instance_structure): ditto.
11763         (subwindow_decode_domain): new function. Encodes a window as a
11764         subwindow's cache domain.
11765         (image_instantiator_format_create): use it for text and
11766         subwindows.
11767
11768 2000-04-21  Andy Piper  <andy@xemacs.org>
11769
11770         * glyphs.c (image_instance_device): new function.
11771         (image_instance_frame): new function.
11772         (image_instance_window): new function.
11773         (image_instance_live_p): new function.
11774
11775         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11776         cache to nil.
11777
11778         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11779         (IMAGE_INSTANCE_DOMAIN): new accessor.
11780         (XIMAGE_INSTANCE_DOMAIN): ditto.
11781
11782         * glyphs-x.c (x_finalize_image_instance): device->domain.
11783
11784         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11785         (mswindows_finalize_image_instance): ditto.
11786
11787         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11788         (gif_instantiate): ditto.
11789         (png_instantiate): ditto.
11790         (tiff_instantiate): ditto.
11791
11792         * glyphs.c (instantiate_image_instantiator): use domain rather
11793         than device.
11794         (mark_image_instance): device -> domain.
11795         (print_image_instance): ditto.
11796         (finalize_image_instance): ditto.
11797         (image_instance_equal): ditto.
11798         (allocate_image_instance): ditto.
11799         (Fcolorize_image_instance): ditto.
11800         (query_string_geometry): ditto.
11801         (image_instantiate): ditto
11802         (query_string_font): ditto.
11803         (image_instantiate): ditto.
11804         (update_subwindow): ditto.
11805         (unmap_subwindow): ditto.
11806         (map_subwindow): ditto.
11807         (subwindow_instantiate): ditto.
11808
11809         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
11810         (DOMAIN_FRAME): ditto.
11811         (DOMAIN_WINDOW): ditto.
11812         (DOMAIN_LIVE_P): ditto.
11813         (XDOMAIN_DEVICE): ditto.
11814         (XDOMAIN_FRAME): ditto.
11815         (XDOMAIN_WINDOW): ditto.
11816
11817         * specifier.c (Fvalid_specifier_domain_p): add image instances as
11818         a valid specifier domain.
11819
11820 2000-04-19  Andy Piper  <andy@xemacs.org>
11821
11822         * glyphs-widget.c (syms_of_glyphs_widget): remove
11823         widget-callback-current-channel.
11824         (vars_of_glyphs_widget): ditto.
11825         * glyphs.h: ditto
11826
11827         * gui.c (get_gui_callback): revert to previous behaviour.
11828
11829 2000-04-18  Andy Piper  <andy@xemacs.org>
11830
11831         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
11832         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
11833         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
11834
11835         * glyphs.c (image_instance_equal): add margin_width.
11836         (image_instance_hash): ditto.
11837
11838         * glyphs-widget.c (widget_instantiate): deal with margin-width.
11839         (layout_query_geometry): ditto.
11840         (layout_layout): ditto.
11841         (syms_of_glyphs_widget): add margin-width.
11842         (image_instantiator_layout): allow margin-width.
11843
11844         * glyphs.c (update_widget_instances): make a normal function.
11845         (syms_of_glyphs): remove Qupdate_widget_instances.
11846         * glyphs.h: ditto.
11847
11848         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
11849         so that we don't corrupt ideas about the last event or
11850         command. Remove widget-callback-current-channel fiddling.
11851         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11852
11853 2000-05-01  Martin Buchholz <martin@xemacs.org>
11854
11855         * XEmacs 21.2.33 is released.
11856
11857 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
11858
11859         * make-src-depend: Allow dots in header file name.
11860
11861 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
11862
11863         * mule-charset.h (struct charset_lookup): Add
11864         next_allocated_1_byte_leading_byte and
11865         next_allocated_2_byte_leading_byte.
11866         * mule-charset.c: Move above two variables so that those values
11867         will be dumped.
11868
11869 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
11870
11871         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
11872         when string length is zero.
11873         (find_charsets_in_emchar_string): Ditto.
11874
11875 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
11876
11877         * lisp.h: extern Qdialog and Qmenubar.
11878
11879         * gui-x.c: added events.h.
11880                 also fixed typo which made the file uncompilable.
11881
11882         * general.c: Added Qmenubar and Qdialog
11883
11884 2000-04-28  Ben Wing  <ben@xemacs.org>
11885
11886         * frame-msw.c (mswindows_init_frame_1):
11887         * frame-msw.c (mswindows_mark_frame):
11888         * event-msw.c (mswindows_enqueue_dispatch_event):
11889         * console-msw.h:
11890         * console-msw.h (struct mswindows_frame):
11891         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
11892         there are now three hash tables for callbacks.
11893         mswindows_enqueue_dispatch_event is no longer static.
11894
11895         * dialog-x.c (maybe_run_dbox_text_callback):
11896         * dialog-x.c (dbox_descriptor_to_widget_value):
11897         switch to new cons3 form for callbacks.
11898
11899         * glyphs-msw.c (mswindows_register_gui_item):
11900         * glyphs-msw.c (mswindows_widget_instantiate):
11901         * glyphs-msw.c (add_tree_item):
11902         * glyphs-msw.c (add_tab_item):
11903         new image instance parameter, so it can be passed to callback-ex.
11904         respect :callback-ex as well as :callback.
11905
11906         * glyphs-widget.c (VALID_GUI_KEYWORDS):
11907         add :callback-ex.
11908
11909         * glyphs.c (print_image_instance):
11910         prettify, e.g. now prints widget type.
11911
11912         * gui-x.h:
11913         certain funs have new image instance parameter.
11914
11915         * gui.c:
11916         * gui.c (get_gui_callback):
11917         * gui.c (gui_item_add_keyval_pair):
11918         * gui.c (gui_item_init):
11919         * gui.c (gui_add_item_keywords_to_plist):
11920         * gui.c (mark_gui_item):
11921         * gui.c (gui_item_hash):
11922         * gui.c (gui_item_equal):
11923         * gui.c (copy_gui_item):
11924         * gui.c (syms_of_gui):
11925         recognize callback-ex in a number of places.
11926         also, fix the annoying "can't get out of yes-no dialog" bug.
11927
11928         * gui.h:
11929         * gui.h (struct Lisp_Gui_Item):
11930         recognize callback-ex in a number of places.
11931
11932         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11933         new parameter in button_item_to_widget_value.
11934
11935         * glyphs-x.c (x_update_widget):
11936         * glyphs-x.c (x_button_instantiate):
11937         * glyphs-x.c (x_button_update):
11938         * glyphs-x.c (x_progress_gauge_instantiate):
11939         * glyphs-x.c (x_edit_field_instantiate):
11940         * glyphs-x.c (x_combo_box_instantiate):
11941         * glyphs-x.c (x_tab_control_instantiate):
11942         * glyphs-x.c (x_label_instantiate):
11943         new image instance parameter in various places.
11944
11945         * event-Xt.c:
11946         * event-Xt.c (enqueue_Xt_dispatch_event):
11947         this fun gets exported.
11948
11949         * gui-msw.c:
11950         * gui-msw.c (mswindows_handle_gui_wm_command):
11951         handle both :callback and :callback-ex, and generate our own
11952         event because it's one of the callback-ex arguments.
11953
11954         * gui-x.c:
11955         * gui-x.c (popup_selection_callback):
11956         handle both :callback and :callback-ex, and generate our own
11957         event because it's one of the callback-ex arguments.
11958         * gui-x.c (button_item_to_widget_value):
11959         * gui-x.c (gui_items_to_widget_values_1):
11960         * gui-x.c (gui_item_children_to_widget_values):
11961         * gui-x.c (gui_items_to_widget_values):
11962         new image instance parameter in various places.
11963
11964         * fns.c (Freplace_list):
11965         fix small typo in doc string.
11966
11967         * lisp.h:
11968         declare enqueue_Xt_dispatch_event.
11969
11970 2000-04-28  Ben Wing  <ben@xemacs.org>
11971
11972         * buffer.c:
11973         * buffer.c (Frecord_buffer):
11974         * buffer.c (syms_of_buffer):
11975         delete record-buffer-hook.
11976
11977         * fns.c:
11978         * fns.c (Freplace_list):
11979         * fns.c (syms_of_fns):
11980         new primitive replace-list.
11981
11982         * frameslots.h:
11983         slot for old buffer-alist.
11984
11985         * lisp.h:
11986         exfun replace-list.
11987
11988         * redisplay.c:
11989         * redisplay.c (redisplay_frame):
11990         * redisplay.c (syms_of_redisplay):
11991         * redisplay.c (vars_of_redisplay):
11992         new hook buffer-list-changed-hook.
11993         call it.
11994
11995 2000-04-27  Ben Wing  <ben@xemacs.org>
11996
11997         * extents.h: extern in_modeline_generation.
11998
11999         * redisplay.c (generate_formatted_string_db): set
12000         in_modeline_generation.
12001
12002         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12003         flags if in modeline generation.  otherwise frame-modified-tick
12004         is ticked far too often.
12005         Declare in_modeline_generation.
12006
12007 2000-04-26  Ben Wing  <ben@xemacs.org>
12008
12009         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12010         option.
12011         (vars_of_emacs): add quick-build as an error-checking option.
12012         A bit kludgy, but there doesn't seem much point in creating
12013         a real var for this.
12014
12015         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12016
12017 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12018
12019         * redisplay.h (struct display_line): Add a new variable,
12020         line_continuation.
12021
12022         * redisplay.c (create_text_block): Set dl->line_continuation if
12023         the line continues.
12024         (create_string_text_block): Ditto.
12025         (regenerate_window_incrementally): Use line_continuation instead
12026         of searching continuation glyph.
12027         (add_margin_runes): Call add_glyph_rune.
12028         (add_glyph_rune): Handle margin glyph.
12029
12030 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12031
12032         * filelock.c (fill_in_lock_file_name):
12033         ANSIfy.
12034         Check for IS_ANY_SEP instead of '/'.
12035         (lock_file_1):
12036         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12037         Never check errno without first seeing that system call failed.
12038         (unlock_file): Add GCPRO.
12039         (Flock_buffer): Fix docstring.
12040         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12041
12042 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12043
12044         * sysdep.c (get_pty_max_bytes):
12045         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12046         strings longer than 252 bytes.
12047
12048         * md5.c: Unconditionally include ANSI header <limits.h>
12049
12050         * glyphs-x.c (convert_EImage_to_XImage):
12051         * lisp-union.h (union Lisp_Object):
12052         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12053
12054 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12055
12056         * filelock.c (current_lock_owner): Remove unused variable o, p.
12057
12058 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12059
12060         * callint.c: Remove multiply defined symbol Qlet
12061         (syms_of_callint): ditto.
12062
12063 2000-04-14  Andy Piper  <andy@xemacs.org>
12064
12065         * general.c (syms_of_general): add last-command, this-command, let
12066         and funcall.
12067
12068         * lisp.h: declare various symbols.
12069
12070         * glyphs.h: declare Qwidget_callback_current_channel;
12071
12072         * glyphs-widget.c (syms_of_glyphs_widget): add
12073         Qgui_callback_current_channel.
12074         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12075
12076         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12077         widget-callback-current-channel when invoking the interactive
12078         arg. Also bind last-command and next-command when invoking the
12079         widget updates.
12080         * gui-x.c (popup_selection_callback): ditto.
12081
12082         * gui.c (get_gui_callback): massage args so that we are always
12083         calling eval. This allows us to add our own variable bindings
12084         outside.
12085
12086         * glyphs-x.c (x_button_instantiate): use
12087         gui_items_to_widget_values since this is GC safe.
12088         (x_progress_gauge_instantiate): ditto.
12089         (x_edit_field_instantiate): ditto.
12090         (x_label_instantiate): ditto.
12091
12092         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12093         (emacs_Xt_event_widget_focus_out): new function
12094         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12095         focus.
12096         (emacs_Xt_event_add_widget_actions): new function. add focus
12097         functions as actions.
12098         (init_event_Xt_late): use it.
12099
12100 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12101
12102         * event-stream.c (Fdispatch_event): Doc fix.
12103
12104 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12105
12106         * postgresql.c: Remove all references to PQsetenv*.
12107
12108         * postgresql.h: Remove references to PGsetenvHandler object.
12109         * lrecord.h (lrecord_type): Ditto.
12110
12111 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12112
12113         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12114         real_heigh and real_width members, and accessor macros for these.
12115
12116         * glyphs-msw.c (init_image_instance_geometry): New function.
12117         (init_image_instance_from_dibitmap): Use it.
12118         (mswindows_resource_instantiate): Use it.
12119         (init_image_instance_from_xbm_inline): Use it.
12120         (mswindows_initialize_image_instance_mask): Use real bitmap
12121         geometry.
12122         (mswindows_create_resized_bitmap): Ditto.
12123         (mswindows_create_resized_mask): Ditto.
12124
12125         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12126         and bitmap to their surface size.
12127
12128 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12129
12130         * process-unix.c (unix_send_process): Guard against process MIA
12131         after Faccept_process_output.
12132
12133 2000-04-11  Ben Wing  <ben@xemacs.org>
12134
12135         * eval.c (unbind_to_hairy): fix brokenness introduced by
12136         nanosecond speed improvements.
12137
12138 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12139
12140         * sunplay.c (init_device): To play sounds correctly, the device
12141         apparently needs to be initialized at least once by XEmacs.  Make
12142         it so.
12143
12144 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12145
12146         * redisplay.c (add_margin_runes): Add text image glyph
12147           handling.
12148
12149 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12150
12151         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12152         gcc is newer than 2.5.
12153
12154 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12155
12156         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12157
12158         * fns.c (size_bit_vector):
12159         * alloc.c (size_vector):
12160         (make_vector_internal):
12161         (make_bit_vector_internal):
12162         (sweep_bit_vectors_1):
12163         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12164
12165 2000-04-06  Andy Piper  <andy@xemacs.org>
12166
12167         * gmalloc.c (malloc): undo previous change.
12168         (malloc): ditto.
12169         (free): ditto.
12170         (realloc): ditto.
12171
12172 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12173
12174         * line-number.c (buffer_line_number): Revert to former version.
12175
12176 2000-04-06  Andy Piper  <andy@xemacs.org>
12177
12178         * gmalloc.c (malloc): add error checking.
12179         (malloc): ditto.
12180         (free): ditto.
12181         (realloc): ditto.
12182
12183         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12184         button_item_to_widget_value arg.
12185
12186         * glyphs-x.c (x_button_instantiate): add extra
12187         button_item_to_widget_value arg.
12188         (x_progress_gauge_instantiate): ditto.
12189         (x_edit_field_instantiate): ditto.
12190         (x_label_instantiate): ditto.
12191
12192         * gui-x.c (gui_items_to_widget_values_1): add extra
12193         button_item_to_widget_value arg.
12194         (button_item_to_widget_value): add extra menu_item_p arg.
12195
12196         * gui-x.h: change signature of button_item_to_widget_value.
12197
12198         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12199         button_item_to_widget_value arg.
12200
12201 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12202
12203         * buffer.h (struct buffer): auto_save_modified should be long.
12204
12205 2000-04-05  Andy Piper  <andy@xemacs.org>
12206
12207         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12208         type.
12209         (button_query_geometry): give a little more room so that athena
12210         buttons fit.
12211
12212 2000-04-05  Andy Piper  <andy@xemacs.org>
12213
12214         * faces.c (complex_vars_of_faces): The widget face should inherit
12215         the font of the gui-element face.
12216
12217 2000-04-04  Andy Piper  <andy@xemacs.org>
12218
12219         * glyphs-x.c (x_button_update): new function. unconditionally
12220         update a button's state when the instance is dirty.
12221         (image_instantiator_format_create_glyphs_x): add x_button_update.
12222         (x_widget_instantiate): remove old resize cruft.
12223
12224 2000-04-02  Andy Piper  <andy@xemacs.org>
12225
12226         * frame.c (change_frame_size_1): The introduction of gutters means
12227         that we need to allow 0 as a potential frame dimension.
12228
12229 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12230
12231         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12232         image glyph if allow_cursor.
12233         (add_hscroll_rune): Don't allow cursor to border glyph.
12234         (create_text_block): Ditto.
12235
12236         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12237         text not in buffer.
12238         (redisplay_output_layout): Call ensure_face_cachel_complete for
12239         text image glyph.
12240
12241
12242 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12243
12244         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12245
12246         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12247         not in buffer
12248
12249         * redisplay-tty.c (tty_output_display_block): Delete the routine
12250         for text image glyph
12251         * redisplay-x.c (x_output_display_block): ditto
12252         * redisplay-msw.c (mswindows_output_display_block): ditto
12253
12254 2000-02-02  Mike Alexander  <mta@arbortext.com>
12255
12256         Note: Some of these were committed by accident as part of other
12257         patches.
12258
12259         * regex.c (regex_compile): Avoid compiler warnings.
12260
12261         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12262
12263         * nt.h: Declare term_ntproc correctly.
12264
12265         * nt.c: Remove incorrect declaration of get_home_directory which
12266         is declared correctly in lisp.h.
12267
12268         * keymap.c (get_keyelt): Avoid compiler warnings.
12269         (raw_lookup_key_mapper): Avoid compiler warnings.
12270
12271         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12272
12273         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12274
12275         * filemode.c (mode_string): Avoid compiler warnings.
12276
12277         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12278         avoid warning.
12279
12280         * events-mod.h: Undef some things that winuser.h defines differently.
12281
12282         * data.c (Faset): Avoid compiler warnings.
12283
12284         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12285
12286 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12287
12288         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12289         Fall through to simple beep on error.
12290         Replace "extern" by real header file.
12291
12292         * linuxplay.c: Use nativesound.h
12293         (play_sound_data): Return error code. Be less verbose on error.
12294
12295         * sunplay.c: Use nativesound.h
12296         (play_sound_data): Return error code. Be less verbose on error.
12297
12298         * ntplay.c: Use nativesound.h
12299         (play_sound_data): Return fake error code
12300
12301         * sgiplay.c: Use nativesound.h
12302         (play_sound_data): Return error code
12303
12304         * hpplay.c: Use nativesound.h, partially implement
12305         new error code. Break compilation until finished.
12306         (play_sound_data): error code.
12307
12308         * nativesound.h (play_sound_file):
12309           (play_sound_data): Prototype in new header.
12310
12311 2000-03-31  Andy Piper  <andy@xemacs.org>
12312
12313         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12314         for toggle and radio buttons.
12315         (image_instantiator_buttons): use it.
12316
12317 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12318
12319         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12320         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12321         found. Scrollbar event probably belonged to some old config.
12322
12323 2000-03-31  Andy Piper  <andy@xemacs.org>
12324
12325         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12326         than 1.
12327         (initialize_widget_image_instance): default layout to
12328         LAYOUT_HORIZONTAL rather than 0.
12329         (widget_instantiate): reverse the item list at the end rather than
12330         every iteration.
12331         (layout_layout): re-code for the border text at the front of the
12332         item list rather than at the end.
12333         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12334         provided by the user.
12335         (widget_query_geometry): comment.
12336
12337 2000-03-30  Andy Piper  <andy@xemacs.org>
12338
12339         * glyphs-widget.c (image_instantiator_layout): allow standard
12340         widget keywords in layouts.
12341
12342         * gutter.c (output_gutter): cope with nil gutter contents.
12343
12344         * frame.c (Fset_frame_properties): add gutter docs.
12345
12346 2000-03-29  Andy Piper  <andy@xemacs.org>
12347
12348         * toolbar-msw.c (TBSTYLE_FLAT): add.
12349         (mswindows_output_toolbar): minor fiddling.
12350
12351 2000-03-29  Andy Piper  <andy@xemacs.org>
12352
12353         * gutter.c (output_gutter): force gutter size recalculation if
12354         what we are trying to display won't fit.
12355         (update_gutter_geometry): new function. A per-gutter version of
12356         update_frame_gutter_geometry.
12357         (update_frame_gutter_geometry): use it.
12358         (redraw_exposed_gutter): add extra debugging output.
12359
12360 2000-03-28  Mike Alexander  <mta@arbortext.com>
12361
12362         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12363         (pdump_file_unmap): Implement it on Windows
12364         (pdump_file_get): Save alocated handles for pdump_file_unmap
12365
12366 2000-03-28  Andy Piper  <andy@xemacs.org>
12367
12368         * gui.c (get_gui_callback): treat Quit specially.
12369
12370 2000-03-27  Andy Piper  <andy@xemacs.org>
12371
12372         * glyphs.c (image_instantiate): be careful to check in the same
12373         way we assigned.
12374
12375 2000-03-27  Didier Verna  <didier@xemacs.org>
12376
12377         * config.h.in: define the proper SMART_INCLUDE macro.
12378         handle renaming of `foo_h_path' to `foo_h_file'.
12379
12380         * database.c: ditto.
12381
12382         * emacs.c: ditto.
12383
12384         * linuxplay.c: ditto.
12385
12386         * terminfo.c: ditto.
12387
12388         * tooltalk.h: ditto.
12389
12390 2000-03-27  Andy Piper  <andy@xemacs.org>
12391
12392         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12393         gets updated whenever the face might have changed.
12394
12395 2000-03-26  Mike Alexander  <mta@arbortext.com>
12396
12397         * dumper.c (pdump_resource_free): Fix the comment.
12398
12399 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12400
12401         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12402
12403 2000-03-22  Mike Alexander  <mta@arbortext.com>
12404
12405         * dumper.c: Include Windows headers on Windows
12406         (pdump_resource_free): Add a body to the function
12407         (pdump_load): exe_name -> exe_path and add some comments.
12408
12409 2000-03-25  Mike Alexander  <mta@arbortext.com>
12410
12411         * gui.c (copy_gui_item_tree): Return a value in all cases
12412
12413 2000-03-21  Didier Verna  <didier@xemacs.org>
12414
12415         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12416         lwlib/config.h.in.
12417         (SMART_INCLUDE): new macro.
12418         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12419         the proper location.
12420
12421         * postgresql.c: use it.
12422
12423         * inline.c: ditto.
12424
12425 2000-03-24  Andy Piper  <andy@xemacs.org>
12426
12427         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12428         do this.
12429
12430 2000-03-24  Andy Piper  <andy@xemacs.org>
12431
12432         * redisplay-output.c (compare_runes): use image_instance_changed
12433         to detect changes. Do not depend on glyphs_changed, only depend on
12434         dirtiness.
12435          (redisplay_output_layout): add debug messages.
12436         (compare_runes): ditto.
12437
12438         * glyphs.h: declare new functions.
12439         (struct Lisp_Image_Instance): remove percent and associated
12440         accessors.
12441
12442         * gui.h: declare new copying functions.
12443
12444         * gui.c (copy_gui_item_tree): new function.
12445         (copy_gui_item): new function.
12446         (gui_item_id_hash): revert to standard hash.
12447         (gui_item_hash): ditto.
12448         (gui_item_hash_internal): deleted.
12449         (mark_gui_item): mark value.
12450         (gui_item_add_keyval_pair): add value.
12451         (gui_item_init): ditto.
12452         (gui_add_item_keywords_to_plist): ditto.
12453         (gui_item_equal): ditto.
12454         (syms_of_gui): add Q_value.
12455
12456         * glyphs-x.c (x_progress_gauge_update): use pending items and
12457         value for setting the state.
12458         (x_update_widget): don't set items from pending here.
12459
12460         * glyphs-widget.c (update_widget): update items here.
12461         (progress_gauge_set_property): use items for storing value. Put
12462         new value in pending items.
12463
12464         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12465         items for new value. Convert percent -> value.
12466         (mswindows_tab_control_update): don't update items here.
12467
12468         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12469         (update_subwindow): ditto.
12470         (image_instance_changed): new function. Compare hash values and
12471         past and present widget items.
12472         (image_instantiate): We more careful about where we instantiate
12473         things.
12474         (image_instantiate): add error checking.
12475
12476         * gutter.c (syms_of_gutter): use -hook.
12477
12478 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12479
12480         * console-tty.c (Fset_console_tty_input_coding_system): Use
12481         Qkeyboard.
12482         (Fset_console_tty_output_coding_system): Use Qterminal.
12483         (tty_init_console): Use Qkeyboard and Qterminal.
12484
12485 2000-03-21  Ben Wing  <ben@xemacs.org>
12486
12487         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12488         From Mike Alexander <mta@arbortext.com>.
12489
12490 2000-03-21  Ben Wing  <ben@xemacs.org>
12491
12492         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12493         process brokenness.  Proper implementation to come.
12494         * callproc.c:
12495         Rename call-process-internal to old-call-process-internal.
12496         New impl. in process.el.
12497
12498 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12499
12500         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12501
12502 2000-03-20  Andy Piper  <andy@xemacs.org>
12503
12504         * glyphs.c (full_list_hash): make hashes of the same elements in
12505         different orders return different values.
12506
12507 2000-03-20  Martin Buchholz <martin@xemacs.org>
12508
12509         * XEmacs 21.2.32 is released.
12510
12511 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12512
12513         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12514         (DFC_MALLOC_USE_CONVERTED_DATA):
12515         Add aliasing-safe casts to allow use with char* or unsigned char*
12516         lvalues.
12517
12518         * eldap.c (Fldap_open):
12519         (Fldap_search_basic):
12520         (Fldap_add):
12521         (Fldap_modify):
12522         Make C++-compilable.
12523         Make sure GCPRO'ed variables are initialized.
12524         Use temp variables to avoid repeated calls to Flength.
12525
12526 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12527
12528         * sysfile.h:
12529         Make sure PATH_MAX is always defined.
12530         Include limits.h for PATH_MAX.
12531         Deprecate use of MAXPATHLEN.
12532
12533 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12534
12535         * emacs.c: Add reinit_vars_of_fileio.
12536         * symsinit.h: Add reinit_vars_of_fileio.
12537         * fileio.c (reinit_vars_of_fileio): New.
12538         * fileio.c (Fmake_temp_name):
12539         Initialize temp_name random number from microseconds to make
12540         collisions even less likely.  Initialize always at process startup
12541         time.  (make-temp-name) used to return the same file name twice in
12542         a row when PDUMP.
12543         Random stylistic fiddling.
12544         Comment fixes.
12545
12546 2000-03-20  Andy Piper  <andy@xemacs.org>
12547
12548         * glyphs.c (image_instantiate): allow text glyphs to be
12549         instantiated in the minibuffer window.
12550
12551 2000-03-19  Andy Piper  <andy@xemacs.org>
12552
12553         * glyphs.c (image_instance_hash): be careful about which items we
12554         hash on.
12555
12556         * glyphs-widget.c (tab_control_set_property): record into pending
12557         items rather than the actual items.
12558
12559         * glyphs-x.c (x_update_widget): use pending items to update with.
12560
12561         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12562         to update with.
12563
12564         * glyphs.c (mark_image_instance): mark pending items.
12565
12566         * window.c (Fset_window_configuration): record the buffer.
12567         (Fselect_window): totally revert previous change which breaks many
12568         things.
12569
12570 2000-03-18  Andy Piper  <andy@xemacs.org>
12571
12572         * glyphs-msw.c (mswindows_tab_control_update): force selected
12573         item.
12574
12575         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12576         window domain cache, otherwise we get inconsistencies at
12577         startup. There is something fishy at startup which can lead to the
12578         minibuffer being the selected window when the gutter content is
12579         instantiated.
12580
12581         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12582         gcpros.
12583         (parse_gui_item_tree_children): ditto.
12584         (parse_gui_item_tree_item): ditto.
12585
12586         * glyphs.c (Fupdate_widget_instances): return something.
12587
12588 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12589
12590         * window.c (Fselect_window): Undo 2000-03-17 change.
12591
12592 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12593
12594         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12595         against v7.0 libraries.  Insta-coredump city until the postgres
12596         folks fix it.
12597
12598 2000-03-17  Andy Piper  <andy@xemacs.org>
12599
12600         * faces.c (complex_vars_of_faces): don't give the widget face an
12601         inherited background pixmap.
12602
12603         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12604         selected item.
12605
12606         * event-stream.c (Fdispatch_non_command_events): return something.
12607
12608         * gutter.c (output_gutter): use widget face.
12609         (clear_gutter): ditto.
12610
12611         * NEWS: adjust again.
12612
12613         * window.c (Fselect_window): make sure this runs to completion to
12614         avoid oddities with Fset_window_configuration.
12615         (Fcurrent_window_configuration): in general do not save the
12616         minibuffer as the selected window.
12617
12618         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12619
12620 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12621
12622         * emacs.c (Frunning_temacs_p): Revert previous patch.
12623         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12624
12625 2000-03-16  Andy Piper  <andy@xemacs.org>
12626
12627         * glyphs-x.c (x_tab_control_update): if no widget values then
12628         return.
12629
12630         * NEWS: update for new features.
12631
12632         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12633         synthetic event to the native system.
12634         (reinit_vars_of_event_Xt): set force_event_pending to
12635         emacs_Xt_force_event_pending.
12636
12637         * events.h (struct event_stream): add force_event_pending.
12638
12639         * specifier.c (recompute_one_cached_specifier_in_window): add
12640         comment.
12641
12642         * redisplay.c (redisplay_frame): don't call
12643         update_frame_subwindows. Reset subwindow cachels when
12644         subwindows_changed, removing this was an optimization too far.
12645
12646         * redisplay-output.c (compare_runes): reorganize so that we catch
12647         glyph changes when we want them. Set optimize_output when this
12648         would help layouts.
12649         (redisplay_output_layout): remove frame_really_changed, use
12650         optimize_output instead.
12651
12652         * redisplay-msw.c (mswindows_output_display_block): reset
12653         optimize_output after outputting a glyph.
12654         * redisplay-x.c (x_output_display_block): ditto.
12655         * redisplay-tty.c (tty_output_display_block): ditto.
12656
12657         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12658         functions.
12659         (gutter_specs_changed): do specific gutter positions.
12660         (top_gutter_specs_changed): new function. Only update the
12661         specified gutter specs.
12662         (bottom_gutter_specs_changed): ditto.
12663         (left_gutter_specs_changed): ditto.
12664         (right_gutter_specs_changed): ditto.
12665
12666         * gui.c (gui_item_hash_internal): new function, does a real hash.
12667         (gui_item_id_hash): use it.
12668         (gui_item_hash): hash the eval'ed gui_item.
12669
12670         * gui-x.c (popup_selection_callback): send an eval event to call
12671         Fupdate_widget_instances.
12672
12673         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12674         to call Fupdate_widget_instances.
12675
12676         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12677         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12678
12679         * glyphs.c: (update_frame_subwindows): deleted.
12680         (Fupdate_widget_instances): new function for updating the dirty
12681         state of widgets that might have changed.
12682         (syms_of_glyphs): add Qupdate_widget_instances.
12683         (full_list_hash): hash a list completely.
12684         (image_instance_hash): use it for items and properties.
12685
12686         * frame-msw.c (mswindows_size_frame_internal): remove unused
12687         variable.
12688
12689         * faces.h (struct face_cachel): fix comment.
12690
12691         * event-stream.c (Fdispatch_non_command_events): new
12692         function. Process non-command events, forcing an event cycle
12693         beforehand.
12694         (syms_of_event_stream): declare.
12695         (event_stream_force_event_pending): new function. Force an event
12696         on the native event queue so that an event cycle will occur next
12697         time we check.
12698
12699         * event-msw.c:
12700         (struct ntpipe_shove_stream):
12701         (mswindows_enqueue_dispatch_event):
12702         (mswindows_dequeue_dispatch_event):
12703         (mswindows_cancel_dispatch_event):
12704         (mswindows_pump_outstanding_events):
12705         (mswindows_drain_windows_queue):
12706         (mswindows_handle_paint):
12707         (mswindows_wnd_proc):
12708         (mswindows_key_to_emacs_keysym):
12709         (get_process_input_waitable):
12710         (emacs_mswindows_delete_stream_pair): re-indent file.
12711         (mswindows_need_event): do not process further fds if the windows
12712         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12713         fixes the 100% cpu problem.
12714         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12715
12716 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12717
12718         * alloc.h: New.
12719         * dumper.h: New.
12720         * dumper.c: New.
12721
12722         * emacs.c: Moved dump file searching to dumper.c.
12723         (Frunning_temacs_p): Fixed.
12724
12725         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12726         last_lrecord_type_index_assigned.
12727
12728 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12729
12730         * symsinit.h: Added reinit parameter to init_console_stream
12731         declaration.
12732
12733         * lisp.h: Added file parameter to pdump_load declaration.
12734
12735         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12736         support.  Added dump file searching.
12737
12738         * config.h.in: Added EMACS_PROGNAME.
12739
12740         * console-stream.c (init_console_stream): Fix reinitialisation
12741         when running from temacs.
12742
12743         * alloc.c (pdump): Add id support.
12744         (pdump_load): Add file parameter and signature/id support.
12745
12746         * Makefile.in.in: Add full pdump support.
12747
12748 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12749
12750         * postgresql.c: Update documentation to reflect latest code
12751         status.
12752         (print_result): Show tuple counts in printed representation when
12753         appropriate.
12754         (Fpq_put_nbytes): MULE-ize.
12755         (Fpq_get_line_async): Ditto.
12756
12757 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12758
12759         * postgresql.c (Fpq_lo_import): Fix return value.
12760         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12761
12762 2000-03-13  Ben Wing  <ben@xemacs.org>
12763
12764         * alloc.c (pdump_load):
12765         Fix compile warning under mswin.
12766
12767 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12768
12769         * postgresql.c: Mule-ization, bug fixes.
12770         Use PG_CODING to encapsulate coding system name changes.
12771         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12772         (pg-coding-system): Create.
12773
12774         (Fpq_conn_defaults): Mule-ize.
12775         (Fpq_connectdb): Mule-ize & bug fix.
12776         (Fpq_connect_start): Mule-ize.
12777         (Fpq_set_client_encoding): Mule-ize.
12778         (Fpq_finish): Document `DEAD' connection status.
12779         (Fpq_clear): Ditto.
12780         (Fpq_pgconn): Mule-ize.
12781         (Fpq_exec): Mule-ize & bug fix.
12782         (Fpq_send_query): Ditto.
12783         (Fpq_get_result): Ditto.
12784         (Fpq_res_status): Mule-ize.
12785         (Fpq_result_error_message): Mule-ize.
12786         (Fpq_ntuples): fix comments.
12787         (Fpq_fname): Mule-ize.
12788         (Fpq_fnumber): Mule-ize.
12789         (Fpq_ftype): fix comments.
12790         (Fpq_get_value): Mule-ize.
12791         (Fpq_cmd_status): Ditto.
12792         (Fpq_cmd_tuples): Ditto.
12793         (Fpq_oid_value): Ditto.
12794         (Fpq_notifies): Ditto.
12795         (Fpq_lo_import): Ditto.
12796         (Fpq_lo_export): Ditto.
12797         (Fpq_get_line): Ditto.
12798         (Fpq_put_line): Mule-ize and bug fix.
12799         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12800
12801 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12802
12803         * postgresql.c (vars_of_postgresql): Mule-ize.
12804         (Fpq_conn_defaults): Ditto.
12805
12806 2000-03-12  Ben Wing  <ben@xemacs.org>
12807
12808         * alloc.c (Fmake_byte_code):
12809         * alloc.c (debug_string_purity_print):
12810         * alloc.c (pdump_backtrace):
12811         * alloc.c (pdump_get_indirect_count):
12812         * alloc.c (pdump_register_sub):
12813         * alloc.c (pdump_register_object):
12814         * alloc.c (pdump_register_struct):
12815         * alloc.c (pdump_dump_data):
12816         * alloc.c (pdump_reloc_one):
12817         Minor cleanups.
12818
12819         * console-msw.c:
12820         * console-msw.c (GetConsoleHwnd):
12821         * console-msw.c (msw_hide_console):
12822         * console-msw.c (msw_show_console):
12823         * console-msw.c (msw_ensure_console_buffered):
12824         * console-msw.c (msw_output_console_string):
12825         * console-msw.c (console_type_create_mswindows):
12826
12827         a) Added functions to manipulate the console window for use with
12828         shell support.
12829
12830         b) Added support for writing text to the console, which is now
12831         used under Windows when xemacs is not being run non-interactively,
12832         to write text that would otherwise be destined for stdout because
12833         under these circumstances, text written to stdout tends to
12834         disappear and not be seen.
12835
12836         * console-msw.h:
12837         * event-Xt.c:
12838         * event-Xt.c (x_event_to_emacs_event):
12839         * event-Xt.c (describe_event_window):
12840         * events-mod.h (XEMACS_MOD_CONTROL):
12841         * events.c:
12842         * events.c (Fmake_event):
12843         * events.c (character_to_event):
12844         * events.c (event_to_character):
12845         * events.c (format_event_object):
12846         * events.c (Fevent_modifiers):
12847         * events.h:
12848         * events.h (struct key_data):
12849         * events.h (struct button_data):
12850         * events.h (struct misc_user_data):
12851         * frame-x.c (Fcde_start_drag_internal):
12852         * frame-x.c (Foffix_start_drag_internal):
12853         * gpmevent.c (Freceive_gpm_event):
12854         * keymap.c:
12855         * keymap.c (bucky_sym_to_bucky_bit):
12856         * keymap.c (control_meta_superify):
12857         * keymap.c (make_key_description):
12858         * keymap.c (keymap_lookup_directly):
12859         * keymap.c (create_bucky_submap):
12860         * keymap.c (keymap_store):
12861         * keymap.c (define_key_check_and_coerce_keysym):
12862         * keymap.c (define_key_parser):
12863         * keymap.c (define_key_alternate_name):
12864         * keymap.c (Fdefine_key):
12865         * keymap.c (raw_lookup_key_mapper):
12866         * keymap.c (struct map_keymap_unsorted_closure):
12867         * keymap.c (map_keymap_unsorted_mapper):
12868         * keymap.c (map_keymap_sort_predicate):
12869         * keymap.c (map_keymap_sorted):
12870         * keymap.c (accessible_keymaps_mapper_1):
12871         * keymap.c (where_is_recursive_mapper):
12872         * keymap.c (describe_map_mapper):
12873         * keymap.c (describe_map_sort_predicate):
12874         * keymap.c (describe_map):
12875         * keymap.c (complex_vars_of_keymap):
12876         And a number of other files, the key modifier preprocessor
12877         constants that xemacs uses have names that conflict with constants
12878         defined under MS Windows for other purposes, so they were renamed
12879         to begin with the prefix XEMACS_. The variables that hold such
12880         modifiers were changed to consistently be of type int to fix
12881         various compile warnings.
12882
12883         * console.c (complex_vars_of_console):
12884         * device.c:
12885         * device-msw.c:
12886         * device-msw.c (mswindows_finish_init_device):
12887         * device-msw.c (msw_get_workspace_coords):
12888         * device-msw.c (mswindows_device_system_metrics):
12889         and various other files, added support for a new
12890         device property called offset-workspace which returns the position
12891         of the upper left corner of the workspace area and goes along with
12892         the existing size-workspace property.
12893
12894         * dialog-msw.c:
12895         * dialog-msw.c (push_bufbyte_string_as_unicode):
12896         * dialog-msw.c (mswindows_popup_dialog_box):
12897         Added support for XEmacs-style accelerator specifications in
12898         button text.  Note: I didn't add support for this under X Windows,
12899         and somebody needs to do this.
12900
12901         * dialog.c:
12902         * dialog.c (Fpopup_dialog_box):
12903         Documented the support for accelerators that was just mentioned.
12904
12905         editfns.c (get_home_directory): Changed behavior under Windows
12906         when HOME not defined; former behavior was irretrievably broken.
12907
12908         * emacs.c:
12909         * emacs.c (main_1):
12910         * emacs.c (main):
12911         * minibuf.c (clear_echo_area_internal):
12912         * minibuf.c (echo_area_append):
12913         * print.c:
12914         * print.c (std_handle_out_external):
12915         * print.c (std_handle_out_va):
12916         * print.c (fatal):
12917         * print.c (write_string_to_stdio_stream):
12918         * print.c (output_string):
12919         * print.c (debug_print):
12920         * print.c (debug_backtrace):
12921         * print.c (debug_short_backtrace):
12922         Cleaned up the code that prints text to stdout so that this can be
12923         changed to output into a console window instead under MS Windows,
12924         as described above.
12925
12926         * eval.c:
12927         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
12928         * eval.c (internal_catch):
12929         * eval.c (unwind_to_catch):
12930         * eval.c (throw_or_bomb_out):
12931         * eval.c (condition_case_1):
12932         * eval.c (signal_1):
12933         * eval.c (check_error_state_sanity):
12934         * eval.c (call_with_suspended_errors_1):
12935         * eval.c (call_with_suspended_errors):
12936         * eval.c (reinit_vars_of_eval):
12937         Added code to catch throw loops and check for a pesky bug that may
12938         be gone now.
12939
12940         * event-msw.c:
12941         * event-msw.c (key_needs_default_processing_p):
12942         * event-msw.c (mswindows_wnd_proc):
12943         * event-msw.c (mswindows_modifier_state):
12944         * event-msw.c (emacs_mswindows_quit_p):
12945         * event-msw.c (vars_of_event_mswindows):
12946         a) Added support for using the alt key to select menu items as is
12947         standard under MS Windows.  This is controlled using the variable
12948         menu-accelerator-enabled, just like under X Windows.  There is an
12949         option on the options menu to turn this support on.  I really
12950         think that it should be on by default under Windows, but I'm not
12951         going to make this change yet.
12952
12953         b)  Added support for dynamic display size changes under Windows.
12954
12955         * event-stream.c:
12956         * event-stream.c (maybe_echo_keys):
12957         * event-stream.c (Fnext_event):
12958         * event-stream.c (command_builder_find_leaf):
12959         * event-stream.c (lookup_command_event):
12960         * event-stream.c (execute_command_event):
12961         * event-stream.c (pre_command_hook):
12962         * event-stream.c (post_command_hook):
12963         * event-stream.c (syms_of_event_stream):
12964         * event-stream.c (vars_of_event_stream):
12965         * event-stream.c (complex_vars_of_event_stream):
12966         * events.h (struct command_builder):
12967
12968         a) Tried to clean up a little bit the horribly written x-specific
12969         accelerator code that crept into this file.  I moved this code
12970         into menubar-x.c where it belongs. I also needed to move the
12971         command builder structure into the file events.h because it is
12972         accessed directly by this accelerator code.  What I didn't do, but
12973         which should be done at some point, is to properly abstract this
12974         code using device methods instead of the kludgy way that it
12975         currently hooks into the event code.
12976
12977         b) Added the lisp variables this-command-properties and
12978         last-command- properties, which should be used to synchronize two
12979         adjacent commands in preference to playing games with the variable
12980         this-command, which is typically what happens.
12981
12982         c) Added some slightly nasty code to hook into the lisp support
12983         for shifted- motion-key selection.  This is actually necessary for
12984         somewhat complicated reasons, which are described in
12985         simple.el. (NB: I think the proper thing would be to have the code
12986         that calls the pre and post command hooks also call out to generic
12987         lisp functions in simple.el, where all built-in stuff could be
12988         added.  I will think about this more.)
12989
12990         * event-unixoid.c (poll_fds_for_input):
12991         * lread.c (readchar):
12992         * redisplay-tty.c (tty_clear_frame):
12993         * redisplay-x.c (x_get_gc):
12994         * signal.c (interrupt_signal):
12995         And a whole bunch of other files: fixed up places that printed
12996         directly to stderr to instead call the function stderr_out so that
12997         the changes I made under Windows work correctly.
12998
12999         * filemode.c (mode_string):
13000         Warning fixes.
13001
13002         * frame-msw.c:
13003         * frame-msw.c (mswindows_size_frame_internal):
13004         Fixed the computation of frame size and position to keep the frame
13005         within the workspace area, rather than within the physical
13006         dimensions of the screen, so that the frame doesn't overlap window
13007         manager decorations, such as the start menu and toolbar, typically
13008         at the bottom of the screen.
13009
13010         * frame.c (vars_of_frame):
13011         Changed the default frame title format under MS Windows to consist
13012         of buffername-XEmacs, which is standard under MS Windows.  I think
13013         it might be a good idea to change this everywhere because I think
13014         it is superior to the current frame title format, but this is the
13015         kind of change that is likely to cause some people to get annoyed,
13016         so I'm not making it.
13017
13018         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13019
13020         * gui-msw.c (mswindows_handle_gui_wm_command):
13021         Fixed compile warnings.
13022
13023         * gui-x.c:
13024         * gui-x.c (strdup_and_add_accel):
13025         * gui-x.c (button_item_to_widget_value):
13026         * gui-x.h:
13027         Added code to automatically put an accelerator onto the beginning
13028         of menu items that don't have one as is now the standard, and is
13029         described more later.  Also fixed things so that the menu item
13030         name can be an evaluated expression, again a new standard.
13031
13032         * gui.c:
13033         * gui.c (gui_item_add_keyval_pair):
13034         * gui.c (make_gui_item_from_keywords_internal):
13035         * gui.c (gui_add_item_keywords_to_plist):
13036         * gui.c (gui_item_accelerator):
13037         * gui.c (gui_name_accelerator):
13038         * gui.c (gui_item_included_p):
13039         * gui.c (gui_item_display_flush_left):
13040         * gui.c (gui_item_display_flush_right):
13041         * gui.c (parse_gui_item_tree_item):
13042         * gui.c (parse_gui_item_tree_children):
13043         * gui.c (parse_gui_item_tree_list):
13044         Mule-ized.  Cleanup.  GCPRO addition.
13045
13046         * line-number.c (buffer_line_number):
13047         * lisp.h:
13048         * lisp.h (EMACS_INT_MAX):
13049         Added the manifest constant EMACS_INT_MIN corresponding to the
13050         existing constant EMACS_INT_MAX.  This is partially to fix compile
13051         warnings under Windows, and partly for cleanliness.
13052
13053         * menubar-msw.c:
13054         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13055         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13056         * menubar-msw.c (displayable_menu_item):
13057         * menubar-msw.c (populate_menu_add_item):
13058         * menubar-msw.c (populate_or_checksum_helper):
13059         * menubar-msw.c (populate_menu):
13060         * menubar-msw.c (update_frame_menubar_maybe):
13061         * menubar-msw.c (prune_menubar):
13062         * menubar-msw.c (msw_char_is_accelerator):
13063         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13064         * menubar-msw.c (mswindows_handle_wm_command):
13065         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13066         * menubar-msw.c (mswindows_handle_wm_initmenu):
13067         * menubar-msw.c (mswindows_update_frame_menubars):
13068         * menubar-msw.c (mswindows_free_frame_menubars):
13069         * menubar-msw.c (mswindows_popup_menu):
13070         Fixed a bug in handling accelerators where an extra character
13071         would be displayed in the menu item.  Also generalized the
13072         function displayable_menu_item because it is now used by the
13073         dialog box code as well.  And finally, added code in the functions
13074         that create the menubar to extract a list of accelerators for the
13075         top level menubar, which is used in the event code to determine
13076         whether a particular alt-key combination should be used to invoke
13077         a menu item, or should be passed through to access the standard
13078         XEmacs keymap binding for this key combination.
13079
13080         Much needed GCPROing.
13081
13082         * menubar-x.c:
13083         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13084         * menubar-x.c (menu_item_descriptor_to_widget_value):
13085         * menubar-x.c (restore_in_menu_callback):
13086         * menubar-x.c (x_popup_menu):
13087         * menubar-x.c (menu_move_up):
13088         * menubar-x.c (menu_move_down):
13089         * menubar-x.c (menu_move_left):
13090         * menubar-x.c (menu_move_right):
13091         * menubar-x.c (menu_select_item):
13092         * menubar-x.c (command_builder_operate_menu_accelerator):
13093         * menubar-x.c (menu_accelerator_junk_on_error):
13094         * menubar-x.c (command_builder_find_menu_accelerator):
13095         * menubar-x.c (Faccelerate_menu):
13096         * menubar.h:
13097         Moved a whole bunch of code here that was previously in
13098         event-stream.c as described above.  There is also code connected
13099         to the new standard of adding an accelerator to the beginning of
13100         menu items that don't have one as described above and below.
13101
13102         * menubar.c:
13103         * menubar.c (menu_parse_submenu_keywords):
13104         * menubar.c (Fmenu_find_real_submenu):
13105         * menubar.c (Fnormalize_menu_item_name):
13106         * menubar.c (syms_of_menubar):
13107         * menubar.c (vars_of_menubar):
13108         * menubar.c (complex_vars_of_menubar):
13109
13110         a) Cleaned up a bunch of documentation and improved it.
13111
13112         b) XEmacs now automatically adds an accelerator onto the beginning
13113         of any menu items that don't have one.  I did this because there
13114         will inevitably be some menu items on the main menubar that don't
13115         have accelerators on them because the package that adds that
13116         particular menu item hasn't yet been fixed up to have accelerators
13117         in them and it looked rather strange to have some items with and
13118         some items without accelerators, especially since even in items
13119         without accelerators, you can, at least under windows, still
13120         access the item through an accelerator corresponding to the first
13121         character in the item's name.  If people don't like this behavior,
13122         I can add a variable to turn it off optionally, but I'm not sure
13123         this is a good idea because we really do need to have accelerators
13124         on all of the menu items, and if a package doesn't like the
13125         accelerators being put on the first character, then it should put
13126         the accelerators where they belong.
13127
13128         c) I made a behavior change, which is that the descriptor that
13129         specifies the text of the menu item, which formerly was just a
13130         string, can now also be an evaluated expression.  This makes this
13131         descriptor parallel with all of the others, which could also be
13132         evaluated expressions.  This also obviates the need for the
13133         keyword :label, which was previously listed in the documentation
13134         as unimplemented, and which was for the same purpose.
13135
13136         d) GCPROing.
13137
13138         * ntproc.c:
13139         * ntproc.c (new_child):
13140         * ntproc.c (sys_spawnve):
13141         * ntproc.c (find_child_console):
13142         * ntproc.c (sys_kill):
13143         Fixed compile warnings.  By the way, this file should really go
13144         away entirely, and this will happen as soon as Kirill makes his
13145         final round of process cleanups, which affect the function
13146         call-process.
13147
13148         * process-nt.c:
13149         * process-nt.c (struct nt_process_data):
13150         * process-nt.c (find_process_from_pid):
13151         * process-nt.c (send_signal_the_nt_way):
13152         * process-nt.c (enable_child_signals):
13153         * process-nt.c (find_child_console):
13154         * process-nt.c (send_signal_the_95_way):
13155         * process-nt.c (nt_finalize_process_data):
13156         * process-nt.c (ensure_console_window_exists):
13157         * process-nt.c (nt_create_process):
13158         * process-nt.c (nt_kill_child_process):
13159         * process-nt.c (nt_kill_process_by_pid):
13160         * process-nt.c (nt_open_network_stream):
13161         * process-nt.c (vars_of_process_nt):
13162         Copied over code from Emacs 20.5 to correctly send signals to sub-
13163         processes under Windows 95.  Also added code to automatically
13164         create and hide console window when a sub-process is created under
13165         Windows 95, which obviates the need for the separate runemacs.exe
13166         executable, and finally implemented some variables that were
13167         implemented in Emacs 20.5, but previously not in XEmacs.  These
13168         include mswindows- start-process-share-console and
13169         mswindows-start-process-inherit-error-mode. (Both of these only
13170         apply to Windows 95.)
13171
13172         * regex.c (regex_compile): Fixed a compile warning.
13173
13174         * select-msw.c:
13175         * select-msw.c (mswindows_own_selection):
13176         * select-msw.c (mswindows_get_foreign_selection):
13177         * select-msw.c (mswindows_disown_selection):
13178         * select-msw.c (console_type_create_select_mswindows):
13179         * select-msw.c (syms_of_select_mswindows):
13180         Cleaned up the file and implemented the device method
13181         selection_exists_p, which had accidentally been left out.  Also
13182         removed four lisp functions that were remnants from before the
13183         time when the selection code was properly device abstracted.
13184         These functions are no longer needed because there are generic
13185         equivalents, and because they were added recently and don't exist
13186         in FSF Emacs, I don't think there's any problem with just deleting
13187         them.
13188
13189         * sysdep.c:
13190         * sysdep.c (sys_subshell):
13191         Fixed a compile warning, although in this case there's probably
13192         something wrong with this code, and it ought to be looked into
13193         more thoroughly by somebody who understands it.
13194
13195         * window.c:
13196         * window.c (Fwindow_text_area_height):
13197         * window.c (Fwindow_width):
13198         * window.c (Fwindow_full_width):
13199         * window.c (Fwindow_pixel_width):
13200         * window.c (debug_print_window):
13201         * window.c (syms_of_window):
13202         Added functions window-text-area-height and window-full-width,
13203         which are functions for returning various width and height
13204         characteristics of a window. (One of these functions is necessary
13205         for making the file dialog box work correctly, and the other one
13206         was added for completeness.)  Also added a table to the
13207         documentation for window-height which describes the entire scheme
13208         for accessing width and height characteristics of a window.
13209
13210 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13211
13212         * nt.c (fstat): Added a comment for another problem with
13213         non-encapsulated [f]stat(), reported by Adrian Aichner
13214         <aichner@ecf.teradyne.com>.
13215
13216 2000-03-11  Andy Piper  <andy@xemacs.org>
13217
13218         * window.c (make_dummy_parent): initialize subwindow instance
13219         cache.
13220         (Fset_window_configuration): zero extent_modiff.
13221
13222 2000-03-10  Andy Piper  <andy@xemacs.org>
13223
13224         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13225         more changes can be triggered.
13226         (Fredisplay_frame): ditto.
13227         (Fredraw_device): ditto.
13228         (Fredisplay_device): ditto.
13229         (redisplay_frame): make non-static.
13230         (redisplay_frame): call update_frame_gutter_geometry outside of
13231         display proper.
13232
13233         * gutter.h: declare update_frame_gutter_geometry.
13234
13235         * redisplay.h: declare redisplay_frame.
13236
13237         * gutter.c (update_frame_gutter_geometry): move geometry changes
13238         in update_frame_gutters here. Geometry changes can only occur
13239         outside of redisplay.
13240         (update_frame_gutters): remove geometry change code.
13241         (Fredisplay_gutter_area): make sure that we are in display when we
13242         update and that we have flushed any size changes.
13243
13244 2000-03-11  Andy Piper  <andy@xemacs.org>
13245
13246         * alloc.c (pdump_dump_data): remove i & count shadows.
13247
13248 2000-02-27  Mike Alexander  <mta@arbortext.com>
13249
13250         * sysdep.h: Declare pdump_read_file
13251
13252         * sysdep.c (pdump_read_file): New function
13253
13254         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13255         dump data
13256
13257 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13258
13259         * lrecord.h: add `lrecord_type_pgsetenv'.
13260
13261 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13262
13263         * symsinit.h: declare (vars|syms)_of* functions.
13264         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13265
13266 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13267
13268         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13269
13270         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13271         GCCs.
13272
13273         * emacs.c (main_1): Call postgres initialization code.
13274
13275         * postgresql.h: New file.  PostgreSQL RDBMS support.
13276         * postgresql.c: New file.
13277
13278 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13279
13280         * redisplay-output.c (redisplay_output_display_block): Disable
13281         redundant code.
13282
13283 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13284
13285         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13286         (Fcanna_henkan_next): Ditto.
13287         (Fcanna_bunsetu_henkou): Ditto.
13288         (Fcanna_henkan_kakutei): Ditto.
13289         (Fcanna_henkan_end): Ditto.
13290         (Fcanna_henkan_quit): Ditto.
13291         (Fcanna_henkan_next): Set retun value correctly.
13292         (c2mu): Use unsigned char instead of signed char.
13293
13294 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13295
13296         * emacs.c (main_1): Always call syms_of_gui.
13297         * inline.c: include gui.h
13298
13299 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13300
13301         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13302         converted to Lisp_Object.
13303         (Qtop_bottom): New variable.
13304         (syms_of_redisplay): Initialize it.
13305         * redisplay.h (Vvisible_bell): Ditto.
13306         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13307         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13308         only flash top and bottom.
13309
13310 2000-03-08  Andy Piper  <andy@xemacs.org>
13311
13312         * buffer.c (Frename_buffer): record new buffer name the right way.
13313
13314 2000-03-08  Andy Piper  <andy@xemacs.org>
13315
13316         * glyphs.c (update_subwindow): increase hash depth so that widget
13317         items get picked up properly.
13318
13319         * redisplay-output.c (compare_runes): increase hash depth so that
13320         widget items get picked up properly.
13321
13322 2000-03-08  Andy Piper  <andy@xemacs.org>
13323
13324         * gutter.c (output_gutter): add some debug.
13325
13326         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13327         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13328         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13329
13330         * redisplay-output.c (compare_runes): use display_hash to
13331         determine if glyphs really are not the same.
13332
13333         * glyphs.c (update_subwindow): check display_hash to see if
13334         anything really needs to be updated. If not then do
13335         nothing. Record the display_hash after updating.
13336         (image_instance_equal): compare the image_instance face also.
13337
13338 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13339
13340         * redisplay.h: Fix comment style.
13341
13342 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13343
13344         * consle-msw.h (struct mswindows_frame):
13345         Added new member paint_pending to indicate whether a WM_PAINT
13346         magic event has been queued for this frame.
13347
13348         * event-msw.c (mswindows_drain_windows_queue):
13349         Don't queue a WM_PAINT magic event if one is already queued.
13350         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13351
13352         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13353
13354 2000-03-07  Didier Verna  <didier@xemacs.org>
13355
13356         * dired.c: #include `regex.h' after `sysfile.h'.
13357
13358 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13359
13360         * sound.c (init_nas_sound): Fix compiler warning.
13361
13362         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13363         (FREE_STRUCT_P):
13364         (MARK_STRUCT_AS_FREE):
13365         (MARK_STRUCT_AS_NOT_FREE):
13366         Make `gcc -fstrict-aliasing' work properly.
13367
13368 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13369
13370         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13371         (mswindows_delete_device): Call CoUnnitialize().
13372
13373         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13374
13375 2000-02-25    <CraigL@DyCon.com>
13376
13377         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13378         <errno.h>.
13379
13380         * sysdep.c: This extern declaration for environ prevents MinGW
13381         from finding the variable in CRTDLL.DLL.
13382
13383         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13384         windows headers.
13385         (SHGFI_EXETYPE): ..
13386         (WM_MOUSEWHEEL): ..
13387         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13388         definitions.
13389         (MMRESULT): Removed, now defined in cygwin's windows headers.
13390         (TIMECAPS): ..
13391         (uid_t,gid_t,pid_t,ssize_t): ..
13392         (_timeb): Removed, MinGW defines both _timeb and timeb.
13393         (HAVE_H_ERRNO): Added.
13394         (HAVE_TZNAME): Added, configure is not detecting this.
13395
13396 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13397
13398         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13399         * syntax.c (syntax_match): Use it.
13400
13401         * cmds.c: Import auto-fill-chars from FSF Emacs.
13402         (Vauto_fill_chars): New variables.
13403         (internal_self_insert): Check Vauto_fill_chars.
13404         (vars_of_cmds):
13405         Declare auto-fill-chars as a Lisp variable and initialize it.
13406
13407 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13408
13409         * fileio.c (Fmake_symbolic_link):
13410         (Ffile_symlink_p):
13411         Run handlers even if local machine doesn't have symlinks.
13412
13413 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13414
13415         * event-msw.c (mswindows_drain_windows_queue):
13416         Don't generate paint magic events for non-XEmacs frames.
13417
13418 2000-03-05  Andy Piper  <andy@xemacs.org>
13419
13420         * redisplay.c (redisplay_frame): generate_displayable_area and
13421         friends assumes that we are not in GC, we therefore have to make
13422         sure that this doesn't happen.
13423
13424         * gutter.c (calculate_gutter_size): generate_displayable_area
13425         assumes that we are not in GC, we therefore have to make sure that
13426         this doesn't happen.
13427
13428 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13429
13430         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13431
13432 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13433
13434         * redisplay.c (regenerate_window): Make sure we set a sane value
13435         for end_pos even if we jump out of the loop.
13436         (regenerate_window): Answer Ben's question :-).
13437         (start_end_of_last_line): Add may_error argument.
13438         (start_of_last_line):
13439         (end_of_last_line): Pass may_error = 0.
13440         (end_of_last_line_may_error): New function.
13441         (pixel_to_glyph_translation): Use it, so we don't crash in
13442         event_to_glyph.
13443
13444 2000-03-04  Andy Piper  <andy@xemacs.org>
13445
13446         * window.h (struct window): add gutter_extent_modiff.
13447
13448         * window.c (allocate_window): zero out gutter_extent_modiff.
13449
13450         * redisplay.h: declare sync_display_line_structs.
13451
13452         * redisplay.c (add_glyph_rune): add a better comment.
13453
13454         * redisplay-output.c (sync_display_line_structs): made non-static.
13455         (compare_runes): remove unneccesary glyph cachel access.
13456
13457         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13458
13459         * gutter.c (output_gutter): don't output the gutter if extent
13460         changes only involve extents in buffers. use 4 sets of display
13461         lines.
13462         (gutter_extent_signal_changed_region_maybe): new function. Mark
13463         extents in gutters as changed.
13464         (update_frame_gutters): use 4 sets of display lines.
13465         (reset_gutter_display_lines): ditto.
13466         (free_frame_gutters): ditto.
13467         (redraw_exposed_gutter): force output of gutters.
13468
13469         * frame.h (struct frame): add 4 sets of gutter display lines.
13470
13471         * extents.c: (extent_changed_for_redisplay): signal changes to
13472         extents in strings in the gutter as well as extents in buffers.
13473
13474 2000-03-02  Andy Piper  <andy@xemacs.org>
13475
13476         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13477
13478         * frame.c (Fmake_frame): make sure the gutters get initialized
13479         after the frame is visible.
13480         (set_frame_selected_window): re-arrange compilation macros a
13481         little.
13482         (change_frame_size_1): mark gutters changed.
13483
13484         * device.c (Fset_device_class): mark gutters changed.
13485
13486 2000-03-01  Andy Piper  <andy@xemacs.org>
13487
13488         * window.c (window_top_frame_gutter_height): deleted.
13489         (window_bottom_frame_gutter_height): ditto.
13490         (window_left_frame_gutter_height): ditto.
13491         (window_right_frame_gutter_height): ditto.
13492         (window_top_gutter_height): don't use them.
13493         (window_bottom_gutter_height): ditto.
13494         (window_left_gutter_width): ditto.
13495         (window_right_gutter_width): ditto.
13496         (Fsplit_window): ditto.
13497         (Fwindow_pixel_edges): don't use border dimensions here.
13498
13499         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13500         (update_scrollbar_instance): ditto.
13501
13502         * redisplay.c (generate_modeline): don't take gutters into account.
13503         (generate_modeline): ditto.
13504         (redisplay_frame): small gutter display optimization.
13505
13506         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13507
13508         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13509         gutters into account.
13510
13511         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13512         for window position and type.
13513
13514         * gutter.c (get_gutter_coords): fix for frame gutters.
13515         (update_frame_gutters): update frame geometry if the gutters have
13516         changed.
13517         (init_frame_gutters): record current gutter geometries.
13518
13519         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13520         var.
13521         (mswindows_widget_instantiate): ditto.
13522
13523         * frame.h (struct frame): add current_gutter_bounds.
13524
13525         * frame.c (change_frame_size_1): position window and minibuffer
13526         appropriately taking into account the frame gutters.
13527
13528         * frame-x.c: (x_initialize_frame_size): take into account the
13529         frame gutters.
13530
13531 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13532
13533         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13534
13535 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13536
13537         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13538
13539 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13540
13541         * file-coding.c (reset_decoding_stream): Clear previous
13542         detection state when autodetect.
13543
13544 2000-02-29  Didier Verna  <didier@xemacs.org>
13545
13546         * extents.c (set_extent_glyph_1): don't require extents to be
13547         attached.
13548
13549 2000-02-27  Andy Piper  <andy@xemacs.org>
13550
13551         * gutter.c (Fset_default_gutter_position): don't default left and
13552         right gutter visibility to t.
13553         (Fset_default_gutter_position): run
13554         default-gutter-position-changed-hook.
13555         (syms_of_gutter): add default-gutter-position-changed-hook.
13556
13557 2000-02-26  Andy Piper  <andy@xemacs.org>
13558
13559         * specifier.c (Fmake_specifier): add gutter references.
13560
13561         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13562
13563         * lisp.h: declare Fvalid_plist_p.
13564
13565         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13566         as changed.
13567         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13568         well as its visibility so that it gets reconstructed.
13569         (construct_window_gutter_spec): new function. Construct a string
13570         to be displayed in the gutter from a plist of strings. Take care
13571         to only use elements that are declared as visible.
13572         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13573         WINDOW_GUTTER.
13574         (gutter_validate): allow plists of strings in the specifier.
13575         (gutter_specs_changed): construct the real_gutter from the gutter
13576         specs using construct_window_gutter_spec.
13577         (gutter_visible_validate): gutter-visible is a new specifier type.
13578         (Fgutter_visible_specifier_p): new function for the new specifier.
13579         (syms_of_gutter): declare gutter-visible and
13580         Fgutter_visible_specifier_p.
13581         (specifier_type_create_gutter): intitalize new gutter-visible
13582         specifier.
13583         (reinit_specifier_type_create_gutter): ditto.
13584         (specifier_vars_of_gutter): use new specifier type for gutter
13585         visibility.
13586         (init_frame_gutters): construct real_gutter correctly.
13587         (Fgutter_specifier_p): beef up documentation.
13588         (Fgutter_size_specifier_p): ditto.
13589
13590         * winslots.h: add real_gutter slots.
13591
13592 2000-02-25  Andy Piper  <andy@xemacs.org>
13593
13594         * device-msw.c: Be kind to older cygwin versions. From Raymond
13595         Toy <toy@rtp.ericsson.se>.
13596
13597         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13598         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13599
13600 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13601
13602         * elhash.c (MARK_OBJ): Practice macro hygiene.
13603
13604 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13605
13606         * miscplay.c: s/__inline__/inline/g;
13607         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13608         (get_device_compdc): INLINE ==> static inline
13609         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13610         find -name '*.h' | \
13611         xargs global-replace \
13612         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13613
13614 2000-02-25  Andy Piper  <andy@xemacs.org>
13615
13616         * window.c (window_top_frame_gutter_height): new function.
13617         (window_top_window_gutter_height): ditto.
13618         (window_top_gutter_height): use them.
13619         (window_bottom_frame_gutter_height): new function.
13620         (window_bottom_window_gutter_height): ditto.
13621         (window_bottom_gutter_height): use them.
13622         (window_left_window_gutter_width): new function.
13623         (window_left_frame_gutter_width): ditto.
13624         (window_left_gutter_width): use them.
13625         (window_right_window_gutter_width): new function.
13626         (window_right_frame_gutter_width): ditto.
13627         (window_right_gutter_width): use them.
13628         (window_pixel_height): new function. calulate window pixel height
13629         with frame gutter involvement.
13630         (Fsplit_window): calculate new sizes taking frame gutters into
13631         account.
13632         (window_char_height_to_pixel_height): don't include frame gutters.
13633         (window_char_height): use window_pixel_height.
13634         (window_pixheight): rename from window_pixel_height.
13635         (change_window_height): use it.
13636         (window_pixel_height_to_char_height): don't include frame gutters.
13637         (window_char_width_to_pixel_width): ditto.
13638
13639 2000-02-25  Andy Piper  <andy@xemacs.org>
13640
13641         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13642         if it is.
13643
13644 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13645
13646         * alloc.c (staticpro):
13647         (staticpro_nodump):
13648         (dumpstruct):
13649         (dumpopaque):
13650         (pdump_wire):
13651         (pdump_wire_list):
13652         (compact_string_chars):
13653         (pdump_dump_wired):
13654         Convert:  if (foo) abort();  ==>  assert (! foo);
13655
13656         * eldap.c (Fldap_search_basic):
13657         (Fldap_add):
13658         (Fldap_modify):
13659         (Fldap_delete):
13660         Fix compiler warnings, and possible crashes if (random) return
13661         value were to be used.
13662
13663 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13664
13665         * device-msw.c: Workaround ResetDC failure.
13666
13667         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13668         applying a devmode.
13669
13670         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13671         (mswindows_text_width): Do not start printer page.
13672
13673         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13674
13675         * glyphs-msw.c: Added image methods to msprinter console and
13676         msprinter-specific image instantiation.
13677
13678 2000-02-20  Mike Alexander  <mta@arbortext.com>
13679
13680         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13681         to avoid crashes when selection-sets-clipboard is on
13682         (mswindows_own_selection): ditto
13683
13684 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13685
13686         * glyphs-msw.c:
13687         * redisplay-msw.c (get_frame_dc):
13688         (get_frame_compdc):
13689         * console-msw.h:
13690         * device-msw.c (mswindows_init_device):
13691         (mswindows_delete_device):
13692         (msprinter_init_device):
13693         (msprinter_delete_device):
13694         * frame-msw.c (mswindows_init_frame_1):
13695         (mswindows_delete_frame):
13696         (msprinter_init_frame_3):
13697         (msprinter_delete_frame): Move compatible DC to device object from
13698         frame object, for both mswindows and msprinter. Only one at a time
13699         is needed, it is a real waste to have one per frame!
13700
13701 2000-02-23  Andy Piper  <andy@xemacs.org>
13702
13703         * glyphs.c: add dynamic width and height elements.
13704         (image_instance_equal): ditto.
13705
13706         * glyphs-widget.c (widget_query_geometry): calculate width and
13707         height dynamically if required.
13708         (initialize_widget_image_instance): initialize dynamic dimensions.
13709         (widget_instantiate): pick-up dynamic dimensions.
13710
13711         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13712         dynamic determination. Add appropriate macros.
13713
13714         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13715         dimensions safe.
13716         (WINDOW_GUTTER_SIZE): ditto.
13717         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13718
13719         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13720         inline.
13721         (get_frame_dc): ditto.
13722
13723         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13724         here.
13725
13726 2000-02-23  Martin Buchholz <martin@xemacs.org>
13727
13728         * XEmacs 21.2.31 is released.
13729
13730 2000-02-22  Ben Wing <ben@xemacs.org>
13731
13732         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13733
13734 2000-02-22  Andy Piper  <andy@xemacs.org>
13735
13736         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13737
13738 2000-02-21  Mike Sperber <mike@xemacs.org>
13739
13740         * .dbxrc:
13741         * .gdbinit:
13742         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13743         variables.
13744
13745 2000-02-21  Mike Sperber <mike@xemacs.org>
13746
13747         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13748
13749 2000-02-21  Martin Buchholz <martin@xemacs.org>
13750
13751         * XEmacs 21.2.30 is released.
13752
13753 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13754
13755         Performance hacking.
13756         * *.c (syms_of_*):
13757         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13758         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13759         * emacs.c (main_1):
13760         * lisp.h (DEFUN):
13761         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13762         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13763         * symeval.h (DEFVAR_SYMVAL_FWD):
13764         * symbols.c (guts_of_unbound_marker):
13765         Make all c_readonly objects also lisp_readonly and marked for life.
13766         * lrecord.h (struct lrecord_implementation):
13767         Document flags better.
13768         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13769         * lrecord.h (DECLARE_LRECORD):
13770         * lrecord.h (XSETRECORD):
13771         * lrecord.h (RECORDP):
13772         * lrecord.h (RECORD_TYPEP):
13773         * lrecord.h (RECORD_MARKER): New.
13774         * lrecord.h (error_check_*):
13775         * lrecord.h (CONCHECK_NONRECORD):
13776         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13777         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13778         * lrecord.h (set_lheader_implementation):
13779         * lrecord.h (enum lrecord_type): New.
13780         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13781         * alloc.c (disksave_object_finalization_1):
13782         * alloc.c (mark_object):
13783         * alloc.c (lrecord_type_index):
13784         * alloc.c (tick_lcrecord_stats):
13785         * alloc.c (Fgarbage_collect):
13786         * alloc.c (init_alloc_once_early):
13787         * alloc.c (pdump_load):
13788         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13789         * alloc.c (lrecord_type_index): Delete.
13790         Make lisp object type indexes be constant.
13791           Makes (byte-compile) 5% faster.
13792         Put all marker functions into their own array.
13793           Makes (garbage-collect) 5% faster.
13794         Optimize SYMBOL_VALUE_MAGIC_P.
13795           Makes (byte-compile) 2-3% faster.
13796         * config.h.in (gc_checking_assert): New.
13797         * alloc.c: Use gc_checking_assert().
13798         * .dbxrc: Make compatible with new object type implementation.
13799         * .gdbinit: Make compatible with new object type implementation.
13800         * alloc.c: Delete all symbols defined only for debugging, such as
13801         Lisp_Type_Vector and lrecord_charset.
13802
13803 2000-02-21  Andy Piper  <andy@xemacs.org>
13804
13805         * gui-msw.c (Fmswindows_shell_execute): fix file location
13806         problems.
13807
13808         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13809         unshowing so that set_window_buffer doesn't undo
13810         kill_buffer_hook's hard work.
13811
13812         * glyphs-widget.c (tab_control_query_geometry): don't count the
13813         first item when calculating geometry.
13814
13815         * glyphs.c (map_subwindow): remove redundant code.
13816         (update_frame_subwindows): be more circumspect about when to
13817         update subwindows.
13818
13819         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
13820         when items haven't changed. Update faces if faces have changed as
13821         well as just the widget face.
13822         (x_tab_control_update): Update faces if faces have changed as well
13823         as just the widget face.
13824
13825 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13826
13827         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
13828         registration.
13829         (build_syscolor_string): Use mswindows_color_to_string to try to
13830         get a named color.
13831         (mswindows_device_system_metrics): Reverse the foreground and
13832         background colors so that they match the documentation.
13833
13834         * objects-msw.c: (mswindows_X_color_map): tweak some values so
13835         they match the default Windows palette.
13836         (mswindows_color_to_string): New function.
13837
13838 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13839
13840         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
13841
13842 2000-02-18  Olivier Galibert  <galibert@pobox.com>
13843
13844         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
13845         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
13846
13847         * symbols.c (init_symbols_once_early): Removed obsolete
13848         DATA_SEG_BITS related kludge.
13849         (defvar_magic): Ditto.
13850
13851         * malloc.c: Removed obsolete DATA_SEG_BITS
13852         * ralloc.c: Ditto.
13853         * mem-limits.h: Ditto.
13854
13855         * Makefile.in.in: Removed obsolete HAVE_SHM
13856         * emacs.c: Ditto.
13857
13858 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13859
13860         *  device-msw.c (mswindows_delete_device): Free DDE string
13861         handles.
13862
13863 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13864
13865         * keymap.c (get_keyelt):
13866         * unexnt.c (unexec):
13867         * vm-limit.c (memory_warnings):
13868         * ntheap.c (recreate_heap):
13869         * ntheap.h (UNINIT_PTR):
13870         * select-msw.c (Fmswindows_get_clipboard):
13871         (Fmswindows_set_clipboard):
13872         * objects-msw.h (MSWINDOWS_BAD_HFONT):
13873         * objects-msw.c:
13874         * menubar-msw.c (displayable_menu_item):
13875         * glyphs-msw.c:
13876         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
13877         * sysdep.c (sys_subshell):
13878         * process-nt.c (nt_create_process):
13879         * nt.c (normalize_filename):
13880         (dostounix_filename):
13881         (unixtodos_filename):
13882         * ntproc.c (win32_executable_type):
13883         * ntplay.c (play_sound_data_1):
13884         (play_sound_file):
13885         * editfns.c (get_home_directory):
13886         * event-msw.c (struct winsock_stream):
13887         (mswindows_dde_callback):
13888         * device-msw.c (msprinter_init_device):
13889         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
13890
13891         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
13892         mswindows_clear_toolbar were swapped!
13893
13894         * objects-msw.c:(colormap_t):
13895         (fontmap_t):
13896         * emacs.c (struct standard_args): Fixed const jumble.
13897
13898         * glyphs-widget.c (update_widget): Fixed comparison notation.
13899
13900         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
13901
13902         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
13903         __declspec(noreturn) syntax.
13904
13905 2000-02-19  Martin Buchholz  <martin@xemacs.org>
13906
13907         * eldap.c (Fldap_open):
13908         (Fldap_search_basic):
13909         (Fldap_add):
13910         (Fldap_modify):
13911         Use new coding system conversion macros.
13912
13913 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13914
13915         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
13916
13917 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
13918
13919         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
13920         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13921
13922         * eldap.c (Qadd, Qreplace): New constant symbols
13923         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
13924         interruptions by XEmacs signals
13925         Remove unnecessary calls to slow_down_interrupts and
13926         speed_up_interrupts
13927         (Fldap_search_basic): Renamed from Fldap_search_internal
13928         Added new optional parameter VERBOSE that triggers the
13929         display of progress messages
13930         Remove unnecessary calls to slow_down_interrupts and
13931         speed_up_interrupts
13932         LDAP result code analysis rewritten
13933         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13934         (syms_of_eldap): Define the new symbols and functions
13935
13936
13937 2000-02-17  Martin Buchholz  <martin@xemacs.org>
13938
13939         * realpath.c: Determine PATH_MAX maximally portably.
13940
13941         * insdel.c (bytecount_to_charcount): Optimize.
13942         The function used to be optimized for entirely ASCII sequences.
13943         Now it is optimized for successive characters from the same
13944         charset.  This also wins big for _mostly_ ASCII sequences.
13945
13946         * fileio.c (Ffile_truename): convert return from realpath() using
13947         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
13948         - Rewrite GCPROing slightly.
13949
13950         * sysdep.c (sys_open): Do filename conversion, like all other
13951         sys_* functions.  Fixes bug:
13952         (let ((file-name-coding-system 'iso-8859-2))
13953            (write-region x y latin2-name))
13954         ==> writes filename using internal encoding.
13955
13956 2000-02-18  Martin Buchholz  <martin@xemacs.org>
13957
13958         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
13959         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
13960         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
13961         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
13962         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
13963         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
13964         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
13965         (CONST_IF_NOT_DEBUG): Delete.
13966         * alloc.c (this_one_is_unmarkable): Delete.
13967         (mark_object): Don't check for this_one_is_unmarkable. Use the
13968         c_readonly flag instead.
13969         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
13970
13971 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13972
13973         * event-msw.c (mswindows_drain_windows_queue):
13974         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
13975         away redundant repaint events.
13976
13977 2000-02-17  Andy Piper  <andy@xemacs.org>
13978
13979         * redisplay.h: declare mark_redisplay_structs.
13980
13981         * redisplay.c (redisplay_window):
13982         (redisplay_frame): don't check subwindows_state_changed.
13983         (mark_redisplay): mark gutters here.
13984
13985         * glyphs.c: (instantiate_image_instantiator): always layout if we
13986         haven't done so already.
13987         (allocate_image_instance): don't mark as dirty.
13988         (update_subwindow): bind inhibit_quit.
13989
13990         * gutter.c (mark_gutters): new function.
13991
13992         * glyphs-x.c (x_update_widget): Always resize to get round a
13993         widget bug.
13994
13995         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
13996         breaking absolutely everything.
13997
13998         * gutter.h: declare mark_gutters.
13999
14000 2000-02-16  Martin Buchholz <martin@xemacs.org>
14001
14002         * XEmacs 21.2.29 is released.
14003
14004 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14005
14006         * fns.c (size_bit_vector): Fix computation of the size.
14007
14008 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14009
14010         * *.[ch]: Change CONST to const globally.
14011         find -name '*.[ch]' | \
14012         xargs global-replace \
14013         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14014         - Remove vestigial references to CONST_IS_LOSING
14015
14016 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14017
14018         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14019         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14020         events instead of dispatching them directly.
14021         (mswindows_handle_paint): New function to do repainting.
14022         (mswindows_wnd_proc):
14023         (emacs_mswindows_handle_magic_event): Call above function.
14024
14025 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14026
14027         * objects-msw.c (mswindows_create_font_variant): Return the new
14028         font handle.
14029         (initialize_font_instance): Get font metrics from the underlined
14030         variant of the font to cope with the case where the underlined
14031         font has a bigger descent.
14032
14033 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14034
14035         * gui.c (gui_item_accelerator): Return the first underlined
14036         character in item name.
14037
14038 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14039
14040         * lisp.h: Added Qprinter.
14041
14042         * general.c (syms_of_general): Initialized it.
14043
14044         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14045         (get_frame_dc):
14046         (get_frame_compdc): Made inline.
14047
14048         * console.h (struct console_methods): Added eject_page method.
14049
14050         * frame.h: Added FRAME_DISPLAY_P and friends.
14051         Aligned backslahes in many macros in more readable fashion.
14052         Added page_number to struct frame, and an accessor macro
14053         for it.
14054
14055         * defice.h: Added DEVICE_DISPLAY_P and friends.
14056
14057         * device.c (Fdevice_printer_p): Used these.
14058
14059         * frame.c (allocate_frame_core): Initialize page number.
14060         (Fprint_job_page_number):
14061         (Fprint_job_eject_page): Implemented.
14062
14063         * frame-msw.c (msprinter_eject_page): Added method.
14064         (msprinter_start_page): Added.
14065
14066         * window.c (Fwindow_truncated_p): Fixed docstring.
14067         (Fwindow_last_line_visible_height): Implemented.
14068
14069 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14070
14071         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14072
14073 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14074
14075         * syntax.c (scan_words): Always advance at least one character.
14076
14077 2000-02-13  Andy Piper  <andy@xemacs.org>
14078
14079         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14080         to make sure the glyph is in the cachels.
14081
14082         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14083         global image instance flag.
14084         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14085         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14086
14087         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14088         (Fset_image_instance_property): mark layout as changed.
14089         (invalidate_glyph_geometry_maybe): mark layout as changed.
14090         (glyph_width): use new NEEDS_LAYOUT macro.
14091         (glyph_ascent): ditto.
14092         (glyph_descent): ditto.
14093         (glyph_height): ditto.
14094         (image_instance_layout): mark layout as clean after laying out.
14095         (update_subwindow): don't mark layout as clean here.
14096
14097         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14098         should no longer be needed.
14099
14100         * glyphs-x.c (x_update_widget): sanitize asserts.
14101         (x_finalize_image_instance): sanitize assignment to widgets.
14102
14103         * glyphs-widget.c (widget_instantiate): don't need to clear the
14104         layout flag here.
14105
14106 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14107
14108         * sysdep.c (getcwd): Use standard prototype.
14109         * sysdep.h (getcwd): Use standard prototype.
14110
14111         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14112         (sequence, start, end).
14113         Remove redundant type checking.
14114         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14115         view of `caller-protects') to avoid a crash where the real fix was
14116         found elsewhere.
14117
14118 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14119
14120         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14121
14122         * s/sol2.h: Remove feature macro initialization.
14123
14124         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14125         (vector_hash): New.  Code from internal_hash.
14126         * lrecord.h:
14127         Fix up allocation subsystem comments.
14128
14129         * config.h.in: Add __EXTENSIONS__ for Solaris.
14130
14131         * systime.h (EMACS_GETTIMEOFDAY): New.
14132         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14133         Remove Solaris-specific code.
14134         Use void* for the (ignored) second arg for gettimeofday().
14135
14136         * elhash.c (hash_table_hash): Implement it, finally.
14137         * elhash.c:  Use hashcode_t.
14138
14139         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14140         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14141
14142         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14143         * fns.c (size_bit_vector):
14144         * alloc.c (size_vector):
14145         (make_vector_internal):
14146         (make_bit_vector_internal):
14147         (sweep_bit_vectors_1):
14148         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14149
14150 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14151
14152         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14153         Include strings.h to avoid warnings for bzero and strcasecmp.
14154
14155 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14156
14157         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14158         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14159
14160         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14161         sequence.
14162
14163 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14164
14165         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14166         use a value field instead.
14167         (symbol_value_forward_forward): Use value field.
14168         (DEFVAR_SYMVAL_FWD): Use value field.
14169         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14170         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14171         (DEFVAR_CONST_INT): Ditto.
14172         (DEFVAR_BOOL): Ditto.
14173         (DEFVAR_CONST_BOOL): Ditto.
14174         (DEFVAR_INT_MAGIC): Ditto.
14175         (DEFVAR_BOOL_MAGIC): Ditto.
14176
14177         * symbols.c (guts_of_unbound_marker): Use value field.
14178         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14179         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14180
14181         * lisp.h: Declare dumpopaque and noninteractive1.
14182
14183         * alloc.c (dumpopaque): Added.
14184         (pdump_dump_opaquevec): Added.
14185         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14186         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14187         noninteractive.
14188
14189 2000-02-10  Andy Piper  <andy@xemacs.org>
14190
14191         * glyphs.c (image_instance_layout): if the size changes, mark it
14192         as such.
14193
14194         * redisplay-output.c (redisplay_output_layout): Update the
14195         subwindow here.
14196         (redisplay_output_subwindow): ditto.
14197
14198         * glyphs.c (update_subwindow): make sure we reset flags for
14199         layouts as well as everything else.
14200
14201         * glyphs-widget.c (layout_layout): don't need to set the instances
14202         dimensions here.
14203
14204 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14205
14206         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14207         not HAVE_DLOPEN, which is a lower-level thing.
14208
14209         * .cvsignore: Ignore gmon.out
14210
14211 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14212
14213         * .cvsignore: Ignore portable dumper xemacs.dmp file
14214
14215 2000-02-09  Andy Piper  <andy@xemacs.org>
14216
14217         * redisplay-output.c (redisplay_output_layout): be more clever
14218         about when we output based on the changed flags.
14219
14220         * glyphs.h (struct image_instantiator_methods): add update_method.
14221         (struct Lisp_Image_Instance): add changed flags. Declare new
14222         macros for manipulating them.
14223
14224         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14225         (image_instance_parent_glyph): find an image_instance's parent
14226         glyph or image_instance.
14227         (image_instance_layout): mark the size as changed.
14228         (set_image_instance_dirty_p): new function. mark an image
14229         instance, plus all of its parents, as dirty.
14230         (Fset_image_instance_property): use it.
14231         (Fglyph_animated_timeout_handler): use it.
14232         (update_subwindow): call update_widget and device methods for
14233         update_subwindow. Mark all changed flags as clean.
14234         (Fresize_subwindow): mark size as changed.
14235
14236         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14237         failures.
14238         (x_update_subwindow): only resize subwindows here.
14239         (x_update_widget): new function. Update all changed properties of
14240         a widget.
14241         (x_resize_subwindow): deleted.
14242         (x_widget_set_property): deleted.
14243         (x_progress_gauge_set_property): deleted.
14244         (x_progress_gauge_update): new function. Implement recorded
14245         changes.
14246         (x_tab_control_update): ditto.
14247         (x_tab_control_set_property): deleted.
14248         (console_type_create_glyphs_x): declare new functions.
14249         (image_instantiator_format_create_glyphs_x): ditto.
14250
14251         * glyphs-widget.c (widget_set_property): mark text changed.
14252         (update_widget): new function. Update properties of a widget.
14253         (widget_instantiate): for layouts make sure we set their
14254         children's parent correctly.
14255         (tab_control_set_property): new function. Record changes that will
14256         take place under redisplay's control.
14257         (progress_gauge_set_property): ditto.
14258         (image_instantiator_progress_guage): declare new functions.
14259         (image_instantiator_tab_control): ditto.
14260
14261         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14262         now.
14263         (mswindows_update_widget): new function. Update all properties on
14264         a widget that have changed.
14265         (mswindows_button_update): new function. Update a button's set
14266         state.
14267         (mswindows_tab_control_update): new function. Update the items in
14268         a tab.
14269         (mswindows_tab_control_set_property): deleted.
14270         (mswindows_progress_gauge_update): new function. Update the
14271         progress gauge's progress.
14272         (mswindows_widget_set_property): deleted. This is all done
14273         asynchronously now.
14274         (mswindows_progress_gauge_set_property): ditto.
14275         (console_type_create_glyphs_mswindows): declare new methods.
14276         (image_instantiator_format_create_glyphs_mswindows): ditto.
14277
14278         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14279         (msprinter_set_frame_properties): ditto.
14280
14281         * console.h (struct console_methods): Add update_widget_method.
14282
14283 2000-02-09  Andy Piper  <andy@xemacs.org>
14284
14285         * gui-msw.c (Fmswindows_shell_execute): Make
14286         mswindows-shell-execute industrial strength.
14287
14288 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14289
14290         * lrecord.h: Make macro argument `props' match member function `plist'.
14291         * fns.c (Fget):
14292         * fns.c (Fput):
14293         * fns.c (Fremprop):
14294         * fns.c (Fobject_plist):
14295         * alloc.c:
14296         * symbols.c:
14297         Object property list frobbing cleanup.
14298         - Allow any lisp object (compared with `eq'), not just symbols, as
14299           keys in object plists.
14300         - Move symbol plist frobbing into symbols.c, where it belongs.
14301         - Move string plist frobbing into alloc.c, where it belongs.
14302         - Everything's an lrecord now, so no need to test for symbolp, etc.
14303         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14304
14305         * extents.c: Reorder code to remove declarations.
14306
14307         * frame.h (store_in_alist): Remove useless declaration.
14308
14309 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14310
14311         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14312         * config.h.in: Add HAVE_XCONVERTCASE.
14313
14314 2000-02-07  Andy Piper  <andy@xemacs.org>
14315
14316         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14317         it breaks many things.
14318
14319 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14320
14321         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14322         actually can start a common comment type.
14323         * src/syntax.h (SYNTAX_END_P): ditto for end.
14324
14325 2000-02-07  Martin Buchholz <martin@xemacs.org>
14326
14327         * XEmacs 21.2.28 is released.
14328
14329 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14330
14331         * event-Xt.c (x_keysym_to_character): New.
14332         (maybe_define_x_key_as_self_inserting_character): New.
14333         (x_has_keysym): New.
14334         Auto-define all keys on the keyboard as self-insert-key.
14335
14336 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14337
14338         * menubar.c (vars_of_menubar): A small code simplification.
14339
14340         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14341
14342         * ExternalShell.c:
14343         * ExternalClient.c:
14344         * EmacsShell-sub.c:
14345         * EmacsManager.c:
14346         * EmacsFrame.c:
14347         Use consistent style for specifying X resources.
14348
14349         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14350         This makes (dontusethis-set-symbol-value-handler) actually usable.
14351
14352         * lrecord.h (lrecord_decription_type):
14353         * alloc.c (pdump_register_sub):
14354         (pdump_dump_data):
14355         (pdump_reloc_one):
14356         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14357         Comply with XEmacs coding style.
14358         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14359         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14360
14361         * keymap.c (Faccessible_keymaps):
14362         Make (accessible-keymaps map "\C-h") do the Right Thing.
14363         Make (accessible-keymaps map []) do the Right Thing.
14364         Make (accessible-keymaps map "") do the Right Thing.
14365         (check_keymap_definition_loop): New function.
14366         (keymap_store_internal): Keep luser from shooting self in foot,
14367           via (define-key ctl-x-4-map "p" global-map).
14368         Remove fullness slot from struct Lisp_Keymap, since hash tables
14369         are now reliable.
14370         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14371
14372 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14373
14374         * redisplay.c (init_redisplay): Fix small memory leak.
14375         * elhash.h:
14376         * elhash.c (pdump_reorganize_hash_table):
14377         Rename from reorganize_hash_table. Change prototype.
14378         Reuse the original memory for hentries.  Save 100k.
14379         * alloc.c (PDUMP_READ): new macro.
14380         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14381         * alloc.c: No need to #ifndef before #undef.
14382
14383         * print.c: Allow debug_print() to print readably by modifying
14384         debug_print_readably.  Use consistent variable names.
14385
14386         * .dbxrc: Try to get things to work even if stopped in a function
14387         without source available by explicitly specifying source files.
14388 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14389
14390         * unexnt.c (_start): Removed bogus code which caused loading heap
14391         from differrent executable file.
14392         Removed bogus assignment to _fmode, which caused inconsistencies.
14393
14394 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14395
14396         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14397         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14398         Do not preliminary `#define signal sigset'.
14399
14400         * systime.h: Do not prototype environ on windows nt and cygwin,
14401         this conflicts with system header.
14402
14403         * syssignal.h: Use correct define for WINDOWSNT
14404
14405         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14406         with system header.
14407
14408         * sysdep.c (near start of file): Fixed commentary and rearranged
14409         ifdefs in readable order.
14410         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14411         (start_of_text):
14412         (end_of_text):
14413         (end_of_data): Do not compile in if using PDUMP.
14414
14415         * symsinit.h: Prototyped vars_of_nt().
14416
14417         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14418         (find_child_console): Use it.
14419         (sys_kill): Use it.
14420
14421         * ntheap.h: Do not extern os_subtype.
14422
14423         * ntheap.c (cache_system_info): Do not cache unneeded:
14424         nt_major_version, nt_minor_version and os_subtype.
14425         (recreate_heap): Do not compile in when PDUMPing.
14426
14427         * nt.c (geteuid and friends): Use the new varibale
14428         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14429         (init_user_info): Removed the above mentioned hackery.
14430         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14431         stat has been fixed in the C runtime.
14432         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14433
14434         * file-coding.c (struct file_coding_dump): Do not define
14435         ucs_to_mule_table in the struct if not MULE.
14436         (struct struct lrecord_description fcd_description_1): Do not dump
14437         the above.
14438
14439         * emacs.c (main_1): Call vars_of_nt().
14440         (right before Fdump_emacs_data): Don't need lastfile if using both
14441         portabe dumper and system malloc.
14442
14443         * alloc.c (Fmemory_limit): Conditionalized out.
14444         (pdump): Use OPEN_BINARY for the portable dump file.
14445         (pdump_load): Ditto.
14446
14447 2000-02-02  Mike Alexander  <mta@arbortext.com>
14448
14449         * nt.c (convert_time): Set tm_isdst before calling mktime and
14450         avoid calling it at all if the compiler supports 64 bit integers.
14451         Also initialize utc_base_ft before using it.
14452
14453 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14454
14455         * frame.c (change_frame_size_1): Take f->internal_border_width
14456         into consideration when calculating the width of the frame.
14457
14458 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14459
14460         * window.c (frame_min_height):
14461         (frame_size_valid_p):
14462         (frame_pixsize_valid_p): Added.
14463         (check_frame_size): Generalized.
14464
14465         * window.h: Prototyped the above.
14466
14467         * lisp.h:
14468         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14469         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14470         Deleted Vwin32_* and Vbinary_process_* unused variables.
14471
14472         * device-msw.c (msprinter_init_device): Do not get printer font
14473         list; Added DEVMODE functions.
14474
14475         * frame-msw.c: Added lots of printer code.
14476
14477         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14478         general.c.
14479
14480         * console-msw.h: Added more msprinter device private slots.
14481
14482 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14483
14484         * event-msw.c (key_needs_default_processing_p): Added.
14485         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14486
14487 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14488
14489         * glyphs.c (image_instance_layout): Mark image instance as clean
14490         after layout.
14491         (glyph_dirty_p): Removed redundant function.
14492         (invalidate_glyph_geometry_maybe): Added.
14493         (update_glyph_cachel_data): Call it.
14494
14495         * glyphs.h: Prototyped it.
14496
14497         * redisplay.c (add_glyph_rune): Call it.
14498         (redisplay_window): Reset glyphs cachels when frame faces have
14499         changed, thus forcing recomputation of built-in border glyphs.
14500
14501 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14502
14503         * Makefile.in.in: Make portable dumper and purify play well together.
14504         Add imperfect, but better than nothing, support for pdump.
14505         Remove xemacs.dmp when temacs is re-generated.
14506         Don't ignore errors when dumping xemacs.
14507
14508         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14509
14510 2000-01-28  Andy Piper  <andy@xemacs.org>
14511
14512         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14513         (setup_normal_frame): ditto.
14514         (setup_frame_without_minibuffer): ditto.
14515         (setup_minibuffer_frame): ditto.
14516         (delete_frame_internal): ditto.
14517         (Fmake_frame_invisible): ditto.
14518         (Ficonify_frame): ditto.
14519
14520         * window.h: change Fset_window_buffer signature.
14521
14522         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14523         (Fset_window_buffer): allow recording of buffer if the window is
14524         the selected window.
14525         (window_loop): Use new Fset_window signature.
14526
14527 2000-01-23  Daniel Pittman  <daniel@danann.net>
14528
14529         * config.h.in: Added template for `HAVE_ATHENA_3D'
14530
14531 2000-01-29  Andy Piper  <andy@xemacs.org>
14532
14533         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14534
14535         * gutter.c (output_gutter): Don't output if the window isn't live.
14536
14537 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14538
14539         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14540         of 01/12/00: Moved SetFocus back here where it belongs.
14541
14542 2000-01-23  Andy Piper  <andy@xemacs.org>
14543
14544         * s/cygwin32.h: declare printer things.
14545
14546 2000-01-26  Andy Piper  <andy@xemacs.org>
14547
14548         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14549         Alexander.
14550
14551 2000-01-24  Andy Piper  <andy@xemacs.org>
14552
14553         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14554         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14555
14556         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14557
14558         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14559
14560         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14561
14562         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14563         (mswindows_output_display_block): Avoid local shadows.
14564
14565         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14566         (mswindows_enqueue_mouse_button_event): ditto.
14567         (mswindows_handle_gui_wm_command): remove declaration.
14568
14569         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14570         warnings.
14571
14572         * console-msw.h: Avoid shadows.
14573         (mswindows_get_toolbar_button_text):
14574         (emacs_mswindows_create_stream_pair):
14575         (emacs_mswindows_delete_stream_pair):
14576         (mswindows_handle_toolbar_wm_command): declare.
14577
14578         * device-msw.c (build_syscolor_string): Avoid shadows.
14579
14580 2000-01-23  Andy Piper  <andy@xemacs.org>
14581
14582         * glyphs-widget.c (widget_instantiate): reverse the items for
14583         layouts so that children are in the expected order.
14584
14585 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14586
14587         * ralloc.c: safe_bcopy ==> memmove
14588         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14589         * s/msdos.h: Remove BCOPY macros.
14590         * insdel.c (gap_right): Remove BCOPY conditional code.
14591         * insdel.c (gap_left): Remove BCOPY conditional code.
14592         XEmacs demands a working ANSI C compiler - hence memmove.
14593
14594         * regex.c (regex_compile): Remove accidental use of trigraphs.
14595
14596 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14597
14598         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14599         event timestamp.
14600
14601 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14602
14603         * event-msw.c (mswindows_drain_windows_queue): Added the
14604         parameter.
14605         (mswindows_need_event): Commented the call to
14606         mswindows_drain_windows_queue().
14607         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14608         only.
14609
14610         * console-msw.h: Moved a few function prototypes here from
14611         event-msw.c.
14612
14613         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14614         parameter from unsigned short to unsigned long.
14615         (Fmswindows_shell_execute): Added return value.
14616
14617 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14618
14619         * sysdep.c (init_system_name):
14620           process-unix.c (unix_canonicalized_host_name):
14621         Don't call freeaddrinfo() if getaddrinfo() fails.
14622
14623         * process-unix.c (unix_open_unix_network_stream):
14624         Moved the code to get a port # into address loop.
14625
14626 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14627
14628         * buffer.c (reinit_vars_of_buffer):
14629         The right place to initialize conversion_in_dynarr and
14630         conversion_out_dynarr.
14631
14632         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14633
14634         * process-unix.c (unix_canonicalize_host_name): Muleize.
14635         (unix_open_network_stream): Muleize.
14636
14637         * buffer.h: Fix up prototypes for ralloc.c functions.
14638
14639 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14640         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14641         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14642                 instead of gethostbyname()
14643         * process-unix.c: In unix_canonicalize_host_name() and
14644                 unix_open_network_stream(), add code to use getaddrinfo()
14645                 instead of gethostbyname().
14646
14647 2000-01-27  Daniel Pittman <daniel@danann.net>
14648
14649         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14650         libs when built with flat Athena.
14651
14652 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14653
14654         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14655         Use coding standards for function prototypes.
14656
14657 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14658
14659         * dialog-msw.c (push_lisp_string_as_unicode):
14660         * doc.c (unparesseuxify_doc_string):
14661         * dired.c (Fuser_name_completion_1):
14662         * dired.c (Fuser_name_all_completions):
14663         * dired.c (free_user_cache):
14664         * dired.c (user_name_completion):
14665         * console-x.c (get_display_arg_connection):
14666         * minibuf.c (clear_echo_area_internal):
14667         * minibuf.c (echo_area_append):
14668         * eldap.c (Fldap_open):
14669         * eldap.c (Fldap_search_internal):
14670         * frame-x.c (x_set_frame_text_value):
14671         * frame-x.c (x_set_frame_properties):
14672         * frame-x.c (x_create_widgets):
14673         * redisplay-tty.c (term_get_fkeys_1):
14674         * objects-x.c (x_parse_nearest_color):
14675         * objects-x.c (x_valid_color_name_p):
14676         * objects-x.c (x_initialize_font_instance):
14677         * objects-x.c (x_list_fonts):
14678         * objects-x.c (x_find_charset_font):
14679         * tooltalk.c (Fadd_tooltalk_message_arg):
14680         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14681         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14682         * process-unix.c (unix_create_process):
14683         * ntproc.c (sys_spawnve):
14684         * sound.c (Fplay_sound_file):
14685         * sound.c (Fplay_sound):
14686         * buffer.c (init_initial_directory):
14687         * buffer.c (init_buffer):
14688         * editfns.c (init_editfns):
14689         * editfns.c (Ftemp_directory):
14690         * editfns.c (Fuser_full_name):
14691         * editfns.c (uncache_home_directory):
14692         * editfns.c (get_home_directory):
14693         * editfns.c (Fuser_home_directory):
14694         * editfns.c (Fformat_time_string):
14695         * editfns.c (Fcurrent_time_string):
14696         * gui-x.c (button_item_to_widget_value):
14697         * database.c (Fopen_database):
14698         * event-Xt.c (x_to_emacs_keysym):
14699         * event-Xt.c (x_event_to_emacs_event):
14700         * event-Xt.c (describe_event_window):
14701         * event-msw.c (mswindows_wnd_proc):
14702         * glyphs-eimage.c (jpeg_instantiate):
14703         * glyphs-eimage.c (gif_instantiate):
14704         * glyphs-eimage.c (png_instantiate):
14705         * glyphs-eimage.c (tiff_instantiate):
14706         * glyphs-x.c (xbm_instantiate_1):
14707         * glyphs-x.c (x_xbm_instantiate):
14708         * glyphs-x.c (x_xface_instantiate):
14709         * glyphs-x.c (autodetect_instantiate):
14710         * glyphs-x.c (cursor_font_instantiate):
14711         * glyphs-x.c (x_widget_instantiate):
14712         * glyphs-x.c (x_widget_set_property):
14713         * glyphs-x.c (x_widget_property):
14714         * glyphs-x.c (BUILD_GLYPH_INST):
14715         * print.c (write_string_to_stdio_stream):
14716         * print.c (output_string):
14717         * print.c (Falternate_debugging_output):
14718         * print.c (Fexternal_debugging_output):
14719         * glyphs-msw.c (extract_xpm_color_names):
14720         * glyphs-msw.c (mswindows_xpm_instantiate):
14721         * glyphs-msw.c (bmp_instantiate):
14722         * glyphs-msw.c (resource_name_to_resource):
14723         * glyphs-msw.c (mswindows_resource_instantiate):
14724         * glyphs-msw.c (xbm_instantiate_1):
14725         * glyphs-msw.c (mswindows_xbm_instantiate):
14726         * glyphs-msw.c (mswindows_xface_instantiate):
14727         * glyphs-msw.c (mswindows_widget_instantiate):
14728         * glyphs-msw.c (add_tree_item):
14729         * glyphs-msw.c (add_tab_item):
14730         * glyphs-msw.c (mswindows_combo_box_instantiate):
14731         * glyphs-msw.c (mswindows_widget_property):
14732         * glyphs-msw.c (mswindows_combo_box_property):
14733         * glyphs-msw.c (mswindows_widget_set_property):
14734         * console.c (stuff_buffered_input):
14735         * objects-msw.c (mswindows_initialize_color_instance):
14736         * objects-msw.c (mswindows_valid_color_name_p):
14737         * objects-msw.c (mswindows_list_fonts):
14738         * objects-msw.c (mswindows_font_instance_truename):
14739         * bytecode.c (optimize_compiled_function):
14740         * select-x.c (symbol_to_x_atom):
14741         * select-x.c (x_atom_to_symbol):
14742         * select-x.c (hack_motif_clipboard_selection):
14743         * select-x.c (selection_data_to_lisp_data):
14744         * select-x.c (lisp_data_to_selection_data):
14745         * select-x.c (Fx_get_cutbuffer_internal):
14746         * select-x.c (Fx_store_cutbuffer_internal):
14747         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14748         * buffer.h (TO_INTERNAL_FORMAT): New function.
14749         * emacs.c (make_arg_list_1):
14750         * emacs.c (make_argc_argv):
14751         * emacs.c (main_1):
14752         * emacs.c (Fdump_emacs):
14753         * emacs.c (split_string_by_emchar_1):
14754         * file-coding.h:
14755         * lisp.h:
14756         * lstream.h:
14757         * symsinit.h:
14758         * device-x.c (x_init_device):
14759         * device-x.c (Fx_valid_keysym_name_p):
14760         * device-x.c (Fx_get_font_path):
14761         * device-x.c (Fx_set_font_path):
14762         * glyphs.c (bitmap_to_lisp_data):
14763         * glyphs.c (pixmap_to_lisp_data):
14764         * alloc.c (make_ext_string): Use coding system arguments.  Update
14765         all callers.
14766         * alloc.c (build_string):
14767         * callproc.c (child_setup):
14768         * callproc.c (init_callproc):
14769         * fileio.c (lisp_strerror):
14770         * fileio.c (directory_file_name):
14771         * fileio.c (Fexpand_file_name):
14772         * fileio.c (Ffile_truename):
14773         * fileio.c (Fsysnetunam):
14774         * fileio.c (Fdo_auto_save):
14775         * sysdep.c (sys_readdir):
14776         * tests.c: New file.  Allow adding C tests.
14777         Replace GET_* macros with a more comprehensible and flexible
14778         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14779         Modify all calls.
14780         Any coding system can be used to do format conversion.
14781         Eliminate enum external_data_format.
14782         Eliminate convert_to_external_format.
14783         Eliminate convert_to_internal_format.
14784         Make sure file-name, keyboard, terminal, and ctext are always
14785         defined as coding systems or aliases.  Make
14786         file-name-coding-system, terminal-coding-system, and
14787         keyboard-coding-system magical variables that are equivalent to
14788         defining the corresponding coding system aliases.
14789
14790         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14791         * file-coding.c (Fcoding_system_alias_p): New function.
14792         * file-coding.c (Fcoding_system_aliasee): New function.
14793         * file-coding.c (append_suffix_to_symbol): New function.
14794         * file-coding.c (dangling_coding_system_alias_p): New function.
14795         * file-coding.c (Ffind_coding_system):
14796         * file-coding.c (Fcopy_coding_system):
14797         * file-coding.c (encode_coding_no_conversion):
14798         * file-coding.c (syms_of_file_coding):
14799         * file-coding.c (vars_of_file_coding):
14800         Rewrite coding system alias code.
14801         Allow nested aliases, like symbolic links.
14802         Allow redefinition of coding system aliases.
14803         Prevent existence of dangling coding system aliases.
14804
14805         * dired.c (Fuser_name_completion_1):
14806         * dired.c (Fuser_name_all_completions):
14807         A crash would happen if user did QUIT in the middle of building
14808         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14809
14810         * lisp.h:
14811         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
14812
14813         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
14814         an unsigned char *.  Update all callers.
14815
14816 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14817
14818         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
14819
14820 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14821
14822         * elhash.c (hentry_description): Use more portable definition.
14823         (resize_hash_table): Initialize new hentries using
14824         xnew_array_and_zero, thereby simplifying the code.
14825
14826         * mule-charset.c (make_charset): Make sure entire object is
14827         initialized, to avoid Purify warnings.
14828
14829         * alloc.c (resize_string): Fix unlikely crash with big strings.
14830
14831 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14832
14833         * realpath.c (xrealpath):
14834         Don't call getwd().
14835
14836 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14837
14838         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
14839
14840 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
14841
14842         * unexelfsgi.c (unexec): Change the way we decide which segment
14843         should be extended.
14844
14845         Assumption that .bss section should be outside the PT_LOADable
14846         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
14847         it's present) is inside the 'data' segment. This would fail the
14848         test which was used to find a segment to grow and cover new
14849         heap. Instead of this assumption, I created another one - on IRIX
14850         the segment to grow should start below .bss and it's address
14851         should extent above the end of .bss. Once this segment is
14852         identified, it's grown to accommodate the new heap and new
14853         zero-length .bss section is added at the end of .data2.
14854
14855 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14856
14857         * eval.c (Feval): Wrong number of arguments should use original
14858         function, not the indirect_function version of it.
14859
14860 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
14861
14862         * glyphs-x.c (x_button_instantiate): Don't add image if
14863         it is not a pixmap.
14864         (x_locate_pixmap_file): Call Fexpand_file_name when file name
14865         is relative.
14866
14867 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
14868
14869         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
14870         declaration.
14871         (DEFVAR_INT_MAGIC): Ditto.
14872         (DEFVAR_BOOL_MAGIC): Ditto.
14873         * glyphs.h: Reindent backslash.
14874
14875 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14876
14877         * glyphs-widget.c (layout_query_geometry):
14878         (layout_layout): Use correct types for gheight, gwidth.
14879
14880 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14881
14882         * EmacsManager.c (QueryGeometry): Purified.
14883
14884 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14885
14886         * alloc.c (make_float): Make sure entire object is initialized, to
14887         avoid Purify warnings.
14888         (pdump_register_sub): Remove useless assignment.
14889         (pdump): Use xmalloc, not malloc.
14890         (pdump_load): Use xmalloc, not malloc.
14891
14892 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14893
14894         * callproc.c:
14895         * dired-msw.c:
14896         * fileio.c:
14897         * process-nt.c:
14898         * redisplay-msw.c:
14899         * sysdep.c: Removed redundant #include <windows.h>
14900
14901 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14902
14903         * frame.c (delete_frame_internal): Do not delete device when its
14904         implementation so declares.
14905         (delete_frame_internal): Set device selected frame to nil when
14906         last frame goes away.
14907
14908         * device-msw.c (msprinter_device_system_metrics): Implemented.
14909         (mswindows_device_system_metrics): Added 'device-dpi property.
14910
14911         * device.c: (Fdevice_printer_p): Added.
14912         Added 'offset-workspace device metric.
14913
14914         * console.h (device_metrics): Declared DM_offset_workspace.
14915
14916 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14917
14918         * fileio.c (Ffile_truename): Remove pointless and confusing
14919         initialization of elen.
14920
14921         * glyphs-widget.c: Compiler warning fixes.
14922
14923 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
14924
14925         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
14926         instead of a Lisp_Object as argument to make it consistent with
14927         the other LIVE_P macros.
14928         (CHECK_LIVE_PROCESS): New macro.
14929
14930         * process.c: Declare Qprocess_live_p.
14931         (Fprocess_live_p): New function.
14932         (create_process): Use PROCESS_LIVE_P.
14933         (read_process_output): Ditto.
14934         (set_process_filter): Ditto.
14935         (Fdelete_process): Ditto.
14936         (kill_buffer_processes): Ditto
14937         (process_send_signal): Use CHECK_LIVE_PROCESS.
14938         (Fprocess_input_coding_system): Check whether process is still
14939         alive (fix PR#1061).
14940         (Fprocess_output_coding_system): Ditto.
14941         (Fprocess_coding_system): Ditto.
14942         (Fset_process_input_coding_system): Ditto.
14943         (Fset_process_output_coding_system): Ditto.
14944
14945 2000-01-23  Andy Piper  <andy@xemacs.org>
14946
14947         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
14948         layout and widget.
14949
14950         * glyphs.c (mark_image_instance): take into account changed
14951         image_instance format.
14952         (image_instance_equal): ditto.
14953         (image_instance_hash): ditto.
14954
14955         * glyphs-widget.c (widget_instantiate): Incorporate layout
14956         instantiation here. Delay layout of the layout until later.
14957         (layout_instantiate): deleted.
14958         (layout_query_geometry): new function. get the geometry of a
14959         layout.
14960         (layout_layout): layout a layout dynamically.
14961         (image_instantiator_widget): New function - splitting up
14962         image_instantiator_format_create_glyphs_widget for netwinder
14963         compilation.
14964         (image_instantiator_buttons):
14965         (image_instantiator_edit_fields):
14966         (image_instantiator_combo_box):
14967         (image_instantiator_scrollbar):
14968         (image_instantiator_progress_guage):
14969         (image_instantiator_tree_view):
14970         (image_instantiator_tab_control):
14971         (image_instantiator_labels):
14972         (image_instantiator_layout): ditto.
14973         (image_instantiator_format_create_glyphs_widget): Call preceding
14974         functions.
14975
14976 2000-01-22  Martin Buchholz  <martin@xemacs.org>
14977
14978         * process.c (Fset_process_coding_system):
14979         * device-x.c (Fx_keysym_hash_table):
14980         Docstring fixes.
14981
14982         * lstream.c (Lstream_write): Return documented value, not 0.
14983
14984         * fileio.c (directory_file_name):
14985         (Fsubstitute_in_file_name):
14986         (Fsubstitute_insert_file_contents_internal):
14987         (Fwrite_region_internal):
14988         * emacs.c:
14989         * sysdep.c:
14990         * getloadavg.c:
14991         * systty.h:
14992         Remove vestigial APOLLO-conditional code.
14993
14994 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14995
14996         * getpagesize.h: Add guard macros.
14997         * libsst.h: Add guard macros.
14998         * libst.h: Add guard macros.
14999         * line-number.h: Add guard macros.
15000         * ndir.h: Add guard macros.
15001         * sysfloat.h: Add guard macros.
15002         * sysfile.h: Add guard macros.
15003         * sysproc.h: Add guard macros.
15004         * syswait.h: Add guard macros.
15005         * xintrinsic.h: Add guard macros.
15006         * xintrinsicp.h: Add guard macros.
15007         * xmmanager.h: Add guard macros.
15008         * xmmanagerp.h: Add guard macros.
15009         * xmprimitive.h: Add guard macros.
15010         * xmu.h: Add guard macros.
15011         * gpmevent.h: Add copyright statement. Add guard macros.
15012         * miscplay.h: Add guard macros.
15013         * *.h: Use consistent C-standards-approved guard macro names.
15014
15015         * opaque.c (make_opaque): Switch parameter order.
15016         * opaque.h (make_opaque): Switch parameter order.
15017         Update all callers.
15018         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15019
15020         * config.h.in (type_checking_assert): Added.
15021         (bufpos_checking_assert): Added.
15022
15023 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15024
15025         * alloc.c: Harmless pdump changes.
15026         - Use countof().
15027         - spell alignment correctly.
15028         * sysdep.c: Use countof()
15029
15030 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15031
15032         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15033         initially_selected_for_input() console method, default to 0.
15034         (semi_canonicalize_console_connection): Try to delegate to
15035         canonicalize_console_connection if no such console method.
15036         (canonicalize_console_connection): Vice versa.
15037         (print_console): Do not print nil connection.
15038
15039         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15040         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15041         (XDEVIMPF_FRAMELESS_OK): Added.
15042         (CONSOLE_INHERITS_METHOD): Added.
15043
15044         * console-msw.c (mswindows_canonicalize_console_connection):
15045         Added.
15046         (mswindows_canonicalize_device_connection): Added.
15047
15048         * console-msw.h (struct msprinter_device): Added this struct and
15049         accessor macros.
15050         (mswindows_device): Made fontlist a lisp object.
15051
15052         * device.c (semi_canonicalize_device_connection):  Try to delegate
15053         to canonicalize_device_connection if no such console method.
15054         (canonicalize_device_connection): Vice versa.
15055         (print_device): Do not print nil connection.
15056
15057         * device-msw.c (mswindows_init_device): Call InitCommonControls
15058         when have widgets.
15059         (mswindows_delete_device): Removed fontlist deallocation.
15060         (mswindows_mark_device): Added.
15061
15062         * events.c (event_equal): Added abort() at unreached code.
15063         (event_hash): Ditto.
15064
15065         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15066         fallback tags of Windows devices.
15067
15068         * general.c (syms_of_general): Initialized Qmsprinter.
15069
15070         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15071         of fallback tags of Windows devices.
15072
15073         * lisp.h: Declared Qmsprinter.
15074
15075         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15076         of strings.
15077         (mswindows_list_fonts): Ditto.
15078         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15079         that it can be used by both mswindows and msprinter devices.
15080         (initialize_font_instance): Added.
15081         (mswindows_initialize_font_instance): Use it.
15082         (msprinter_initialize_font_instance): Added.
15083
15084         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15085         and implementation flags check.
15086         (redisplay_without_hooks): Changed the call to the above.
15087         (Fredraw_device): Ditto.
15088         (Fredisplay_device): Ditto.
15089
15090         * redisplay-msw.c (get_frame_dc): Implemented.
15091         (get_frame_compdc): Implemented.
15092         (many functions): Use the two functions above to get device
15093         contexts, ether for a window or a printer.
15094
15095 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15096
15097         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15098         initialization here.
15099         (init_symbols_once_early): Call it.
15100         * emacs.c (main_1): Call it.
15101         * symsinit.h: Declare it.
15102
15103 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15104
15105         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15106         Lisp_Object.
15107         (pdump_backtrace): Ditto.
15108         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15109         (pdump_get_entry): Abort if trying to register a null pointer.
15110         (pdump_dump_data): Cleanup types when relocating.
15111         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15112         (pdump_dump_rtables): Remove bad casts.
15113         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15114         Lisp_Object instead of a EMACS_INT for the hashtable
15115         reorganization.
15116
15117 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15118
15119         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15120
15121         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15122
15123         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15124
15125         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15126
15127 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15128
15129         * faces.h (FACE_STRIKETHRU_P): Added.
15130
15131         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15132         of font variants.
15133
15134         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15135         (mswindows_set_dc_font): New function, aware of font variants,
15136         separated from mswindows_update_dc.
15137
15138         * objects-msw.h (struct mswindows_font_instance_data): Added
15139         definition.
15140
15141         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15142         cached fonts and the data structure.
15143         (mswindows_initialize_font_instance): Added creation of font data
15144         structure.
15145         (mswindows_print_font_instance): Print at least something.
15146         (mswindows_create_font_variant): Implemented.
15147         (mswindows_get_hfont): Implemented.
15148
15149 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15150
15151         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15152         prototyping problem with msvc.
15153
15154         * emacs.c (main_1): added syms_of_gui_mswindows() call
15155
15156         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15157         syms_of_gui_mswindows() function
15158
15159         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15160
15161 2000-01-18  Martin Buchholz <martin@xemacs.org>
15162
15163         * XEmacs 21.2.27 is released.
15164
15165 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15166
15167         * glyphs-eimage.c (struct tiff_error_struct):
15168         (tiff_error_func):
15169         (tiff_warning_func):
15170         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15171
15172         * unexmips.c:
15173         * unexhp9k3.c:
15174         * unexfreebsd.c:
15175         * unexec.c: Remove vestigial Lucid C code.
15176         * unexalpha.c:
15177         * unexaix.c:
15178         * termcap.c:
15179         * libsst.c: Ansify.
15180         Remove declarations of errno and strerror().
15181
15182         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15183
15184         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15185
15186 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15187
15188         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15189         Optimize.
15190
15191 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15192
15193         * md5.c:
15194         * file-coding.c:
15195         * file-coding.h:
15196         Change enum eol_type to eol_type_t.
15197
15198 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15199
15200         * gui.c (get_gui_callback): Check cons before accessing car.
15201
15202 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15203
15204         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15205         (XSETSPECIFIER_TYPE): Ditto.
15206
15207 2000-01-17  Didier Verna  <didier@xemacs.org>
15208
15209         * redisplay.c (generate_fstring_runes): compute string size in
15210         characters, not bytes.
15211
15212 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15213
15214         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15215
15216 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15217
15218         * print.c (print_error_message): Call print_prepare().
15219
15220 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15221
15222         * .dbxrc: Renamed from dbxrc.
15223
15224         * events.c (event_to_character):
15225         Use `assert (foo)' instead of `if (!foo) abort()'
15226
15227         * .gdbinit (xtype): Add documentation.
15228         * .gdbinit (check-temacs): New function.
15229         * .gdbinit (check-xemacs): New function.
15230         * dbxrc (check-xemacs): New function.
15231         * dbxrc (check-xemacs): New function.
15232
15233 2000-01-14  Andy Piper  <andy@xemacs.org>
15234
15235         * glyphs-widget.c (widget_query_geometry): Make sure that we
15236         calculate default dimensions correctly.
15237
15238 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15239
15240         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15241
15242         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15243         pdump_wire'd variable.
15244
15245         * emacs.c: (main_1): Conditionalized calls to
15246         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15247
15248 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15249
15250         * window.c (Fset_window_configuration):
15251         * sysdep.c (_start):
15252         * input-method-motif.c (res):
15253         * event-Xt.c (Xt_process_to_emacs_event):
15254         Simple compiler warning fixes.
15255
15256         * bytecode.c (funcall_compiled_function): Use the original
15257         function symbol on the backtrace list in preference to the
15258         compiled_function object in error messages.
15259
15260 2000-01-13  Andy Piper  <andy@xemacs.org>
15261
15262         * glyphs-x.c (update_widget_face): Make sure we update the widget
15263         background as well as foreground.
15264
15265 2000-01-13  Andy Piper  <andy@xemacs.org>
15266
15267         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15268         fields to subwindow.
15269         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15270         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15271         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15272         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15273
15274         * glyphs-widget.c (check_valid_tab_orientation): new function.
15275         (initialize_widget_image_instance): zero orientation and
15276         justification.
15277         (widget_instantiate): pick up orientation.
15278         (tab_control_query_geometry): return appropriate values for
15279         vertical tabs.
15280
15281         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15282         appropriate creation flags for left, right and bottom tabs.
15283
15284         * s/cygwin32.h: add tab definitions.
15285
15286 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15287
15288         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15289         frame upon hiding a subwindow.
15290         (mswindows_button_instantiate): Changed the push button style to
15291         BS_PUSHBUTTON.
15292         (mswindows_button_instantiate): Removed button BS_NOTIFY
15293         style.
15294         (mswindows_button_instantiate): Removed redundant check for
15295         a disabled gui item.
15296         (mswindows_button_instantiate): Made use of WS_TABSTOP
15297         consistent: "operable" controls (edit, button, tree, scroll) have
15298         this style, "display-only" ones (static, progress gauge) do
15299         not. This style is currently ignored by XEmacs though. Also,
15300         removed the WS_EX_CONTROLPARENT style - it is not for children,
15301         it is for their parents!
15302         (mswindows_edit_field_instantiate): Ditto.
15303         (mswindows_progress_gauge_instantiate): Ditto.
15304         (mswindows_tree_view_instantiate): Ditto.
15305         (mswindows_tab_control_instantiate): Ditto.
15306         (mswindows_scrollbar_instantiate): Ditto.
15307         (mswindows_combo_box_instantiate): Ditto.
15308         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15309         style to the "clip" window.
15310         (mswindows_button_instantiate): Removed compilation warning by
15311         equally typing terms of the ?: operator.
15312
15313 2000-01-12  Didier Verna  <didier@xemacs.org>
15314
15315         * redisplay.c (generate_fstring_runes): new parameter holding the
15316         last modeline-format extent.
15317         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15318         extent, fill the glyph block with it.
15319         (generate_fstring_runes): handle these parameters.
15320         (generate_formatted_string_db): ditto.
15321
15322         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15323         glyphs'extents in the modeline.
15324
15325 1999-01-11  Mike Woolley  <mike@bulsara.com>
15326
15327         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15328         256Mb, as a workaround for the non-starting problem many people
15329         have experienced.
15330
15331 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15332
15333         * console-tty.c (Fset_console_tty_output_coding_system):
15334         Force redrawing tty frame.
15335
15336 2000-01-10  Didier Verna  <didier@xemacs.org>
15337
15338         * redisplay.c (generate_fstring_runes): fix size computation bug.
15339
15340 2000-01-09  William M. Perry <wmperry@aventail.com>
15341
15342         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15343
15344 2000-01-09  Andy Piper  <andy@xemacs.org>
15345
15346         * glyphs-msw.c: index -> i to avoid shadows.
15347         (xbm_create_bitmap_from_data): make static.
15348         (check_valid_string_or_int): deleted.
15349         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15350
15351         * glyphs-x.c (x_update_subwindow): remove unused args.
15352
15353         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15354         back pointer - this is done in allocate_image_instance.
15355         (query_string_font): return Qnil to make the compiler happy.
15356         (unmap_subwindow): set to ~0 to make the compiler happy.
15357         (glyph_query_geometry): comment out until used.
15358         (glyph_layout): ditto.
15359
15360 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15361
15362         * insdel.c (signal_after_change): Remove extraneous unbind_to().