update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2
3         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
4         (Qideograph_cbeta): Deleted.
5         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
6         (complex_vars_of_mule_charset): Likewise.
7
8         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
9         (MIN_CHAR_CBETA): Comment out.
10         (MAX_CHAR_CBETA): Likewise.
11
12 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
13
14         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
15         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
16         CHISE client feature.
17
18 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
19
20         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
21
22 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
23
24         * mule-charset.c (charset_lookup_description_1): Use
25         `NUM_LEADING_BYTES' in UTF-2000.
26
27 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
28
29         * char-ucs.h (GC_CHARSETP): Deleted.
30
31 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * char-ucs.h (MAX_CHAR_GT): Updated.
34
35 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
36
37         * text-coding.c: Sync with XEmacs 21.4.10.
38
39 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * mule-charset.c (Vcharset_china3_jef): Deleted.
42         (Qchina3_jef): Deleted.
43         (syms_of_mule_charset): Don't define `china3-jef'.
44         (complex_vars_of_mule_charset): Likewise.
45
46         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
47         (MIN_CHAR_CHINA3_JEF): Comment out.
48         (MAX_CHAR_CHINA3_JEF): Comment out.
49
50 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
51
52         * mule-charset.c (Vcharset_ucs_gb): New variable.
53         (Qucs_gb): New variable.
54         (syms_of_mule_charset): Add new symbol `ucs-gb'.
55         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
56
57         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
58
59 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * mule-charset.c (charset_code_point): if a coded-charset has a
62         final-byte, don't inherit the builtin range of the mother CCS.
63
64 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
65
66         * mule-charset.c (charset_code_point): Fix problem about
67         inheritance.
68
69 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
70
71         * mule-charset.c (decode_builtin_char): Reorganized.
72
73 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
74
75         * text-coding.c (char_encode_as_entity_reference): Modify for
76         `charset_code_point'.
77         (char_encode_shift_jis): Likewise.
78         (char_encode_big5): Likewise.
79         (char_encode_utf8): Likewise.
80         (char_encode_iso2022): Likewise.
81
82         * mule-charset.c (charset_code_point): Add new argument
83         `defined_only'.
84         (Fencode_char): Add new optional argument `defined_only'.
85
86         * chartab.c (put_char_table): Modify for `charset_code_point'.
87
88         * char-ucs.h (charset_code_point): Add new argument
89         `defined_only'.
90         (encode_char_1): Modify for `charset_code_point'.
91
92 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
93
94         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
95         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
96
97 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
100         (Qjis_x0208): Likewise.
101         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
102         XCHARSET_FINAL(charset).
103         (charset_code_point): Modify condition for final-byte based
104         builtin-chars.
105         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
106         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
107         in UTF-2000; specify `=jis-x0208' as the mother of
108         `japanese-jisx0208-1978', `japanese-jisx0208' and
109         `japanese-jisx0208-1990' in UTF-2000.
110
111 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
112
113         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
114
115 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * text-coding.c (decode_coding_utf16): Support UTF-16.
118         (char_encode_utf16): Fixed.
119
120 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * text-coding.c (Qutf16): New variable in MULE.
123         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
124         (Fcoding_system_type): Add `utf-16' in MULE.
125         (struct detection_state): Add a structure for utf16 in MULE.
126         (detect_coding_type): Setup st->utf16.mask in MULE.
127         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
128         MULE.
129         (reset_encoding_stream): Use `char_encode_utf16' and
130         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
131         (detect_coding_utf16): New function [incomplete].
132         (decode_coding_utf16): New function [support only UCS-2].
133         (char_encode_utf16): New function.
134         (char_finish_utf16): New function.
135         (syms_of_file_coding): Add new symbol `utf-16'; setup
136         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
137
138         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
139         UTF-2000.
140         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
141         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
142
143 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
144
145         * chartab.c (put_char_table): When a charset is specified as a
146         range in UTF-2000, don't support builtin characters.
147
148 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
149
150         * mule-charset.c (decode_defined_char): Don't refer external
151         database if Qunbound or Qnil are found.
152         (Fsave_charset_mapping_table): Don't define it if
153         HAVE_CHISE_CLIENT is not defined.
154         (Freset_charset_mapping_table): New function.
155         (load_char_decoding_entry_maybe): Store Qnil if a character is not
156         found in external database.
157         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
158         if HAVE_CHISE_CLIENT is not defined; add new builtin function
159         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
160
161 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
162
163         * text-coding.c (decode_coding_utf8): Check CCS is specified or
164         not.
165
166 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
167
168         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
169         Q_lowercase, Q_uppercase in UTF-2000.
170
171         * chartab.c (get_char_table): Add special code for the standard
172         case table to use character attribute `->downcase' and
173         `->uppercase' for case operations in UTF-2000.
174
175         * casetab.c (Qflippedcase): New variable in UTF-2000.
176         (Q_lowercase): Likewise.
177         (Q_uppercase): Likewise.
178         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
179         and `->uppercase' in UTF-2000.
180         (complex_vars_of_casetab): Assign attribute name `downcase' to
181         downcase and CANON table of Vstandard_case_table in UTF-2000;
182         assign attribute name `flippedcase' to upcase and EQV table of
183         Vstandard_case_table in UTF-2000.
184
185 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
186
187         * text-coding.c (decode_add_er_char): Support isolated-chars.
188         (char_encode_as_entity_reference): Likewise.
189
190 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
191
192         * emacs.c (Vutf_2000_lisp_directory): New variable.
193         (Vconfigure_utf_2000_lisp_directory): Likewise.
194         (complex_vars_of_emacs): Add new variable
195         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
196
197 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
198
199         * char-ucs.h (DECODE_CHAR): Delete special code for
200         `chinese-big5-1' and `chinese-big5-2'.
201
202         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
203         (Qbig5_2): Likewise.
204         (decode_defined_char): Support CONVERSION_BIG5_1 and
205         CONVERSION_BIG5_2.
206         (decode_builtin_char): Likewise.
207         (charset_code_point): Likewise.
208         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
209         'conversion in UTF-2000.
210         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
211         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
212         `chinese-big5-2' as children of `chinese-big5'.
213
214         * char-ucs.h (CONVERSION_BIG5_1): New macro.
215         (CONVERSION_BIG5_2): New macro.
216
217 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
218
219         * text-coding.c (char_encode_big5): Support entity-reference.
220
221 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
222
223         * text-coding.c (char_encode_as_entity_reference): New function.
224         (char_encode_utf8): Use `char_encode_as_entity_reference'.
225
226 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
227
228         * text-coding.c (decode_coding_big5): Support entity-reference
229         decoding feature.
230
231 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * text-coding.c (allocate_coding_system): Initialize initial
234         charsets for CODESYS_UTF8.
235         (Fmake_coding_system): Accept charset-g0, charset-g1 and
236         charset-g2 for CODESYS_UTF8.
237         (decode_coding_utf8): Use charset-g0.
238         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
239         to force variants to map to UCS.
240
241 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * text-coding.c (Qutf_8_mcs): New variable.
244         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
245         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
246         instead of `utf-8' in UTF-2000.
247
248 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
249
250         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
251         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
252         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
253         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
254         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
255         CONVERSION_96x96x96x96 are introduced.
256         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
257         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
258         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
259
260         * char-ucs.h (CONVERSION_94): New macro.
261         (CONVERSION_96): New macro.
262         (CONVERSION_94x94): New macro.
263         (CONVERSION_96x96): New macro.
264         (CONVERSION_94x94x94): New macro.
265         (CONVERSION_96x96x96): New macro.
266         (CONVERSION_94x94x94x60): New macro.
267         (CONVERSION_94x94x94x94): New macro.
268         (CONVERSION_96x96x96x96): New macro.
269
270 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
271
272         * chartab.c (Vcharacter_variant_table): Deleted.
273         (Fchar_variants): Use character-attribute `->ucs-variants' instead
274         of `Vcharacter_variant_table'.
275         (Fput_char_attribute): Likewise.
276         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
277         (complex_vars_of_chartab): Likewise.
278
279 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
280
281         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
282
283         * fns.c (Qideographic_structure): New variable.
284         (Qkeyword_char): New variable.
285         (ids_format_unit): New function.
286         (Fideographic_structure_to_ids): New function.
287         (syms_of_fns): Add new symbols `ideographic-structure' and
288         `:char'; add new builtin function `ideographic-structure-to-ids'.
289
290         * data.c (Fchar_ref_p): New function.
291         (syms_of_data): Add new builtin function `char-ref-p'.
292
293         * chartab.h: Add an EXFUN for `Ffind_char'.
294
295 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
296
297         * text-coding.c (Vcharacter_composition_table): Deleted.
298         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
299         in every UTF-2000.
300
301         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
302         UTF-2000.
303         (Vcharacter_composition_table): Deleted.
304         (Fget_composite_char): Use the implementation for external-DB
305         support in every UTF-2000.
306         (Fput_char_attribute): Likewise.
307         (char_attribute_system_db_file): Don't define if external-DB
308         feature is not available.
309         (Fsave_char_attribute_table): Likewise.
310         (Fmount_char_attribute_table): Likewise.
311         (Fclose_char_attribute_table): Likewise.
312         (Freset_char_attribute_table): Likewise.
313         (Fload_char_attribute_table): Likewise.
314         (syms_of_chartab): Don't define `save-char-attribute-table',
315         `mount-char-attribute-table', `reset-char-attribute-table',
316         `close-char-attribute-table' and `load-char-attribute-table' if
317         external-DB feature is not available.
318         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
319
320 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
321
322         * text-coding.c (Qcomposition): Add extern if external-DB feature
323         is supported.
324         (Vcharacter_composition_table): Don't add extern if external-DB
325         feature is supported.
326         (COMPOSE_ADD_CHAR): Modify for new data-representation of
327         character composition rule if external-DB feature is supported.
328
329         * chartab.c (Vcharacter_composition_table): Don't define if
330         external-DB feature is supported.
331         (Qcomposition): New variable.
332         (Fget_composite_char): New implementation for external-DB support.
333         (Fput_char_attribute): Use `composition' property of each
334         character instead of `Vcharacter_composition_table' to store
335         character-composition rules if external-DB feature is supported.
336         (syms_of_chartab): Add new symbol `composition'.
337         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
338         external-DB feature is supported.
339
340 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
341
342         * chartab.c (Vchar_db_stingy_mode): New variable.
343         (load_char_attribute_maybe): Close database if
344         Vchar_db_stingy_mode is not NIL.
345         (Fload_char_attribute_table_map_function): Use
346         `get_char_id_table_0' instead of `get_char_id_table'.
347         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
348
349         * chartab.h (get_char_id_table_0): New inline function.
350         (get_char_id_table): Use `get_char_id_table_0'.
351
352 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
353
354         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
355         and `COMPOSE_ADD_CHAR'.
356         (decode_coding_iso2022): Use `decode_flush_er_chars'.
357
358 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
359
360         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
361         instead of `DECODE_ADD_UCS_CHAR'.
362         (COMPOSE_ADD_CHAR): Likewise.
363
364 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
365
366         * text-coding.c (decode_flush_er_chars): New inline function.
367         (decode_add_er_char): New function.
368         (decode_coding_utf8): Use `decode_flush_er_chars' and
369         `decode_add_er_char'.
370
371 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
372
373         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
374         done before `decode_output_utf8_partial_char'.
375
376         * mule-charset.c (complex_vars_of_mule_charset): Specify
377         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
378         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
379
380 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * mule-charset.c (decode_defined_char): New function; search
383         mother.
384         (decode_builtin_char): Don't search mother if
385         XCHARSET_MAX_CODE(charset) == 0.
386         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
387         == 0 even if code >= XCHARSET_MAX_CODE(charset).
388         (Fdecode_char): Use `decode_defined_char' instead of
389         `DECODE_DEFINED_CHAR'.
390         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
391         mother of `Vcharset_ucs_jis'.
392
393         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
394         instead of `DECODE_DEFINED_CHAR'.
395
396         * char-ucs.h (decode_defined_char): Renamed from
397         `DECODE_DEFINED_CHAR'; changed to normal function.
398         (DECODE_CHAR): Use `decode_defined_char' instead of
399         `DECODE_DEFINED_CHAR'.
400
401         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
402
403 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
404
405         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
406
407         * text-coding.c (Vcoded_charset_entity_reference_alist): New
408         variable.
409         (Quse_entity_reference): New variable.
410         (Qd): New variable.
411         (Qx): New variable.
412         (QX): New variable.
413         (coding_system_description): Add description for
414         `ccs_priority_list'.
415         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
416         (allocate_coding_system): Initialize `ccs_priority_list' in
417         UTF-2000.
418         (Fmake_coding_system): Add description about
419         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
420         (codesys).
421         (Fcoding_system_property): Accept `disable-composition' and
422         `use-entity-reference' in UTF-2000.
423         (struct decoding_stream): Add new member `er_counter' and `er_buf'
424         in UTF-2000.
425         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
426         (decode_coding_utf8): Decode entity-reference if
427         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
428         (char_encode_utf8): Encode non-Unicode characters as
429         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
430         (str->codesys).
431         (syms_of_file_coding): Add new symbols `use-entity-reference',
432         `d', `x', `X'.
433         (vars_of_file_coding): Add new variable
434         `coded-charset-entity-reference-alist'.
435         (complex_vars_of_file_coding): Declare `disable-composition' and
436         `use-entity-reference' to be coding-system-properties in UTF-2000.
437
438         * file-coding.h (struct Lisp_Coding_System): Add new member
439         `use_entity_reference' and `ccs_priority_list'.
440         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
441         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
442         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
443
444 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
445
446         * chartab.c (save_uint8_byte_table): Don't clear the table.
447         (save_uint16_byte_table): Likewise.
448         (save_byte_table): Likewise.
449         (Fmount_char_attribute_table): New function.
450         (syms_of_chartab): Add new builtin function
451         `mount-char-attribute-table'.
452
453 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * mule-charset.c (Fsave_charset_mapping_table): Open database as
456         "w+" mode.
457         (load_char_decoding_entry_maybe): Open database as read-only mode.
458
459         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
460         open database as "w+" mode.
461         (load_char_attribute_maybe): Open database as read-only mode.
462         (Fload_char_attribute_table): Likewise.
463
464 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
467         (char_table_description): Delete member `db_file'.
468         (Fmake_char_table): Don't refer `ct->db_file'.
469         (Fcopy_char_table): Likewise.
470         (Fsave_char_attribute_table): Likewise.
471         (Fclose_char_attribute_table): Likewise.
472         (Freset_char_attribute_table): Likewise.
473         (load_char_attribute_maybe): Likewise.
474         (Fload_char_attribute_table): Likewise.
475
476         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
477
478 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
481         (Fsave_char_attribute_table): Don't check `ct->db_file' if
482         `ct->db' is living.
483         (load_char_attribute_maybe): Likewise.
484         (Fload_char_attribute_table): Likewise.
485
486 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
487
488         * chartab.c (Fclose_char_attribute_table): Set Qnil on
489         `ct->db_file' unconditionally.
490
491 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
492
493         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
494         UTF-2000.
495         (char_table_description): Add description for `db_file' and `db'
496         in UTF-2000.
497         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
498         UTF-2000.
499         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
500         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
501         (Fclose_char_attribute_table): New function.
502         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
503         (load_char_attribute_maybe): Change interface; use `cit->db_file'
504         and `cit->db'.
505         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
506         (syms_of_chartab): Add new builtin function
507         `Fclose_char_attribute_table'.
508
509 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
510
511         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
512         `db' in UTF-2000.
513         (load_char_attribute_maybe): Change interface.
514         (get_char_id_table): Modify for `load_char_attribute_maybe'.
515
516 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
517
518         * database.h: Add an EXFUN for `Fdatabase_live_p'.
519
520 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
523         instead of `DECODE_CHAR' for mother; don't use special code for
524         chinese-big5 to use code space of chinese-big5-1 and
525         chinese-big5-2.
526         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
527         `MAX_CHAR_BIG5_CDP' for chinese-big5.
528
529         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
530         (MAX_CHAR_BIG5_CDP): Revival.
531
532 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
533
534         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
535         the XLFD registry-encoding name of `chinese-big5'.
536
537 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
538
539         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
540         (Qchinese_big5_cdp): Deleted.
541         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
542         (complex_vars_of_mule_charset): Delete coded-charset
543         `chinese-big5-cdp'.
544
545         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
546         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
547         `CHARSET_ID_OFFSET - n' for private CCS.
548         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
549         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
550         of `MIN_LEADING_BYTE'.
551         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
552         `(CHARSET_ID_OFFSET - 97)'.
553         (MIN_CHAR_BIG5_CDP): Deleted.
554         (MAX_CHAR_BIG5_CDP): Deleted.
555
556 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
557
558         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
559
560 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
561
562         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
563         (vars_of_mule): Add new variable `utf-2000-version' [moved from
564         chartab.c].
565
566         * chartab.c (Vutf_2000_version): Moved to mule.c.
567         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
568
569 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
570
571         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
572         when HAVE_CHISE_CLIENT is not defined.
573
574         * mule.c (vars_of_mule): Provide feature `chise' when
575         HAVE_CHISE_CLIENT is defined.
576
577 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
578
579         * config.h.in (UTF2000): Add comment.
580         (HAVE_CHISE_CLIENT): New macro.
581
582 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
583
584         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
585         CONSP.
586         (Fput_char_attribute): Likewise.
587         (char_attribute_system_db_file): Encode file-name of attribute.
588         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
589         the initial value.
590
591 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
592
593         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
594         (Fsave_charset_mapping_table): Use
595         `char_attribute_system_db_file'.
596         (load_char_decoding_entry_maybe): Likewise.
597
598         * chartab.h (Qsystem_char_id): New external variable.
599         (char_attribute_system_db_file): New prototype.
600
601         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
602         (char_attribute_system_db_file): New function.
603         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
604         (Freset_char_attribute_table): Likewise.
605         (load_char_attribute_maybe): Likewise.
606         (Fload_char_attribute_table): Likewise.
607         (syms_of_chartab): Add new symbol `system-char-id'.
608
609 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
610
611         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
612         `XCHARSET_GRAPHIC(ccs)'.
613
614 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
615
616         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
617
618 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
619
620         * chartab.c (Q_ucs_variants): New variable.
621         (syms_of_chartab): Add new symbol `->ucs-variants'.
622         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
623         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
624         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
625
626         * mule-charset.c (load_char_decoding_entry_maybe): New function.
627
628         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
629         `HAVE_DATABASE' is defined.
630         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
631         `HAVE_DATABASE' is defined.
632
633 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
634
635         * chartab.c (Fsave_char_attribute_table): Don't clear internal
636         attribute-table.
637         (Freset_char_attribute_table): New function.
638         (syms_of_chartab): Add new builtin function
639         `reset-char-attribute-table'.
640
641 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
642
643         * chartab.c (load_char_attribute_maybe): Don't make directories.
644
645 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
646
647         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
648
649         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
650         for decoding-table.
651
652 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
653
654         * mule-charset.c (Fsave_charset_mapping_table): Use
655         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
656
657         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
658         instead of `XCHARSET_CHARS'.
659
660 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
661
662         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
663         (XCHARSET_BYTE_SIZE): Likewise.
664
665         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
666         mule-charset.c].
667         (XCHARSET_BYTE_SIZE): Likewise.
668
669 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
670
671         * chartab.c (Fput_char_attribute): Use exec-directory instead of
672         data-directory to store database.
673         (Fsave_char_attribute_table): Likewise.
674         (load_char_attribute_maybe): Likewise.
675         (Fload_char_attribute_table): Likewise.
676
677 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
678
679         * mule-charset.c (Fsave_charset_mapping_table): New function.
680         (syms_of_mule_charset): Add new builtin function
681         `save-charset-mapping-table'.
682
683 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
684
685         * char-ucs.h (decoding_table_check_elements): Delete prototype.
686         (get_ccs_octet_table): New inline function.
687         (put_ccs_octet_table): Likewise.
688         (decoding_table_put_char): Use `get_ccs_octet_table' and
689         `put_ccs_octet_table'.
690         (decoding_table_remove_char): Use `decoding_table_put_char'.
691         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
692
693         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
694         into encoding_table.
695         (make_charset): Use Qunbound instead Qnil as initial value of
696         decoding_table.
697
698 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
699
700         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
701         element is Qunloaded.
702         (map_over_uint16_byte_table): Likewise.
703         (map_over_byte_table): Likewise.
704         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
705         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
706         database support, load encoding-table of the specified
707         coded-charset if it is not loaded yet.
708         (save_uint8_byte_table): New function of UTF-2000 with external
709         database support.
710         (save_uint16_byte_table): Likewise.
711         (save_byte_table): Likewise.
712         (Fput_char_attribute): Don't store value into external database
713         even if the external database feature is supported in UTF-2000;
714         set `attribute' as name of char-table if the external database
715         feature is supported.
716         (Fsave_char_attribute_table): New function in UTF-2000.
717         (syms_of_chartab): Add new builtin function
718         `save-char-attribute-table' in UTF-2000.
719
720 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
721
722         * chartab.c (char_attribute_table_to_put): New variable in
723         UTF-2000.
724         (Qput_char_table_map_function): Likewise.
725         (value_to_put): Likewise.
726         (Fput_char_table_map_function): New function in UTF-2000.
727         (put_char_table): Use `Fmap_char_attribute' for
728         CHARTAB_RANGE_CHARSET in UTF-2000.
729         (Fput_char_attribute): Store symbol instead of string in
730         `XCHAR_TABLE_NAME (table)'.
731         (load_char_attribute_maybe): Likewise.
732         (syms_of_chartab): Add new symbol/function
733         `put-char-table-map-function'.
734
735 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
736
737         * database.h: Add new EXFUN for `Fmap_database'.
738
739         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
740         (syms_of_database): Likewise.
741
742         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
743         UTF-2000.
744         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
745         (XCHAR_TABLE_UNLOADED): Likewise.
746
747         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
748         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
749         HAVE_DATABASE is defined.
750         (char_attribute_table_to_load): New variable of UTF-2000 with
751         external database support.
752         (Qload_char_attribute_table_map_function): Likewise.
753         (Fload_char_attribute_table_map_function): New function of
754         UTF-2000 with external database support.
755         (Fload_char_attribute_table): New function of UTF-2000.
756         (Fmap_char_attribute): Call Fload_char_attribute_table if
757         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
758         (syms_of_chartab): Add new symbol and function
759         `load-char-attribute-table-map-function' in UTF-2000 with external
760         database support; add new function `load-char-attribute-table' in
761         UTF-2000.
762
763 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
764
765         * chartab.h (load_char_attribute_maybe): New prototype for
766         UTF-2000 with DATABASE support.
767         (get_char_id_table): Use `load_char_attribute_maybe' if
768         HAVE_DATABASE is defined.
769
770         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
771         with DATABASE support.
772
773 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
774
775         * chartab.c (Fput_char_attribute): Use S-expression as key of
776         external database.
777
778         * chartab.h (get_char_id_table): Use S-expression as key of
779         external database.
780
781 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
784         if an element is not loaded, load the corresponding attributes
785         from an external database.
786         (map_over_uint16_byte_table): Likewise.
787         (map_over_byte_table): Likewise.
788         (map_char_table): Modify for `map_over_uint8_byte_table',
789         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
790         element is not loaded, load the corresponding attributes from an
791         external database.
792         (Fput_char_attribute): Change initial values to Qunloaded.
793
794         * chartab.h (get_char_id_table): If a character attribute is not
795         loaded and the attribute value is not found in an external
796         database, store Qunbound as the attribute value.
797
798 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
799
800         * chartab.c (BT_UINT8_unloaded): New macro.
801         (UINT8_VALUE_P): Accept Qunloaded.
802         (UINT8_ENCODE): Likewise.
803         (UINT8_DECODE): Likewise.
804         (BT_UINT16_unloaded): New macro.
805         (UINT16_VALUE_P): Accept Qunloaded.
806         (UINT16_ENCODE): Likewise.
807         (UINT16_DECODE): Likewise.
808         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
809         BT_UINT16_unloaded.
810         (mark_char_table): Mark `ct->name' in UTF-2000.
811         (char_table_description): Add `name' in UTF-2000.
812         (Fmake_char_table): Initialize `ct->name'.
813         (Fcopy_char_table): Copy `ct->name'.
814         (Fput_char_attribute): Store value into an external database if
815         HAVE_DATABASE is defined.
816
817         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
818         UTF-2000.
819         (CHAR_TABLE_NAME): New macro in UTF-2000.
820         (XCHAR_TABLE_NAME): New macro in UTF-2000.
821         (get_char_id_table): Try to read an external database if Qunloaded
822         is stored in a table.
823
824         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
825         Qunloaded.
826
827 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
828
829         * database.h: Add EXFUN definitions for Fopen_database,
830         Fput_database, Fget_database and Fclose_database.
831
832         * data.c (Qunloaded): New variable in UTF-2000.
833
834         * lisp.h (Qunloaded): New variable in UTF-2000.
835
836 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * mule-charset.c (put_char_ccs_code_point): Modify for
839         `decoding_table_remove_char' and `decoding_table_put_char'.
840         (remove_char_ccs): Modify for `decoding_table_remove_char'.
841
842         * char-ucs.h (decoding_table_remove_char): Change arguments to
843         hide decoding_table vector.
844         (decoding_table_put_char): Likewise.
845
846 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * mule-charset.c (decoding_table_remove_char): Moved to
849         char-ucs.h.
850         (decoding_table_put_char): Likewise.
851
852         * char-ucs.h (decoding_table_check_elements): New prototype [moved
853         from mule-charset.c].
854         (decoding_table_remove_char): New inline function [moved from
855         mule-charset.c].
856         (decoding_table_put_char): Likewise.
857
858 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
859
860         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
861         extension.
862
863 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
864
865         * mule-charset.c (decode_builtin_char): Support mother charsets.
866
867 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
868
869         * mule-charset.c (Q94x94x60): New variable.
870         (charset_code_point): Support conversion `94x94x60'.
871         (Fmake_charset): Likewise.
872         (syms_of_mule_charset): Add new symbol `94x94x60'.
873
874         * char-ucs.h (CONVERSION_94x94x60): New macro.
875
876 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
877
878         * mule-charset.c (charset_code_point): Unify code about
879         `code-offset'.
880
881 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
882
883         * mule-charset.c (charset_code_point): Merge code about builtin
884         characters into code about mother charsets; don't use
885         `range_charset_code_point'.
886         (range_charset_code_point): Deleted.
887
888 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * mule-charset.c (Qcode_offset): New variable.
891         (Fmake_charset): Use `XUINT' to get value of `min-code' and
892         `max-code'; accept new property `code-offset'.
893         (syms_of_mule_charset): Add new symbol `code-offset'.
894
895 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
896
897         * mule-charset.c (range_charset_code_point): Fixed.
898
899 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
900
901         * mule-charset.c (decode_builtin_char): Change semantics of
902         code-offset of coded-charset.
903         (charset_code_point): Likewise.
904         (range_charset_code_point): Likewise.
905         (complex_vars_of_mule_charset): Modify for the change.
906
907 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
908
909         * mule-charset.c (Fencode_char): Reverse arguments.
910
911         * mule-charset.c (charset_code_point): Fixed.
912
913 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
914
915         * mule-charset.c (Vcharset_mojikyo): Deleted.
916         (Vcharset_mojikyo_2022_1): Deleted.
917         (Vcharset_mojikyo_pj_{1..21}): Deleted.
918         (Qmin_code): New variable in UTF-2000.
919         (Qmax_code): Likewise.
920         (Qmother): Likewise.
921         (Qconversion): Likewise.
922         (Q94x60): Likewise.
923         (Qmojikyo): Deleted.
924         (Qmojikyo_2022_1): Deleted.
925         (Qmojikyo_pj_{1..22}): Deleted.
926         (mark_charset): Mark `cs->mother'.
927         (charset_description): Add description for `mother'.
928         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
929         new arguments `mother' and `conversion'; use
930         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
931         (charset_code_point): Moved from char-ucs.h; support `mother'
932         charset feature.
933         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
934         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
935         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
936         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
937         allow 2 as the value of `graphic' in UTF-2000; add new properties
938         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
939         require `final' in UTF-2000; modify for `make_charset'.
940         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
941         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
942         (Fcharset_property): Support `mother', `min-code' and `max-code'.
943         (Fencode_char): New function.
944         (syms_of_mule_charset): Add new builtin function `encode-char' in
945         UTF-2000; add new symbols `min-code', `max-code', `mother',
946         `conversion' and `94x60'; delete symbols `mojikyo',
947         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
948         (complex_vars_of_mule_charset): Modify for `make_charset' change;
949         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
950         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
951
952         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
953         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
954
955         * char-ucs.h (Vcharset_mojikyo): Deleted.
956         (Vcharset_mojikyo_2022_1): Deleted.
957         (LEADING_BYTE_MOJIKYO): Deleted.
958         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
959         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
960         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
961         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
962         add new member `mother'; add new member `conversion'.
963         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
964         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
965         (CHARSET_MOTHER): New macro.
966         (CHARSET_CONVERSION): New macro.
967         (CONVERSION_IDENTICAL): New macro.
968         (CONVERSION_94x60): New macro.
969         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
970         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
971         (XCHARSET_MOTHER): New macro.
972         (XCHARSET_CONVERSION): New macro.
973         (MIN_CHAR_MOJIKYO): Deleted.
974         (MAX_CHAR_MOJIKYO): Deleted.
975         (DECODE_MOJIKYO_2022): Deleted.
976         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
977         (charset_code_point): Changed to non-inline function.
978         (encode_char_1): Use `charset_code_point'.
979         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
980
981 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
982
983         * lread.c (read_compiled_function): Fix prototype.
984         (read_vector): Likewise.
985
986 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * lrecord.h (struct lrecord_header): Delete `older'.
989         (set_lheader_implementation): Delete code for `older'.
990         (set_lheader_older_implementation): Deleted.
991         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
992         (OLDER_RECORD_P): Deleted.
993         (OLDER_RECORD_HEADER_P): Deleted.
994         (alloc_older_lcrecord): Deleted.
995         (alloc_older_lcrecord_type): Deleted.
996
997         * alloc.c (all_older_lcrecords): Deleted.
998         (alloc_older_lcrecord): Deleted.
999         (disksave_object_finalization_1): Delete code for older objects.
1000         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1001         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1002
1003 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1004
1005         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1006         instead of `make_older_vector'.
1007         (put_char_ccs_code_point): Likewise.
1008         (mark_charset): Mark `cs->decoding_table'.
1009         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1010
1011         * lisp.h (make_older_vector): Deleted.
1012         (make_vector_newer): Deleted.
1013
1014         * config.h.in (HAVE_GGC): Deleted.
1015
1016         * alloc.c (make_older_vector): Deleted.
1017         (make_vector_newer_1): Deleted.
1018         (make_vector_newer): Deleted.
1019
1020 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1021
1022         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1023         (Qideograph_daikanwa_2): New variable.
1024         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1025         (complex_vars_of_mule_charset): Add new coded-charset
1026         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1027         `LEADING_BYTE_DAIKANWA'.
1028
1029         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1030         (LEADING_BYTE_DAIKANWA_1): New macro.
1031         (LEADING_BYTE_DAIKANWA_2): New macro.
1032         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1033
1034 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1035
1036         * mule-charset.c (complex_vars_of_mule_charset): Change
1037         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1038         the second revised version.
1039
1040 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1041
1042         * mule-charset.c (Vcharset_ucs_smp): New variable.
1043         (Vcharset_ucs_sip): New variable.
1044         (Qucs_smp): New variable.
1045         (Qucs_sip): New variable.
1046         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1047         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1048         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1049         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1050         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1051         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1052
1053         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1054         (LEADING_BYTE_UCS_SIP): New macro.
1055         (MIN_CHAR_SMP): New macro.
1056         (MAX_CHAR_SMP): New macro.
1057         (MIN_CHAR_SIP): New macro.
1058         (MAX_CHAR_SIP): New macro.
1059
1060 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1061
1062         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1063         utf-2000.
1064
1065 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1066
1067         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1068         value; don't store value into `encoding_table' of `Lisp_Charset'.
1069         (mark_charset): `encoding_table' was deleted.
1070         (charset_description): Likewise.
1071         (make_charset): Likewise.
1072         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1073         `put_char_ccs_code_point'.
1074
1075         * chartab.h (Fput_char_attribute): New EXFUN.
1076
1077         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1078         is unified with normal symbol space.
1079         (Fget_char_attribute): Likewise.
1080         (Fput_char_attribute): Likewise; behavior of
1081         `put_char_ccs_code_point' is changed.
1082
1083         * char-ucs.h: Include "elhash.h".
1084         (Vchar_attribute_hash_table): New external variable.
1085         (struct Lisp_Charset): Delete `encoding_table'.
1086         (CHARSET_ENCODING_TABLE): New implementation; refer
1087         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1088         `Lisp_Charset'.
1089
1090 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1091
1092         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1093         (cs) == 0.
1094
1095 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1096
1097         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1098         `chinese-big5'.
1099
1100 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1101
1102         * chartab.c (uint8_byte_table_description): New constant.
1103         (uint8-byte-table): Use `uint8_byte_table_description'.
1104         (uint16_byte_table_description): New constant.
1105         (uint16-byte-table): Use `uint16_byte_table_description'.
1106
1107 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1108
1109         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1110         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1111
1112 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1113
1114         * mule-charset.c (Vcharset_ucs_ks): New variable.
1115         (Qucs_ks): New variable.
1116         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1117         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1118
1119         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1120
1121 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1122
1123         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1124         (Fdecode_char): Likewise.
1125
1126         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1127         chartab.h.
1128         (Fdefine_char): Modify for Fdecode_char.
1129         (Ffind_char): Likewise.
1130
1131         * mule-charset.c (Fdecode_char): Add new optional argument
1132         `defined-only'.
1133         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1134
1135 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1136
1137         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1138         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1139         (allocate_coding_system): Initialize initial-charsets of
1140         CODESYS_BIG5 in XEmacs UTF-2000.
1141         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1142         CODESYS_BIG5 in XEmacs UTF-2000.
1143         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1144         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1145
1146         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1147         variables.
1148         (Qideograph_hanziku_{1 .. 12}): Likewise.
1149         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1150         .. 12}'.
1151         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1152         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1153         `ideograph-hanziku-{1 .. 12}'.
1154
1155         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1156         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1157         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1158         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1159         (DECODE_DEFINED_CHAR): New inline function.
1160         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1161
1162 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1163
1164         * mule-charset.c (Vcharset_china3_jef): Renamed from
1165         `Vcharset_japanese_jef_china3'.
1166         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1167         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1168         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1169         (syms_of_mule_charset): Rename `china3-jef' from
1170         `japanese-jef-china3'.
1171         (complex_vars_of_mule_charset): Likewise; rename
1172         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1173
1174         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1175         `LEADING_BYTE_JEF_CHINA3'.
1176         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1177         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1178
1179 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1180
1181         * mule-charset.c (encode_builtin_char_1): Comment out special code
1182         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1183
1184         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1185         (MAX_CHAR_MOJIKYO_0): Comment out.
1186         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1187         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1188         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1189         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1190
1191 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1192
1193         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1194         (Qideograph_cbeta): New variable.
1195         (encode_builtin_char_1): Comment out special code for
1196         coded-charset `mojikyo' and `japanese-jef-china3'.
1197         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1198         (complex_vars_of_mule_charset): Add new coded-charset
1199         `ideograph-cbeta'.
1200
1201         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1202         (MIN_CHAR_CBETA): New macro.
1203         (MAX_CHAR_CBETA): New macro.
1204
1205 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1208         (LEADING_BYTE_JEF_CHINA3): New macro.
1209         (MIN_CHAR_JEF_CHINA3): New macro.
1210         (MAX_CHAR_JEF_CHINA3): Likewise.
1211         (DECODE_CHAR): Fixed.
1212
1213 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1214
1215         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1216         (Qjapanese_jef_china3): New variable.
1217         (encode_builtin_char_1): Support `japanese-jef-china3'.
1218         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1219         (complex_vars_of_mule_charset): Add new coded-charset
1220         `japanese-jef-china3'.
1221
1222 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1223
1224         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1225         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1226         94^4, 96^3, 96^4, 128^n and 256^n set.
1227         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1228         (map_char_table): Likewise.
1229
1230 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1231
1232         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1233         UTF-2000.
1234
1235 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1236
1237         * chartab.h (get_char_id_table): New inline function.
1238
1239         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1240         function.
1241
1242 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1243
1244         * chartab.h (decode_char_table_range): New prototype in XEmacs
1245         UTF-2000.
1246         (put_char_id_table): New inline function in XEmacs UTF-2000.
1247
1248         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1249         function.
1250         (decode_char_table_range): Delete static declaration in XEmacs
1251         UTF-2000.
1252
1253 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1254
1255         * chartab.c (put_char_id_table): Use `put_char_table'.
1256
1257 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1258
1259         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1260         (map_over_uint16_byte_table): Likewise.
1261         (map_over_byte_table): Likewise.
1262         (map_char_table): Modify for `map_over_uint8_byte_table',
1263         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1264         UTF-2000.
1265
1266 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1267
1268         * chartab.c (struct map_char_table_for_charset_arg): New
1269         structure.
1270         (map_char_table_for_charset_fun): New function.
1271         (map_char_table): Use `map_char_table' for encoding_table of
1272         `range->charset'.
1273
1274 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1275
1276         * chartab.c (map_char_table): Check a character is found in
1277         range->charset instead of non default value is defined in
1278         char-table when range is CHARTAB_RANGE_ROW.
1279
1280 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1281
1282         * chartab.c (map_char_id_table): Deleted.
1283         (Fmap_char_attribute): Use `map_char_table' instead of
1284         `map_char_id_table'.
1285
1286 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1287
1288         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1289         UTF-2000.
1290         (update_syntax_table): Deleted in XEmacs UTF-2000.
1291
1292         * syntax.c (find_defun_start): Use `syntax_table' instead of
1293         `mirror_syntax_table' in XEmacs UTF-2000.
1294         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1295         UTF-2000.
1296         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1297         XEmacs UTF-2000.
1298         (Fmatching_paren): Likewise.
1299         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1300         in XEmacs UTF-2000.
1301         (find_start_of_comment): Likewise.
1302         (find_end_of_comment): Likewise.
1303         (Fforward_comment): Likewise.
1304         (scan_lists): Likewise.
1305         (char_quoted): Likewise.
1306         (Fbackward_prefix_chars): Likewise.
1307         (scan_sexps_forward): Likewise.
1308         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1309         (update_syntax_table): Likewise.
1310
1311         * search.c (skip_chars): Use `syntax_table' instead of
1312         `mirror_syntax_table' in XEmacs UTF-2000.
1313         (wordify): Likewise.
1314         (Freplace_match): Likewise.
1315
1316         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1317         `mirror_syntax_table' in XEmacs UTF-2000.
1318         (WORDCHAR_P_UNSAFE): Likewise.
1319         (re_match_2_internal): Likewise.
1320
1321         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1322         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1323
1324         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1325         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1326
1327         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1328         XEmacs UTF-2000.
1329
1330         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1331         UTF-2000.
1332         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1333         (char_table_description): Delete `mirror_table' in XEmacs
1334         UTF-2000.
1335         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1336         UTF-2000.
1337         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1338         (Fcopy_char_table): Likewise.
1339         (put_char_table): Don't call `update_syntax_table' in XEmacs
1340         UTF-2000.
1341
1342         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1343         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1344         (casify_region_internal): Likewise.
1345
1346         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1347
1348         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1349         `mirror_syntax_table' in XEmacs UTF-2000.
1350
1351         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1352         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1353         (Fexpand_abbrev): Likewise.
1354
1355 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1356
1357         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1358
1359 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1360
1361         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1362         (map_over_uint16_byte_table): Likewise.
1363         (map_over_byte_table): Likewise.
1364         (get_char_id_table): Refer `cit->default_value'.
1365         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1366         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1367         of character-id ranges.
1368         (mark_char_table): Mark `ct->default_value'.
1369         (char_table_description): Add `default_value'.
1370         (fill_char_table): Use `default_value'.
1371         (decode_char_table_range): Decode `nil' as
1372         `CHARTAB_RANGE_DEFAULT'.
1373         (get_char_id_table): Refer `cit->default_value'.
1374         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1375         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1376         temporary hack; check value of char-table is bound or not.
1377         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1378
1379         * chartab.h (struct Lisp_Char_Table): Add new member
1380         `default_value' in XEmacs UTF-2000.
1381         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1382         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1383         UTF-2000.
1384
1385 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1386
1387         * chartab.h (Lisp_Char_ID_Table): Deleted.
1388
1389         * chartab.c (char_table_description): Fix typo.
1390         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1391         `Lisp_Char_ID_Table'.
1392
1393 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1394
1395         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1396         `CHAR_ID_TABLE_P'.
1397
1398         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1399         `CHAR_ID_TABLE_P'.
1400
1401         * chartab.h (XCHAR_ID_TABLE): Deleted.
1402         (XSETCHAR_ID_TABLE): Deleted.
1403         (CHAR_ID_TABLE_P): Deleted.
1404
1405         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1406         `CHAR_ID_TABLE_P'.
1407         (Fget_composite_char): Likewise.
1408         (put_char_table): Likewise.
1409         (add_char_attribute_alist_mapper): Fixed.
1410         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1411         `CHAR_ID_TABLE_P'.
1412         (Fget_char_attribute): Likewise.
1413         (Fget_char_attribute): Likewise.
1414         (Fmap_char_attribute): Likewise.
1415
1416         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1417         `CHAR_ID_TABLE_P'.
1418         (encode_char_1): Likewise.
1419
1420 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1421
1422         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1423         `XCHAR_ID_TABLE'.
1424
1425         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1426         instead of `XCHAR_ID_TABLE'.
1427         (remove_char_ccs): Likewise.
1428
1429         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1430         `XCHAR_ID_TABLE'.
1431         (Fget_composite_char): Likewise.
1432         (Fchar_variants): Likewise.
1433         (put_char_table): Likewise.
1434         (add_char_attribute_alist_mapper): Likewise.
1435         (Fchar_attribute_alist): Likewise.
1436         (Fget_char_attribute): Likewise.
1437         (Fput_char_attribute): Likewise.
1438         (Fmap_char_attribute): Likewise.
1439         (Fmap_char_attribute): Likewise.
1440
1441         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1442         `XCHAR_ID_TABLE'.
1443         (encode_char_1): Likewise.
1444
1445 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1446
1447         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1448         `Lisp_Char_ID_Table'.
1449         (mark_char_id_table): Deleted.
1450         (print_char_id_table): Likewise.
1451         (char_id_table_equal): Likewise.
1452         (char_id_table_hash): Likewise.
1453         (char_id_table_description): Likewise.
1454         (char_id_table): Likewise.
1455         (make_char_id_table): Use `Fmake_char_table' and
1456         `fill_char_table'.
1457         (get_char_id_table): Use `Lisp_Char_Table' instead of
1458         `Lisp_Char_ID_Table'.
1459         (put_char_id_table): Likewise.
1460         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1461         `XCHAR_ID_TABLE'.
1462         (Fremove_char_attribute): Likewise.
1463         (syms_of_chartab): Don't define type `char-id-table'.
1464
1465         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1466         (char_id_table): Likewise.
1467         (GC_CHAR_ID_TABLE_P): Likewise.
1468         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1469         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1470         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1471         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1472         (get_char_id_table): Use `Lisp_Char_Table' instead of
1473         `Lisp_Char_ID_Table'.
1474         (put_char_id_table_0): Likewise.
1475         (put_char_id_table): Likewise.
1476
1477 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1478
1479         * chartab.h: Lisp_Byte_Table related codes are moved from
1480         chartab.h.
1481
1482         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1483
1484 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1485
1486         * chartab.h: Don't include "chartab.h".
1487         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1488         (Lisp_Char_ID_Table): Likewise.
1489         (char_id_table): Likewise.
1490         (XCHAR_ID_TABLE): Likewise.
1491         (XSETCHAR_ID_TABLE): Likewise.
1492         (CHAR_ID_TABLE_P): Likewise.
1493         (GC_CHAR_ID_TABLE_P): Likewise.
1494         (get_char_id_table): Likewise.
1495
1496         * char-ucs.h: Include "chartab.h".
1497         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1498         (Lisp_Char_ID_Table): Likewise.
1499         (char_id_table): Likewise.
1500         (XCHAR_ID_TABLE): Likewise.
1501         (XSETCHAR_ID_TABLE): Likewise.
1502         (CHAR_ID_TABLE_P): Likewise.
1503         (GC_CHAR_ID_TABLE_P): Likewise.
1504         (get_char_id_table): Likewise.
1505
1506 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1507
1508         * chartab.c (copy_uint8_byte_table): New function.
1509         (copy_uint16_byte_table): New function.
1510         (copy_byte_table): New function.
1511         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1512         characters to call.
1513         (map_over_uint16_byte_table): Likewise.
1514         (map_over_byte_table): Likewise.
1515         (get_byte_table): Move prototype to chartab.h.
1516         (put_byte_table): Likewise.
1517         (put_char_id_table_0): Moved to chartab.h.
1518         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1519         (char_table_entry_equal): Likewise.
1520         (char_table_entry_hash): Likewise.
1521         (char_table_entry_description): Likewise.
1522         (char_table_entry): Likewise.
1523         (make_char_table_entry): Likewise.
1524         (copy_char_table_entry): Likewise.
1525         (get_non_ascii_char_table_value): Likewise.
1526         (map_over_charset_ascii): Likewise.
1527         (map_over_charset_control_1): Likewise.
1528         (map_over_charset_row): Likewise.
1529         (map_over_other_charset): Likewise.
1530         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1531         (print_char_table): Likewise.
1532         (char_table_equal): Likewise.
1533         (char_table_hash): Likewise.
1534         (char_table_description): Likewise.
1535         (fill_char_table): Likewise.
1536         (Fcopy_char_table): Likewise.
1537         (get_char_table): Likewise.
1538         (Fget_range_char_table): Likewise.
1539         (put_char_table): Likewise.
1540         (map_char_table): Likewise.
1541         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1542         UTF-2000.
1543
1544 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1545
1546         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1547         `Vauto_fill_chars' in XEmacs UTF-2000.
1548
1549         * chartab.h (get_byte_table): New prototype [moved from
1550         chartab.c].
1551         (put_byte_table): Likewise [moved from chartab.c].
1552         (put_char_id_table_0): New inline function [moved from chartab.c].
1553         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1554         (Lisp_Char_Table_Entry): Likewise.
1555         (char_table_entry): Likewise.
1556         (XCHAR_TABLE_ENTRY): Likewise.
1557         (XSETCHAR_TABLE_ENTRY): Likewise.
1558         (CHAR_TABLE_ENTRYP): Likewise.
1559         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1560         (NUM_ASCII_CHARS): Likewise.
1561         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1562         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1563
1564 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1565
1566         * chartab.c (get_char_id_table): Change interface.
1567         (put_char_id_table_0): New function.
1568         (put_char_id_table): Change interface; new implementation.
1569         (Fget_composite_char): Modify for interface change of
1570         `get_char_id_table'.
1571         (Fchar_variants): Likewise.
1572         (add_char_attribute_alist_mapper): Likewise.
1573         (Fchar_attribute_alist): Likewise.
1574         (Fget_char_attribute): Likewise.
1575         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1576         as same as character as the first argument like `put-char-table';
1577         modify for interface change of `put_char_id_table'.
1578         (Fremove_char_attribute): Modify for interface change of
1579         `put_char_id_table'.
1580
1581 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1582
1583         * text-coding.c: Sync up with XEmacs 21.2.41.
1584         (COMPOSE_ADD_CHAR): Modify for interface change of
1585         `get_char_id_table'.
1586
1587         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1588         change of `put_char_id_table'.
1589         (remove_char_ccs): Likewise.
1590
1591         * chartab.h (put_char_id_table): Change interface.
1592
1593         * char-ucs.h (get_char_id_table): Change interface.
1594         (charset_code_point): Modify for interface change of
1595         `get_char_id_table'.
1596         (encode_char_1): Likewise.
1597
1598 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1599
1600         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1601         argument `ccs'.
1602         (map_over_uint16_byte_table): Likewise.
1603         (map_over_byte_table): Likewise.
1604         (map_char_id_table): Add new argument `range' like
1605         `map_char_table'.
1606         (Fmap_char_attribute): Add new argument `range' like
1607         `Fmap_char_table'.
1608
1609 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1610
1611         * chartab.c (map_over_uint8_byte_table): Change interface of
1612         mapping function to use struct chartab_range instead of Emchar.
1613         (map_over_uint16_byte_table): Likewise.
1614         (map_over_byte_table): Likewise.
1615         (map_char_id_table): Likewise.
1616         (struct slow_map_char_id_table_arg): Deleted.
1617         (slow_map_char_id_table_fun): Deleted.
1618         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1619         function `slow_map_char_table_fun' instead of struct
1620         `slow_map_char_id_table_arg' and function
1621         `slow_map_char_id_table_fun'.
1622
1623 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1624
1625         * mule-charset.c: Move char-it-table related codes to chartab.c.
1626         (Vutf_2000_version): Moved to chartab.c.
1627         (Fdefine_char): Likewise.
1628         (Ffind_char): Likewise.
1629         (syms_of_mule_charset): Move types `uint8-byte-table',
1630         `uint16-byte-table', `byte-table' and `char-id-table' to
1631         chartab.c; move functions `char_attribute_list,
1632         `find_char_attribute_table, `char_attribute_alist,
1633         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1634         `map_char_attribute, `define_char, `find_char, `char_variants and
1635         `get_composite_char to chartab.c; move symbols `=>ucs',
1636         `->decomposition', `compat', `isolated', `initial', `medial',
1637         `final', `vertical', `noBreak', `fraction', `super', `sub',
1638         `circle', `square', `wide', `narrow', `small' and `font' to
1639         chartab.c.
1640         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1641         setting codes for `Vcharacter_composition_table' and
1642         `Vcharacter_variant_table' to chartab.c.
1643         (complex_vars_of_mule_charset): Move setting code for
1644         `Vchar_attribute_hash_table' to chartab.c.
1645
1646         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1647         (make_char_id_table): New prototype.
1648         (put_char_id_table): Likewise.
1649         (Fget_char_attribute): Likewise.
1650
1651         * chartab.c: Move char-id-table related code from mule-charset.c.
1652         (Vutf_2000_version): Moved from mule-charset.c.
1653
1654         * char-ucs.h (Qucs): New external variable.
1655         (put_char_ccs_code_point): New prototype.
1656         (remove_char_ccs): Likewise.
1657
1658 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1659
1660         * mule-charset.c (Vcharset_ucs_jis): New variable.
1661         (Qucs_jis): Likewise.
1662         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1663         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1664
1665         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1666
1667 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1668
1669         * mule-charset.c (map_over_uint8_byte_table): New function.
1670         (map_over_uint16_byte_table): Likewise.
1671         (map_over_byte_table): Likewise.
1672         (map_char_id_table): Likewise.
1673         (slow_map_char_id_table_fun): Likewise.
1674         (Fmap_char_attribute): Likewise.
1675         (syms_of_mule_charset): Add new function `map-char-attribute'.
1676
1677 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1678
1679         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1680         (syms_of_mule_charset): Add new function `find-char'.
1681
1682 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1683
1684         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1685         XEmacs UTF-2000.
1686         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1687         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1688         XEmacs UTF-2000.
1689         (complex_vars_of_mule_charset): Add new coded-charset
1690         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1691         `ideograph-gt-pj-*'.
1692
1693         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1694
1695 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * mule-charset.c (encode_builtin_char_1): Purge codes about
1698         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1699         {MIN|MAX}_CHAR_HEBREW.
1700         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1701         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
1702
1703         * char-ucs.h (MIN_CHAR_GREEK): Purged.
1704         (MAX_CHAR_GREEK): Purged.
1705         (MIN_CHAR_CYRILLIC): Purged.
1706         (MAX_CHAR_CYRILLIC): Purged.
1707         (MIN_CHAR_HEBREW): Commented out.
1708         (MAX_CHAR_HEBREW): Likewise.
1709
1710 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1711
1712         * mule-charset.c (Qto_ucs): New variable.
1713         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
1714         (Fdefine_char): Likewise.
1715         (syms_of_mule_charset): Add new symbol `=>ucs'.
1716
1717 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1718
1719         * mule-charset.c (Fdecode_char): Fixed.
1720
1721 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1722
1723         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
1724         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
1725         "tcvn5712-1".
1726
1727 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1728
1729         * mule-charset.c (Vcharset_ucs_big5): New variable.
1730         (Qucs_big5): Likewise.
1731         (syms_of_mule_charset): Add new symbol `ucs-big5'.
1732         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
1733
1734         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
1735
1736 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1737
1738         * mule-charset.c (decode_builtin_char): Check Big5 code range
1739         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
1740
1741 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1742
1743         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
1744         (Qchinese_gb12345): Likewise.
1745         (Fdecode_builtin_char): Fixed.
1746         (syms_of_mule_charset): Add `chinese-gb12345'.
1747         (complex_vars_of_mule_charset): Add coded-charset
1748         `chinese-gb12345'.
1749
1750         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
1751         (LEADING_BYTE_CHINESE_GB12345): New macro.
1752
1753 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1754
1755         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
1756         and `latin-viscii-upper' for `latin-viscii'.
1757
1758 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1759
1760         * mule-charset.c (Fdecode_builtin_char): Comment out
1761         regularization code for ISO-IR GR representation.
1762
1763 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1764
1765         * mule-charset.c (decode_builtin_char): New function; renamed from
1766         `make_builtin_char'; return -1 instead of signal.
1767         (Fdecode_builtin_char): Use `decode_builtin_char'.
1768
1769         * char-ucs.h (decode_builtin_char): New prototype; renamed from
1770         `make_builtin_char'.
1771         (DECODE_CHAR): Use `decode_builtin_char' instead of
1772         `make_builtin_char'; use mapping table of `chinese-big5' for
1773         `chinese-big5-{1,2}'.
1774
1775 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1776
1777         * text-coding.c (char_encode_big5): New function.
1778         (char_finish_big5): Likewise.
1779         (reset_encoding_stream): Use `char_encode_big5' and
1780         `char_finish_big5' for CODESYS_BIG5.
1781         (mule_encode): Don't use `encode_coding_big5'.
1782         (encode_coding_big5): Deleted.
1783
1784 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1785
1786         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
1787         0x81- in XEmacs UTF-2000.
1788         (detect_coding_big5): Likewise.
1789
1790 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1791
1792         * mule-charset.c (Fdefine_char): Don't use a CCS property to
1793         generate character-id if the CCS property does not have
1794         corresponding predefined character.
1795         (make_builtin_char): Return -1 if corresponding predefined
1796         character is not found.
1797         (Fdecode_char): Return nil if corresponding character is not
1798         found.
1799         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
1800         don't map to builtin ucs space.
1801
1802 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
1805         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
1806
1807 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1808
1809         * mule-charset.c (Vcharset_ideograph_gt): New variable.
1810         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
1811         (Qideograph_gt): Likewise.
1812         (Qideograph_gt_pj_{1..11}): Likewise.
1813         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
1814         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
1815         `ideograph-gt-pj-11'.
1816         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
1817         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
1818         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
1819
1820         * char-ucs.h (LEADING_BYTE_GT): New macro.
1821         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
1822         (MIN_CHAR_GT): Likewise.
1823         (MAX_CHAR_GT): Likewise.
1824
1825 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1826
1827         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
1828         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
1829
1830         * doprnt.c (unsigned_int_converters): Add `c'.
1831         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
1832
1833         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
1834         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
1835         `MIN_CHAR_MOJIKYO'.
1836         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
1837         (MAX_CHAR_MOJIKYO_0): New macro.
1838         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
1839
1840 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1841
1842         * mule-charset.c (Fdefine_char): Delete cemented out code.
1843         (encode_builtin_char_1): Modify for new allocation of builtin
1844         Mojikyo characters.
1845
1846         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
1847
1848 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1849
1850         * mule-charset.c (Vcharset_ucs_cns): New variable.
1851         (Qucs_cns): New variable.
1852         (syms_of_mule_charset): Add new symbol `ucs-cns'.
1853         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
1854
1855 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1856
1857         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
1858
1859 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1860
1861         * search.c (search_buffer): Make `charset_base_code' as
1862         character-id >> 6 to eliminate the corresponding last byte in
1863         UTF-8 representation [I'm not sure it is right thing].
1864         (boyer_moore): Likewise.
1865
1866 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
1867
1868         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
1869         representation in MULE.
1870
1871 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1872
1873         * text-coding.c (Fmake_coding_system): Use
1874         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
1875         `EXTERNAL_PROPERTY_LIST_LOOP'.
1876
1877 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1878
1879         * text-coding.c (decode_output_utf8_partial_char): New function.
1880         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
1881
1882 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1883
1884         * text-coding.c (decode_coding_utf8): Output original byte
1885         sequence if it is broken; change order of conditions.
1886
1887         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
1888         of conditions.
1889
1890         * mb-multibyte.h (BYTE_ASCII_P):
1891         Use bit ops for char-signedness safety.
1892         (BYTE_C0_P): Use bit ops for char-signedness safety.
1893         (BYTE_C1_P): Use bit ops for char-signedness safety.
1894
1895         * character.h: (XCHAR_OR_CHAR_INT):
1896         Always use inline function.
1897         Remove redundant type checking assert() - XINT will abort quite
1898         nicely.
1899
1900 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1901
1902         * text-coding.c: (Fencode_shift_jis_char):
1903         (Fencode_big5_char):
1904         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1905         Replace 0 with '\0' when working with bytes.
1906         Replace initial "(" with "\(" in docstrings.
1907
1908         (Fmake_coding_system):
1909         When type is ccl and value is vector, register it with a proper
1910         symbol.  And checks whether the given ccl program is valid.
1911         (mule_decode): When calling ccl_driver, if src indicates
1912         NULL pointer, set an empty string instead.
1913         (mule_encode): Likewise.
1914
1915         (detect_eol_type):
1916         (detect_coding_sjis):
1917         (decode_coding_sjis):
1918         (detect_coding_big5):
1919         (decode_coding_big5):
1920         (detect_coding_ucs4):
1921         (decode_coding_ucs4):
1922         (detect_coding_utf8):
1923         (decode_coding_utf8):
1924         (detect_coding_iso2022):
1925         (decode_coding_iso2022):
1926         (decode_coding_no_conversion):
1927         (mule_decode):
1928         Make all detecting and decoding functions take an Extbyte * arg.
1929         (text_encode_generic):
1930         (encode_coding_big5):
1931         (encode_coding_no_conversion):
1932         (mule_encode):
1933         Make all encoding functions take a Bufbyte * arg.
1934         Use size_t instead of unsigned int for memory sizes.
1935         Only cast to unsigned char whenever dereferencing Extbyte *.
1936
1937         (struct lrecord_description fcd_description_1): Use countof.
1938         (complex_vars_of_file_coding):
1939         Use countof instead of sizeof.
1940         Use CHECK_NATNUM instead of CHECK_INT.
1941
1942 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1943
1944         * mule-charset.c (Fget_char_attribute): Add new optional argument
1945         `default-value'.
1946         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
1947         (remove_char_ccs): Likewise.
1948
1949 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1950
1951         * text-coding.c (char_encode_shift_jis): New implementation in
1952         UTF-2000.
1953         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
1954         ...)'.
1955
1956         * mule-charset.c (Vcharset_chinese_big5): New variable in
1957         UTF-2000.
1958         (Qchinese_big5): New variable in UTF-2000.
1959         (BIG5_SAME_ROW): New macro in UTF-2000.
1960         (make_builtin_char): Use builtin characters of
1961         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
1962         characters of `Vcharset_chinese_big5'.
1963         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
1964         (complex_vars_of_mule_charset): Add new coded-charset
1965         `chinese-big5' in UTF-2000.
1966
1967         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
1968         (Vcharset_chinese_big5): New external variable declaration.
1969         (Vcharset_japanese_jisx0208_1990): Likewise.
1970
1971 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1972
1973         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
1974         function.
1975         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
1976
1977 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1978
1979         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
1980         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
1981         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
1982         `mojikyo-pj-*'.
1983
1984 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1985
1986         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1987
1988 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1989
1990         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1991         to 0.17.
1992
1993 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1994
1995         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1996         for `CHARSET_BY_ATTRIBUTES'.
1997         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1998         `CHARSET_BY_ATTRIBUTES'.
1999
2000         * text-coding.c (struct decoding_stream): Rename member `CH' to
2001         `CPOS'.
2002         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2003         (decode_coding_sjis): Likewise.
2004         (decode_coding_big5): Likewise.
2005         (decode_coding_ucs4): Likewise.
2006         (decode_coding_utf8): Likewise.
2007         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2008         `CHARSET_BY_ATTRIBUTES'.
2009         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2010         `str->counter'; decode 3, 4 bytes sets.
2011         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2012         sets.
2013         (decode_coding_no_conversion): Use `str->cpos' instead of
2014         `str->ch'.
2015
2016         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2017         (Qmojikyo_2022_1): New variable.
2018         (make_charset): Don't use `CHARSET_TYPE_*'.
2019         (range_charset_code_point): Support coded-charset
2020         `mojikyo-2022-1'.
2021         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2022         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2023         `CHARSET_BY_ATTRIBUTES'.
2024         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2025         `CHARSET_BY_ATTRIBUTES'.
2026         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2027         (complex_vars_of_mule_charset): Add new coded-charset
2028         `mojikyo-2022-1'.
2029
2030         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2031         interface; changed to inline function.
2032
2033         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2034         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2035         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2036         (CHARSET_TYPE_94): Deleted.
2037         (CHARSET_TYPE_94X94): Deleted.
2038         (CHARSET_TYPE_96): Deleted.
2039         (CHARSET_TYPE_96X96): Deleted.
2040         (CHARSET_TYPE_128): Deleted.
2041         (CHARSET_TYPE_128X128): Deleted.
2042         (CHARSET_TYPE_256): Deleted.
2043         (CHARSET_TYPE_256X256): Deleted.
2044         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2045         to inline function.
2046         (DECODE_MOJIKYO_2022): New inline function.
2047         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2048         `Vcharset_mojikyo_2022_1'.
2049
2050 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2051
2052         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2053         instead of `EQ'.
2054         (put_byte_table): Likewise.
2055         (char_id_table_equal): Use `get_byte_table' [new implementation].
2056
2057 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2058
2059         * mule-charset.c: Include <limits.h> in UTF-2000.
2060         (BT_UINT8_MIN): New macro in UTF-2000.
2061         (BT_UINT8_MAX): New macro in UTF-2000.
2062         (BT_UINT8_t): New macro in UTF-2000.
2063         (BT_UINT8_nil): New macro in UTF-2000.
2064         (BT_UINT8_unbound): New macro in UTF-2000.
2065         (INT_UINT8_P): New inline function in UTF-2000.
2066         (UINT8_VALUE_P): New inline function in UTF-2000.
2067         (UINT8_ENCODE): New inline function in UTF-2000.
2068         (UINT8_DECODE): New inline function in UTF-2000.
2069         (mark_uint8_byte_table): New function in UTF-2000.
2070         (print_uint8_byte_table): New function in UTF-2000.
2071         (uint8_byte_table_equal): New function in UTF-2000.
2072         (uint8_byte_table_hash): New function in UTF-2000.
2073         (make_uint8_byte_table): New function in UTF-2000.
2074         (uint8_byte_table_same_value_p): New function in UTF-2000.
2075         (BT_UINT16_MIN): New macro in UTF-2000.
2076         (BT_UINT16_MAX): New macro in UTF-2000.
2077         (BT_UINT16_t): New macro in UTF-2000.
2078         (BT_UINT16_nil): New macro in UTF-2000.
2079         (BT_UINT16_unbound): New macro in UTF-2000.
2080         (INT_UINT16_P): New inline function in UTF-2000.
2081         (UINT16_VALUE_P): New inline function in UTF-2000.
2082         (UINT16_ENCODE): New inline function in UTF-2000.
2083         (UINT16_DECODE): New inline function in UTF-2000.
2084         (UINT8_TO_UINT16): New inline function in UTF-2000.
2085         (mark_uint16_byte_table): New function in UTF-2000.
2086         (print_uint16_byte_table): New function in UTF-2000.
2087         (uint16_byte_table_equal): New function in UTF-2000.
2088         (uint16_byte_table_hash): New function in UTF-2000.
2089         (make_uint16_byte_table): New function in UTF-2000.
2090         (uint16_byte_table_same_value_p): New function in UTF-2000.
2091         (print_byte_table): New function in UTF-2000.
2092         (byte-table): Use `print_byte_table' as printer.
2093         (make_byte_table): Delete second argument `older'.
2094         (byte_table_same_value_p): New function in UTF-2000.
2095         (copy_byte_table): Deleted.
2096         (get_byte_table): New function in UTF-2000.
2097         (put_byte_table): New function in UTF-2000.
2098         (print_char_id_table): New function in UTF-2000.
2099         (char-id-table): Use `print_char_id_table' as printer.
2100         (make_char_id_table): Delete second argument `older'.
2101         (get_char_id_table): Use `get_byte_table [new implementation].
2102         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2103         implementation].
2104         (Ffind_char_attribute_table): New function in UTF-2000.
2105         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2106         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2107         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2108         (syms_of_mule_charset): Add new function
2109         `find-char-attribute-table' in UTF-2000.
2110
2111         * lrecord.h (enum lrecord_type): Add
2112         `lrecord_type_uint16_byte_table' and
2113         `lrecord_type_uint8_byte_table'.
2114
2115         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2116         (Lisp_Uint8_Byte_Table): New type.
2117         (XUINT8_BYTE_TABLE): New macro.
2118         (XSETUINT8_BYTE_TABLE): New macro.
2119         (UINT8_BYTE_TABLE_P): New macro.
2120         (GC_UINT8_BYTE_TABLE_P): New macro.
2121         (struct Lisp_Uint16_Byte_Table): New structure.
2122         (Lisp_Uint16_Byte_Table): New type.
2123         (XUINT16_BYTE_TABLE): New macro.
2124         (XSETUINT16_BYTE_TABLE): New macro.
2125         (UINT16_BYTE_TABLE_P): New macro.
2126         (GC_UINT16_BYTE_TABLE_P): New macro.
2127
2128 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2129
2130         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2131         (Vcharacter_ideographic_strokes_table): Deleted.
2132         (Vcharacter_total_strokes_table): Deleted.
2133         (Vcharacter_morohashi_daikanwa_table): Deleted.
2134         (Vcharacter_decomposition_table): Deleted.
2135         (Qname): Deleted because it is duplicated.
2136         (Qideographic_radical): Deleted.
2137         (Qideographic_strokes): Deleted.
2138         (Qtotal_strokes): Deleted.
2139         (Qmorohashi_daikanwa): Deleted.
2140         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2141         `ideographic-radical', `ideographic-strokes', `total-strokes',
2142         `morohashi-daikanwa' and `->decomposition'.
2143         (Fget_char_attribute): Likewise.
2144         (Fput_char_attribute): Likewise; use `make-vector' instead of
2145         `make_older_vector' for `->decomposition' value.
2146         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2147         `ideograph-daikanwa'.
2148         (syms_of_mule_charset): Delete builtin symbols `name',
2149         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2150         `morohashi-daikanwa'.
2151         (vars_of_mule_charset): Don't setup
2152         `Vcharacter_ideographic_radical_table',
2153         `Vcharacter_ideographic_strokes_table',
2154         `Vcharacter_total_strokes_table',
2155         `Vcharacter_morohashi_daikanwa_table' and
2156         `Vcharacter_decomposition_table'.
2157
2158 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2159
2160         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2161         `make_older_vector', `make_vector_newer_1' and
2162         `make_vector_newer'.
2163
2164         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2165         `make_older_vector' and `make_vector_newer'.
2166
2167         * config.h.in (HAVE_GGC): New macro.
2168
2169 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2170
2171         * mule-charset.c (struct char_attribute_list_closure): New
2172         structure in UTF-2000.
2173         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2174         (Fchar_attribute_list): Likewise.
2175         (Fset_charset_mapping_table): Use `make_vector_newer'.
2176         (Fdecode_builtin_char): New function in UTF-2000.
2177         (syms_of_mule_charset): Add new function `char-attribute-list' and
2178         `decode-builtin-char' in UTF-2000.
2179
2180         * lisp.h (make_vector_newer): New prototype.
2181
2182         * alloc.c (make_vector_newer_1): New function.
2183         (make_vector_newer): New function.
2184
2185 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2186
2187         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2188         50100)'.
2189
2190 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2191
2192         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2193         (Vcharacter_attribute_table): Deleted.
2194         (Vcharacter_name_table): Deleted.
2195         (put_char_attribute): Deleted.
2196         (remove_char_attribute): Deleted.
2197         (struct char_attribute_alist_closure): New structure.
2198         (add_char_attribute_alist_mapper): New function.
2199         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2200         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2201         (Fget_char_attribute): Likewise.
2202         (Fput_char_attribute): Likewise.
2203         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2204         of `remove_char_attribute'.
2205         (Fdefine_char): Return character.
2206         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2207         and `Vcharacter_name_table'.
2208         (complex_vars_of_mule_charset): Likewise
2209         `Vchar_attribute_hash_table'.
2210
2211 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2212
2213         * character.h (CHARC_CHARSET): New macro.
2214         (CHARC_CHARSET_ID): New macro.
2215         (CHARC_CODE_POINT): New macro.
2216         (CHARC_COLUMNS): New macro.
2217         (CHARC_TO_CHAR): New inline function.
2218         (CHARC_EQ): New inline function.
2219         (CHARC_ASCII_EQ): New inline function.
2220         (CHARC_IS_SPACE): New inline function.
2221         (ASCII_TO_CHARC): New inline function.
2222
2223         * char-ucs.h (encode_char_2): Deleted.
2224         (ENCODE_CHAR): Use `encode_char_1' again.
2225         (breakup_char_1): Likewise.
2226         (CHAR_TO_CHARC): New inline function.
2227
2228         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2229
2230 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2231
2232         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2233         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2234         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2235         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2236         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2237         `CHARC_IS_SPACE'.
2238         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2239
2240         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2241         `CHARC_CODE_POINT'.
2242         (x_output_display_block): Use `CHARC_CHARSET' and
2243         `CHARC_ASCII_EQ'.
2244
2245         * redisplay-tty.c (tty_output_display_block): Use
2246         `CHARC_ASCII_EQ'.
2247         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2248
2249         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2250
2251         * insdel.c (find_charsets_in_charc_string): Use
2252         `CHARC_CHARSET_ID'.
2253         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2254         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2255         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2256         (convert_charc_string_into_malloced_string): Likewise.
2257
2258 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2259
2260         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2261         instead of <Emchar_dynarr *> for buf; use
2262         `convert_bufbyte_string_into_charc_dynarr' instead of
2263         `convert_bufbyte_string_into_emchar_dynarr'; use
2264         `find_charsets_in_charc_string' instead of
2265         `find_charsets_in_emchar_string'.
2266
2267         * redisplay.h:
2268         - Include "character.h".
2269         (struct rune): New member `cglyph'; delete member `chr'.
2270
2271         * redisplay.c (redisplay_text_width_charc_string): New function;
2272         delete `redisplay_text_width_emchar_string'.
2273         (rtw_charc_dynarr): New variable; renamed from
2274         `rtw_emchar_dynarr'.
2275         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2276         `rtw_emchar_dynarr'; use
2277         `convert_bufbyte_string_into_charc_dynarr' instead of
2278         `convert_bufbyte_string_into_emchar_dynarr'; use
2279         `redisplay_text_width_charc_string' instead of
2280         `redisplay_text_width_emchar_string'.
2281         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2282         instead of `rtw_emchar_dynarr'; use
2283         `convert_bufbyte_string_into_charc_dynarr' instead of
2284         `convert_bufbyte_string_into_emchar_dynarr'.
2285         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2286         `redisplay_text_width_charc_string' instead of
2287         `redisplay_text_width_emchar_string'.
2288         (create_text_block): Modify for <struct rune> change.
2289         (generate_formatted_string_db): Likewise.
2290         (create_string_text_block): Likewise.
2291         (pixel_to_glyph_translation): Likewise.
2292
2293         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2294         instead of <const Emchar *>.
2295         (x_text_width): Likewise.
2296         (x_output_display_block): Use <Charc_dynarr *> instead
2297         <Emchar_dynarr *>; modify for <structure rune> change.
2298         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2299         *>.
2300
2301         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2302         <const Emchar *>; use `charc_string_displayed_columns' instead of
2303         `emchar_string_displayed_columns'.
2304         (tty_output_display_block): Use <Charc_dynarr *> instead of
2305         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2306         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2307         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2308         `tty_output_emchar_dynarr_dynarr'.
2309         (tty_output_charc_dynarr): New function; delete
2310         `tty_output_charc_dynarr'.
2311
2312         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2313         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2314         <Emchar_dynarr *> for buf; use
2315         `convert_bufbyte_string_into_charc_dynarr' instead of
2316         `convert_bufbyte_string_into_emchar_dynarr'.
2317
2318         * frame.c (title_string_charc_dynarr): New variable; renamed from
2319         `title_string_emchar_dynarr'.
2320         (generate_title_string): Use `title_string_charc_dynarr' instead
2321         of `title_string_emchar_dynarr'; use
2322         `convert_charc_string_into_malloced_string' instead of
2323         `convert_emchar_string_into_malloced_string'.
2324         (init_frame): Use `title_string_charc_dynarr' instead of
2325         `title_string_emchar_dynarr'.
2326
2327         * console.h:
2328         - Include "character.h".
2329         (struct console_methods): Use <const Charc *> instead of <const
2330         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2331         <Emchar_dynarr *> in output_string_method.
2332
2333         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2334         <Emchar_dynarr *>.
2335
2336         * console-stream.c (stream_text_width): Use <const Charc *>
2337         instead of <const Emchar *>.
2338
2339         * character.h (Charc_dynarr): New type.
2340
2341         * char-ucs.h (structure Charc): New structure; define new type
2342         `Charc'.
2343
2344         * char-lb.h (DECODE_CHAR): New inline function.
2345         (encode_char_1): New inline function.
2346         (ENCODE_CHAR): New macro.
2347         (structure Charc): New structure; define new type `Charc'.
2348
2349         * char-1byte.h (Vcharset_control_1): New macro.
2350         (Vcharset_latin_iso8859_1): New macro.
2351         (DECODE_CHAR): New inline function.
2352         (encode_char_1): New inline function.
2353         (ENCODE_CHAR): New macro.
2354         (structure Charc): New structure; define new type `Charc'.
2355
2356         * insdel.c (find_charsets_in_charc_string): New function; delete
2357         `find_charsets_in_emchar_string'.
2358         (charc_string_displayed_columns): New function; delete
2359         `emchar_string_displayed_columns'.
2360         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2361         `convert_bufbyte_string_into_emchar_dynarr'.
2362         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2363         `convert_charc_string_into_bufbyte_dynarr'.
2364         (convert_charc_string_into_malloced_string): New function; delete
2365         `convert_charc_string_into_malloced_string'.
2366
2367         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2368         `find_charsets_in_emchar_string'.
2369         (charc_string_displayed_columns): New prototype; delete
2370         `emchar_string_displayed_columns'.
2371         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2372         `convert_charc_string_into_bufbyte_dynarr'.
2373         (convert_charc_string_into_malloced_string): New prototype; delete
2374         `convert_charc_string_into_malloced_string'.
2375
2376 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2377
2378         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2379
2380 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2381
2382         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2383
2384         * char-ucs.h: Use <short> for <Charset_ID>.
2385
2386         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2387         <Charset_ID>.
2388
2389 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2390
2391         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2392         to 0.16.
2393
2394 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2395
2396         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2397         variable.
2398         (Qmorohashi_daikanwa): New variable.
2399         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2400         for `morohashi-daikanwa' attribute.
2401         (Fget_char_attribute): Likewise.
2402         (Fput_char_attribute): Likewise.
2403         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2404         has the same value of `ideograph-daikanwa'.
2405         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2406         (vars_of_mule_charset): Setup
2407         `Vcharacter_morohashi_daikanwa_table'.
2408
2409 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2410
2411         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2412         attributes.
2413         (add_charset_to_list_mapper): Add `key' instead of
2414         `XCHARSET_NAME (value)' to return aliases.
2415
2416 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2417
2418         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2419         variable.
2420         (Vcharacter_ideographic_strokes_table): New variable.
2421         (Qideographic_radical): New variable.
2422         (Qideographic_strokes): New variable.
2423         (Fchar_attribute_alist): Use
2424         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2425         attribute; use `Vcharacter_ideographic_strokes_table' for
2426         `ideographic-strokes' attribute.
2427         (Fget_char_attribute): Likewise.
2428         (Fput_char_attribute): Likewise.
2429         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2430         `ideographic-strokes'.
2431         (vars_of_mule_charset): Setup
2432         `Vcharacter_ideographic_radical_table' and
2433         `Vcharacter_ideographic_strokes_table'.
2434
2435 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2436
2437         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2438         (Qtotal_strokes): New variable.
2439         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2440         `total-strokes' attribute.
2441         (Fget_char_attribute): Likewise.
2442         (Fput_char_attribute): Likewise.
2443         (syms_of_mule_charset): Add new symbol `total-strokes'.
2444         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2445
2446 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2447
2448         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2449         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2450         are found.
2451         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2452         `->decomposition' attribute.
2453         (Fput_char_attribute): Likewise.
2454         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2455
2456 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2457
2458         * mule-charset.c (decoding_table_check_elements): New function.
2459         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2460
2461 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2462
2463         * mule-charset.c (Fset_charset_mapping_table): Use
2464         `put_char_ccs_code_point'.
2465
2466 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2467
2468         * mule-charset.c (decoding_table_put_char): New inline function.
2469         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2470
2471 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2472
2473         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2474         (XCHARSET_BYTE_SIZE): New macro.
2475         (decoding_table_remove_char): New inline function.
2476         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2477         `decoding_table_remove_char'.
2478         (remove_char_ccs): Use `decoding_table_remove_char'.
2479         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2480
2481 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2482
2483         * mule-charset.c (Vcharacter_name_table): New variable.
2484         (Qname): New variable.
2485         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2486         attribute.
2487         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2488         `Vcharacter_name_table' for `name' attribute.
2489         (Fremove_char_attribute): Use function `remove_char_ccs'.
2490         (put_char_ccs_code_point): New function.
2491         (remove_char_ccs): New function.
2492         (syms_of_mule_charset): Add new symbol `name'.
2493         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2494
2495 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2496
2497         * mule-charset.c (make_byte_table): Add new argument `older'.
2498         (make_char_id_table): Likewise.
2499         (copy_char_id_table): Comment out because it is not used.
2500         (put_char_id_table): Modify for `make_byte_table'.
2501         (Fput_char_attribute): Make encoding_table as older object;
2502         inherit older bit of `Vcharacter_composition_table'.
2503         (mark_charset): Don't mark `cs->encoding_table'.
2504         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2505         normal object; make `Vcharacter_composition_table' as an older
2506         object; delete staticpro for `Vcharacter_composition_table'; make
2507         `Vcharacter_variant_table' as a normal object.
2508
2509         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2510         (mark_object): Don't check older object in UTF-2000.
2511
2512         * lrecord.h (struct lrecord_header): Add new member `older' in
2513         UTF-2000.
2514         (set_lheader_implementation): Setup `SLI_header->older' in
2515         UTF-2000.
2516         (set_lheader_older_implementation): New macro in UTF-2000.
2517         (OLDER_RECORD_P): New macro in UTF-2000.
2518         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2519         (alloc_older_lcrecord): New prototype in UTF-2000.
2520         (alloc_older_lcrecord_type): New macro in UTF-2000.
2521
2522 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2523
2524         * mule-charset.c (byte_table_description): Use
2525         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2526         (char_id_table_description): Delete bogus `, 1'.
2527         (Fget_char_attribute): Refer encoding_table of each coded-charset
2528         to get value of coded-charset attribute of a character.
2529         (Fput_char_attribute): Use `make_older_vector' instead of
2530         `make_vector'; use encoding_table of each coded-charset to store
2531         value of coded-charset attribute of a character.
2532         (Fremove_char_attribute): Use encoding_table of each coded-charset
2533         to store value of coded-charset attribute of a character.
2534         (mark_charset): Mark `cs->encoding_table'; don't mark
2535         `cs->decoding_table'.
2536         (charset_description): Add description of new member
2537         `encoding_table'.
2538         (make_charset): Initialize `encoding_table'.
2539
2540         * char-ucs.h (struct Lisp_Charset): Add new member
2541         `encoding_table'.
2542         (CHARSET_ENCODING_TABLE): New macro.
2543         (XCHARSET_ENCODING_TABLE): New macro.
2544         (charset_code_point): New implementation.
2545         (encode_char_1): Likewise.
2546
2547         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2548         (disksave_object_finalization_1): Call finalizers of
2549         `all_older_lcrecords' in UTF-2000.
2550         (make_older_vector): New function in UTF-2000.
2551         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2552         UTF-2000.
2553
2554         * lisp.h (make_older_vector): New prototype in UTF-2000.
2555
2556 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2557
2558         * lrecord.h (enum lrecord_type): Rename
2559         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2560
2561         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2562         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2563         `get_char_code_table'.
2564
2565         * mule-charset.c (mark_char_id_table): Renamed from
2566         `mark_char_code_table'.
2567         (char_id_table_equal): Renamed from `char_code_table_equal'.
2568         (char_id_table_hash): Renamed from `char_code_table_hash'.
2569         (make_char_id_table): Renamed from `make_char_code_table'.
2570         (copy_char_id_table): Renamed from `copy_char_code_table'.
2571         (get_char_id_table): Renamed from `get_char_code_table'.
2572         (put_char_id_table): Renamed from `put_char_code_table'.
2573         (to_char_id): Renamed from `to_char_code'.
2574
2575         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2576         `Lisp_Char_Code_Table'.
2577         (char_id_table): Renamed from `char_code_table'.
2578         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2579         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2580         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2581         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2582         (get_char_id_table): Renamed from `get_char_code_table'.
2583
2584 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2585
2586         * lrecord.h (enum lrecord_type): Rename
2587         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2588
2589         * mule-charset.c (mark_byte_table): Renamed from
2590         `mark_char_byte_table'.
2591         (byte_table_equal): Renamed from `char_byte_table_equal'.
2592         (byte_table_hash): Renamed from `byte_table_hash'.
2593         (make_byte_table): Renamed from `make_byte_table'.
2594         (copy_byte_table): Renamed from `copy_char_byte_table'.
2595
2596         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2597         `Lisp_Char_Byte_Table'.
2598         (byte_table): Renamed from `char_byte_table'.
2599         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2600         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2601         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2602         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2603
2604 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2605
2606         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2607         (dfc_convert_to_internal_format): Likewise.
2608         
2609         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2610         * text-coding.c (Fcoding_system_alias_p): New function.
2611         * text-coding.c (Fcoding_system_aliasee): New function.
2612         * text-coding.c (append_suffix_to_symbol): New function.
2613         * text-coding.c (dangling_coding_system_alias_p): New function.
2614         * text-coding.c (Ffind_coding_system):
2615         * text-coding.c (Fcopy_coding_system):
2616         * text-coding.c (encode_coding_no_conversion):
2617         * text-coding.c (syms_of_file_coding):
2618         * text-coding.c (vars_of_file_coding):
2619         Rewrite coding system alias code.
2620         Allow nested aliases, like symbolic links.
2621         Allow redefinition of coding system aliases.
2622         Prevent existence of dangling coding system aliases.
2623         Eliminate convert_to_external_format.
2624         Eliminate convert_to_internal_format.
2625         
2626         * text-coding.c: Change enum eol_type to eol_type_t.
2627
2628 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2629
2630         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2631         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2632
2633         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2634         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2635
2636 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2637
2638         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2639         `ideograph-daikanwa'.
2640
2641         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2642         (Vcharset_ucs_bmp): Likewise.
2643         (Vcharset_mojikyo): Add new extern variable definition.
2644         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2645         (Vcharset_latin_iso8859_3): Likewise.
2646         (Vcharset_latin_iso8859_4): Likewise.
2647         (Vcharset_latin_iso8859_9): Likewise.
2648         (Vcharset_latin_viscii_lower): Likewise.
2649         (Vcharset_latin_viscii_upper): Likewise.
2650         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2651         `mojikyo' code-point is used to decode.
2652         (encode_char_2): New function [to convert `mojikyo' code-point to
2653         Mojikyo font encoding].
2654         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2655         (breakup_char_1): Likewise.
2656         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2657
2658 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2659
2660         * text-coding.c (Fmake_coding_system): Add document about
2661         `disable-composition' property.
2662
2663 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2664
2665         * text-coding.c (Qdisable_composition): New variable; delete
2666         `Qcomposite'.
2667         (Fmake_coding_system): Add new property `disable-composite';
2668         delete property `composite'.
2669         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2670         instead of `!CODING_SYSTEM_COMPOSITE'.
2671         (syms_of_file_coding): Add new symbol `disable-composition';
2672         delete symbol `composite'.
2673
2674         * file-coding.h (struct Lisp_Coding_System): Add
2675         `disable_composition'; delete `enable_composition'.
2676         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2677         `CODING_SYSTEM_COMPOSITE'.
2678         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2679         `XCODING_SYSTEM_COMPOSITE'.
2680
2681 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2682
2683         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2684         to 0.15.
2685
2686 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2687
2688         * text-coding.c (Qcomposite): New variable.
2689         (Fmake_coding_system): Add new property `composite'.
2690         (struct decoding_stream): Add `combined_char_count',
2691         `combined_chars' and `combining_table' in UTF-2000.
2692         (COMPOSE_FLUSH_CHARS): New macro.
2693         (COMPOSE_ADD_CHAR): New macro.
2694         (reset_decoding_stream): Reset `str->combined_char_count' and
2695         `str->combining_table' in UTF-2000.
2696         (decode_coding_iso2022): Modify for character-decomposition.
2697         (syms_of_file_coding): Add new symbol `composite'.
2698
2699 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2700
2701         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
2702         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
2703         of `Vcharacter_composition_table' if `->decomposition' property
2704         has only 1 element.
2705         (Qlatin_tcvn5712): New variable.
2706         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
2707         (complex_vars_of_mule_charset): Add new coded-charset
2708         `latin-tcvn5712'.
2709
2710         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
2711
2712 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2713
2714         * file-coding.h (struct Lisp_Coding_System): Add
2715         `enable_composition'.
2716         (CODING_SYSTEM_COMPOSITE): New macro.
2717         (XCODING_SYSTEM_COMPOSITE): New macro.
2718
2719 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
2720
2721         * mule-canna.c (c2mu): Fix problem with UTF-2000.
2722
2723 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
2724
2725         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
2726         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
2727
2728 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
2729
2730         * mule-charset.c (Vcharset_mojikyo): New variable.
2731         (Fdefine_char): Don't use coded-charset which does not have
2732         non-builtin character range to allocate character-id.
2733         (Qmojikyo): New variable.
2734         (syms_of_mule_charset): Add new symbol `mojikyo'.
2735         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
2736
2737         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
2738         (LEADING_BYTE_MOJIKYO): New macro.
2739         (MIN_CHAR_MOJIKYO): New macro.
2740         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
2741         (MAX_CHAR_MOJIKYO): New macro.
2742
2743 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
2744
2745         * mule-charset.c (remove_char_attribute): Fixed.
2746
2747 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
2748
2749         * mule-charset.c (remove_char_attribute): New function.
2750         (Fremove_char_attribute): New function.
2751         (encode_builtin_char_1): Comment out builtin-support for
2752         greek-iso8859-7 and cyrillic-iso8859-5.
2753         (Fdecode_char): Check `code' is an integer.
2754         (syms_of_mule_charset): Add `remove-char-attribute'.
2755         (MIN_CHAR_GREEK): Deleted.
2756         (MAX_CHAR_GREEK): Likewise.
2757         (MIN_CHAR_CYRILLIC): Likewise.
2758         (MAX_CHAR_CYRILLIC): Likewise.
2759         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
2760         MAX_CHAR_GREEK for `greek-iso8859-7'.
2761
2762         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
2763         (MAX_CHAR_GREEK): Likewise.
2764         (MIN_CHAR_CYRILLIC): Likewise.
2765         (MAX_CHAR_CYRILLIC): Likewise.
2766
2767 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
2768
2769         * mule-charset.c (Fdefine_char): Fix problem when new code-point
2770         format is used without `ucs' property.
2771         (Fdecode_char): Fix problem with GR representation.
2772         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
2773         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
2774
2775 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2776
2777         * mule-charset.c (make_builtin_char): New function.
2778         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
2779         (Fset_charset_mapping_table): Modify for new representation of
2780         code-point.
2781         (Fdecode_char): New function.
2782         (syms_of_mule_charset): Add new builtin function `decode-char' in
2783         UTF-2000.
2784
2785         * char-ucs.h (make_builtin_char): New prototype.
2786         (DECODE_CHAR): New inline function.
2787         (MAKE_CHAR): Use `DECODE_CHAR'.
2788
2789 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
2790
2791         * text-coding.c (parse_charset_conversion_specs): Use
2792         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
2793         `XCHARSET_TYPE'.
2794         (iso2022_designate): Likewise.
2795
2796         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
2797         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
2798
2799         * mule-charset.c (Vcharset_ucs): New variable.
2800         (print_charset): Change design; use `CHARSET_CHARS' and
2801         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
2802         (make_charset): Change signature to specify `chars' and
2803         `dimension' instead of `type'.
2804         (range_charset_code_point): Modify for 256^n-set.
2805         (encode_builtin_char_1): Encode as `ucs' in default.
2806         (Fmake_charset): Modify for `make_charset'.
2807         (Fmake_reverse_direction_charset): Likewise.
2808         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
2809         UTF-2000.
2810         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
2811         for `make_charset'.
2812
2813         * char-ucs.h (Vcharset_ucs): New variable.
2814         (LEADING_BYTE_UCS): New macro.
2815         (struct Lisp_Charset): Delete `type'; change type of `dimension'
2816         and `chars' to `unsigned short' from `unsigned int'.
2817         (CHARSET_TYPE): Deleted.
2818         (XCHARSET_TYPE): Deleted.
2819
2820 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
2821
2822         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
2823
2824         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
2825         (ENCODE_CHAR): New macro.
2826
2827 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2828
2829         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2830         to 0.14 (Kawachi-Katakami).
2831
2832 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2833
2834         * text-coding.c (char_encode_shift_jis): Modify for
2835         `charset_code_point'.
2836         (char_encode_iso2022): Likewise.
2837
2838         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
2839         (integer) instead of list of <Lisp_Object>s (integers) as the
2840         format of code-point of a coded-charset.
2841         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2842         (encode_builtin_char_1): New function; delete
2843         `split_builtin_char'.
2844         (charset_code_point): Return <int> instead of <Lisp_Object>.
2845         (Fsplit_char): Don't use `SPLIT_CHAR'.
2846
2847         * char-ucs.h (encode_builtin_char_1): New prototype; delete
2848         prototype for `split_builtin_char'.
2849         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
2850         (charset_code_point): Likewise.
2851         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
2852         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
2853
2854 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
2855
2856         * mule-charset.c (complex_vars_of_mule_charset): Don't define
2857         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
2858
2859 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2860
2861         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
2862
2863         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
2864         (MAX_CHAR_OBS_94x94): Deleted.
2865
2866 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2867
2868         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
2869
2870         * char-ucs.h (MAX_CHAR_BMP): New macro.
2871
2872 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2873
2874         * text-coding.c: Sync with r21-2-24.
2875
2876 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2877
2878         * file-coding.c: Modify for UTF-2000.
2879
2880 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2881
2882         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2883         to 0.13 (Takaida).
2884
2885 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2886
2887         * mule-charset.c (split_builtin_char): Delete builtin support for
2888         `katakana-jisx0201'.
2889         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
2890         BMP area in builtin representation.
2891
2892         * char-ucs.h (MAKE_CHAR): Delete builtin support for
2893         `Vcharset_katakana_jisx0201'.
2894
2895 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
2896
2897         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
2898         (Qisolated): New variable.
2899         (Qinitial): New variable.
2900         (Qmedial): New variable.
2901         (Qfinal): New variable.
2902         (Qvertical): New variable.
2903         (Qsmall): New variable.
2904         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
2905         `Qvertical' and `Qsmall'.
2906         (Qmojikyo_pj_[1 .. 21]): New variable.
2907         (syms_of_mule_charset): Add new symbols `isolated', `initial',
2908         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
2909         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
2910         .. 21]'.
2911
2912 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2913
2914         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
2915         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
2916         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
2917
2918 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2919
2920         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
2921         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
2922         BMP.
2923         (Qjapanese_jisx0208_1990): New variable.
2924         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
2925         (complex_vars_of_mule_charset): Add new coded-charset
2926         `japanese-jisx0208-1990'.
2927
2928         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
2929         (MIN_CHAR_JIS_X0208_1990): New macro.
2930         (MAX_CHAR_JIS_X0208_1990): New macro.
2931
2932 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2933
2934         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
2935         coded-charset is not found.
2936
2937 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2938
2939         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
2940         (Fdefine_char): Use `Fmake_char'.
2941
2942 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2943
2944         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
2945         (Vcharset_hiragana_jisx0208): Deleted.
2946         (Vcharset_katakana_jisx0208): Deleted.
2947         (Qideograph_daikanwa): New variable.
2948         (Qhiragana_jisx0208): Deleted.
2949         (Qkatakana_jisx0208): Deleted.
2950         (split_builtin_char): Split `ideograph-daikanwa'.
2951         (Fsplit_char): New implementation for UTF-2000.
2952         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
2953         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
2954         (complex_vars_of_mule_charset): Add new coded-charset
2955         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
2956         `katakana-jisx0208'.
2957
2958         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
2959         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
2960         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
2961         (MIN_CHAR_DAIKANWA): New macro.
2962         (MAX_CHAR_DAIKANWA): New macro.
2963
2964 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2965
2966         * data.c (Fstring_to_number): Don't recognize floating point if
2967         base is not 10.
2968
2969 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2970
2971         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
2972
2973 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2974
2975         * mule-charset.c (Qsquare): New variable.
2976         (to_char_code): Add `Qsquare'.
2977         (syms_of_mule_charset): Add new symbol `square'.
2978
2979 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2980
2981         * mule-charset.c (Qcircle): New variable.
2982         (to_char_code): Add `Qcircle'.
2983         (syms_of_mule_charset): Add new symbol `circle'.
2984
2985 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2986
2987         * mule-charset.c (Qfont): New variable.
2988         (to_char_code): Add `Qfont'.
2989         (syms_of_mule_charset): Add new symbol `font'.
2990
2991 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2992
2993         * mule-charset.c (Qsub): New variable.
2994         (to_char_code): Add `Qsub'.
2995         (syms_of_mule_charset): Add new symbol `sub'.
2996
2997 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2998
2999         * mule-charset.c (Fput_char_attribute): Convert each element of
3000         VALUE to GL position if ATTRIBUTE is a GR-set,
3001
3002 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3003
3004         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3005         coded-charset is a GR-set.
3006
3007 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3008
3009         * mule-charset.c (Fput_char_attribute): Check each element of
3010         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3011
3012 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3013
3014         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3015         UTF-2000.
3016         (Qethiopic_ucs): New variable in UTF-2000.
3017         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3018         (complex_vars_of_mule_charset): Add new coded-charset
3019         `ethiopic-ucs' in UTF-2000.
3020
3021         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3022         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3023         9)'.
3024         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3025         10)'.
3026         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3027
3028 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3029
3030         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3031         `ascii'.
3032
3033 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3034
3035         * mule-charset.c (Vcharacter_variant_table): New variable.
3036         (Q_ucs): New variable.
3037         (Fchar_variants): New function.
3038         (Fput_char_attribute): Register `->ucs' value to
3039         `Vcharacter_variant_table'.
3040         (syms_of_mule_charset): Add new function `char-variants' and new
3041         symbol `->ucs'.
3042         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3043
3044 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3045
3046         * mule-charset.c (get_char_code_table): Allow negative character
3047         code.
3048         (put_char_code_table): Likewise.
3049         (Vcharacter_composition_table): New variable.
3050         (Q_decomposition): New variable.
3051         (Qwide): New variable.
3052         (Qnarrow): New variable.
3053         (Qcompat): New variable.
3054         (QnoBreak): New variable.
3055         (Qsuper): New variable.
3056         (Qfraction): New variable.
3057         (to_char_code): New function.
3058         (Fget_composite_char): New function.
3059         (Fput_char_attribute): Register `->decomposition' value to
3060         `Vcharacter_composition_table'.
3061         (syms_of_mule_charset): Add new function `get-composite-char', new
3062         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3063         `super' and `fraction'.
3064         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3065
3066 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3067
3068         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3069         character; copy the return value.
3070
3071 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3072
3073         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3074
3075         * mule-charset.c (range_charset_code_point): Must use make_int.
3076         (split_builtin_char): New function.
3077
3078 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3079
3080         * mule-charset.c (char_byte_table): Change name from
3081         "char-code-table" to "char-byte-table".
3082         (mark_char_code_table): New function.
3083         (char_code_table_equal): New function.
3084         (char_code_table_hash): New function.
3085         (char_code_table_description): New constant.
3086         (char_code_table): New type.
3087         (make_char_code_table): New function.
3088         (copy_char_code_table): New function.
3089         (get_char_code_table): Modify for `char_code_table' type.
3090         (put_char_code_table): Likewise.
3091         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3092         (Kashiwara).
3093
3094         * char-ucs.h (char_code_table): New type.
3095         (XCHAR_CODE_TABLE): New macro.
3096         (XSETCHAR_CODE_TABLE): New macro.
3097         (CHAR_CODE_TABLE_P): New macro.
3098         (GC_CHAR_CODE_TABLE_P): New macro.
3099         (struct Lisp_Char_Code_Table): New structure.
3100
3101 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3102
3103         * mule-charset.c (Fmake_charset): Setup byte_offset for
3104         {94|96}^n-set.
3105
3106 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3107
3108         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3109         character.
3110
3111 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3112
3113         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3114         is found.
3115
3116 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3117
3118         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3119         charset, it is regarded as a charset.
3120         (put_char_attribute): New function in UTF-2000.
3121         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3122         charset, mapping-table of the charset is modified.
3123         (Fdefine_char): New function in UTF-2000.
3124         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3125         `Fput_char_attribute'.
3126         (syms_of_mule_charset): Add new function `define-char' and new
3127         symbol `ucs' in UTF-2000.
3128         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3129
3130 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3131
3132         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3133         non-UTF-2000 configuration.
3134
3135 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3136
3137         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3138         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3139
3140         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3141         deleted.
3142         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3143         (Fset_charset_mapping_table): Likewise.
3144
3145         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3146         (CHARSET_ENCODING_TABLE): Delete.
3147         (XCHARSET_ENCODING_TABLE): Delete.
3148         (charset_code_point): New interface.
3149
3150 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3151
3152         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3153         instead of `charset_get_byte1' and `charset_get_byte2'.
3154
3155         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3156         (charset_get_byte2): Deleted.
3157
3158 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3159
3160         * char-ucs.h (SPLIT_CHAR): New inline function.
3161         (breakup_char_1): Use `SPLIT_CHAR'.
3162
3163         * mule-charset.c (range_charset_code_point): New function.
3164         (charset_code_point): New function.
3165
3166         * char-ucs.h (range_charset_code_point): New interface.
3167         (breakup_char_1): Use `range_charset_code_point'.
3168
3169 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3170
3171         * mule-charset.c (Fmake_charset): Delete unused local variable
3172         `code_offset'.
3173
3174         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3175         (breakup_char_1): Find a charset and code-point in
3176         `Vcharacter_attribute_table'.
3177
3178 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3179
3180         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3181         to 0.10 (Yao).
3182
3183 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3184
3185         * mule-charset.c (Vcharacter_attribute_table): New variable.
3186         (Fchar_attribute_alist): New function.
3187         (Fget_char_attribute): New function.
3188         (Fput_char_attribute): New function.
3189         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3190         too.
3191         (syms_of_mule_charset): Add new function `char-attribute-alist',
3192         `get-char-attribute' and `put-char-attribute'.
3193         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3194
3195 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3196
3197         * mule-charset.c (Fmake_charset): Just use
3198         `get_unallocated_leading_byte'.
3199
3200         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3201         sets; don't use final-byte based number for private sets.
3202
3203 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3204
3205         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3206         integer.
3207
3208 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3209
3210         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3211         to 0.9.
3212
3213 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3214
3215         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3216         of `CHAR_LEADING_BYTE' in UTF-2000.
3217
3218         * insdel.c (find_charsets_in_bufbyte_string): Use
3219         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3220         (find_charsets_in_emchar_string): Likewise.
3221
3222         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3223         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3224
3225         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3226         (CHAR_CHARSET_ID): New macro.
3227
3228 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3229
3230         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3231         charset-id - MIN_LEADING_BYTE.
3232         (put_char_table): Likewise.
3233
3234 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3235
3236         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3237         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3238         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3239         (CHARSET_ID_OFFSET): New macro.
3240         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3241         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3242         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3243         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3244         4).
3245         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3246         5).
3247         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3248         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3249         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3250         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3251         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3252
3253 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3254
3255         * mule-charset.c (next_allocated_leading_byte): New variable in
3256         UTF-2000.
3257         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3258         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3259         (get_unallocated_leading_byte): Simply use
3260         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3261         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3262         UTF-2000.
3263
3264         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3265         (MAX_LEADING_BYTE_PRIVATE): New macro.
3266         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3267         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3268
3269 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3270
3271         * mule-charset.c (Fmake_charset): Allocate final-byte based
3272         charset-id for 94-set, 96-set and 94x94-set.
3273
3274 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3275
3276         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3277         ambiguous `else'.
3278         (Fmake_charset): Likewise.
3279         (complex_vars_of_mule_charset): Modify the font registry of
3280         `ucs-bmp' not to match `Ethiopic-Unicode'.
3281
3282 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3283
3284         * mule-charset.c (complex_vars_of_mule_charset): Add font
3285         registory of `ucs-bmp'.
3286
3287 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3288
3289         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3290         coded-charsets in `default-coded-charset-priority-list' when
3291         breaking up a character.
3292
3293         * mule-charset.c (Vcharset_latin_viscii): New variable.
3294         (Qlatin_viscii): New variable.
3295         (make_charset): Don't use `decoding_table'.
3296         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3297         byte_offset.
3298         (Fset_charset_mapping_table): New implementation.
3299         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3300         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3301         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3302         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3303         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3304         charset `latin_viscii'.
3305
3306         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3307         (CHARSET_TYPE_94X94): Change to 1 from 2.
3308         (CHARSET_TYPE_96): Change to 2 from 1.
3309         (CHARSET_TYPE_128): New macro.
3310         (CHARSET_TYPE_128X128): Change to 5 from 4.
3311         (CHARSET_TYPE_256): New macro.
3312         (CHARSET_TYPE_256X256): Change to 7 from 5.
3313         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3314
3315 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3316
3317         * text-coding.c (char_encode_shift_jis): Refer
3318         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3319         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3320
3321         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3322         (char_byte_table_equal): New function in UTF-2000.
3323         (char_byte_table_hash): New function in UTF-2000.
3324         (char_byte_table_description): New constant in UTF-2000.
3325         (char_byte_table): New type in UTF-2000.
3326         (make_char_byte_table): New function in UTF-2000.
3327         (copy_char_byte_table): New function in UTF-2000.
3328         (make_char_code_table): New macro in UTF-2000.
3329         (get_char_code_table): New function in UTF-2000.
3330         (put_char_code_table): New function in UTF-2000.
3331         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3332         (charset_description): Add setting in UTF-2000.
3333         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3334         `CHARSET_TO_BYTE1_TABLE(cs)'.
3335         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3336         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3337         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3338         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3339         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3340         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3341         `CHARSET_TO_BYTE2_TABLE(cs)'.
3342
3343         * char-ucs.h (char_byte_table): New type.
3344         (XCHAR_BYTE_TABLE): New macro.
3345         (XSETCHAR_BYTE_TABLE): New macro.
3346         (CHAR_BYTE_TABLE_P): New macro.
3347         (GC_CHAR_BYTE_TABLE_P): New macro.
3348         (struct Lisp_Char_Byte_Table): New structure.
3349         (get_char_code_table): New interface.
3350         (Emchar_to_byte_table): Deleted.
3351         (get_byte_from_character_table): Deleted.
3352         (struct Lisp_Charset): Add `encoding_table'; delete
3353         `to_byte1_table' and `to_byte2_table'.
3354         (CHARSET_ENCODING_TABLE): New macro.
3355         (CHARSET_TO_BYTE1_TABLE): Deleted.
3356         (CHARSET_TO_BYTE2_TABLE): Deleted.
3357         (XCHARSET_ENCODING_TABLE): New macro.
3358         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3359         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3360
3361 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3362
3363         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3364         `vietnamese-viscii-*'.
3365
3366 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3367
3368         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3369         (Qvietnamese_viscii_upper): New variable.
3370         (Fdefine_charset_alias): New function.
3371         (syms_of_mule_charset): Add new function `define-charset-alias'.
3372         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3373         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3374         `latin-viscii-*'.
3375
3376 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3377
3378         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3379         (MAX_CHAR_OBS_94x94): New macro.
3380         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3381         for 94x94 sets.
3382
3383         * mule-charset.c (put_byte_from_character_table): Change unit size
3384         from 128 to 256.
3385         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3386         not defined.
3387         (Fmake_reverse_direction_charset): Modify dummy argument of
3388         `make_charset' for non-UTF-2000 environment.
3389
3390 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3391
3392         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3393
3394         * mule-charset.c (destroy_byte_from_character_table): New macro.
3395         (latin_jisx0201_to_ucs): Deleted.
3396         (latin_iso8859_2_to_ucs): Deleted.
3397         (latin_iso8859_3_to_ucs): Deleted.
3398         (latin_iso8859_4_to_ucs): Deleted.
3399         (latin_iso8859_9_to_ucs): Deleted.
3400         (latin_viscii_lower_to_ucs): Deleted.
3401         (latin_viscii_upper_to_ucs): Deleted.
3402         (mark_charset): Mark `cs->decoding_table'.
3403         (Fcharset_mapping_table): Fix DOC-string.
3404         (Fset_charset_mapping_table): New function.
3405         (syms_of_mule_charset): Add nwe function
3406         `set-charset-mapping-table'.
3407         (complex_vars_of_mule_charset): Don't setup and use
3408         `latin_*_to_ucs'.
3409
3410 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3411
3412         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3413         charset.
3414
3415 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3416
3417         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3418         (Vcharset_katakana_jisx0208): New variable.
3419         (Qhiragana_jisx0208): New variable.
3420         (Qkatakana_jisx0208): New variable.
3421         (make_charset): Add new argument `byte_offset'.
3422         (charset_get_byte1): Modify for new coded-charset definition; use
3423         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3424         `XCHARSET_BYTE_OFFSET'.
3425         (Fmake_charset): Modify for `make_charset'.
3426         (Fmake_reverse_direction_charset): Likewise.
3427         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3428         `katakana-jisx0208'.
3429         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3430         `.'  in font registry of charset `katakana-jisx0201',
3431         `latin-jisx0201', `vietnamese-viscii-lower' and
3432         `vietnamese-viscii-upper'; modify DOC-string of charset
3433         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3434         registry of charset `japanese-jisx0208' not to use font for JIS
3435         X0208:1990; add new charset `hiragana-jisx0208' and
3436         `katakana-jisx0208'.
3437
3438         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3439         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3440         (struct Lisp_Charset): Add `byte_offset'.
3441         (CHARSET_BYTE_OFFSET): New macro.
3442         (XCHARSET_UCS_MIN): New macro.
3443         (XCHARSET_UCS_MAX): New macro.
3444         (XCHARSET_CODE_OFFSET): New macro.
3445         (XCHARSET_BYTE_OFFSET): New macro.
3446         (MIN_CHAR_HIRAGANA): New macro.
3447         (MAX_CHAR_HIRAGANA): New macro.
3448         (MIN_CHAR_KATAKANA): New macro.
3449         (MAX_CHAR_KATAKANA): New macro.
3450         (MAKE_CHAR): Modify for new coded-charset definition; use
3451         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3452         `XCHARSET_BYTE_OFFSET'.
3453
3454 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3455
3456         * mule-charset.c (CHAR96): Deleted.
3457         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3458         <Lisp_Object>.
3459         (latin_iso8859_2_to_ucs): Likewise.
3460         (latin_iso8859_3_to_ucs): Likewise.
3461         (latin_iso8859_4_to_ucs): Likewise.
3462         (latin_iso8859_9_to_ucs): Likewise.
3463         (latin_viscii_lower_to_ucs): Likewise.
3464         (latin_viscii_upper_to_ucs): Likewise.
3465         (latin_tcvn5712_to_ucs): Commented out.
3466         (make_charset): Change type of argument `decoding_table' from
3467         <Emchar*> to <Lisp_Object> [vector of characters].
3468         (Fmake_charset): Modify for `make_charset'.
3469         (Fmake_reverse_direction_charset): Likewise.
3470         (Fcharset_mapping_table): New function in UTF-2000.
3471         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3472         UTF-2000.
3473         (complex_vars_of_mule_charset): Modify for type change of
3474         `*_to_ucs'; modify for `make_charset'.
3475
3476         * char-ucs.h (struct Lisp_Charset): Change type of
3477         `decoding_table' from <Emchar*> to <Lisp_Object>.
3478         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3479
3480 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3481
3482         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3483         error with non-UTF-2000-Mule.
3484
3485 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3486
3487         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3488         in lisp again].
3489         (Vcharset_chinese_cns11643_4): Likewise.
3490         (Vcharset_chinese_cns11643_5): Likewise.
3491         (Vcharset_chinese_cns11643_6): Likewise.
3492         (Vcharset_chinese_cns11643_7): Likewise.
3493         (Qchinese_cns11643_3): Likewise.
3494         (Qchinese_cns11643_4): Likewise.
3495         (Qchinese_cns11643_5): Likewise.
3496         (Qchinese_cns11643_6): Likewise.
3497         (Qchinese_cns11643_7): Likewise.
3498         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3499         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3500         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3501         (complex_vars_of_mule_charset): Likewise.
3502
3503 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3504
3505         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3506         96-set.
3507         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3508         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3509
3510 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3511
3512         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3513         0xFF60.
3514         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3515         (breakup_char_1): Likewise.
3516
3517         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3518         one of them includes the specified character.
3519
3520 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3521
3522         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3523
3524 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3525
3526         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3527
3528 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3529
3530         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3531         definition for non-UTF-2000 Mule.
3532         (latin_iso8859_3_to_ucs): Likewise.
3533         (latin_iso8859_4_to_ucs): Likewise.
3534         (latin_iso8859_9_to_ucs): Likewise.
3535         (latin_jisx0201_to_ucs): Likewise.
3536         (MIN_CHAR_THAI): Likewise.
3537         (MAX_CHAR_THAI): Likewise.
3538         (MIN_CHAR_GREEK): Likewise.
3539         (MAX_CHAR_GREEK): Likewise.
3540         (MIN_CHAR_HEBREW): Likewise.
3541         (MAX_CHAR_HEBREW): Likewise.
3542         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3543         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3544         (MIN_CHAR_CYRILLIC): Likewise.
3545         (MAX_CHAR_CYRILLIC): Likewise.
3546
3547 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3548
3549         * char-ucs.h (breakup_char_1): Use
3550         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3551         thai-tis620 and katakana-jisx0201 area.
3552
3553 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3554
3555         * char-ucs.h (breakup_char_1): Use
3556         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3557         area.
3558
3559         * text-coding.c (reset_encoding_stream): Fixed.
3560         (char_encode_ucs4): Delete `& 255'.
3561
3562         * char-ucs.h (breakup_char_1): Use
3563         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3564
3565 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3566
3567         * file-coding.c (Fmake_coding_system): Don't set up
3568         `codesys->fixed.size'.
3569         (encode_coding_no_conversion): Don't refer
3570         `str->codesys->fixed.size'.
3571
3572 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3573
3574         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3575         (latin_a_char_to_byte1): Deleted.
3576         (latin_a_char_to_byte2): Deleted.
3577
3578 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3579
3580         * mule-charset.c (make_charset): Add new argument `ucs_min',
3581         `ucs_max' and `code_offset'.
3582         (charset_get_byte1): New implementation [delete specific charset
3583         depended implementations].
3584         (Fmake_charset): Modify for `make_charset'.
3585         (Fmake_reverse_direction_charset): Likewise.
3586         (complex_vars_of_mule_charset): Likewise.
3587
3588         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3589         `code_offset'.
3590         (CHARSET_UCS_MIN): New macro.
3591         (CHARSET_UCS_MAX): New macro.
3592         (CHARSET_CODE_OFFSET): New macro.
3593         (MAKE_CHAR): Delete charset depended definitions [except
3594         katakana-jisx0201].
3595
3596 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3597
3598         * char-ucs.h (breakup_char_1): Use
3599         `Vdefault_coded_charset_priority_list' for C0-Controls,
3600         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3601
3602 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3603
3604         * char-ucs.h (charset_get_byte1): New function.
3605         (XCHARSET_GET_BYTE1): Deleted.
3606         (charset_get_byte2): New function.
3607         (XCHARSET_GET_BYTE2): Deleted.
3608         (Vdefault_coded_charset_priority_list): New external variable.
3609         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3610         `Vdefault_preferred_coded_charset_list'.
3611
3612         * mule-charset.c (charset_get_byte1): New function.
3613         (charset_get_byte2): New function.
3614         (Vdefault_coded_charset_priority_list): New variable.
3615         (vars_of_mule_charset): Add new variable
3616         `default-coded-charset-priority-list'.
3617
3618 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3619
3620         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3621         (XCHARSET_GET_BYTE2): New inline function.
3622         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3623         `XCHARSET_GET_BYTE2'.
3624
3625 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3626
3627         * mule-charset.c (make_charset): Initialize
3628         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3629         NULL if table is not defined.
3630
3631 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3632
3633         * text-coding.c (char_encode_shift_jis): Use
3634         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3635         `ucs_to_latin_jisx0201'.
3636
3637         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3638         (ucs_to_latin_iso8859_2): Deleted.
3639         (ucs_to_latin_iso8859_3): Deleted.
3640         (ucs_to_latin_iso8859_4): Deleted.
3641         (ucs_to_latin_iso8859_9): Deleted.
3642         (ucs_to_latin_viscii_lower): Deleted.
3643         (ucs_to_latin_viscii_upper): Deleted.
3644         (ucs_to_latin_tcvn5712): Deleted.
3645         (make_charset): Add new argument `decoding_table'; set up
3646         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3647         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3648         `decoding_table' is defined in UTF-2000.
3649         (Fmake_charset): Modify for `make_charset'.
3650         (Fmake_reverse_direction_charset): Likewise.
3651         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3652         and `GENERATE_96_SET'.
3653
3654         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3655         (ucs_to_latin_jisx0201): Deleted.
3656         (latin_iso8859_2_to_ucs): Deleted.
3657         (ucs_to_latin_iso8859_2): Deleted.
3658         (latin_iso8859_3_to_ucs): Deleted.
3659         (ucs_to_latin_iso8859_3): Deleted.
3660         (latin_iso8859_4_to_ucs): Deleted.
3661         (ucs_to_latin_iso8859_4): Deleted.
3662         (latin_iso8859_9_to_ucs): Deleted.
3663         (ucs_to_latin_iso8859_9): Deleted.
3664         (latin_viscii_lower_to_ucs): Deleted.
3665         (ucs_to_latin_viscii_lower): Deleted.
3666         (latin_viscii_upper_to_ucs): Deleted.
3667         (ucs_to_latin_viscii_upper): Deleted.
3668         (struct Lisp_Charset): Renamed `encoding_table' to
3669         `to_byte1_table'; add `to_byte2_table'.
3670         (CHARSET_DECODING_TABLE): New macro.
3671         (CHARSET_TO_BYTE1_TABLE): New macro.
3672         (CHARSET_TO_BYTE2_TABLE): New macro.
3673         (XCHARSET_DECODING_TABLE): New macro.
3674         (XCHARSET_TO_BYTE1_TABLE): New macro.
3675         (XCHARSET_TO_BYTE2_TABLE): New macro.
3676         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3677         tables.
3678         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3679         don't use `ucs_to_*' tables.
3680
3681 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3682
3683         * text-coding.c (Fmake_coding_system): Don't set up
3684         `codesys->fixed.size'.
3685         (encode_coding_no_conversion): Use `if' instead of `switch'.
3686
3687         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3688
3689 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3690
3691         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3692         (Fmake_charset): Modify for `make_charset'.
3693         (Fmake_reverse_direction_charset): Likewise.
3694         (complex_vars_of_mule_charset): Likewise.
3695
3696 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3697
3698         * text-coding.c (char_encode_shift_jis): Use table
3699         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3700
3701 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3702
3703         * text-coding.c (text_encode_generic): Use `if' instead of
3704         `switch'.
3705         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
3706         decode JIS-Latin.
3707
3708 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3709
3710         * text-coding.c (encode_coding_sjis): Deleted.
3711         (char_encode_shift_jis): New function.
3712         (char_finish_shift_jis): New function.
3713         (reset_encoding_stream): Set up `encode_char' and `finish' for
3714         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
3715         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
3716         (char_encode_utf8): Treat `eol_type'.
3717
3718 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3719
3720         * file-coding.c (decode_coding_iso2022): Use
3721         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
3722
3723 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3724
3725         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3726         to 0.7 (Hirano).
3727
3728 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3729
3730         * char-lb.h (CHAR_COLUMNS): New macro.
3731
3732 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3733
3734         * text-coding.c (char_encode_ucs4): New function.
3735         (char_finish_ucs4): New function.
3736         (encode_coding_ucs4): Deleted.
3737         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
3738         (text_encode_generic): Delete local variable `charset' and `half'.
3739         (ucs_to_mule_table): Deleted.
3740         (mule_to_ucs_table): Deleted.
3741         (Fset_ucs_char): Deleted.
3742         (ucs_to_char): Deleted.
3743         (Fucs_char): Deleted.
3744         (Fset_char_ucs): Deleted.
3745         (Fchar_ucs): Deleted.
3746         (decode_ucs4): Deleted.
3747         (mule_char_to_ucs4): Deleted.
3748         (encode_ucs4): Deleted.
3749         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
3750         (decode_coding_utf8): Likewise.
3751         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
3752         (char_encode_iso2022): Fixed.
3753         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
3754         `Fset_char_ucs' and `Fchar_ucs'.
3755         (complex_vars_of_file_coding): Don't initialize
3756         `ucs_to_mule_table'.
3757
3758         * objects-tty.c (tty_initialize_font_instance): Don't use
3759         `XCHARSET_COLUMNS'.
3760
3761         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
3762         UTF-2000.
3763
3764         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
3765         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3766
3767         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
3768         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3769         (emchar_string_displayed_columns): Likewise.
3770
3771         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
3772         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
3773         (string_column_at_point): Likewise.
3774         (Fmove_to_column): Likewise.
3775
3776         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
3777         `encoding_table' and `decoding_table'.
3778         (CHARSET_REP_BYTES): Deleted.
3779         (XCHARSET_REP_BYTES): Deleted.
3780         (XCHARSET_COLUMNS): Deleted.
3781         (CHAR_COLUMNS): New macro.
3782         (lookup_composite_char): Deleted unconditionally.
3783         (composite_char_string): Likewise.
3784
3785 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3786
3787         * char-ucs.h (Emchar_to_byte_table): New type.
3788         (get_byte_from_character_table): New function interface.
3789         (Vcharset_latin_jisx0201): New variable.
3790         (latin_jisx0201_to_ucs): New variable.
3791         (ucs_to_latin_jisx0201): New variable.
3792         (Vcharset_latin_iso8859_2): New variable.
3793         (latin_iso8859_2_to_ucs): New variable.
3794         (ucs_to_latin_iso8859_2): New variable.
3795         (Vcharset_latin_iso8859_3): New variable.
3796         (latin_iso8859_3_to_ucs): New variable.
3797         (ucs_to_latin_iso8859_3): New variable.
3798         (Vcharset_latin_iso8859_4): New variable.
3799         (latin_iso8859_4_to_ucs): New variable.
3800         (ucs_to_latin_iso8859_4): New variable.
3801         (Vcharset_latin_iso8859_9): New variable.
3802         (latin_iso8859_9_to_ucs): New variable.
3803         (ucs_to_latin_iso8859_9): New variable.
3804         (Vcharset_latin_viscii_lower): New variable.
3805         (latin_viscii_lower_to_ucs): New variable.
3806         (ucs_to_latin_viscii_lower): New variable.
3807         (Vcharset_latin_viscii_upper): New variable.
3808         (latin_viscii_upper_to_ucs): New variable.
3809         (ucs_to_latin_viscii_upper): New variable.
3810         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
3811         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
3812         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
3813         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
3814         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
3815         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
3816         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
3817         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
3818         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
3819         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
3820
3821         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
3822         (Vcharset_latin_viscii_upper): New variable.
3823         (make_byte_from_character_table): New function.
3824         (put_byte_from_character_table): New function.
3825         (get_byte_from_character_table): New function.
3826         (CHAR96): New macro.
3827         (ucs_to_latin_jisx0201): New variable.
3828         (latin_jisx0201_to_ucs): New variable.
3829         (ucs_to_latin_iso8859_2): New variable.
3830         (latin_iso8859_2_to_ucs): New variable.
3831         (ucs_to_latin_iso8859_3): New variable.
3832         (latin_iso8859_3_to_ucs): New variable.
3833         (ucs_to_latin_iso8859_4): New variable.
3834         (latin_iso8859_4_to_ucs): New variable.
3835         (ucs_to_latin_iso8859_9): New variable.
3836         (latin_iso8859_9_to_ucs): New variable.
3837         (ucs_to_latin_viscii_lower): New variable.
3838         (latin_viscii_lower_to_ucs): New variable.
3839         (ucs_to_latin_viscii_upper): New variable.
3840         (latin_viscii_upper_to_ucs): New variable.
3841         (ucs_to_latin_tcvn5712): New variable.
3842         (latin_tcvn5712_to_ucs): New variable.
3843         (Qlatin_viscii_lower): New variable.
3844         (Qlatin_viscii_upper): New variable.
3845         (syms_of_mule_charset): Set up new symbol
3846         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
3847         (complex_vars_of_mule_charset): Set up new charset
3848         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
3849         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
3850         `ucs_to_<CHARSET>' tables.
3851
3852 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3853
3854         * text-coding.c: New file.
3855
3856 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3857
3858         * mule-charset.c (Fmake_char): Fix problem of 256-set.
3859
3860         * char-ucs.h (Vcharset_ucs_bmp): New variable.
3861         (MAKE_CHAR): Modify for `ucs-bmp'.
3862         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
3863         non-MULE characters of BMP.
3864
3865 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
3866
3867         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3868         to 0.6.
3869
3870 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3871
3872         * lstream.h:
3873         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
3874         - Include character.h for `CHAR_ASCII_P'.
3875
3876         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
3877
3878         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
3879         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
3880
3881         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
3882         (BYTE_C0_P): Likewise.
3883         (BYTE_C1_P): Likewise.
3884         (Lstream_get_emchar_1): Likewise.
3885         (Lstream_fput_emchar): Likewise.
3886         (Lstream_funget_emchar): Likewise.
3887         (copy_internal_to_external): Likewise.
3888         (copy_external_to_internal): Likewise.
3889
3890         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
3891         (BYTE_C0_P): Likewise.
3892         (BYTE_C1_P): Likewise.
3893         (Lstream_get_emchar_1): Likewise.
3894         (Lstream_fput_emchar): Likewise.
3895         (Lstream_funget_emchar): Likewise.
3896         (copy_internal_to_external): Likewise.
3897         (copy_external_to_internal): Likewise.
3898
3899         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
3900         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3901
3902         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
3903         (BYTE_ASCII_P): Moved to mb-1byte.h.
3904
3905 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3906
3907         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
3908
3909         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
3910         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
3911         (VALID_CHARPTR_P): Moved to mb-*byte.h.
3912         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3913         (VALIDATE_CHARPTR_FORWARD): Likewise.
3914         (simple_charptr_emchar): Moved to mb-multibyte.h.
3915         (simple_set_charptr_emchar): Likewise.
3916         (simple_charptr_copy_char): Likewise.
3917         (non_ascii_charptr_emchar): Likewise.
3918         (non_ascii_set_charptr_emchar): Likewise.
3919         (non_ascii_charptr_copy_char): Likewise.
3920         (charptr_emchar): Moved to mb-*byte.h.
3921         (set_charptr_emchar): Likewise.
3922         (charptr_copy_char): Likewise.
3923
3924         * mb-1byte.h, mb-multibyte.h: New files.
3925
3926 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3927
3928         * mb-utf-8.h (MULTIBYTE): New macro.
3929         (MAX_EMCHAR_LEN): Moved from buffer.h.
3930         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
3931
3932         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
3933
3934         * mb-lb.h, multibyte.h: New files.
3935
3936         * char-1byte.h (Charset_ID): Moved from buffer.h.
3937         (MIN_LEADING_BYTE): Likewise.
3938         (LEADING_BYTE_ASCII): Likewise.
3939         (NUM_LEADING_BYTES): Likewise.
3940         (CHARSETP): Likewise.
3941         (CHARSET_BY_LEADING_BYTE): Likewise.
3942         (XCHARSET_LEADING_BYTE): Likewise.
3943         (XCHARSET_GRAPHIC): Likewise.
3944         (XCHARSET_COLUMNS): Likewise.
3945         (XCHARSET_DIMENSION): Likewise.
3946         (CHAR_CHARSET): Likewise.
3947         (CHAR_LEADING_BYTE): Likewise.
3948         (BREAKUP_CHAR): Likewise.
3949         (Vcharset_ascii): Likewise.
3950
3951         * buffer.h: Include multibyte.h unconditionally.
3952         (VALID_CHARPTR_P): Moved to multibyte.h.
3953         (ASSERT_VALID_CHARPTR): Likewise.
3954         (REAL_INC_CHARPTR): Likewise.
3955         (REAL_INC_CHARBYTIND): Likewise.
3956         (REAL_DEC_CHARPTR): Likewise.
3957         (INC_CHARPTR): Likewise.
3958         (INC_CHARBYTIND): Likewise.
3959         (DEC_CHARPTR): Likewise.
3960         (VALIDATE_CHARPTR_BACKWARD): Likewise.
3961         (VALIDATE_CHARPTR_FORWARD): Likewise.
3962         (charptr_n_addr): Likewise.
3963         (MAX_EMCHAR_LEN): Moved to mb-*.h.
3964         (simple_charptr_emchar): Moved to multibyte.h.
3965         (simple_set_charptr_emchar): Likewise.
3966         (simple_charptr_copy_char): Likewise.
3967         (non_ascii_charptr_emchar): Likewise.
3968         (non_ascii_set_charptr_emchar): Likewise.
3969         (non_ascii_charptr_copy_char): Likewise.
3970         (charptr_emchar): Likewise.
3971         (set_charptr_emchar): Likewise.
3972         (charptr_copy_char): Likewise.
3973         (charptr_emchar_n): Likewise.
3974         (Charset_ID): Moved to char-1byte.h.
3975         (Vcharset_ascii): Likewise.
3976         (CHAR_CHARSET): Likewise.
3977         (CHAR_LEADING_BYTE): Likewise.
3978         (LEADING_BYTE_ASCII): Likewise.
3979         (NUM_LEADING_BYTES): Likewise.
3980         (MIN_LEADING_BYTE): Likewise.
3981         (CHARSETP): Likewise.
3982         (CHARSET_BY_LEADING_BYTE): Likewise.
3983         (XCHARSET_LEADING_BYTE): Likewise.
3984         (XCHARSET_GRAPHIC): Likewise.
3985         (XCHARSET_COLUMNS): Likewise.
3986         (XCHARSET_DIMENSION): Likewise.
3987         (BREAKUP_CHAR): Likewise.
3988
3989 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3990
3991         * character.h: Add document about interface for characters.
3992
3993         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3994         (MAKE_CHAR): Delete comment about
3995         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3996         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3997         (BREAKUP_CHAR): Modify name of arguments.
3998         (CHAR_CHARSET): Modify name of argument.
3999
4000         * buffer.h: Delete document about Emchar accessors.
4001
4002 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4003
4004         * character.h (CHAR_INTP): Moved from buffer.h
4005         (CHAR_OR_CHAR_INTP): Likewise.
4006         (XCHAR_OR_CHAR_INT): Likewise.
4007         (CHECK_CHAR_COERCE_INT): Likewise.
4008
4009         * buffer.h (CHAR_INTP): Moved to character.h
4010         (CHAR_OR_CHAR_INTP): Likewise.
4011         (XCHAR_OR_CHAR_INT): Likewise.
4012         (CHECK_CHAR_COERCE_INT): Likewise.
4013
4014 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4015
4016         * character.h:
4017         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4018         - Include char-1byte.h, char-lb.h or char-ucs.h.
4019
4020         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4021
4022         * buffer.h: Include character unconditionally.
4023         (valid_char_p): Moved to char-*.h.
4024         (non_ascii_valid_char_p): Moved to char-lb.h.
4025
4026         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4027
4028 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4029
4030         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4031         in UTF-2000 because it is not ported yet and not to use
4032         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4033         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4034         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4035
4036         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4037         (CHAR_ASCII_P): Moved from character.h.
4038
4039         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4040         (CHAR_ASCII_P): Likewise.
4041         (CHAR_FIELD1_MASK): Deleted.
4042         (CHAR_FIELD2_MASK): Deleted.
4043         (CHAR_FIELD3_MASK): Deleted.
4044         (MAX_CHAR_BASIC_LATIN): New macro.
4045         (CHAR_FIELD1): Deleted.
4046         (CHAR_FIELD2_INTERNAL): Deleted.
4047         (CHAR_FIELD3_INTERNAL): Deleted.
4048         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4049         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4050         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4051         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4052         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4053         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4054         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4055         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4056         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4057         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4058         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4059         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4060         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4061         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4062         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4063         (MIN_CHAR_COMPOSITION): Deleted.
4064         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4065         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4066
4067 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4068
4069         * buffer.h: Include mb-utf-8.h in UTF-2000.
4070
4071         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4072
4073         * mb-utf-8.h: New file.
4074
4075 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4076
4077         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4078         instead of `int'.
4079
4080         * mule-charset.h, buffer.h (Charset_ID): New type.
4081
4082 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4083
4084         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4085         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4086         instead of `MULE_CHAR_PRIVATE_OFFSET',
4087         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4088         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4089         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4090
4091         * character.h (Vcharset_japanese_jisx0212): New variable
4092         definition.
4093
4094 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4095
4096         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4097         (charset_by_attributes): Delete array about direction.
4098         (latin_a_char_to_charset): New variable in UTF-2000.
4099         (latin_a_char_to_byte1): New variable in UTF-2000.
4100         (latin_a_char_to_byte2): New variable in UTF-2000.
4101         (Qucs_bmp): New variable.
4102         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4103         `Bufbyte'.
4104         (next_allocated_2_byte_leading_byte): Likewise.
4105         (non_ascii_set_charptr_emchar): Likewise.
4106         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4107         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4108         `charset_by_attributes'.
4109         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4110         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4111         and `CHARSET_BY_LEADING_BYTE'.
4112         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4113         `utf-2000-version' to `vars_of_mule_charset'.
4114         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4115         define `leading-code-private-11' in UTF-2000; move setting of
4116         `utf-2000-version' from `syms_of_mule_charset'.
4117         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4118         UTF-2000.
4119
4120         * character.h (Charset_ID): New type.
4121         (LEADING_BYTE_UCS_BMP): New macro.
4122         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4123         (CHARSET_ID_OFFSET_94): New macro.
4124         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4125         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4126         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4127         final-byte.
4128         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4129         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4130         (CHARSET_ID_OFFSET_96): New macro.
4131         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4132         CHARSET_ID_OFFSET_96 and final-byte.
4133         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4134         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4135         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4136         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4137         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4138         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4139         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4140         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4141         (LEADING_BYTE_THAI_TIS620): Likewise.
4142         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4143         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4144         (CHARSET_ID_OFFSET_94x94): New macro.
4145         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4146         CHARSET_ID_OFFSET_94x94 and final-byte.
4147         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4148         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4149         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4150         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4151         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4152         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4153         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4154         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4155         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4156         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4157         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4158         (CHARSET_TYPE_128X128): New macro.
4159         (CHARSET_TYPE_256X256): New macro.
4160         (XCHARSET_PRIVATE_P): Delete unconditionally.
4161         (charset_by_attributes): Delete array about direction.
4162         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4163         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4164         (MIN_CHAR_94): New macro.
4165         (MAX_CHAR_94): New macro.
4166         (MIN_CHAR_96): New macro.
4167         (MAX_CHAR_96): New macro.
4168         (MIN_CHAR_94x94): New macro.
4169         (MAX_CHAR_94x94): New macro.
4170         (MIN_CHAR_96x96): New macro.
4171         (MAX_CHAR_96x96): New macro.
4172         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4173         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4174         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4175         - 32)'.
4176         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4177         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4178         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4179         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4180         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4181         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4182         `XCHARSET_LEADING_BYTE' to make code-point.
4183         (latin_a_char_to_charset): New variable.
4184         (latin_a_char_to_byte1): New variable.
4185         (latin_a_char_to_byte2): New variable.
4186         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4187         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4188         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4189
4190         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4191         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4192         (find_charsets_in_emchar_string): Likewise.
4193         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4194
4195         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4196         `int'.
4197         (decode_coding_iso2022): Likewise.
4198
4199         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4200         of `unsigned char'.
4201
4202         * redisplay.c (redisplay_text_width_emchar_string): Use
4203         `Charset_ID' instead of `unsigned char'.
4204         (redisplay_frame_text_width_string): Likewise.
4205
4206         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4207         `unsigned char'.
4208
4209         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4210         instead of `unsigned char'.
4211         (face_cachel_charset_font_metric_info): Likewise.
4212
4213         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4214         (get_non_ascii_char_table_value): Likewise.
4215         (get_char_table): Likewise.
4216         (put_char_table): Likewise.
4217         (map_over_other_charset): Likewise.
4218         (map_char_table): Likewise.
4219
4220         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4221         instead of `unsigned char'.
4222
4223 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4224
4225         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4226         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4227
4228         * mule-charset.c (leading_code_private_11): Don't define in
4229         UTF-2000.
4230
4231         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4232         in UTF-2000 because it is not ported yet and not to use
4233         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4234
4235 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4236
4237         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4238
4239 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4240
4241         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4242         in UTF-2000.
4243
4244         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4245         of unsigned char to store leading-byte.
4246
4247         * chartab.c (get_non_ascii_char_table_value): Don't use
4248         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4249
4250         * file-coding.c (encode_coding_big5): Delete bogus implementation
4251         in UTF2000.
4252
4253         * character.h (LEADING_BYTE_*): Delete definition for
4254         non-UTF-2000.
4255         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4256         (LEADING_BYTE_PREFIX_P): Deleted.
4257         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4258         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4259         (BUFBYTE_LEADING_BYTE_P): Deleted.
4260         (CHARSET_PRIVATE_P): Deleted unconditionally.
4261         (rep_bytes_by_first_byte): Deleted unconditionally.
4262         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4263         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4264         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4265         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4266         (CHAR_FIELD2): Deleted.
4267         (CHAR_FIELD3): Deleted.
4268         (MAKE_CHAR): Delete definition for non-UTF-2000.
4269         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4270         (breakup_char_1): New implementation.
4271         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4272         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4273
4274 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4275
4276         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4277         condition.
4278
4279 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4280
4281         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4282         (CHARSET_PRIVATE_P): Likewise.
4283         (XCHARSET_PRIVATE_P): Likewise.
4284         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4285
4286         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4287         UTF2000.
4288         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4289
4290 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4291
4292         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4293         (NUM_LEADING_BYTES): Changed from 128 to 256.
4294         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4295         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4296         UTF2000.
4297         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4298
4299         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4300         UTF2000.
4301         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4302         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4303         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4304         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4305         (Qchinese_cns11643_3): New variable in UTF2000.
4306         (Qchinese_cns11643_4): New variable in UTF2000.
4307         (Qchinese_cns11643_5): New variable in UTF2000.
4308         (Qchinese_cns11643_6): New variable in UTF2000.
4309         (Qchinese_cns11643_7): New variable in UTF2000.
4310         (syms_of_mule_charset): Define `chinese-cns11643-3',
4311         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4312         and `chinese-cns11643-7' in UTF2000.
4313         (vars_of_mule_charset): Initialize
4314         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4315         + 1 in UTF2000.
4316         (complex_vars_of_mule_charset): Setup charset
4317         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4318         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4319
4320 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4321
4322         * mule-charset.c: Move setting for `leading-code-private-11' from
4323         `syms_of_mule_charset' to `vars_of_mule_charset'.
4324
4325 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4326
4327         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4328         and `NUM_LEADING_BYTES' in assert.
4329
4330 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4331
4332         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4333         instead of 128.
4334         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4335         `NUM_LEADING_BYTES' instead of 128.
4336
4337 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4338
4339         * mule-charset.h (charset_by_leading_byte): Use
4340         `NUM_LEADING_BYTES' instead of 128.
4341         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4342
4343         * mule-charset.c (charset_by_leading_byte): Use
4344         `NUM_LEADING_BYTES' instead of 128.
4345         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4346
4347         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4348         128.
4349
4350 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4351
4352         * mule-charset.c (syms_of_mule_charset): Update to
4353         0.4 (Shin-Imamiya).
4354
4355 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4356
4357         * file-coding.c (encode_coding_sjis): New implementation for
4358         UTF2000.  (decode_coding_sjis): Ditto.
4359
4360 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4361
4362         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4363         Don't define in UTF2000.
4364
4365         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4366         defined.
4367
4368         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4369         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4370         MULE.
4371
4372 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4373
4374         * config.h.in (CHAR_IS_UCS4): New macro.
4375
4376         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4377         conventional MULE representation.
4378         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4379
4380         * mule-charset.h: Reverted to original.
4381
4382         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4383         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4384         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4385
4386         * character.h: New file.
4387
4388         * file-coding.c (Fmake_coding_system): Set 1 to
4389         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4390         defined.
4391         (encode_coding_no_conversion): New implementation for UTF2000.
4392
4393         * file-coding.h (struct Lisp_Coding_System): Add new member
4394         `fixed.size'.
4395
4396 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4397
4398         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4399         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4400         (encode_coding_iso2022): New implementation for UTF2000.
4401
4402 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4403
4404         * mule-canna.c (c2mu): New implementation for UTF2000.
4405         (m2c): Likewise.
4406
4407 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4408
4409         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4410
4411 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4412
4413         * file-coding.c (reset_encoding_stream): Set 0 to
4414         `str->iso2022.current_char_boundary' in UTF2000.
4415         (encode_utf8): Don't define in UTF2000.
4416         (encode_coding_utf8): New implementation for UTF-8 representation
4417         of UTF2000.
4418         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4419
4420 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4421
4422         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4423
4424         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4425         UTF2000.
4426         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4427
4428         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4429
4430         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4431         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4432         as UTF-8 in UTF2000.
4433         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4434         (non_ascii_valid_char_p): Don't define in UTF2000.
4435         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4436         (Lstream_get_emchar_1): Likewise.
4437         (utf-2000-version): New variable in UTF2000.
4438
4439         * lread.c (read_escape): Add new reader `u'.
4440
4441         * insdel.c (three_to_one_table): Don't define in UTF2000.
4442         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4443         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4444         UTF2000.
4445         (bytind_to_bufpos_func): Likewise.
4446         (buffer_mule_signal_inserted_region): Likewise.
4447         (vars_of_insdel): Don't initialize `three_to_one_table'.
4448         (init_buffer_text): Use `buf->text->mule_size' instead of
4449         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4450         UTF2000.
4451
4452         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4453         UTF-8 representation in UTF2000.
4454         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4455         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4456         (decode_coding_iso2022): Don't define local variable `lb' in
4457         UTF2000; don't use LEADING_BYTE in UTF2000; use
4458         `DECODE_ADD_UCS_CHAR' in UTF2000.
4459         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4460
4461         * config.h.in (UTF2000): New macro.
4462
4463         * buffer.h (struct buffer_text): Add new member `mule_size' and
4464         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4465         (valid_char_p): Return always 1 in UTF2000.
4466         (MAX_EMCHAR_LEN): 6 in UTF2000.
4467         (three_to_one_table): Don't define in UTF2000.
4468         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4469         UTF2000.
4470         (real_bytind_to_bufpos): Likewise.
4471
4472         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4473
4474 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4475
4476         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4477         representation change.
4478         (Vutf_2000_version): New variable.
4479         (leading_code_private_11): New variable.
4480         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4481         `leading-code-private-11'.
4482
4483         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4484         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4485         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4486         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4487         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4488         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4489         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4490         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4491         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4492         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4493         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4494         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4495         (MIN_CHAR_GREEK): New macro.
4496         (MAX_CHAR_GREEK): New macro.
4497         (MIN_CHAR_CYRILLIC): New macro.
4498         (MAX_CHAR_CYRILLIC): New macro.
4499         (MIN_CHAR_HEBREW): New macro.
4500         (MAX_CHAR_HEBREW): New macro.
4501         (MIN_CHAR_THAI): New macro.
4502         (MAX_CHAR_THAI): New macro.
4503         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4504         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4505         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4506         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4507         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4508         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4509         (CHAR_FIELD2): New inline function.
4510         (CHAR_FIELD3): New inline function.
4511         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4512         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4513         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4514         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4515         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4516         (MIN_CHAR_COMPOSITION): Likewise.
4517         (CHAR_LEADING_BYTE): Modified for character representation change.
4518         (MAKE_CHAR): Likewise.
4519
4520         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4521         (Vcharset_greek_iso8859_7): Likewise.
4522         (Vcharset_cyrillic_iso8859_5): Likewise.
4523         (Vcharset_hebrew_iso8859_8): Likewise.
4524         (Vcharset_thai_tis620): Likewise.
4525         (Vcharset_katakana_jisx0201): Likewise.
4526
4527 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4528
4529         * XEmacs 21.4.10 "Military Intelligence" is released.
4530
4531 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4532
4533         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4534         using the NAS private array SoundFileInfo that no longer exists in
4535         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4536         and earlier.  This is broken for some versions between 1.5a and
4537         1.5f.
4538
4539 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4540
4541         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4542
4543         * emacs.c (shut_down_emacs): Improve crash message.
4544
4545 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4546
4547         * file-coding.c (determine_real_coding_system): Check for coding
4548         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4549         shebangs and Python PEP 263.
4550
4551 2002-10-08  Andy Piper  <andy@xemacs.org>
4552
4553         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4554         if static sizes haven't been set.
4555
4556 2002-08-30  Mike Alexander  <mta@arbortext.com>
4557
4558         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4559         to close a socket.
4560
4561 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4562
4563         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4564
4565 2002-09-20  Mike Sperber <mike@xemacs.org>
4566
4567         (This partially gets back my patch from 2002-07-20 without the
4568         bug.)
4569         * callproc.c (child_setup): Remove Ben's comment noting confusion
4570         over the file descriptors >= 3: close_process_descs() doesn't
4571         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4572         * process-unix.c (unix_create_process): Call
4573         begin_dont_check_for_quit to inhibit unwanted interaction (and
4574         thus breaking of X event synchronicity) in the child.
4575
4576 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4577
4578         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4579         widget.
4580
4581 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4582
4583         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4584         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4585         the xemacs process did not exit, but looped infinitely here.  This
4586         fixes that problem.
4587
4588 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4589
4590         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4591         (find_context): Improve comments.
4592
4593         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4594         (re_match_2): An XCHAR_TABLE operation was missing.
4595
4596         Many of the following changes were inspired by Andy Piper's (now
4597         obsolete) patch to make syntax-table text property lookup optional.
4598
4599         [Documentation]
4600
4601         * syntax.h (top level): Document semantics of syntax flags.
4602         * syntax.c (comstr_start, Fforward_comment): Improve comments.
4603         * syntax.c, syntax.h (top level): Document syntax cache better in
4604         comments.
4605
4606         [Instrument syntax caching (temporary change)]
4607
4608         * syntax.h (enum syntax_cache_statistics_functions, struct
4609         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
4610         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
4611         * syntax.c (scan_words, Fforward_comment, scan_lists,
4612         Fbackward_prefix_characters):
4613         * font-lock.c (find_context):
4614         Use them to instrument syntax caching. 
4615         * syntax.c (struct syntax_cache_statistics, scs_statistics,
4616         syntax_cache_statistics_function_names): New type and variables.
4617         * syntax.c (update_syntax_cache): Update and report statistics.
4618
4619         [Major syntax cache optimizations]
4620
4621         syntax.c (lookup_syntax_properties): Default off.
4622
4623         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
4624         * syntax.c (update_syntax_cache):
4625         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
4626
4627         [Minor syntax cache optimizations and code clarifications]
4628
4629         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
4630         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
4631         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
4632         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
4633         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
4634         (Code clarification.)
4635
4636         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
4637         scan_lists): Compute code from syncode, use Boolean macros instead
4638         of redundant masking operations.  (Code clarification; any decent
4639         compiler can do this optimization.)
4640
4641         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
4642         for clarity.
4643
4644         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
4645         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
4646         use F*_single_property_change instead of F*_extent_change.
4647         Currently F*_single_property_change is _much_ less efficient.
4648
4649         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
4650         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
4651         syntax_cache.object properly, don't leave Qt or Qnil.
4652         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
4653         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
4654         tests for Qt or Qnil.
4655
4656 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
4657
4658         * redisplay.c (point_in_line_start_cache): 
4659         * extents.c (print_extent_1):
4660         Fix warnings.
4661
4662         * extents.c (Fset_extent_property): Document `syntax-table' property.
4663
4664         * extents.h (Fnext_single_property_change): EXFUN it.
4665
4666 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4667
4668         * search.c (clear_unused_search_regs): New static function.
4669         (search_buffer): 
4670         (simple_search): 
4671         (boyer_moore):
4672         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
4673         Minor clarifications in comments.
4674
4675         * regex.c (re_match_2_internal): Ensure no stale submatches.
4676
4677 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
4678
4679         * event-Xt.c (enqueue_focus_event): Add missing prototype.
4680
4681 2002-08-29  Jerry James  <james@xemacs.org>
4682
4683         * lisp.h: structrures -> structures.
4684
4685 2002-06-03  Andy Piper  <andy@xemacs.org>
4686
4687         * frame.c (frame_conversion_internal): add conversion appropriate
4688         for setting frame dimensions in pixels.
4689
4690         * console.h (struct console_methods): add device-specific widget
4691         layout functions.
4692
4693         * emacs.c (main_1): initialize glyph vars.
4694
4695         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
4696         (handle_focus_event_2): new function. Allow focus to
4697         be set to a particular window and widget.
4698         (enqueue_focus_event): new function. Create a
4699         synthetic focus event.
4700         (emacs_Xt_handle_magic_event): call
4701         handle_focus_event_2.
4702
4703         * frame.c (Fset_frame_pixel_height): new function. Allow
4704         pixel-based sizing. Does the right thing on character-oriented
4705         displays.
4706         (Fset_frame_pixel_width): ditto.
4707         (Fset_frame_pixel_size): ditto.
4708         (syms_of_frame): declare.
4709
4710         * general-slots.h: add :vertically-justify and
4711         :horizontally-justify.
4712
4713         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
4714         (mswindows_widget_border_width): new function.
4715         (mswindows_combo_box_instantiate): set border widths.
4716         (console_type_create_glyphs_mswindows): declare.
4717
4718         * glyphs-widget.c:
4719         (check_valid_justification): allow vertical and horizontal
4720         justification.
4721         (widget_border_width): new function. Call device methods.
4722         (widget_instance_border_width): ditto.
4723         (logical_unit_height): new function. Determine the height of a
4724         logical-unit. Logical units are intended to provide grid-like
4725         layout for subcontrols in a layout. If the layout is
4726         :vertically-justify top then subcontrols will be positioned on
4727         logical-unit boundaries, thus allowing adjacent subcontrols to
4728         line up.
4729         (widget_logical_unit_height): ditto for widgets.
4730         (redisplay_widget): misc cleanup.
4731         (widget_spacing): new function. Call device specific
4732         methods. Intended to be the default gap between adjacent widgets.
4733         (widget_query_geometry): use new spacing functions to determine
4734         appropriate geometry.
4735         (initialize_widget_image_instance): initialize horizontal and
4736         vertical justification.
4737         (widget_instantiate): use logica-units where appropriate for
4738         sizing large widgets.
4739         (button_query_geometry): use widget_instance_border_width.
4740         (tree_view_query_geometry): ditto.
4741         (tab_control_query_geometry): ditto.
4742         (edit_field_query_geometry): new function.
4743         (layout_update): pick up :justify, :horizontally-justify and
4744         :vertically-justify none of which worked previously. :justify is
4745         used as a fallback for both horizontal and vertical justification.
4746         (layout_query_geometry): use logical units to size appropriately.
4747         (layout_layout): ditto.
4748         (Fwidget_logical_to_character_width): new function. Allow users to
4749         convert from logical units to characters so that frame sizes can
4750         be set appropriately.
4751         (Fwidget_logical_to_character_height): ditto.
4752         (syms_of_glyphs_widget): declare.
4753         (image_instantiator_edit_fields): add edit_field_query_geometry.
4754         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
4755         :horizontally-justify.
4756         (specifier_vars_of_glyphs_widget): new function. Declare
4757         Vwidget_border_width which is not yet used.
4758
4759         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
4760         (x_widget_border_width): new function.
4761         (x_widget_instantiate): create a sensible name for widgets.
4762         (console_type_create_glyphs_x): declare x_widget_border_width.
4763
4764         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
4765         (struct Lisp_Image_Instance): add :vertically-justify and
4766         :horizontally-justify.
4767         (LAYOUT_JUSTIFY_TOP): new.
4768         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
4769         (ROUND_UP): new macro. Round argument up to next integral
4770         interval.
4771
4772         * redisplay-output.c (redisplay_output_layout): misc formatting.
4773
4774         * symsinit.h: declare specifier_vars_of_glyphs_widget.
4775
4776 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
4777
4778         * XEmacs 21.4.9 "Informed Management" is released.
4779
4780 2002-08-19  Andy Piper  <andy@xemacs.org>
4781
4782         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
4783         win32 format.
4784
4785         * realpath.c (xrealpath): normalize drive spec also so that dir
4786         sep chars are not mixed on cygwin.
4787
4788 2002-08-06  Jerry James  <james@xemacs.org>
4789
4790         * window.c (Fsplit_window): Count only half of the divider width
4791         against the left window when splitting horizontally. 
4792
4793 2002-06-24  Andy Piper  <andy@xemacs.org>
4794
4795         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
4796         toolbar was cleared.
4797
4798         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
4799         function. Split out from mswindows_output_frame_toolbars.
4800         (mswindows_output_frame_toolbars): move clear pieces to
4801         mswindows_output_frame_toolbars.
4802
4803         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
4804         out from gtk_output_frame_toolbars.
4805         (gtk_output_frame_toolbars): move clear pieces to
4806         gtk_clear_frame_toolbars.
4807
4808         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
4809         the frame is cleared. How this ever worked before is a mystery.
4810         (x_output_frame_toolbars): Only output toolbars.
4811         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
4812
4813         * gutter.c (update_gutter_geometry):
4814         Mark frame layout changed.
4815         (update_frame_gutter_geometry, update_frame_gutters):
4816         Respect frame_layout_changed.
4817
4818         * console.h (struct console_methods): add
4819         clear_frame_toolbars_method.
4820
4821         * redisplay.c (redisplay_frame): call
4822         update_frame_toolbars_geometry and re-order update_frame_toolbars.
4823
4824         * toolbar.h: declare update_frame_toolbars_geometry.
4825
4826         * toolbar.c (update_frame_toolbars_geometry): new function. Split
4827         out from update_frame_toolbars.  Call clear_frame_toolbars.
4828         (update_frame_toolbars): only output, do not change geometry.
4829
4830         * redisplay.c: add frame_layout_changed.
4831
4832         * redisplay.h: add frame_layout_changed.
4833         (CLASS_RESET_CHANGED_FLAGS): set it.
4834         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
4835         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
4836         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
4837
4838         * device.h (struct device): add frame_layout_changed.
4839         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
4840
4841         * frame.h (struct frame): add frame_layout_changed.
4842         (MARK_FRAME_LAYOUT_CHANGED): new.
4843
4844 2002-06-30  Mike Alexander  <mta@arbortext.com>
4845
4846         * event-msw.c (mswindows_need_event): Don't wait for a new message
4847         if the queue is not empty.  Suggested by Paul Moore.
4848
4849 2002-06-12  Andy Piper  <andy@xemacs.org>
4850
4851         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
4852         for printing on accurately.
4853
4854 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
4855
4856         * event-msw.c (mswindows_wnd_proc): Add a handler for the
4857         WM_ACTIVATE message. Make sure that the frame is visible if the
4858         window is visible. This seemss to fix the problem where XEmacs
4859         appears to freeze after switching desktops with certain virtual
4860         window managers.
4861         (debug_output_mswin_message): Added code to output message
4862         parameters for WM_WINDOWPOSCHANGED, 
4863         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
4864
4865 2002-05-25  Andy Piper  <andy@xemacs.org>
4866
4867         * select-x.c (vars_of_select_x): Fix docstring of
4868         x-selection-strict-motif-ownership
4869
4870 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4871
4872         * keymap.c (get_keymap):
4873         Add comment about do_autoload GCPROs own args.
4874
4875 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4876
4877         * bytecode.c (execute_optimized_program): check_opcode ifdef
4878         ERROR_CHECK_BYTE_CODE.
4879
4880 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
4881
4882         Thanks to Ben Wing and Michael Sperber.
4883
4884         * eval.c (Fcommand_execute):
4885         (Feval):
4886         (Ffuncall):
4887         (Fmacroexpand_internal):
4888         (function_argcount):
4889         callint.c (Fcall_interactively):
4890         Add comment about do_autoload GCPROs own args.
4891
4892         * (do_autoload): GCPRO both args as well as local Lisp_Object.
4893
4894         * eval.c (Ffuncall): Extra braces to placate GCC.
4895
4896 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
4897
4898         * backtrace.h (grow_specpdl):
4899         (SPECPDL_RESERVE):
4900         * EmacsFrame.c (EmacsFrameSetValues):
4901         * eval.c (grow_specpdl):
4902         * ExternalShell.c (hack_event_masks_1):
4903         * glyphs-x.c (convert_EImage_to_XImage): 
4904         (x_finalize_image_instance):
4905         * ralloc.c (page_size):
4906         (r_alloc_sbrk):
4907         * xgccache.c (gc_cache_hash):
4908         Fix unsigned comparison warnings.
4909
4910 2002-07-29  Jerry James  <james@xemacs.org>
4911
4912         * lread.c (locate_file): Any nonnegative return value indicates
4913         success if MODE is nonnegative.
4914
4915 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
4916
4917         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
4918         argument. 
4919
4920 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
4921
4922         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
4923
4924         * dumper.c (pdump_get_indirect_count):
4925         (pdump_scan_by_alignment):
4926         (pdump_dump_root_struct_ptrs):
4927         (pdump_dump_rtables):
4928         (pdump_dump_root_objects):
4929         (pdump):
4930         * nas.c (WaveOpenDataForReading):
4931         * fns.c (print_bit_vector):
4932         * font-lock.c (SINGLE_SYNTAX_STYLE):
4933         * glyphs.c (check_for_ignored_expose):
4934         (find_matching_subwindow):
4935         * glyphs-eimage.c:
4936         * imgproc.c (get_histogram):
4937         * redisplay.c (point_in_line_start_cache):
4938         * redisplay-output.c (redisplay_unmap_subwindows):
4939         * symbols.c (defsymbol_massage_name_1):
4940         (defkeyword_massage_name):
4941         (deferror_massage_name_and_message):
4942         * redisplay-x.c (x_output_string): 
4943         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
4944         * frame.h (struct frame):
4945         * filelock.c (current_lock_owner):
4946         * doprnt.c (emacs_doprnt_1):
4947         * lisp.h (struct Lisp_Bit_Vector):
4948         (DO_REALLOC):
4949         Fix warnings.
4950
4951 2002-02-13  Ben Wing  <ben@xemacs.org>
4952
4953         * event-stream.c (reset_key_echo):
4954         * event-stream.c (reset_this_command_keys):
4955         * event-stream.c (execute_command_event):
4956         If console is dead as a result of C-x 5 0, then post-command stuff
4957         needs to be careful and do only non-console-specific stuff.
4958
4959 2002-07-01  Mike Sperber <mike@xemacs.org>
4960
4961         * process-unix.c (unix_send_process): Mark coding_outstream as
4962         non-open upon SIGPIPE.
4963
4964         * event-stream.c (Fnext_event): Reorder switch cases to something
4965         that makes sense.
4966
4967 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
4968
4969         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
4970         Don't bogusly reinitialize ascii_character property.
4971
4972 2002-07-08  Mike Sperber <mike@xemacs.org>
4973
4974         * process.c (Fstart_process_internal): Do error checking before we
4975         fork off the child, so the child can't muck with the state of the
4976         parent.
4977
4978 2002-07-08  Mike Sperber <mike@xemacs.org>
4979
4980         * ralloc.c (init_ralloc): Allocate properly for pdump.
4981
4982 2002-06-12  Andy Piper  <andy@xemacs.org>
4983
4984         * glyphs.c (query_string_geometry): check the string.
4985
4986         * glyphs-widget.c (widget_logical_unit_height): cope with nil
4987         widget names.
4988
4989 2002-06-17  Jerry James  <james@xemacs.org>
4990
4991         * sysdll.c: Remove RTLD_GLOBAL initialization.
4992         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
4993
4994 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
4995
4996         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
4997
4998 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
4999
5000         * sysdep.c (sys_rename): Make sys_rename work for the case where
5001         Windows rename sets errno to EACCES if target file exists.
5002
5003 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5004
5005         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5006         Fix detection of metric units to work on Win95
5007
5008 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5009
5010         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5011
5012 2002-04-25  Andy Piper  <andy@xemacs.org>
5013
5014         * redisplay.c (create_text_block): Remove extra comment trailer.
5015
5016 2002-04-24  Andy Piper  <andy@xemacs.org>
5017
5018         * redisplay.c (create_text_block): Don't actually add propagation
5019         data if the line ends after we have added a glyph.
5020
5021 2002-04-22  Andy Piper  <andy@xemacs.org>
5022
5023         * extents.c (extent_fragment_update): check for glyphs we have
5024         previously displayed.
5025         * extents.c (print_extent_1): warning removal.
5026         * extents.h: change prototype.
5027         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5028         widths correctly for wide glyphs.
5029         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5030         * redisplay.c (prop_type): add PROP_GLYPH.
5031         * redisplay.c (struct prop_block): add glyph type
5032         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5033         to the propagation data.
5034         * redisplay.c (create_text_block): if there is a glyph in the
5035         propagation data use it to salt extent_fragment_update.
5036         * redisplay.c (create_string_text_block): ditto.
5037
5038 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5039
5040         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5041         * redisplay-output.c (compare_runes): Compare them.
5042         * redisplay.c: Update copyright date.
5043         * redisplay.c (pos_data): Add need_baseline_computation field.
5044         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5045         need_baseline_computation; zero yoffset. Set max_pixmap_height
5046         for all pixmaps, not just automatically positioned ones.
5047         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5048         * redisplay.c (calculate_baseline): New, compute textual baseline.
5049         * redisplay.c (add_glyph_rune): Call them.
5050         * redisplay.c (create_text_block): Likewise.
5051         * redisplay.c (create_overlay_glyph_block): Likewise.
5052         * redisplay.c (add_margin_runes): Likewise.
5053         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5054
5055         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5056         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5057         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5058         * redisplay-msw.c (mswindows_output_string): Likewise.
5059         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5060         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5061         * redisplay-x.c (x_output_display_block): Likewise.
5062
5063 2002-03-28  Ben Wing  <ben@xemacs.org>
5064
5065         * redisplay.c: Fixed bug in redisplay
5066         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5067         and down of the lines, since they're bigger than the line
5068         size. (It was seen most obviously when there's a horizontal scroll
5069         bar, e.g. do C-h a glyph or something like that.) The problem was
5070         that the glyph-contrib-p setting on glyphs was ignored even if it
5071         was set properly, which it wasn't until now.
5072
5073 2002-04-24  Andy Piper  <andy@xemacs.org>
5074
5075         * lisp.h (Dynarr_end): Fix definition.
5076
5077 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5078
5079         * redisplay.c (mark_redisplay): Remove call to
5080         update_frame_window_mirror.
5081
5082 2001-11-15  Andy Piper  <andy@xemacs.org>
5083
5084         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5085         cygwin (again).
5086
5087 2002-02-13  Andy Piper  <andy@xemacs.org>
5088
5089         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5090         we did in fact enqueue the XM_MAPFRAME event.
5091
5092 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5093
5094         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5095         to fix problem switching between virtual desktops under virtuawin
5096         virtual window manager.
5097
5098 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5099
5100         * event-msw.c: Typo fix.
5101         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5102         magic XM_MAPFRAME event has been sent.
5103
5104 2001-11-23  Andy Piper  <andy@xemacs.org>
5105
5106         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5107
5108 2001-11-21  Andy Piper  <andy@xemacs.org>
5109
5110         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5111         mouse events outside the frame.
5112
5113 2002-03-20  Andy Piper  <andy@xemacs.org>
5114
5115         * menubar-msw.c (mswindows_popup_menu): warning removal.
5116         * dialog-msw.c (dialog_popped_down): ditto.
5117
5118 2001-12-11  Andy Piper  <andy@xemacs.org>
5119
5120         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5121         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5122         popup_up_p.
5123         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5124         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5125         * menubar-msw.c (mswindows_popup_menu): ditto.
5126
5127 2001-10-29  Andy Piper  <andy@xemacs.org>
5128
5129         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5130         cancels.
5131
5132 2002-01-03  Andy Piper  <andy@xemacs.org>
5133
5134         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5135         letters.
5136         (xrealpath): ditto.
5137
5138 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5139
5140         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5141         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5142         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5143         Detect and handle case where machine is set up for metric units
5144
5145 2002-04-02  Andy Piper  <andy@xemacs.org>
5146
5147         * dired-msw.c (mswindows_get_files): 
5148         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5149         completely handled by XEmacs. Suggested by Thomas Vogler
5150         <mail@thomas-vogler.de>.
5151
5152 2001-11-14  Andy Piper  <andy@xemacs.org>
5153
5154         * nt.c (REG_ROOT): change registry key to XEmacs.
5155
5156 2002-04-27  Andy Piper  <andy@xemacs.org>
5157
5158         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5159
5160 2002-04-26  Andy Piper  <andy@xemacs.org>
5161
5162         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5163         behavior.
5164
5165 2002-03-14  Mike Alexander  <mta@arbortext.com>
5166
5167         * event-msw.c (mswindows_unwait_process): New, remove process from
5168         wait list
5169         * process-nt.c (nt_finalize_process_data): Call
5170         mswindows_unwait_process
5171         * console-msw.h: Declare mswindows_unwait_process
5172
5173 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5174
5175         * editfns.c (Fdecode_time):
5176         (Fformat_time_string):
5177         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5178         (make_time): Warning elimination (change arg name).
5179
5180 2001-11-24  Andy Piper  <andy@xemacs.org>
5181
5182         * window.c (Fsplit_window): Doc return type.
5183
5184 2002-04-01  Andy Piper  <andy@xemacs.org>
5185
5186         * emacs.c (Fkill_emacs): Only output message box in interactive
5187         mode.
5188
5189 2002-04-26  Andy Piper  <andy@xemacs.org>
5190  
5191         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5192         cygwin.
5193
5194 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5195
5196         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5197         bit platform.
5198
5199 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5200
5201         * XEmacs 21.4.8 "Honest Recruiter" is released.
5202
5203 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5204
5205         Supersedes 2002-04-17 patch.
5206
5207         * process.h (PROCESS_LIVE_P): Use the process status as
5208         evidence of health, not the state of the input stream.
5209         (PROCESS_READABLE_P): Say if the process is readable
5210         from. (It may be dead nonetheless.)
5211         (CHECK_READABLE_PROCESS): Test for that condition.
5212
5213         * process.c (create_process): Use PROCESS_READABLE_P.
5214         (read_process_output, set_process_filter): Likewise.
5215
5216         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5217         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5218
5219         This code is #if 0'd, this is not the time to add new functions:
5220
5221         * process.c (Fprocess_readable_p): Report readability status.
5222         * process.c (Qprocess_readable_p): New, associated symbol...
5223         * process.c (syms_of_process): ... initialize it.
5224
5225 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5226
5227         * XEmacs 21.4.7 "Economic Science" is released.
5228
5229 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5230
5231         * process.h (PROCESS_LIVE_P): Use the process status as
5232         evidence of health, not the state of the input stream.
5233
5234 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5235
5236         * sysdep.c (sys_siglist): change "signum" to "signal"
5237
5238 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5239
5240         * s/darwin.h: New file.
5241         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5242         
5243 2002-04-23  Andreas Jaeger  <aj@suse.de>
5244
5245         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5246         which use lib64 for 64-bit libs.
5247         (START_FILES): Likewise.
5248
5249 2002-02-11  Mike Sperber  <mike@xemacs.org>
5250
5251         * device-x.c: 
5252         (x_IO_error_handler):
5253         (x_init_device): Temporarily keep device in static variable
5254         `device_being_initialized' so we can recover gracefully from
5255         internal XOpenDevice failure.  (XOpenDevice is documented to
5256         return NULL on failure, but sometimes calls the IO error handler
5257         instead.)
5258
5259 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5260
5261         * dired.c (Ffile_name_all_completions): Change documentation --
5262         remove reference to completion-ignored-extensions.
5263         * dired.c (vars_of_dired): Change documentation for
5264         completion-ignored-extensions -- remove reference to
5265         file-name-all-completions.
5266
5267 2002-03-06  Jerry James  <james@xemacs.org>
5268
5269         * emodules.c (emodules_load): Fix multiple loading of same module.
5270
5271 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5272         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5273         RTLD_LAZY to avoid incorrect symbol binding when using nested
5274         shared libraries on Solaris.
5275
5276 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5277
5278         * fileio.c (Ffind_file_name_handler): Improve docstring.
5279
5280 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5281
5282         * fns.c (Fmapconcat): Improve docstring.
5283
5284 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5285
5286         * device-gtk.c: Add prototype for
5287         emacs_gtk_selection_clear_event_handle.
5288         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5289         selection.  Setup signal handler for "selection_clear_event"
5290         (emacs_gtk_selection_clear_event_handle).
5291
5292         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5293         other applications owning the clipboard (based on
5294         x_handle_selection_clear).
5295
5296 2001-12-23  William M. Perry  <wmperry@gnu.org>
5297
5298         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5299         
5300 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5301
5302         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5303
5304 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5305
5306         * XEmacs 21.4.6 "Common Lisp" is released.
5307
5308 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5309
5310         * search.c (Freplace_match): Add missing sub-expression functionality.
5311
5312         * buffer.c (decode_buffer): Add a check for pointer type to
5313         decode_buffer, before gcc's CSE optimization reorders a
5314         dereference in front of the allow_string test.
5315
5316 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5317
5318         * window.c (window_loop): Fix bug that sometimes prevented
5319         window_loop() from iterating across multiple devices.  Also, at
5320         Ben's request, changed infloop-detecting code to abort() instead
5321         of silently terminating window_loop().
5322
5323 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5324
5325         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5326         * editfns.c (make_time): New function.
5327         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5328         * lisp.h (make_time): Prototype and comment it.
5329         * dired.c (wasteful_word_to_lisp): Deprecate.
5330         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5331
5332 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5333
5334         * fileio.c (auto_save_1): Use current coding system, not
5335         escape-quoted.
5336
5337 2001-11-13  Ben Wing  <ben@xemacs.org>
5338
5339         * window.c:
5340         * window.c (window_truncation_on):
5341         * window.c (syms_of_window):
5342         truncate-partial-width-windows should respect the buffer being
5343         displayed, like other redisplay vars.
5344
5345 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5346
5347         * event-stream.c (Fread_key_sequence): save current buffer.
5348
5349 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5350
5351         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5352
5353 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5354
5355         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5356
5357 2001-10-26  Mike Alexander  <mta@arbortext.com>
5358
5359         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5360
5361 2001-10-25  Andy Piper  <andy@xemacs.org>
5362
5363         * ChangeLog:
5364         * dialog-msw.c (handle_directory_proc): new function.
5365          (handle_directory_dialog_box): new fucntion.
5366          (handle_file_dialog_box): use new directory dialog support.
5367          (mswindows_make_dialog_box_internal): ditto.
5368         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5369         handling.
5370         (mswindows_find_frame): make global.
5371         * fileio.c (Fexpand_file_name): build fix.
5372         * general-slots.h: add Qdirectory.
5373         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5374         handling.
5375         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5376         cygwin not leaving win32 paths unchanged.
5377         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5378         cygwin runtime to do path conversion.
5379         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5380         (syms_of_win32): add new function.
5381         * window.c (window_loop): build fix.
5382
5383 2001-10-15  Andy Piper  <andy@xemacs.org>
5384
5385         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5386
5387 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5388
5389         * XEmacs 21.4.5 "Civil Service" is released.
5390
5391 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5392
5393         * glyphs-x.c: Force buffer-tab highlight update when moving the
5394         buffer, avoiding an ugly black border, used for keyboard focus
5395         indication, on a widget that can never have keyboard focus, the
5396         buffer tab.
5397
5398 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5399
5400         * process-unix.c (unix_open_multicast_group): Remove too much
5401         conversion between host and network byte order.
5402
5403 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5404
5405         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5406         before replacing them.
5407
5408         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5409         operation.
5410
5411         * src/window.c (undedicate_windows): Use it.
5412         * src/window.h: Add prototype.
5413
5414 2001-09-17  Ben Wing  <ben@xemacs.org>
5415
5416         * fileio.c (normalize_filename):
5417         * fileio.c (Fexpand_file_name):
5418         Fix various C++ compile errors in Andy's recent code.
5419         
5420         * callint.c (Fcall_interactively):
5421         * editfns.c (Ftemp_directory):
5422         * editfns.c (Fuser_full_name):
5423         * emacs.c (argmatch):
5424         * lread.c (locate_file_map_suffixes):
5425         * redisplay-x.c (x_ring_bell):
5426         Fix sign-compare warnings.
5427         
5428 2001-09-08  Andy Piper  <andy@xemacs.org>
5429
5430         * fileio.c (normalize_filename): copied from nt.c
5431         * (Ffile_name_directory): enable win32 paths under cygwin.
5432         * (Ffile_name_nondirectory): ditto.
5433         * (directory_file_name): ditto.
5434         * (Fexpand_file_name): ditto.
5435         * (Ffile_truename): ditto.
5436         * (Fsubstitute_in_file_name): ditto.
5437         * (Ffile_name_absolute_p): ditto.
5438         * (Ffile_readable_p): ditto.
5439
5440 2001-09-08  Andy Piper  <andy@xemacs.org>
5441
5442         * device-msw.c (mswindows_finish_init_device): remove dde
5443         initialization.
5444         * device-msw.c (mswindows_init_dde): factor out from
5445         mswindows_finish_init_device()
5446         * device-msw.c (init_mswindows_very_early): new function
5447         initialize but don't enable dde.
5448         * emacs.c (main_1): call init_mswindows_very_early.
5449         * event-msw.c:
5450         * event-msw.c (mswindows_dde_callback): only execute when we are
5451         ready.
5452         * symsinit.h: declare init_mswindows_very_early.
5453
5454 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5455
5456         [sjt: This has been in 21.5 for months with no complaints.]
5457
5458         * console.h (struct console_methods): Added flags member.
5459         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5460         (CONMETH_IMPL_FLAG):
5461         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5462         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5463
5464         * device.c (window_system_pixelated_geometry): Use the above macros.
5465
5466         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5467         implememntation flag.
5468         * device.h (DEVICE_DISPLAY_P): Use it.
5469
5470         * frame.c (delete_frame_internal): Use the above macro.
5471
5472         * redisplay.c (redisplay_device): Use it.
5473         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5474         (redisplay_frame): Ditto.
5475
5476         * device-msw.c (mswindows_device_implementation_flags): Removed.
5477         (msprinter_device_implementation_flags): Removed.
5478         (console_type_create_device_mswindows): Removed references to
5479         implementation_flags methods, set implementation flags here.
5480         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5481
5482         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5483         (console_type_create_device_gtk): Removed method declaration.
5484         Added commented out statement which semantically matches the
5485         commented out statement in the above removed method.
5486
5487 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5488
5489         The attached patch fixes a few warnings. 
5490
5491         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5492         * src/frame-gtk.c: guard against GNOME calls in GTK only
5493         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5494         * src/select-gtk.c: prototype lisp_to_time
5495
5496 2001-06-08  Ben Wing  <ben@xemacs.org>
5497
5498         ------ gc-in-window-procedure fixes ------
5499         
5500         * alloc.c:
5501         * alloc.c (struct post_gc_action):
5502         * alloc.c (register_post_gc_action):
5503         * alloc.c (run_post_gc_actions):
5504         * alloc.c (garbage_collect_1):
5505         Create "post-gc actions", to avoid those dreaded "GC during window
5506         procedure" problems.
5507
5508         * event-msw.c:
5509         Abort, clean and simple, when GC in window procedure.  We want
5510         to flush these puppies out.
5511
5512         * glyphs-msw.c:
5513         * glyphs-msw.c (finalize_destroy_window):
5514         * glyphs-msw.c (mswindows_finalize_image_instance):
5515         Use a post-gc action when destroying subwindows.
5516
5517         * lisp.h:
5518         Declare register_post_gc_action().
5519
5520         * scrollbar-msw.c:
5521         * scrollbar-msw.c (unshow_that_mofo):
5522         Use a post-gc action when unshowing scrollbar windows, if in gc.
5523
5524         * redisplay.c (mark_redisplay):
5525         Add comment about the utter evilness of what's going down here.
5526
5527         ------ cygwin setitimer fixes ------
5528         
5529         * Makefile.in.in (sheap_objs):
5530         * Makefile.in.in (profile_objs):
5531         * Makefile.in.in (objs):
5532         Compile profile.c only when HAVE_SETITIMER.
5533         
5534         * nt.c (mswindows_sigset):
5535         * nt.c (mswindows_sighold):
5536         * nt.c (mswindows_sigrelse):
5537         * nt.c (mswindows_sigpause):
5538         * nt.c (mswindows_raise):
5539         * nt.c (close_file_data):
5540         Style fixes.
5541         
5542         * nt.c:
5543         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5544         
5545         * profile.c:
5546         * profile.c (Fstart_profiling):
5547         * profile.c (Fstop_profiling):
5548         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5549         instead of just plain setitimer().
5550         
5551         * signal.c:
5552         * signal.c (set_one_shot_timer):
5553         * signal.c (alarm):
5554         Define qxe_setitimer() as an encapsulation around setitimer() --
5555         call setitimer() directly unless Cygwin or MS Win, in which case
5556         we use our simulated version in win32.c.
5557         
5558         * systime.h:
5559         * systime.h (struct itimerval):
5560         * systime.h (ITIMER_REAL):
5561         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5562         comment about "qxe" and the policy regarding encapsulation.
5563
5564         * win32.c:
5565         * win32.c (setitimer_helper_proc):
5566         * win32.c (setitimer_helper_period):
5567         * win32.c (setitimer_helper):
5568         * win32.c (mswindows_setitimer):
5569         Move setitimer() emulation here, so Cygwin can use it.
5570         Rename a couple of functions and variables to be longer and more
5571         descriptive.  In setitimer_helper_proc(), send the signal
5572         using either mswindows_raise() or (on Cygwin) kill().  If for
5573         some reason we are still getting lockups, we'll change the kill()
5574         to directly invoke the signal handlers.
5575
5576         ------ windows shell fixes ------
5577         
5578         * callproc.c:
5579         * ntproc.c:
5580         Comments about how these two files must die.
5581
5582         * callproc.c (init_callproc):
5583         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5584         not just COMSPEC. (more correct and closer to FSF.) Don't
5585         force a value for SHELL into the environment. (Comments added
5586         to explain why not.)
5587         
5588         * nt.c (init_user_info):
5589         Don't shove a fabricated SHELL into the environment.  See above.
5590
5591 2001-06-01  Ben Wing  <ben@xemacs.org>
5592
5593         * Makefile.in.in (ldflags):
5594         eliminate that pesky "defaulting to 00401000" warning.
5595         * nt.h:
5596         eliminate warnings.
5597
5598 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
5599
5600         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
5601         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
5602
5603 2001-04-24  Jerry James <james@xemacs.org>
5604
5605         * faces.h: pass parameters to Fadd_spec_to_specifier in the
5606         correct order.
5607
5608 2001-06-01  Ben Wing  <ben@xemacs.org>
5609
5610         * event-msw.c (debug_mswin_messages):
5611         conditionalize the messages that were causing compile errors.
5612         (if only macros could generate #ifdef statements ...)
5613
5614 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
5615
5616         * XEmacs 21.4.4 "Artificial Intelligence" is released.
5617
5618 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5619
5620         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
5621
5622 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
5623
5624         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
5625         * process-unix.c (unix_canonicalize_host_name):
5626         sysdep.c (init_system_name):
5627         Use it to conditionally support IPv6 canonicalization.
5628
5629 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
5630
5631         * event-msw.c:
5632         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
5633
5634 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
5635
5636         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
5637         attempt is made to scroll when no scroll bar is available.
5638
5639 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5640
5641         * input-method-motif.c (XIM_delete_frame): New callback.
5642         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
5643         got deleted from 21.4.3.)
5644
5645 2001-06-01  Ben Wing  <ben@xemacs.org>
5646
5647         * nt.c (mswindows_utime):
5648         * nt.c (close_file_data):
5649         fix off-by-one-indirection error.
5650
5651 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
5652
5653         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
5654         because set_file_times() now takes Lisp_Object path, instead of
5655         char*.
5656         * nt.c: Include buffer.h.
5657         * nt.c (convert_from_time_t): New.
5658         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
5659         not set mtime correctly.
5660         * nt.h: Declare mswindows_utime().
5661         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
5662         path, instead of char*.
5663         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
5664
5665 2001-05-30  Ben Wing  <ben@xemacs.org>
5666
5667         For 21.4:
5668
5669         (Stephen, just take all event-msw.c patches.  This includes
5670         the "iconify" fix below.)
5671
5672         * event-msw.c:
5673         * event-msw.c (mswindows_dequeue_dispatch_event):
5674         * event-msw.c (assert):
5675         * event-msw.c (emacs_mswindows_quit_p):
5676         * event-msw.c (debug_mswin_messages):
5677         * event-msw.c (debug_output_mswin_message):
5678         * event-msw.c (vars_of_event_mswindows):
5679         Fix yet more problems with C-g handling.
5680         Implement debug-mswindows-events.
5681         
5682 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5683
5684         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
5685         
5686 2001-05-23  Ben Wing  <ben@xemacs.org>
5687
5688         * event-msw.c (winsock_writer):
5689         * event-msw.c (winsock_closer):
5690         prior kludgy code was clobbering the buffer, thinking it was
5691         "unused" space to store an unneeded return value; instead, use
5692         the variable we've already got staring us in the face.
5693
5694 2001-05-17  Andy Piper  <andy@xemacs.org>
5695
5696         * sysfile.h: don't assume that file attributes are boolean
5697
5698 2001-05-23  Ben Wing  <ben@xemacs.org>
5699
5700         * device-msw.c (msprinter_init_device):
5701         signal an error rather than crash with an unavailable network
5702         printer (from Mike Alexander).
5703         
5704         * event-msw.c:
5705         * event-msw.c (struct winsock_stream):
5706         * event-msw.c (winsock_writer):
5707         * event-msw.c (winsock_closer):
5708         * event-msw.c (make_winsock_stream_1):
5709         cleanup headers.  fix (hopefully) an error with data corruption
5710         when sending to a network connection.
5711
5712         * fileio.c (Fexpand_file_name): Fix evil code that attempts
5713         to handle the ~user prefix by (a) always assuming we're referencing
5714         ourselves and not even verifying the user -- hence any file with
5715         a tilde as its first char is invalid! (b) if there wasn't a slash
5716         following the filename, the pointer was set *past* the end of
5717         file and we started reading from uninitialized memory.  Now we
5718         simply treat these as files, always.
5719
5720         * buffer.c (common_init_complex_vars_of_buffer): comment change.
5721         
5722 2001-05-19  Ben Wing  <ben@xemacs.org>
5723
5724         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
5725
5726         * process-nt.c:
5727         * process-nt.c (vars_of_process_nt):
5728         remove unused mswindows-quote-process-args.  rec for 21.4.
5729         
5730 2001-05-12  Ben Wing  <ben@xemacs.org>
5731
5732         * event-msw.c (mswindows_dde_callback):
5733         * event-msw.c (mswindows_wnd_proc):
5734         eliminate cygwin warnings.
5735
5736 2001-05-06  Ben Wing  <ben@xemacs.org>
5737
5738         * console-msw.h:
5739         * device-msw.c:
5740         * device-msw.c (print_dialog_worker):
5741         * device-msw.c (mswindows_handle_print_dialog_box):
5742         * device-msw.c (syms_of_device_mswindows):
5743         * dialog-msw.c (mswindows_make_dialog_box_internal):
5744         * general-slots.h:
5745         implement printing the selection when it's selected.
5746
5747 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
5748
5749         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
5750
5751 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5752
5753         * lisp.h (EMACS_INT_MAX): This should be one bit less since
5754         EMACS_INT is signed.
5755
5756 2001-04-15  Michael Lausch  <mla@1012surf.net>
5757
5758         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
5759         gtk_widget_request_size() to give scrollbar >0 width for
5760         GTK >1.2.8.
5761
5762 2001-05-30  William M. Perry  <wmperry@gnu.org>
5763
5764         * event-gtk.c: Check for buttons as modifier keys.
5765
5766 2001-05-25  Craig Lanning  <CraigL@Knology.net>
5767
5768         * s\mingw32.h:
5769         Properly find MinGW's <process.h> inside Cygwin's restructured
5770         include directories.  Don't try to include <cygwin/version.h>
5771         since we are dropping support for MinGW in versions of Cygwin
5772         earlier than b21.
5773         * nt.c:
5774         Drop support for MinGW in versions of Cygwin before b21.
5775         * sysdep.c:
5776         Properly find MinGW's <process.h> inside Cygwin's restructured
5777         include directories.
5778         * syswindows.h:
5779         Drop support for MinGW in versions of Cygwin before b21.
5780         * unexcw.c:
5781         Even though a.out.h is no longer detected by configure, allow
5782         MinGW to use it until we figure out how to do the job with Win32.
5783
5784 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
5785
5786         * syntax.c (find_start_of_comment):
5787         Fix `unbalanced parentheses' bug when dealing with mixed comment
5788         styles in c++/java/etc. mode
5789
5790 2001-05-29  Mike Alexander  <mta@arbortext.com>
5791
5792         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
5793         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
5794
5795 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
5796
5797         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
5798
5799 2001-03-31  Mike Sperber <mike@xemacs.org>
5800
5801         * search.c (Freplace_match): Support FSF-style specification of
5802         match subexpression when applied to a buffer.
5803
5804 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5805
5806         * event-stream.c (is_scrollbar_event): add missing semicolon
5807
5808 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
5809
5810         * Makefile.in.in: Use TAR macro instead of hardcoding
5811           tar.  Allows use of GNU tar instead of system tar
5812
5813 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
5814
5815         * event-stream.c (is_scrollbar_event): add missing semicolon
5816
5817 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5818
5819         * XEmacs 21.4.3 "Academic Rigor" is released.
5820
5821 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
5822
5823         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
5824
5825 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
5826
5827         * buffer.c (Vcase_fold_search): Remove obsolete
5828           comment about non ASCII case-fold-search.  This
5829           bug has been fixed by case-table changes.
5830
5831 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
5832
5833         * event-msw.c: Restore include of events-mod.h.
5834
5835 2001-04-22   zhaoway  <zw@debian.org>
5836
5837         * event-stream.c (is_scrollbar_event): Noop returning 0 if
5838         !HAVE_SCROLLBARS.
5839
5840 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
5841
5842         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
5843
5844 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
5845
5846         * mule-charset.c (Fmake_charset): Add missing else.
5847
5848 2001-04-23  Ben Wing  <ben@xemacs.org>
5849
5850         * event-msw.c (FAKE_MOD_QUIT):
5851         * event-msw.c (mswindows_dequeue_dispatch_event):
5852         * event-msw.c (mswindows_wnd_proc):
5853         * event-msw.c (emacs_mswindows_quit_p):
5854         Get critical quit working.
5855
5856 2001-05-05  Ben Wing  <ben@xemacs.org>
5857
5858         * console-msw.h:
5859         * device-msw.c:
5860         * device-msw.c (mswindows_get_default_margin):
5861         * frame-msw.c (mswindows_size_frame_internal):
5862         * frame-msw.c (msprinter_init_frame_1):
5863         * frame-msw.c (vars_of_frame_mswindows):
5864         Change top/bottom margin defaults to 0.5 inches.
5865
5866 2001-05-01  Martin Buchholz  <martin@xemacs.org>
5867
5868         Fix link error with gcc 3.0 on Linux.
5869         * terminfo.c (UP): Remove.
5870         * terminfo.c (BC): Remove.
5871         * terminfo.c (PC): Remove.
5872         They weren't used, and in any case, these symbols should be
5873         defined in the *library*.
5874
5875 2001-05-03  Martin Buchholz  <martin@xemacs.org>
5876
5877         * s/aix4.h: Fix crash with xlc -O3.
5878         Improve comment explaining how -O3 works.
5879
5880 2001-04-15  Ben Wing  <ben@xemacs.org>
5881
5882         * event-stream.c:
5883         * event-stream.c (Fnext_event):
5884         * event-stream.c (is_scrollbar_event):
5885         * event-stream.c (execute_command_event):
5886         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
5887         crash' problem.  His fix introduces other problems.  We filter
5888         out scrollbar events specifically, making them somewhat invisible
5889         to command-building, and not appearing in `this-command-keys'.
5890         More work is still needed (see comments in event-stream.c), but
5891         this fixes all the major problems.
5892
5893 2001-04-20  Ben Wing  <ben@xemacs.org>
5894
5895         * .cvsignore: Added stuff for Windows.
5896
5897 2001-04-28  Ben Wing  <ben@xemacs.org>
5898
5899         * buffer.c (Ferase_buffer):
5900         * editfns.c (buffer_insert1):
5901         * editfns.c (Finsert_before_markers):
5902         * editfns.c (Finsert_string):
5903         * editfns.c (Finsert_char):
5904         * editfns.c (Fdelete_region):
5905         * editfns.c (Fwiden):
5906         * editfns.c (Fnarrow_to_region):
5907         remove bogus lines setting zmacs_region_stays to 0.
5908         
5909 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5910
5911         * process-unix.c (unix_open_network_stream): If connect() fails
5912         invalidate file descriptor after closing it.
5913
5914 2001-03-08  Mike Alexander  <mta@arbortext.com>
5915
5916         * event-msw.c (mswindows_need_event_in_modal_loop):
5917         Don't dispatch a message if we didn't get one.
5918         (mswindows_need_event):
5919         Terminate the correct process when one exits instead of the first
5920         one on Vprocess_list and look for process termination when in
5921         mswindows_protect_modal_loop.
5922
5923 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
5924
5925         * XEmacs 21.4.1 "Copyleft" is released.
5926
5927 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
5928
5929         * input-method-motif.c (XIM_delete_frame): New callback.
5930         (XIM_init_frame): Register it.
5931
5932 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5933
5934         * XEmacs 21.4.0 "Solid Vapor" is released.
5935
5936 2001-04-15  Ben Wing  <ben@xemacs.org>
5937
5938         * cmdloop.c (call_command_loop):
5939         Fix braino in bit-rotting code.
5940         
5941 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
5942
5943         * extents.c (Fset_extent_endpoints): Force creation of extent info
5944         in buffer_or_string.
5945
5946         * extents.c (process_extents_for_insertion_mapper): Correctly
5947         check for open-open zero-length extents.
5948
5949 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
5950
5951         * lisp.h: New typedefs Memory_count, Element_count.
5952         * regex.c:
5953         * regex.h:
5954         Sign-compare warning elimination: several unsigned -> signed.
5955         Based on work by Ben Wing <ben@xemacs.org>.
5956
5957 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
5958
5959         * XEmacs 21.2.47 "Zephir" is released.
5960
5961 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
5962
5963         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
5964
5965 2001-04-03  Mike Sperber <mike@xemacs.org>
5966
5967         * search.c: Revert previous patch due because of release.
5968
5969 2001-03-30  Ben Wing  <ben@xemacs.org>
5970
5971         * s\cygwin32.h:
5972         Add missing killpg prototype.
5973
5974         * elhash.c:
5975         Add a comment about fixing problems when a new entry is added
5976         while mapping.
5977
5978         * frame-msw.c (mswindows_init_frame_1):
5979         Fix compile warnings.
5980
5981         * menubar.c (vars_of_menubar):
5982         Provide `menu-accelerator-support' to indicate that we properly
5983         support %_ in menu specifications, so that package code can
5984         conditionalize on this (and remove %_ from menu specifications
5985         on older versions).
5986
5987         * event-msw.c:
5988         * scrollbar-msw.c:
5989         * scrollbar-msw.c (can_scroll):
5990         * scrollbar-msw.h:
5991         Fix handling of mouse wheel under Windows to follow standards --
5992         now scrolls window under pointer, not selected window.
5993
5994 2001-03-31  Mike Sperber <mike@xemacs.org>
5995
5996         * search.c (Freplace_match): Support FSF-style specification of
5997         match subexpression when applied to a buffer.
5998
5999 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6000
6001         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6002         function to modify KEYMAP, so map over a copy of the hash table.
6003
6004 2001-03-21  Martin Buchholz <martin@xemacs.org>
6005
6006         * XEmacs 21.2.46 "Urania" is released.
6007
6008 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6009
6010         * realpath.c (xrealpath): Make file-truename work with symlinks to
6011         /cygdrive paths on cygwin. Always lowercase drive-letters on
6012         native windows.
6013         (cygwin_readlink): Don't try to find canonical filename unless
6014         file exists.
6015
6016 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6017
6018         * ChangeLog: Log GTK merge.
6019
6020         * dumper.c:
6021         * select-x.c:
6022         * specifier.c:
6023         * symeval.h:
6024         Revert gratuitous whitespace changes from GTK merge.
6025
6026         * emacs.c: Document end of complex #ifdef @ l. 1495.
6027
6028
6029 2001-03-12  Andy Piper  <andy@xemacs.org>
6030
6031         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6032         have to do likewise.
6033
6034 2001-03-12  Andy Piper  <andy@xemacs.org>
6035
6036         * sysdep.c: we only support mingw now.
6037
6038 2001-03-09  Andy Piper  <andy@xemacs.org>
6039
6040         * unexcw.c (copy_executable_and_dump_data_section): making approx
6041         overrun a warning only.
6042
6043 2001-03-10  William M. Perry  <wmperry@aventail.com>
6044
6045         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6046         satisfy Stephen's identical-after-cpp plea.
6047
6048 2001-03-02  Ben Wing  <ben@xemacs.org>
6049
6050         * cmds.c:
6051         * cmds.c (Fforward_char):
6052         * syntax.c:
6053         * window.c:
6054
6055         Augment documentation of the most common motion commands to make
6056         note of the shifted-motion support.
6057         
6058 2001-03-02  Ben Wing  <ben@xemacs.org>
6059
6060         * nt.c (mswindows_fstat):
6061         * nt.c (mswindows_stat):
6062         * search.c (boyer_moore):
6063         Fix compile warnings under Windows.
6064         
6065         * sysdep.c (sys_readdir):
6066         Fix buggy filename-conversion code under Mule.
6067
6068 2001-03-09  William M. Perry  <wmperry@aventail.com>
6069
6070         * Makefile.in.in:
6071         * config.h.in:
6072         * console.c:
6073         * console.h:
6074         * device.c:
6075         * device.h:
6076         * dragdrop.c:
6077         * emacs.c:
6078         * event-stream.c:
6079         * events.c:
6080         * events.h:
6081         * faces.c:
6082         * frame.h:
6083         * general-slots.h:
6084         * glyphs.c:
6085         * gutter.c:
6086         * inline.c:
6087         * lisp.h:
6088         * lrecord.h:
6089         * make-src-depend:
6090         * redisplay-output.c:
6091         * redisplay.c:
6092         * symsinit.h:
6093         * sysfile.h:
6094         * toolbar.c:
6095         * window.c:
6096         The Great GTK Merge.
6097
6098         * ChangeLog.GTK:
6099         * console-gtk.c:
6100         * console-gtk.h:
6101         * device-gtk.c:
6102         * emacs-marshals.c:
6103         * emacs-widget-accessors.c:
6104         * event-gtk.c:
6105         * frame-gtk.c:
6106         * gccache-gtk.c:
6107         * gccache-gtk.h:
6108         * glade.c:
6109         * glyphs-gtk.c:
6110         * glyphs-gtk.h:
6111         * gtk-glue.c:
6112         * gtk-xemacs.c:
6113         * gtk-xemacs.h:
6114         * gui-gtk.c:
6115         * gui-gtk.h:
6116         * menubar-gtk.c:
6117         * native-gtk-toolbar.c:
6118         * objects-gtk.c:
6119         * objects-gtk.h:
6120         * redisplay-gtk.c:
6121         * scrollbar-gtk.c:
6122         * scrollbar-gtk.h:
6123         * select-gtk.c:
6124         * toolbar-gtk.c:
6125         * ui-byhand.c:
6126         * ui-gtk.c:
6127         * ui-gtk.h:
6128         The Great GTK Merge: new files.
6129
6130 2001-02-26  Ben Wing  <ben@xemacs.org>
6131
6132         Reapplied Lstream change.
6133
6134 2001-02-26  Ben Wing  <ben@xemacs.org>
6135
6136         Undid the last change, since it is more controversial than I
6137         thought.  It should be back in at some point soon.
6138         
6139 2001-02-25  Ben Wing  <ben@xemacs.org>
6140
6141         * buffer.c:
6142         * callproc.c (Fold_call_process_internal):
6143         * event-msw.c (ntpipe_slurp_reader):
6144         * event-msw.c (ntpipe_shove_writer):
6145         * event-msw.c (winsock_reader):
6146         * event-msw.c (winsock_writer):
6147         * file-coding.c:
6148         * file-coding.c (detect_eol_type):
6149         * file-coding.c (detect_coding_type):
6150         * file-coding.c (determine_real_coding_system):
6151         * file-coding.c (Fdetect_coding_region):
6152         * file-coding.c (decoding_reader):
6153         * file-coding.c (decoding_writer):
6154         * file-coding.c (mule_decode):
6155         * file-coding.c (Fdecode_coding_region):
6156         * file-coding.c (encoding_reader):
6157         * file-coding.c (encoding_writer):
6158         * file-coding.c (mule_encode):
6159         * file-coding.c (Fencode_coding_region):
6160         * file-coding.c (detect_coding_sjis):
6161         * file-coding.c (decode_coding_sjis):
6162         * file-coding.c (encode_coding_sjis):
6163         * file-coding.c (detect_coding_big5):
6164         * file-coding.c (decode_coding_big5):
6165         * file-coding.c (encode_coding_big5):
6166         * file-coding.c (detect_coding_ucs4):
6167         * file-coding.c (decode_coding_ucs4):
6168         * file-coding.c (encode_coding_ucs4):
6169         * file-coding.c (detect_coding_utf8):
6170         * file-coding.c (decode_coding_utf8):
6171         * file-coding.c (encode_coding_utf8):
6172         * file-coding.c (detect_coding_iso2022):
6173         * file-coding.c (decode_coding_iso2022):
6174         * file-coding.c (encode_coding_iso2022):
6175         * file-coding.c (decode_coding_no_conversion):
6176         * file-coding.c (encode_coding_no_conversion):
6177         * glyphs-x.c (write_lisp_string_to_temp_file):
6178         * gpmevent.c (tty_get_foreign_selection):
6179         * lisp.h:
6180         * lstream.c:
6181         * lstream.c (Lstream_flush_out):
6182         * lstream.c (Lstream_adding):
6183         * lstream.c (Lstream_write_1):
6184         * lstream.c (Lstream_write):
6185         * lstream.c (Lstream_raw_read):
6186         * lstream.c (Lstream_read_more):
6187         * lstream.c (Lstream_read):
6188         * lstream.c (Lstream_unread):
6189         * lstream.c (Lstream_fputc):
6190         * lstream.c (stdio_reader):
6191         * lstream.c (stdio_writer):
6192         * lstream.c (filedesc_reader):
6193         * lstream.c (filedesc_writer):
6194         * lstream.c (lisp_string_reader):
6195         * lstream.c (struct fixed_buffer_stream):
6196         * lstream.c (make_fixed_buffer_input_stream):
6197         * lstream.c (make_fixed_buffer_output_stream):
6198         * lstream.c (fixed_buffer_reader):
6199         * lstream.c (fixed_buffer_writer):
6200         * lstream.c (struct resizing_buffer_stream):
6201         * lstream.c (resizing_buffer_writer):
6202         * lstream.c (dynarr_writer):
6203         * lstream.c (lisp_buffer_reader):
6204         * lstream.c (lisp_buffer_writer):
6205         * lstream.h:
6206         * lstream.h (lstream_implementation):
6207         * lstream.h (struct lstream):
6208         * md5.c (Fmd5):
6209         * process-nt.c (nt_send_process):
6210         * process-unix.c (unix_send_process):
6211         
6212         Correct Lstream lossage due to mixing of signed and unsigned
6213         quantities.  All Lstream uses of size_t and ssize_t are now a
6214         single signed data type Lstream_data_count.  This fixes problems
6215         under Windows with sending large quantities of data to a process,
6216         and may well fix other subtle bugs.
6217
6218 2001-02-23  Martin Buchholz <martin@xemacs.org>
6219
6220         * XEmacs 21.2.45 "Thelxepeia" is released.
6221
6222 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6223
6224         * lisp-union.h (XSETINT): 
6225         (XSETCHAR):
6226         (XSETOBJ): 
6227         Reverse previous change of 2001-02-06.
6228
6229 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6230
6231         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6232         buffers.
6233         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6234         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6235         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6236         * regex.c (POS_AS_IN_BUFFER): removed
6237         * regex.c (re_search_2):
6238         * regex.c (re_match_2):
6239         Don't use an offset of 1 when calculating buffer positions, since
6240         `BI_BUF_BEGV' does it already.
6241
6242 2001-02-18  Wim Dumon  <wim@easics.be>
6243
6244         * insdel.c (prepare_to_modify_buffer): Also check for
6245         supersession when clash-detection is enabled. 
6246
6247 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6248
6249         * regex.c (re_match_2_internal):
6250         Convert temp characters from 'const unsigned char' to 're_char'.
6251         Fix crashing bug with extended characters under mule.
6252         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6253         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6254         font-lock, pdump, and new syntax-table code.
6255         * syntax.c (find_start_of_comment):
6256         (find_end_of_comment):
6257         (forward-comment):
6258         Fix crashing bugs involving moving beyond end of buffer.
6259         * syntax.c (find_start_of_comment):
6260         Fixed logic to allow proper detection of cases where the same
6261         character is used to end both a two-char comment start and a
6262         two-char comment end sequence. Fixes `(forward-comment -1)'.
6263         * syntax.c (find_start_of_comment):
6264         Return position just past last comment-end character for all cases
6265         (previously was only done for two-char comment-end sequences).
6266         * syntax.c (forward-comment):
6267         Take value returned from `find_end_of_comment', rather than
6268         incrementing it.
6269         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6270         Properly deal with BUFFERP (syntax_cache.object)
6271
6272 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6273
6274         * alloc.c (Fgarbage_collect): 
6275         * alloc.c (make_bit_vector_from_byte_vector):
6276         -Wsign-compare-correctness.
6277
6278 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6279
6280         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6281         (XSETCHAR): Likewise.
6282         (XSETOBJ): Likewise.
6283
6284 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6285
6286         * mule-canna.c (canna-func-delete_previous): 
6287         Rename to canna-func-delete-previous.
6288
6289 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6290
6291         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6292
6293 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6294
6295         * font-lock.c (find_context): Fix C++ compile errors introduced by
6296         recent patch
6297
6298 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6299
6300         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6301         pragma, but earlier ones barf on the same pragma.
6302
6303 2001-02-06  Mike Sperber <mike@xemacs.org>
6304
6305         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6306         `configure-mule-lisp-directory'.
6307
6308 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6309
6310         Make sure dump-id.c is compiled in the same way as other .c's.
6311         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6312         * dump-id.h: Remove.
6313         * emacs.c: Move dump-id.h into dumper.h.
6314         * dumper.h: Move dump-id.h into dumper.h.
6315         * Makefile.in.in:
6316         Use standard .c.o rule for building dump-id.o.
6317         Remove preprocessor flags from link command.
6318         Add dump-id.o to ${otherobjs} if PDUMP.
6319
6320 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6321
6322         Port FSF 20.7 syntax table improvements.
6323         * syntax.c.
6324         * syntax.h.
6325
6326         Fixups for new syntax table stuff.
6327         * dired.c: Include syntax.c.
6328         (Fdirectory_files): Initialize regex_match_object and
6329         regex_emacs_buffer.
6330         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6331         and Fget_char_property.
6332
6333         Use ported FSF 20.7 syntax table improvements.
6334         * font-lock.c.
6335         * regex.c.
6336         * search.c.
6337         
6338 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6339
6340         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6341         Unixware's enum boolean from sys/types.h.
6342
6343 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6344
6345         Fix support for building with latest Purify.
6346         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6347         (PURIFY_FLAGS): Likewise.
6348
6349 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6350
6351         * fileio.c (lisp_string_set_file_times): New.
6352         * fileio.c (Fcopy_file): Use it.
6353         Fixes bug:
6354         (copy-file filename non-ascii-filename t t)
6355         ==> No such file or directory, non-ascii-filename
6356
6357 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6358
6359         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6360         USHRT_MAX seems clearer than ~0 anyways.
6361
6362 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6363
6364         dumper improvements.  Inspired by Olivier.
6365         * dumper.c (pdump_max_align): New.
6366         * dumper.c (pdump_add_entry): Use pdump_max_align.
6367         * dumper.c (pdump_get_entry_list): Likewise.
6368         * dumper.c (pdump_scan_by_alignment): Likewise.
6369         Don't iterate through unnecessary alignments.
6370         * dumper.c (pdump_file_get): No need to align result of malloc().
6371         * dumper.c (pdump_mallocadr): Remove.  
6372         The result of malloc() is guaranteed to be maximally aligned.
6373         * dumper.c: s/elmt/elt/g;
6374         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6375         * dumper.c (pdump_alert_undump_object): Likewise.
6376         * dumper.c (pdump_align_table): 
6377         Don't support alignments > 64.
6378         Store ALIGNOF's, not shift counts, in table.
6379
6380 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6381
6382         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6383         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6384         * systime.h: Use HAVE_UTIME.
6385         * sysdep.c (struct utimbuf): Remove.
6386         * sysdep.c (set_file_times): Prefer utime() to utimes().
6387         * config.h.in (HAVE_UTIME): New.
6388         * config.h.in (HAVE_UTIME_H): Remove.
6389         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6390
6391 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6392
6393         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6394
6395 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6396
6397         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6398
6399 2001-02-08  Martin Buchholz <martin@xemacs.org>
6400
6401         * XEmacs 21.2.44 "Thalia" is released.
6402
6403 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6404
6405         Fixes crashes in kill-emacs on some systems.
6406         * process-unix.c (unix_kill_child_process):
6407         It's OK for kill() to fail with ESRCH.
6408
6409 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6410
6411         Contortions to make .gdbinit tricks work on most systems.
6412         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6413         * alloc.c (dbg_valmask): Make non-const.
6414         * alloc.c (dbg_typemask): Make non-const.
6415         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6416         * alloc.c (dbg_valbits): Make non-const.
6417         * alloc.c (dbg_gctypebits): Make non-const.
6418         * .gdbinit (decode_object): Make it work with AIX cc.
6419
6420 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6421
6422         * elhash.c (make_general_lisp_hash_table):
6423         Use simpler and more efficient calloc to clear entries.
6424
6425 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6426
6427         * window.c (window_scroll): Work around an AIX C compiler bug.
6428         Fixes 'scroll-up' does nothing problem with xlC.
6429
6430 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6431
6432         * .gdbinit: Remove obsolete comment.
6433
6434 2001-01-31  Mike Alexander  <mta@arbortext.com>
6435
6436         * select.c (Fown_selection_internal): Set owned_p for device
6437         method correctly.
6438
6439 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6440
6441         Port to g++ 2.97.
6442         "not" cannot be used as a macro name as it is an operator in C++
6443         * config.h.in: Stop #defining `not'.
6444         * chartab.c (check_category_char): not ==> not_p
6445         * chartab.h: Likewise.
6446         * regex.c (re_match_2_internal): Likewise.
6447
6448 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6449
6450         * lisp-disunion.h: Fix up comments.
6451
6452 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6453
6454         * keymap.c (define_key_check_and_coerce_keysym):
6455         (syms_of_keymap):
6456         Support mouse-6 and mouse-7 bindings in the obvious way.
6457
6458 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6459
6460         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6461
6462 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6463
6464         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6465         Previous patch missed DEFVAR_INT_MAGIC.
6466         Make sure future DEFVAR_foo use correct types.
6467         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6468         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6469         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6470         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6471         * (DEFVAR_INT): Likewise.
6472         * redisplay.c (vertical_clip): Should be of type Fixnum.
6473         * redisplay.c (horizontal_clip): Likewise.
6474         * lisp.h (dump_add_opaque_int): New.
6475         (dump_add_opaque_fixnum): New.
6476
6477 2001-01-29  Andy Piper  <andy@xemacs.org>
6478
6479         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6480         since they can be eval'ed
6481
6482 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6483
6484         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6485         Oops, XEmacs redefines `class'.  Use `typename' instead.
6486
6487 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6488
6489         * dumper.c: Fix C++ compile errors.
6490
6491 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6492
6493         * tparam.c: Use correct prototypes.
6494
6495 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6496
6497         * sysproc.h: #include util.h for NetBSD's openpty.
6498
6499 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6500
6501         More 64-bit correctness.
6502         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6503         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6504         Fix up comments.
6505         This finally finishes the 64-bit SGI port.
6506         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6507         * symbols.c: Fix up comments and type casts.
6508         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6509         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6510         * symeval.h (Fixnum): New type.
6511         * symeval.h (symbol_value_type): Fix up comment.
6512
6513         * commands.h:
6514         * nt.c:
6515         * emacs.c:
6516         * data.c:
6517         * redisplay.c:
6518         * abbrev.c:
6519         * dired-msw.c:
6520         * event-Xt.c:
6521         * eldap.c:
6522         * window.c:
6523         * sound.c:
6524         * event-stream.c:
6525         * eval.c:
6526         * buffer.c:
6527         * mule-canna.c: A million DEFVAR_INTs here...
6528         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6529         * extents.c:
6530         * cmdloop.c:
6531         * lisp.h:
6532         * select-x.c:
6533         * console-x.h:
6534         * event-msw.c:
6535         * mule-wnnfns.c:
6536         * hpplay.c:
6537         * ralloc.c:
6538         * alloc.c:
6539         * keymap.c:
6540         * profile.c:
6541         s/int/Fixnum/g in DEFVAR_INT declarations.
6542
6543 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6544
6545         Port pdump to SGI alignment-sensitive environment.
6546         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6547         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6548         properly aligned.
6549         Define and use aligned reading and writing macros.
6550         Use buffered stdio instead of posix i/o for faster dumping.
6551         Eliminate kludgy 256 byte space for header.
6552         Read and write from dump file using structs for alignment safety.
6553         * dumper.c (pdump_align_stream): New.
6554         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6555         * dumper.c (PDUMP_READ_ALIGNED): New.
6556         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6557         * dumper.c (pdump_static_Lisp_Object): New struct.
6558         * dumper.c (pdump_static_pointer): New struct.
6559         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6560         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6561         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6562         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6563
6564         * dumper.c (pdump_backtrace):
6565         * dumper.c (pdump_get_indirect_count):
6566         * dumper.c (pdump_register_object):
6567         * dumper.c (pdump_register_struct):
6568         * dumper.c (pdump_reloc_one):
6569         * dumper.c (pdump_scan_by_alignment):
6570         * dumper.c (pdump_dump_from_root_struct_ptrs):
6571         * dumper.c (pdump_dump_opaques):
6572         * dumper.c (pdump_dump_rtables):
6573         * dumper.c (pdump_dump_from_root_objects):
6574         * dumper.c (pdump):
6575         * dumper.c (pdump_load_finish):
6576         Use aligned reading and writing.
6577
6578         * dumper.c (pdump_free): Make static.
6579         * dumper.c (pdump_hFile): Likewise.
6580         * dumper.c (pdump_hMap): Likewise.
6581
6582 2001-01-26  Martin Buchholz <martin@xemacs.org>
6583
6584         * XEmacs 21.2.43 "Terspichore" is released.
6585
6586 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6587
6588         Type fiddling for window_config.saved_windows_count
6589         * window.c (struct window_config): 
6590         Make saved_windows_count member unsigned.
6591         * window.c (sizeof_window_config_for_n_windows): 
6592         Make parameter unsigned.
6593         * window.c (mark_window_config):
6594         * window.c (window_config_equal):
6595         * window.c (free_window_configuration):
6596         * window.c (Fset_window_configuration):
6597         * window.c (count_windows):
6598         * window.c (Fcurrent_window_configuration):
6599         * window.c (reinit_vars_of_window):
6600         Update all callers and users.
6601
6602 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6603
6604         Alignment correctness for flexible arrays.
6605         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
6606         Make alignment-correct. Add interesting comments.
6607         * alloc.c (size_vector):
6608         * alloc.c (make_vector_internal):
6609         * alloc.c (make_bit_vector_internal):
6610         * alloc.c (sweep_bit_vectors_1):
6611         * fns.c (size_bit_vector):
6612         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
6613         * window.c (sizeof_window_config_for_n_windows): 
6614         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
6615
6616 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6617
6618         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
6619
6620 2001-01-23  Andy Piper  <andy@xemacs.org>
6621
6622         * select.c (Fown_selection_internal): pass owned_p
6623
6624         * select-msw.c (mswindows_own_selection): New Signature.
6625
6626         * console.h (struct console_methods): add owned_p to
6627         _own_selection.
6628
6629         * select-x.c (x_own_selection): pass owned_p
6630         (hack_motif_clipboard_selection): use owned_p
6631         (vars_of_select_x): new variable -
6632         x_selection_strict_motif_ownership.
6633
6634 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6635
6636         * specifier.h (specifier_data_offset): Remove pointless parens.
6637         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
6638
6639 2001-01-24  Martin Buchholz  <martin@xemacs.org>
6640
6641         Make Lisp_Object sizeof methods be alignment-correct.
6642         pdump must restore objects to the same alignment as the C compiler
6643         assumes.  It really matters on SGIs.
6644         * lstream.c (aligned_sizeof_lstream): New.
6645         (sizeof_lstream): Use aligned_sizeof_lstream.
6646         (Lstream_new): Likewise.
6647         * opaque.c (aligned_sizeof_opaque): New.
6648         (sizeof_opaque): Use aligned_sizeof_opaque.
6649         (make_opaque): Likewise.
6650         * specifier.c (aligned_sizeof_specifier): New.
6651         (sizeof_specifier): Use aligned_sizeof_specifier.
6652         (make_specifier_internal): Likewise.
6653
6654 2001-01-23  Martin Buchholz  <martin@xemacs.org>
6655
6656         * lstream.h (struct lstream): Use max_align_t for trailing data.
6657         * specifier.h (struct Lisp_Specifier): Likewise.
6658
6659 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6660
6661         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
6662         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
6663         (CCL_SUSPEND): Likewise.
6664         (CCL_INVALID_CMD): Likewise.
6665         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
6666         (ccl_driver): Likewise.
6667         (CCL_WRITE_CHAR): Macro hygiene.
6668         (CCL_WRITE_STRING): Macro hygiene.
6669
6670 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6671
6672         Port "portable" dumper to SunOS 4 and HP-UX.
6673         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
6674         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
6675         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
6676
6677 2001-01-22  Martin Buchholz  <martin@xemacs.org>
6678
6679         * lisp.h (ALIGNOF): A better definition for C++.
6680
6681 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6682
6683         Macro hygiene.
6684         Fix printf warnings: int format, long int arg.
6685         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
6686         (PUSH_FAILURE_POINT): Use correct printf formats.
6687         (POP_FAILURE_POINT): Use correct printf formats.  
6688         Use do {...} while (0)
6689
6690 2001-01-20  Martin Buchholz <martin@xemacs.org>
6691
6692         * XEmacs 21.2.42 "Poseidon" is released.
6693
6694 2001-01-20  Martin Buchholz  <martin@xemacs.org>
6695
6696         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
6697
6698 2001-01-19  Martin Buchholz  <martin@xemacs.org>
6699
6700         De-kludgify FIXED_TYPE free list frobbing.
6701         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
6702         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
6703         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
6704         * alloc.c (Lisp_Free): New pseudo lisp object definition.
6705         * alloc.c (LRECORD_FREE_P): New.
6706         * alloc.c (MARK_LRECORD_AS_FREE): New.
6707         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
6708         * alloc.c (STRUCT_FREE_P): Deleted.
6709         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
6710         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
6711         * alloc.c (STRING_CHARS_FREE_P): New.
6712         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
6713         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
6714         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
6715         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
6716         * alloc.c (resize_string): Use new definitions.
6717         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
6718         * alloc.c (verify_string_chars_integrity): Use new definitions.
6719         * alloc.c (compact_string_chars): Use new definitions.
6720         * alloc.c: Update monster comments.
6721         * lrecord.h (lrecord_type): Add some new lrecord types for
6722         alloc.c's use.
6723
6724 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6725
6726         Improve alignment hackery.
6727         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
6728         (max_align_t): Moved from opaque.h - general purpose.
6729         (ALIGN_PTR): Use size_t, not long.
6730         * opaque.h (max_align_t): Move to lisp.h.
6731
6732 2001-01-18  Norbert Koch  <nk@LF.net>
6733
6734         * gui.h: Fix and add prototypes to fix build problems.
6735
6736 2001-01-18  Martin Buchholz  <martin@xemacs.org>
6737
6738         temacs is going away, so `dump-temacs' is now a bad name.
6739         * .dbxrc (dump-temacs): Rename to `dmp'.
6740         * .gdbinit (dump-temacs): Rename to `dmp'.
6741
6742 2001-01-17  Andy Piper  <andy@xemacs.org>
6743
6744         * glyphs.c (print_image_instance): comment to make martin happy.
6745
6746         * glyphs-x.c (x_redisplay_widget): update faces after a frame
6747         change.
6748
6749         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
6750         activation.
6751         (mswindows_tab_control_redisplay): warning suppression.
6752
6753         * glyphs-widget.c (widget_update): re-write to cope with updated
6754         items.
6755         (widget_instantiate): use new gui_item functions.
6756         (tab_control_update): deleted.
6757         (progress_gauge_update): deleted.
6758         (image_instantiator_progress_guage): take out update reference.
6759         (image_instantiator_tree_view): ditto.
6760         (image_instantiator_tab_control): ditto.
6761
6762         * gui.c (widget_gui_parse_item_keywords): new function. Do things
6763         Right the new way.
6764         (gui_item_add_keyval_pair): re-write to cope with descriptors and
6765         return whether anything was changed.
6766         (update_gui_item_keywords): as it sounds.
6767
6768         * gui.h: declare widget_gui_parse_item_keywords.
6769
6770         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
6771         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
6772
6773 2001-01-17  Martin Buchholz <martin@xemacs.org>
6774
6775         * XEmacs 21.2.41 "Polyhymnia" is released.
6776
6777 2001-01-16  Didier Verna  <didier@xemacs.org>
6778
6779         * glyphs.c (image_instantiate): don't use fallbacks when
6780         instantiating a face's background pixmap by inheritance.
6781
6782 2001-01-14  Mike Sperber <mike@xemacs.org>
6783
6784         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
6785         Conditionalize accordingly.
6786
6787 2001-01-16  Martin Buchholz  <martin@xemacs.org>
6788
6789         * dumper.c (pdump_file_get): Fix a compiler warning.
6790
6791 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6792
6793         Make Purify happy when pdumping.
6794         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
6795         iniitalizing all bits of new lisp object memory.
6796         * symbols.c (Fmake_local_variable): Likewise.
6797         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
6798         * symbols.c (Fdefvaralias): Likewise.
6799         * mule-charset.c (vars_of_mule_charset): Likewise.
6800
6801 2001-01-15  Martin Buchholz  <martin@xemacs.org>
6802         Add the `-nd' flag when running pre-dump operations under the debugger.
6803         * .dbxrc (run-temacs): Add `-nd'.
6804         * .dbxrc (update-elc): Likewise.
6805         * .dbxrc (dump-temacs): Likewise.
6806         * .gdbinit (run-temacs): Likewise.
6807         * .gdbinit (check-temacs): Likewise.
6808         * .gdbinit (update-elc): Likewise.
6809         * .gdbinit (dump-temacs): Likewise.
6810
6811 2001-01-14  Martin Buchholz  <martin@xemacs.org>
6812
6813         Allow building 64-bit executables on AIX with GNU malloc, e.g.
6814         export OBJECT_MODE=64
6815         configure --pdump --use-union-type=no
6816         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
6817         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
6818
6819         * miscplay.c (sndcnv8U_2mono):
6820         Avoid two uses of `++' in the same expression.
6821         Suppresses a GCC warning.
6822
6823 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6824
6825         Make sure future compilers don't miscompile alloc.c.
6826         * alloc.c:
6827         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
6828         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
6829
6830 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6831
6832         * dumper.c: A little post-pdump-rename comment fixup.
6833
6834 2001-01-09  Jerry James  <james@eecs.ku.edu>
6835
6836         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
6837
6838 2001-01-13  Martin Buchholz  <martin@xemacs.org>
6839
6840         * *.[ch]: Globally rename symbols using the following `pdump-rename'
6841         script:
6842         #!/bin/sh
6843         replace_symbol () {
6844           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
6845         }
6846
6847         replace_symbol pdump_wire_lists pdump_weak_object_chains
6848         replace_symbol pdump_wire_list dump_add_weak_object_chain
6849
6850         replace_symbol pdump_wires pdump_root_objects
6851         replace_symbol pdump_wire dump_add_root_object
6852
6853         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
6854         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
6855
6856         replace_symbol dumpstructinfos pdump_root_struct_ptrs
6857         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
6858         replace_symbol dumpstructinfo pdump_root_struct_ptr
6859         replace_symbol dumpstruct dump_add_root_struct_ptr
6860
6861         replace_symbol dumpopaque dump_add_opaque
6862         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
6863         replace_symbol dumpopaqueinfos pdump_opaques
6864         replace_symbol dumpopaqueinfo pdump_opaque
6865
6866         replace_symbol nb_structdump nb_root_struct_ptrs
6867         replace_symbol nb_opaquedump nb_opaques
6868
6869         replace_symbol align_table pdump_align_table
6870         replace_symbol dump_header pdump_header
6871
6872         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
6873         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
6874
6875
6876 2001-01-12  Martin Buchholz  <martin@xemacs.org>
6877
6878         * s/aix4.h: Keep the C for AIX compiler from overaggressively
6879         optimizing bytecount_to_charcount().
6880
6881 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6882
6883         * config.h.in:
6884         (HAVE_DLFCN_H): Removed.
6885         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
6886
6887 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6888
6889         Portable dumper maintainability improvements.
6890         * alloc.c (staticpro):
6891         * alloc.c (staticpro_nodump):
6892         * alloc.c (garbage_collect_1):
6893         * alloc.c (reinit_alloc_once_early):
6894         * alloc.c (init_alloc_once_early):
6895         * alloc.c: Move dumper functions to alloc.c.
6896         * dumper.c (pdump_backtrace):
6897         * dumper.c (pdump_dump_structs):
6898         * dumper.c (pdump_dump_opaques):
6899         * dumper.c (pdump_dump_rtables):
6900         * dumper.c (pdump_dump_wired):
6901         * dumper.c (pdump):
6902         * dumper.c (pdump_load_check):
6903         * dumper.c (pdump_load_finish):
6904         * dumper.c (pdump_file_unmap):
6905         * dumper.c (pdump_file_get):
6906         * dumper.c (pdump_resource_free):
6907         * dumper.c (pdump_resource_get):
6908         * dumper.c (pdump_file_free):
6909         * dumper.c (pdump_file_try):
6910         * dumper.c (pdump_load):
6911         Remove fixed size limits on staticpro(), staticpro_nodump(),
6912         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
6913         Remove custom code for dumping lrecord_implementations_table - use
6914         dumpopaque instead.
6915         Remove (most of the) custom code for dumping staticpros - dump it
6916         like any other dynarr.
6917
6918         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
6919         * dumper.c: Moved functions from alloc.c.
6920         * alloc.c (dumpstruct): Moved to dumper.c.
6921         * alloc.c (dumpopaque): Likewise.
6922         * alloc.c (pdump_wire): Likewise.
6923         * alloc.c (pdump_wire_list): Likewise.
6924
6925         * lisp.h (Dynarr_sizeof): New.
6926         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
6927         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
6928         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
6929
6930         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
6931         * lisp.h (dumpopaque): ditto.
6932         * lisp.h (pdump_wire): ditto.
6933         * lisp.h (pdump_wire_list): ditto.
6934
6935 2001-01-09  Martin Buchholz  <martin@xemacs.org>
6936
6937         * make-src-depend (PrintPatternDeps):
6938         Use `sort' to make output independent of perl version.
6939
6940 2001-01-08  Martin Buchholz  <martin@xemacs.org>
6941
6942         Port to Netbsd 1.5.
6943         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
6944         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
6945
6946 2001-01-03  Didier Verna  <didier@xemacs.org>
6947
6948         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
6949         that `focus_frame' is alive before thinking of calling
6950         `redisplay_redraw_cursor' on it.
6951
6952 2001-01-08  Martin Buchholz <martin@xemacs.org>
6953
6954         * XEmacs 21.2.40 is released.
6955
6956 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
6957
6958         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
6959
6960 2001-01-06  Martin Buchholz  <martin@xemacs.org>
6961
6962         * alloc.c (dbg_valmask): Make const.
6963         * alloc.c (dbg_typemask): Make const.
6964         * alloc.c (dbg_USE_UNION_TYPE): Make const.
6965         * alloc.c (dbg_valbits): Make const.
6966         * alloc.c (dbg_gctypebits): Make const.
6967
6968 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
6969
6970         * redisplay-x.c (x_bevel_area):
6971         redisplay.h (struct rune):
6972         Typo fixes in comments.
6973
6974 2001-01-05  Andy Piper  <andy@xemacs.org>
6975
6976         * glyphs-x.c (x_redisplay_widget): use size changed for offset
6977         adjustment.
6978
6979         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
6980
6981 2001-01-05  Martin Buchholz  <martin@xemacs.org>
6982
6983         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
6984
6985         * mule-ccl.c (stack_idx_of_map_multiple):
6986         Non const global data must not be initialized!
6987         Found by MIYASHITA Hisashi.
6988
6989 2001-01-02  Andy Piper  <andy@xemacs.org>
6990
6991         * frame.c (change_frame_size): make sure frame size is always
6992         marked as changed.
6993
6994         * glyphs.c (image_instance_layout): minor code reuse.
6995
6996         * window.c (Fcurrent_window_configuration): revert previous
6997         change.
6998
6999 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7000
7001         * glyphs.h:
7002         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7003
7004 2000-12-31  Andy Piper  <andy@xemacs.org>
7005
7006         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7007         when widget gets unmapped.
7008
7009         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7010         function. Make sure widgets losing focus don't just drop it.
7011         (handle_focus_event_1): record the widget with focus.
7012
7013 2000-12-31  Andy Piper  <andy@xemacs.org>
7014
7015         * window.c (allocate_window): use
7016         make_image_instance_cache_hash_table.
7017         (make_dummy_parent): ditto.
7018         (Fset_window_configuration): ditto.
7019
7020         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7021
7022         * glyphs.c (process_image_string_instantiator): use
7023         INSTANTIATOR_TYPE.
7024         (get_image_instantiator_governing_domain): ditto.
7025         (normalize_image_instantiator): ditto.
7026         (instantiate_image_instantiator): ditto.
7027         (make_image_instance_1): ditto.
7028         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7029         (instantiator_eq_equal): new function for use with instance hash
7030         tables.
7031         (instantiator_eq_hash): ditto.
7032         (make_image_instance_cache_hash_table): create a suitable hash
7033         table for storing image instances.
7034
7035         * elhash.h (hash_table_weakness): new internal weakness type
7036         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7037         declare new functions.
7038
7039         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7040         another weakness type for glyphs.
7041         (make_standard_lisp_hash_table): new function split out from
7042         make_general_lisp_hash_table.
7043         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7044         (hash_table_instantiate): ditto.
7045         (Fmake_hash_table): ditto.
7046
7047 2000-12-31  Martin Buchholz <martin@xemacs.org>
7048
7049         * XEmacs 21.2.39 is released.
7050
7051 2000-12-29  Andy Piper  <andy@xemacs.org>
7052
7053         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7054
7055         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7056         the frame has changed so that we pick up geometry changes such as
7057         menubar visibility.
7058
7059 2000-12-28  Andy Piper  <andy@xemacs.org>
7060
7061         * lastfile.c (my_ebss): make a char array so we can pad the
7062         bss. Fixes cygwin unexec.
7063
7064         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7065
7066 2000-12-26  Andy Piper  <andy@xemacs.org>
7067
7068         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7069         comments and try and be more precise about a non-/SIGIO world.
7070         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7071         SIGIO.
7072
7073         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7074         we don't normalize to zero width or height.
7075
7076 2000-12-24  Andy Piper  <andy@xemacs.org>
7077
7078         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7079
7080 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7081
7082         * s/sco5.h: SCO 5 has pty support.
7083
7084 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7085
7086         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7087         input-method-xlib.c contains whole contents of input-method-xfs.c,
7088         so we can use input-method-xlib.c's code for USE_XFONTSET
7089         using #ifdefs.
7090         * input-method-xfs.c: removed.
7091
7092 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7093
7094         * file-coding.h (enum coding_category_type): reorder enumerators to
7095         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7096         (now one greater than largest real coding_category_type enumerator).
7097         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7098         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7099         Fcoding_category_list, Fset_coding_priority_list,
7100         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7101         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7102
7103 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7104
7105         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7106         * redisplay-output.c (redisplay_output_window): Clear top of window
7107         when face is changed.
7108         * redisplay-x.c (x_redraw_exposed_window): Call
7109         redisplay_clear_top_of_window.
7110         * redisplay.h: Publish redisplay_clear_top_of_window.
7111
7112 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7113
7114         * buffer.c (Fkill_buffer): Map over all devices.
7115         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7116         (list_windows): New function.
7117         (list_all_windows): Ditto.
7118         (Freplace_buffer_in_windows): Use them.
7119
7120 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7121
7122         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7123         (Fopen_database): Use `db_create' instead of `db_open'.
7124         (syms_of_database): Initialize Qqueue.
7125
7126 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7127
7128         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7129         buffer_local_face_property.
7130         * buffer.h (struct buffer): New member buffer_local_face_property.
7131         * window.c (Fset_window_buffer):  Mark window's face as changed
7132         when buffer has buffer local face.
7133         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7134         * objects.c (color_after_change): Set buffer_local_face_property
7135         when locale of face specifier is buffer.
7136         * objects.c (font_after_change): Ditto.
7137         * objects.c (face_boolean_after_change): Ditto.
7138         * glyphs.c (image_after_change): Ditto.
7139
7140 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7141
7142         * nt.c (mswindows_fstat): Report file permissions, volume serial
7143         number, etc. Code adapted from FSF Emacs 20.7.
7144
7145 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7146
7147         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7148         of stat when we don't have symbolic links, to make sure
7149         mswindows_stat is called on mswindows.
7150
7151 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7152
7153         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7154
7155 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7156
7157         * doprnt.c (emacs_doprnt_1): More printing fixes.
7158         Make printing of numbers compatible with libc and FSF Emacs.
7159         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7160         Use the system printf to do most of the hard work of formatting,
7161         instead of doprnt_1().
7162         Calculate memory to allocate for format string.
7163         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7164         (doprnt_1): Cleaner code and documentation.
7165
7166 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7167
7168         * Makefile.in.in: Use the loop variable to install headers.
7169
7170 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7171
7172         * window.c (Fsplit_window): Don't invalidate face cache.
7173
7174 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7175
7176         * minibuf.c (Fall_completions): Undo the previous change
7177         which removed checking elements start with space.
7178
7179 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7180
7181         * mule-canna.c: Didier suppression.
7182
7183 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7184
7185         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7186         (warning suppression).  Add English comment translations.
7187
7188 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7189
7190         * unexelfsgi.c (unexec): Better test for mmap failure.
7191
7192 2000-12-05  Martin Buchholz <martin@xemacs.org>
7193
7194         * XEmacs 21.2.38 is released.
7195
7196 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7197
7198         * redisplay.c (bar-cursor): Make a user variable.
7199
7200         * symsinit.h: Add init_postgresql_from_environment.
7201
7202 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7203
7204         * regex.c: Convert to clean C.
7205
7206 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7207
7208         * realpath.c:
7209         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7210         initialization.
7211         (sys_readlink): renamed to system_readlink to avoid conflict with
7212         the other sys_readlink.
7213
7214 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7215
7216         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7217
7218 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7219
7220         * postgresql.c (init_postgresql_from_environment): new function.
7221         (vars_of_postgresql): Move code initializing Lisp variables out and
7222         into init_postgresql_from_environment.
7223         emacs.c (main_1): Call init_postgresql_from_environment if and only
7224         if running a dumped XEmacs.
7225
7226 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7227
7228         * buffer.c: Make find-file-compare-truenames default to true on
7229         windows.
7230
7231         * realpath.c (win32_abs_start):
7232         (cygwin_readlink):
7233         (win32_readlink): New functions.
7234         (xrealpath): Return really real filenames on windows.
7235
7236         * fileio.c (Ffile_truename): Make file-truename work on windows.
7237
7238 2000-11-29  Didier Verna  <didier@xemacs.org>
7239
7240         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7241         * faces.c (update_face_cachel_data): use it.
7242         * faces.c (add_face_cachel): use it. Complete background pixmap
7243         frobbing in face cache if `update_face_cachel_data' has not done so.
7244
7245 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7246
7247         * search.c (string_match_1): Don't set last_thing_searched
7248         when search failed.
7249
7250 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7251
7252         * buffer.c: Include casetab.h
7253         (common_init_complex_vars_of_buffer): Use new case-table object.
7254         * buffer.h: Include casetab.h
7255         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7256         (DOWNCASE_TABLE_OF): Ditto.
7257         * bufslots.h: Remove char-tables and add case-table.
7258         * casetab.c: Include casetab.h
7259         (CASE_TABLE_P): Removed.
7260         (mark_case_table): New function.
7261         (allocate_case_table): New function.
7262         (Fcase_table_p): Use new case-table.
7263         (case_table_char): New function.
7264         (Fget_case_table): Ditto.
7265         (Fput_case_table): Ditto.
7266         (Fput_case_table_pair): Ditto.
7267         (Fcopy_case_table): Ditto.
7268         (Fcurrent_case_table): Return case-table.
7269         (Fstandard_case_table): Return case-table.
7270         (Fset_case_table): Fix doc-string.
7271         (set_case_table): Use case-table
7272         (syms_of_casetab): DEFSUBR new functions.
7273         (complex_vars_of_casetab): Set up standard case-table.
7274         * casetab.h: New file.
7275         * editfns.c: Include casetab.h
7276         (Fcompare_buffer_substrings): Use case-table.
7277         * inline.c: Include casetab.h
7278         * lisp.h: Remove bogus extern.
7279         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7280         * search.c: Include casetab.h
7281         (TRANSLATE_ASCII): Removed.
7282         (TRANSLATE): Unconditionally translate character.
7283         (looking_at_1): Use case-table.
7284         (string_match_1): Ditto.
7285         (fast_string_match): Ditto.
7286         (search_command): Ditto.
7287         (search_buffer): Separate boyer_moore.  Check whether
7288         boyer_moore is possible.
7289         (simple_search): New function.
7290         (boyer_moore): Separated from search_buffer. Translate char.
7291
7292 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7293
7294         * regex.c (RE_TR_ASCII): Removed.
7295         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7296         (PATFETCH): Call PATFETCH_RAW.
7297         (PATFETCH_RAW): Fetch Emchar.
7298         (PATUNFETCH): Decrement charptr.
7299         (GET_BUFFER_SPACE): Rename b to buf_end.
7300         (BUF_PUSH): Ditto.
7301         (BUF_PUSH_2): Ditto.
7302         (BUF_PUSH_3): Ditto.
7303         (EXTEND_BUFFER): Ditto.
7304         (SET_LIST_BIT): Ditto.
7305         (regex_compile): Ditto.  Translate non ASCII char.
7306         (compile_range): Ditto.
7307         (re_search_2): Ditto.
7308         (re_match_2_internal): Compare Emchar.
7309         (bcmp_translate): Ditto.
7310
7311 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7312
7313         * lisp.h (basic char/int typedefs):  comment improvement.
7314
7315 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7316
7317         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7318         unstomp inhibit_site_lisp.  Improve comments.
7319
7320 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7321
7322         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7323
7324 2000-11-28  Andy Piper  <andy@xemacs.org>
7325
7326         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7327         clipped display for windows in the gutter also.
7328         (redisplay_display_boxes_in_window_p): change semantics of return
7329         codes to be more intuitive.
7330
7331         * gutter.h: declare display_boxes_in_gutter_p.
7332
7333         * gutter.c (display_boxes_in_gutter_p): new function for
7334         redisplay.
7335
7336 2000-11-22  Andy Piper  <andy@xemacs.org>
7337
7338         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7339         autodetect domain.
7340
7341 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7342
7343         * callproc.c (Fold_call_process_internal):
7344         * gpm.c (Freceive_gpm_event):
7345         (tty_get_foreign_selection): Might be just warning supression.
7346         * fileio.c (Fwrite_region_internal):
7347         (Fset_visited_file_modtime):
7348         * keymap.c (event_matches_key_specifier_p):
7349         Initialize GCPROed variable.
7350
7351         * menubar-x.c (command_builder_find_menu_accelerator):
7352         Initialize before use.
7353
7354 2000-11-23  Andy Piper  <andy@xemacs.org>
7355
7356         * unexcw.c (unexec): make the resulting executable executable.
7357
7358 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7359
7360         * doc.c (get_doc_string):
7361         Use size_t, not int, for result of XSTRING_LENGTH.
7362
7363         * cmds.c (Fdelete_char):
7364         * cmds.c (Fpoint_at_eol):
7365         * cmds.c (Fself_insert_command):
7366         Use EMACS_INT, not int, for result of XINT.
7367         Someday, someone will want to insert more than 2**31 identical characters.
7368
7369         * cmds.c (Fdelete_char):
7370         * cmds.c (Fdelete_backward_char):
7371         * syntax.c (Fforward_word):
7372         * syntax.c (Fforward_comment):
7373         Make COUNT argument optional, for consistency with forward-char et al.
7374
7375 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7376
7377         * lisp.h:
7378         * print.c (long_to_string):
7379         Return a useful value: the pointer at end of data written.
7380
7381         * doprnt.c:
7382         Use `static const char * const' for constant strings.
7383         (union printf_arg): Delete `i', `ui' members.
7384         (get_doprnt_args):
7385         (emacs_doprnt_1):
7386         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7387         Do all printf-ing via the `l' specifier.
7388         Use EMACS_INT instead of int.
7389         Optimize.
7390
7391 2000-11-20  Didier Verna  <didier@xemacs.org>
7392
7393         * faces.c (update_face_cachel_data): don't frob the background
7394         pixmap when the window is being created. The face is needed but
7395         does not exist yet.
7396
7397 2000-11-20  Andy Piper  <andy@xemacs.org>
7398
7399         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7400         messing with a debug environment.
7401
7402 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7403
7404         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7405
7406 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7407
7408         * casetab.c (Fcase_table_p): Fix compile error and crash.
7409
7410 2000-11-18  Philip Aston  <philipa@mail.com>
7411
7412         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7413
7414 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7415
7416         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7417         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7418
7419 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7420
7421         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7422         * unexelf.c: Use HAVE_ELF_H.
7423         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7424         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7425         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7426         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7427         for testing.
7428         So this is an unexelfsgi.c from a different line of development.
7429
7430 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7431
7432         * regex.c (RE_TR_ASCII): New function.
7433         (RE_TRANSLATE): Call it.
7434
7435 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7436
7437         * buffer.h (TRT_TABLE_OF): Remove assert.
7438         (IN_TRT_TABLE_DOMAIN): Removed.
7439
7440 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7441
7442         * free-hook.c (log_gcpro):
7443         (show_gcprohist): Add support for GCPRO5.
7444
7445 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7446
7447         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7448
7449 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7450
7451         * symeval.h: Declare flush_all_buffer_local_cache.
7452
7453         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7454         (flush_buffer_local_cache): Added.
7455         (flush_all_buffer_local_cache): Added.
7456
7457         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7458
7459         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7460         (pdump_dump_data): Ditto.
7461         (pdump_reloc_one): Ditto.
7462         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7463         before dumping.
7464
7465
7466 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7467
7468         * buffer.c: Remove if 0'ed entry.
7469         * buffer.h: Rewrite TRT to use char-table.
7470         * bufslots.h: Remove mirror tables.
7471         * casetab.c: Remove mirror tables.
7472         (CASE_TABLE_P): New macro.
7473         (Fcase_table_p): Element of a case table is string or char-table.
7474         (make_mirror_trt_table): Removed.
7475         (set_case_table): Setup char-table from strings for backward
7476         compatibility.
7477         * dired.c (Fdirectory_files):
7478         * dired-msw.c: (mswindows_get_files):
7479         * lisp.h: Change prototype of re_pattern_buffer.
7480         * regex.c: (RE_TRANSLATE): New macro.
7481         (TRANSLATE_P): Ditto.
7482         Change translate to type RE_TRANSLATE_TYPE.
7483         * regex.h: Define RE_TRANSLATE_TYPE
7484         * search.c (TRANSLATE): New macro.
7485         (TRANSLATE_ASCII): New macro.
7486         Translate table is changed to Lisp_Object.
7487         (signal_failure): Inhibit return.
7488
7489 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7490
7491         * device-msw.c:
7492         * eldap.c:
7493         * event-Xt.c:
7494         * event-stream.c:
7495         * print.c:
7496         Do UNGCPRO before return.
7497
7498 2000-11-14  Martin Buchholz <martin@xemacs.org>
7499
7500         * XEmacs 21.2.37 is released.
7501
7502 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7503
7504         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7505         Add comments about discarded return value.
7506
7507 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7508
7509         * callint.c:
7510         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7511
7512 2000-10-27  Andy Piper  <andy@xemacs.org>
7513
7514         * gutter.c (Fset_default_gutter_position): default left and right
7515         gutters to visible.
7516         (calculate_gutter_size): calculate resonable heuristic for left
7517         and right gutter sizes.
7518         (specifier_vars_of_gutter): change left and right gutter sizes to
7519         autodetect.
7520         (calculate_gutter_size_from_display_lines): new function.
7521         (output_gutter): check for resizing on left and right gutters.
7522         (clear_gutter): don't special case top and left gutters.
7523         (specifier_vars_of_gutter): use new signature for
7524         set_specifier_caching.
7525
7526         * glyphs-x.c (x_redisplay_widget): spelling fix.
7527         * glyphs.c (specifier_vars_of_glyphs):
7528         * menubar.c (specifier_vars_of_menubar):
7529         * redisplay.c (specifier_vars_of_redisplay):
7530         * toolbar.c (specifier_vars_of_toolbar):
7531         * window.c (specifier_vars_of_window):
7532         * scrollbar.c (specifier_vars_of_scrollbar):
7533         (complex_vars_of_scrollbar): use new signature for
7534         set_specifier_caching.
7535
7536         * specifier.c (set_specifier_caching): include recompute flag.
7537         (recompute_one_cached_specifier_in_window): always recompute if
7538         flag set.
7539         (recompute_one_cached_specifier_in_frame): ditto.
7540
7541         * specifier.h (struct specifier_caching): add recompute flag.
7542
7543 2000-10-24  Andy Piper  <andy@xemacs.org>
7544
7545         * unexcw.c (copy_executable_and_dump_data_section): add new
7546         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7547         5.0 happy.
7548
7549 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7550
7551         * console-x.h (x_device): New member modifier_release_time.
7552         * event-Xt.c (x_handle_sticky_modifiers):
7553         Bound interval modifier keys are sticky.
7554         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7555         * events.h: extern it.
7556
7557 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7558
7559         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7560
7561 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7562
7563         * event-stream.c (execute_command_event): Preserve current_events
7564         and the like when event is misc-user-event.
7565         Inhibit quit during the call to maybe_echo_keys.
7566
7567 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7568
7569         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7570         symlink when buffer is killed.
7571         (inhibit_clash_detection): New variable.
7572
7573 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7574
7575         * console.c (Fset_input_method): Trigger redisplay on tty.
7576
7577 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7578
7579         * process.c (Fprocess_status): Revert to previous behavior:
7580         (process-status "nosuchprocess") ==> nil
7581
7582 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7583
7584         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7585         Work around another GCC 2.95.2 optimizer bug.
7586
7587 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7588
7589         * process.c (Fget_process): Use LIST_LOOP_2.
7590         (kill_buffer_processes): Use LIST_LOOP_2.
7591
7592         * minibuf.c (Fall_completions):
7593         Delete old non-functional code for FSF fourth argument.
7594
7595         * frame.c (frame_matches_frame_spec):
7596         Renamed from `frame_matches_frametype'.  Update all callers.
7597         (device_matches_device_spec):
7598         Renamed from 'device_matches_console_spec'.  Update all callers.
7599
7600         * doc.c (Fsubstitute_command_keys):
7601         Remove buffer overflow crash.  Small code cleanups.
7602
7603         * casetab.c (check_case_table): Simpler code.
7604
7605         * window.c (Freplace_buffer_in_windows):
7606         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
7607         (and similar implementation) as Fdelete_windows_on.
7608         Update all callers.
7609
7610         * alloc.c (Fmake_list):
7611         * alloc.c (make_vector):
7612         * alloc.c (Fmake_vector):
7613         * alloc.c (make_bit_vector):
7614         * alloc.c (Fmake_bit_vector):
7615         * alloc.c (Fbit_vector):
7616         * alloc.c (Fmake_string):
7617         * alloc.c (Fpurecopy):
7618         * alloc.c (Fmemory_limit):
7619         * buffer.c:
7620         * buffer.c (Fget_buffer):
7621         * buffer.c (Fkill_buffer):
7622         * buffer.c (complex_vars_of_buffer):
7623         * bytecode.c (Fcompiled_function_stack_depth):
7624         * callint.c (Fprefix_numeric_value):
7625         * event-stream.c:
7626         * event-stream.c (Fread_key_sequence):
7627         * casetab.c:
7628         * casetab.c (Fcase_table_p):
7629         * casetab.c (check_case_table):
7630         * casetab.c (Fset_case_table):
7631         * casetab.c (Fset_standard_case_table):
7632         * chartab.c:
7633         * chartab.c (Fchar_table_type):
7634         * chartab.c (Freset_char_table):
7635         * chartab.c (Fget_char_table):
7636         * chartab.c (Fget_range_char_table):
7637         * chartab.c (Fput_char_table):
7638         * chartab.c (Fmap_char_table):
7639         * chartab.c (Fcategory_table_p):
7640         * chartab.c (Fcheck_category_at):
7641         * chartab.c (Fchar_in_category_p):
7642         * chartab.c (Fcategory_table):
7643         * chartab.c (Fcopy_category_table):
7644         * chartab.c (Fset_category_table):
7645         * chartab.c (Fcategory_designator_p):
7646         * chartab.c (Fcategory_table_value_p):
7647         * cmds.c (Fdelete_char):
7648         * cmds.c (Fdelete_backward_char):
7649         * cmds.c (Fself_insert_command):
7650         * cmds.c (Fself_insert_internal):
7651         * console.c (Fvalid_console_type_p):
7652         * console.c (Fcdfw_console):
7653         * console.c (Fconsole_type):
7654         * console.c (Fconsole_name):
7655         * console.c (Fconsole_device_list):
7656         * console.c (Fconsole_on_window_system_p):
7657         * data.c:
7658         * data.c (Feq):
7659         * data.c (Fold_eq):
7660         * data.c (Fsubr_interactive):
7661         * data.c (Fchar_to_int):
7662         * data.c (Fint_to_char):
7663         * data.c (Fsetcar):
7664         * data.c (Fsetcdr):
7665         * data.c (Fnumber_to_string):
7666         * data.c (Fstring_to_number):
7667         * data.c (Frem):
7668         * database.c (mark_database):
7669         * database.c (finalize_database):
7670         * database.c (Fdatabase_live_p):
7671         * database.c (Fdatabasep):
7672         * device-x.c (Fx_get_resource):
7673         * device.c (Fdfw_device):
7674         * dired.c:
7675         * dired.c (Ffile_name_completion):
7676         * dired.c (Ffile_name_all_completions):
7677         * dired.c (Fuser_name_completion):
7678         * dired.c (Fuser_name_completion_1):
7679         * dired.c (Fuser_name_all_completions):
7680         * doc.c (Fdocumentation):
7681         * doc.c (Fdocumentation_property):
7682         * doc.c (Fsubstitute_command_keys):
7683         * editfns.c:
7684         * editfns.c (Fchar_to_string):
7685         * editfns.c (Fstring_to_char):
7686         * editfns.c (Ftemp_directory):
7687         * editfns.c (Finsert_char):
7688         * editfns.c (Fbuffer_substring_no_properties):
7689         * editfns.c (Fnarrow_to_region):
7690         * editfns.c (Fchar_equal):
7691         * editfns.c (Fchar_Equal):
7692         * editfns.c (Ftranspose_regions):
7693         * emacs.c (Fdump_emacs):
7694         * eval.c (Fthrow):
7695         * eval.c (Fcommand_execute):
7696         * eval.c (Fautoload):
7697         * eval.c (Fbacktrace):
7698         * eval.c (Fbacktrace_frame):
7699         * events.c:
7700         * events.c (Fcopy_event):
7701         * events.c (Fcharacter_to_event):
7702         * events.c (Fevent_button):
7703         * events.c (Fevent_process):
7704         * extents.c:
7705         * extents.c (Fnext_extent_change):
7706         * extents.c (Fextent_property):
7707         * faces.c (Ffacep):
7708         * faces.c (Fmake_face):
7709         * file-coding.c:
7710         * file-coding.c (Fencode_shift_jis_char):
7711         * file-coding.c (Fencode_big5_char):
7712         * fileio.c (Ffile_name_directory):
7713         * fileio.c (Ffile_name_nondirectory):
7714         * fileio.c (Ffile_name_as_directory):
7715         * fileio.c (Fdirectory_file_name):
7716         * fileio.c (Ffile_truename):
7717         * fileio.c (Fsubstitute_in_file_name):
7718         * fileio.c (Ffile_modes):
7719         * fileio.c (Fset_file_modes):
7720         * fileio.c (Fset_default_file_modes):
7721         * fileio.c (Fverify_visited_file_modtime):
7722         * floatfns.c (Facos):
7723         * floatfns.c (Fasin):
7724         * floatfns.c (Fatan):
7725         * floatfns.c (Fcos):
7726         * floatfns.c (Fsin):
7727         * floatfns.c (Ftan):
7728         * floatfns.c (Fbessel_j0):
7729         * floatfns.c (Fbessel_j1):
7730         * floatfns.c (Fbessel_jn):
7731         * floatfns.c (Fbessel_y0):
7732         * floatfns.c (Fbessel_y1):
7733         * floatfns.c (Fbessel_yn):
7734         * floatfns.c (Ferf):
7735         * floatfns.c (Ferfc):
7736         * floatfns.c (Flog_gamma):
7737         * floatfns.c (Fexp):
7738         * floatfns.c (Fexpt):
7739         * floatfns.c (Flog):
7740         * floatfns.c (Flog10):
7741         * floatfns.c (Fsqrt):
7742         * floatfns.c (Fcube_root):
7743         * floatfns.c (Facosh):
7744         * floatfns.c (Fasinh):
7745         * floatfns.c (Fatanh):
7746         * floatfns.c (Fcosh):
7747         * floatfns.c (Fsinh):
7748         * floatfns.c (Ftanh):
7749         * floatfns.c (Fabs):
7750         * floatfns.c (Ffloat):
7751         * floatfns.c (Flogb):
7752         * floatfns.c (Fceiling):
7753         * floatfns.c (Ffloor):
7754         * floatfns.c (Fround):
7755         * floatfns.c (Ftruncate):
7756         * floatfns.c (Ffceiling):
7757         * floatfns.c (Fffloor):
7758         * floatfns.c (Ffround):
7759         * floatfns.c (Fftruncate):
7760         * fns.c (Fstring_equal):
7761         * fns.c (Fstring_lessp):
7762         * fns.c (concat2):
7763         * fns.c (concat3):
7764         * fns.c (vconcat2):
7765         * fns.c (vconcat3):
7766         * fns.c (Fsubstring):
7767         * fns.c (Fassoc):
7768         * fns.c (Fold_assoc):
7769         * fns.c (assoc_no_quit):
7770         * fns.c (Fassq):
7771         * fns.c (Fold_assq):
7772         * fns.c (assq_no_quit):
7773         * fns.c (Frassoc):
7774         * fns.c (Fold_rassoc):
7775         * fns.c (Frassq):
7776         * fns.c (Fold_rassq):
7777         * fns.c (rassq_no_quit):
7778         * fns.c (Fremassoc):
7779         * fns.c (remassoc_no_quit):
7780         * fns.c (Fremassq):
7781         * fns.c (remassq_no_quit):
7782         * fns.c (Fremrassoc):
7783         * fns.c (Fremrassq):
7784         * fns.c (remrassq_no_quit):
7785         * fns.c (Fsort):
7786         * fns.c (Fplist_get):
7787         * fns.c (Fplist_put):
7788         * fns.c (Fplist_remprop):
7789         * fns.c (Fplist_member):
7790         * fns.c (Flax_plist_get):
7791         * fns.c (Flax_plist_put):
7792         * fns.c (Flax_plist_remprop):
7793         * fns.c (Flax_plist_member):
7794         * fns.c (Fequal):
7795         * fns.c (Fold_equal):
7796         * fns.c (Frequire):
7797         * fns.c (Fbase64_encode_region):
7798         * fns.c (Fbase64_encode_string):
7799         * fns.c (Fbase64_decode_region):
7800         * frame.c:
7801         * frame.c (frame_matches_frame_spec):
7802         * frame.c (device_matches_device_spec):
7803         * frame.c (next_frame):
7804         * frame.c (previous_frame):
7805         * frame.c (Fnext_frame):
7806         * frame.c (Fprevious_frame):
7807         * frame.c (Fframe_property):
7808         * frame.c (Fset_frame_height):
7809         * frame.c (Fset_frame_size):
7810         * frame.h:
7811         * glyphs.c:
7812         * glyphs.c (if):
7813         * glyphs.c (decode_error_behavior_flag):
7814         * glyphs.c (Fmake_image_instance):
7815         * indent.c (Findent_to):
7816         * intl.c (Fignore_defer_gettext):
7817         * keymap.c (Fkeymapp):
7818         * keymap.c (Flookup_key):
7819         * lread.c:
7820         * lread.c (Fload_internal):
7821         * lread.c (Feval_buffer):
7822         * lread.c (Feval_region):
7823         * macros.c (Fexecute_kbd_macro):
7824         * marker.c (set_marker_internal):
7825         * marker.c (Fset_marker):
7826         * marker.c (set_marker_restricted):
7827         * marker.c (Fcopy_marker):
7828         * marker.c (noseeum_copy_marker):
7829         * menubar.c:
7830         * menubar.c (Fpopup_menu):
7831         * minibuf.c:
7832         * mule-charset.c (Fcharset_name):
7833         * mule-charset.c (Fchar_charset):
7834         * mule-charset.c (Fchar_octet):
7835         * mule-charset.c (Fsplit_char):
7836         * mule-wnnfns.c (Fwnn_open):
7837         * mule-wnnfns.c (Fwnn_dict_comment):
7838         * mule-wnnfns.c (Fwnn_quit_henkan):
7839         * mule-wnnfns.c (Fwnn_word_toroku):
7840         * mule-wnnfns.c (Fwnn_word_sakujo):
7841         * mule-wnnfns.c (Fwnn_word_use):
7842         * mule-wnnfns.c (Fwnn_hindo_set):
7843         * objects.c:
7844         * objects.c (Fmake_color_instance):
7845         * objects.c (Fmake_font_instance):
7846         * print.c (Fwrite_char):
7847         * process.c:
7848         * process.c (mark_process):
7849         * process.c (print_process):
7850         * process.c (get_process_from_usid):
7851         * process.c (Fprocessp):
7852         * process.c (Fprocess_live_p):
7853         * process.c (Fget_process):
7854         * process.c (Fget_buffer_process):
7855         * process.c (get_process):
7856         * process.c (Fprocess_id):
7857         * process.c (Fprocess_name):
7858         * process.c (Fprocess_command):
7859         * process.c (init_process_io_handles):
7860         * process.c (start_process_unwind):
7861         * process.c (Fstart_process_internal):
7862         * process.c (Fopen_multicast_group_internal):
7863         * process.c (Fset_process_window_size):
7864         * process.c (read_process_output):
7865         * process.c (send_process):
7866         * process.c (Fprocess_tty_name):
7867         * process.c (Fset_process_buffer):
7868         * process.c (Fprocess_buffer):
7869         * process.c (Fprocess_mark):
7870         * process.c (set_process_filter):
7871         * process.c (Fset_process_filter):
7872         * process.c (Fprocess_filter):
7873         * process.c (Fprocess_send_region):
7874         * process.c (Fprocess_send_string):
7875         * process.c (exec_sentinel):
7876         * process.c (Fset_process_sentinel):
7877         * process.c (Fprocess_sentinel):
7878         * process.c (status_notify):
7879         * process.c (Fprocess_status):
7880         * process.c (Fprocess_exit_status):
7881         * process.c (process_send_signal):
7882         * process.c (Fprocess_send_eof):
7883         * process.c (deactivate_process):
7884         * process.c (remove_process):
7885         * process.c (Fdelete_process):
7886         * process.c (kill_buffer_processes):
7887         * process.c (Fprocess_kill_without_query):
7888         * process.c (Fprocess_kill_without_query_p):
7889         * rangetab.c:
7890         * rangetab.c (Fget_range_table):
7891         * rangetab.c (Fput_range_table):
7892         * rangetab.c (Fremove_range_table):
7893         * rangetab.c (Fclear_range_table):
7894         * search.c:
7895         * search.c (Fskip_chars_forward):
7896         * search.c (Fskip_chars_backward):
7897         * search.c (Fskip_syntax_forward):
7898         * search.c (Fskip_syntax_backward):
7899         * search.c (search_command):
7900         * search.c (Freplace_match):
7901         * search.c (Fregexp_quote):
7902         * select.c (Fown_selection_internal):
7903         * select.c (Fselection_owner_p):
7904         * select.c (Fselection_exists_p):
7905         * select.c (Fget_selection_internal):
7906         * specifier.c:
7907         * symbols.c:
7908         * symbols.c (Fintern):
7909         * symbols.c (Fintern_soft):
7910         * symbols.c (Funintern):
7911         * symbols.c (Fapropos_internal):
7912         * symbols.c (Fset_default):
7913         * syntax.c:
7914         * syntax.c (Fsyntax_table_p):
7915         * syntax.c (Fcopy_syntax_table):
7916         * syntax.c (Fset_syntax_table):
7917         * syntax.c (Fchar_syntax):
7918         * syntax.c (syntax_match):
7919         * syntax.c (Fmatching_paren):
7920         * syntax.c (Fforward_word):
7921         * syntax.c (scan_lists):
7922         * syntax.c (Fscan_lists):
7923         * syntax.c (Fscan_sexps):
7924         * syntax.c (Fparse_partial_sexp):
7925         * toolbar.c (Fcheck_toolbar_button_syntax):
7926         * tooltalk.doc:
7927         * window.c:
7928         * window.c (Fwindowp):
7929         * window.c (Fwindow_live_p):
7930         * window.c (Fwindow_point):
7931         * window.c (Fdelete_window):
7932         * window.c (Fnext_window):
7933         * window.c (Fprevious_window):
7934         * window.c (Fother_window):
7935         * window.c (window_loop):
7936         * window.c (Fget_lru_window):
7937         * window.c (Fsplit_window):
7938         * window.c (Fenlarge_window):
7939         * window.c (Fenlarge_window_pixels):
7940         * window.c (Fshrink_window):
7941         * window.c (Fshrink_window_pixels):
7942         * window.c (change_window_height):
7943         * window.c (Fwindow_configuration_p):
7944         * window.c (Fcurrent_window_configuration):
7945         * window.h:
7946         * casefiddle.c (casify_object):
7947         * casefiddle.c (Fupcase):
7948         * casefiddle.c (Fdowncase):
7949         * casefiddle.c (Fcapitalize):
7950         * casefiddle.c (Fupcase_initials):
7951         * casefiddle.c (casify_region_internal):
7952         * casefiddle.c (casify_region):
7953         * casefiddle.c (Fupcase_region):
7954         * casefiddle.c (Fdowncase_region):
7955         * casefiddle.c (Fcapitalize_region):
7956         * casefiddle.c (Fupcase_initials_region):
7957         * casefiddle.c (Fupcase_word):
7958         * casefiddle.c (Fdowncase_word):
7959         * casefiddle.c (Fcapitalize_word):
7960         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
7961         Replace 0 with '\0' when working with bytes.
7962         Replace initial "(" with "\(" in docstrings.
7963
7964 2000-11-01  Martin Buchholz  <martin@xemacs.org>
7965
7966         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
7967
7968         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
7969
7970 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7971
7972         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
7973
7974 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7975
7976         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
7977         correctly.
7978
7979 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7980
7981         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
7982         (inhibit_auto_save_session): New variable.
7983         (vars_of_fileio): Declare and initialize them.
7984         * fileio.c (Fdo_auto_save): Don't create session file if
7985         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
7986
7987 2000-10-31  Martin Buchholz  <martin@xemacs.org>
7988
7989         * sgiplay.c (play_internal): C++ compilability.
7990         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
7991         * callproc.c (Fold_call_process_internal):
7992         Remove unused vars `env', `first'.
7993         * scrollbar.c (update_scrollbar_instance):
7994         #### unused var `current_window'.
7995         * redisplay-tty.c: Put currently unused vars insert_mode_on,
7996         etc. within #ifdef NOT_YET.
7997         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
7998         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
7999         * specifier.c (specifier_instance):
8000         #### unused var `tag'.
8001         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8002
8003 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8004
8005         * fns.c (Fbutlast):
8006         * fns.c (list_sort):
8007         * fns.c (Ffillarray):
8008         * fns.c (bytecode_nconc2):
8009         * fns.c (Fnconc):
8010         * fns.c (mapcar1):
8011         * fns.c (Fmapconcat):
8012         Be pedantically 64-bit correct.  For the time when someone will
8013         want to have a list with length > 2**32.
8014
8015         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8016         Work around MIPSpro compiler bug.
8017
8018         * process-unix.c (unix_kill_child_process): Add snarky comment.
8019         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8020
8021         * config.h.in: Oops, _getpt ==> _getpty
8022
8023 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8024
8025         * config.h.in:
8026         * regex.c:
8027         Use void*, not char*, as return type of alloca().
8028
8029         * alloc.c (free_marker): Side effect inside assert expression!
8030
8031 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8032
8033         * mule-charset.c (Fset_charset_ccl_program): To check
8034         if the given ccl program is valid, use setup_ccl_program()
8035         instead of CHECK_VECTOR().
8036         (Fmake_charset): Likewise.
8037
8038 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8039
8040         * faces.c (get_extent_fragment_face_cache_index):
8041         Fix cachel.merged_faces memory leak.
8042
8043 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8044
8045         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8046         Reset MSB of octets obtained by DECODE_SJIS
8047         because of the incompatibility with Emacs.
8048         (ccl_driver)<CCL_ENCODE_SJIS>:
8049         Set MSB of octets before passing them to
8050         ENCODE_SJIS because of the incompatibility
8051         with Emacs.
8052
8053 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8054
8055         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8056         (DECLARE_LRECORD): Undo the last change.
8057         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8058
8059 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8060
8061         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8062         the implementation to lrecord_implementations_table.
8063
8064 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8065
8066         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8067         initial value of `lrecord_type_##c_name' and
8068         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8069         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8070         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8071         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8072         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8073
8074 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8075
8076         * miscplay.c (sndcnv8S_2mono):
8077         (sndcnv2monounsigned):
8078         (sndcnvULaw_2linear):
8079         (sndcnv16swap):
8080         Remove implementation-defined behavior.
8081
8082 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8083
8084         * input-method-xlib.c: Warning suppression.
8085
8086 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8087
8088         * mule-ccl.c: Sync up with Emacs 21.0.90.
8089         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8090         Do nothing.
8091         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8092         Likewise.
8093         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8094         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8095         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8096         leading char belongs to official 2-dimensional charset.
8097         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8098         write the given character as is.  Otherwise,
8099         if it is a multibyte char, convert it by
8100         non_ascii_set_charptr_emchar, then write it.
8101         (CCL_WRITE_STRING): Likewise.
8102         (ccl_get_compiled_code): New function.
8103         (setup_ccl_program): When ccl_prog is invalid,
8104         return -1.
8105         (Fregister_code_conversion_map): New function.
8106         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8107
8108         * mule-ccl.h: Sync up with Emacs 21.0.90.
8109         (Fregister_ccl_program): export it.
8110
8111         * redisplay-msw.c (separate_textual_runs):
8112         If ccl program is not valid, don't do ccl conversion.
8113
8114         * redisplay-x.c (separate_textual_runs): Ditto.
8115
8116         * file-coding.c (Fmake_coding_system):
8117         When type is ccl and value is vector, register it
8118         with a proper symbol.  And checks whether the
8119         given ccl program is valid.
8120         (mule_decode): When calling ccl_driver, if src indicates
8121         NULL pointer, set an empty string instead.
8122         (mule_encode): Likewise.
8123
8124 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8125
8126         The following large batch of changes gets us back to a state of
8127         C++ compilability.  Extbyte is now a char, which means that
8128         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8129
8130         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8131
8132         * sound.c (Fplay_sound): Type correctness.
8133
8134         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8135         (x_get_window_property): Type correctness.
8136         (receive_incremental_selection): unsigned char ==> Extbyte
8137         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8138         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8139         (Fx_store_cutbuffer_internal): Type correctness.
8140
8141         * process-unix.c (try_to_initialize_subtty): Type correctness.
8142
8143         * objects-x.c (x_print_color_instance): Type correctness.
8144         (x_print_font_instance): Type correctness.
8145         (x_list_fonts): SExtbyte ==> Extbyte.
8146         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8147         (x_find_charset_font): SExtbyte ==> Extbyte.
8148         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8149         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8150         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8151         Use bufbyte_strcmp.
8152
8153         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8154         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8155         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8156         (BYTE_C0_P): Use bit ops for char-signedness safety.
8157         (BYTE_C1_P): Use bit ops for char-signedness safety.
8158         (CHARSET_BY_LEADING_BYTE):
8159         (CHARSET_BY_ATTRIBUTES):
8160         Always use inline function.
8161         Use type_checking_assert.
8162         Hide chlook.
8163
8164         * mule-charset.c (non_ascii_charptr_copy_char):
8165         Modify to work with both ASCII and non-ASCII characters.
8166         Improve docs and variable names.
8167         Replace over-clever fall-through switch with a simple loop.
8168         (Lstream_get_emchar_1):
8169         Replace over-clever fall-through switch with a simple loop.
8170
8171         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8172         Warning suppression.
8173
8174         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8175         the return value of Lstream_getc, which could be EOF as well.
8176
8177         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8178
8179         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8180         APIs can be used on Extbytes without casts.  Risky!
8181         (SExtbyte): Remove.
8182         (UExtbyte): Remove.
8183
8184         * input-method-xlib.c (XIM_init_device):
8185         Use Xlib.h instead of IntrinsicP.h.
8186         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8187         which will break in X11R7.
8188         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8189         to call XRegisterIMInstantiateCallback with correct types.
8190
8191         * gui-x.c (button_item_to_widget_value): Type correctness.
8192
8193         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8194
8195         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8196         (xbm_instantiate_1): Type correctness.
8197         (BUILD_GLYPH_INST):  Type correctness.
8198
8199         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8200
8201         * file-coding.c:
8202         (decode_coding_sjis):
8203         (decode_coding_big5):
8204         (decode_coding_ucs4):
8205         (decode_coding_utf8):
8206         (decode_coding_iso2022):
8207         (decode_coding_no_conversion):
8208         Make all decoding functions take an Extbyte * arg.
8209         (encode_coding_sjis):
8210         (encode_coding_big5):
8211         (encode_coding_ucs4):
8212         (encode_coding_utf8):
8213         (encode_coding_iso2022):
8214         (encode_coding_no_conversion):
8215         Make all encoding functions take a Bufbyte * arg.
8216         Use size_t instead of unsigned int for memory sizes.
8217         Only cast to unsigned char whenever dereferencing Extbyte *.
8218
8219         * doc.c (unparesseuxify_doc_string): Type correctness.
8220
8221         * console-x.c (split_up_display_spec):
8222         Rewrite without using details of internal string representation.
8223         (x_semi_canonicalize_device_connection): Type correctness.
8224
8225         * config.h.in:
8226         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8227         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8228         (HAVE_XFREE386): Removed.
8229
8230         * buffer.h (DEC_CHARPTR): `const' correctness.
8231         (bufbyte_strcmp): New.
8232         (bufbyte_memcmp): New.
8233
8234         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8235
8236         * buffer.h (XCHAR_OR_CHAR_INT):
8237         Always use inline function.
8238         Remove redundant type checking assert() - XINT will abort quite nicely.
8239
8240 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8241
8242         * search.c (Freplace_match): Set newtext to an empty string.
8243
8244 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8245
8246         * s/decosf1-3.h: Remove #include of stropts.h
8247         * s/ptx.h: Remove #include of stropts.h
8248         * s/usg5-4.h: Remove #include of stropts.h
8249         * sysproc.h:
8250         * config.h.in:
8251         Use stropts.h, not sys/stropts.h.
8252         Use strtio.h, not sys/strtio.h.
8253
8254 2000-10-04  Martin Buchholz <martin@xemacs.org>
8255
8256         * XEmacs 21.2.36 is released.
8257
8258 2000-09-21  Andy Piper  <andy@xemacs.org>
8259
8260         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8261         changes still involve copying the widget tree.
8262         (update_widget_face): make sure a change is register in the widget
8263         tree. Call update_tab_widget_face appropriately.
8264         (update_tab_widget_face): ditto.
8265         (x_tab_control_redisplay): make sure non-structural changes still
8266         involve copying the widget tree.
8267
8268 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8269
8270         * lread.c (locate_file): Check the path element is non-nil.
8271
8272 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8273
8274         * lisp.h: Warning suppression for SCO compilers.
8275
8276         * redisplay-tty.c (reset_tty_modes): Fix crash.
8277         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8278
8279 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8280
8281         Big signal/process handling overhaul.  Bugs fixed:
8282         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8283         M-x comint-kill-subjob should work for both values nil and t of
8284         process-connection-type. It was broken on most platforms.
8285         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8286         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8287         * process-unix.c: Signal/Process handling overhaul.
8288         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8289         (allocate_pty): Use all available modern methods of allocating
8290         ptys, falling back to old style BSD allocation as a last resort.
8291         Use allegedly more secure Unix98 pty allocation by default.
8292         (allocate_pty_the_old_fashioned_way): New. the last resort.
8293         (unix_create_process): Push ptem, ldterm, ttcompat where
8294         available.  Autoconfiscate.
8295         (try_to_initialize_subtty): New.
8296         (unix_kill_child_process): Proper signal handling for ptys on most
8297         platforms, using special knowledge of AIX, BSD, etc...
8298         (unix_create_process): Always disconnect_controlling_terminal() for
8299         subprocesses, whether using ptys or not.
8300         * process.h: Remove old getpt-dependent PTY code.
8301         * process.c (Fprocess_send_signal): New, obvious generic function.
8302         (decode_signal): New.
8303         (Finterrupt_process):
8304         (Fkill_process):
8305         (Fquit_process):
8306         (Fstop_process):
8307         (Fcontinue_process):
8308         (Fsignal_process): Use decode_signal.
8309         (process_send_signal):
8310         Many docstring corrections.
8311         Allow any signal to be sent to a process object.
8312         * config.h.in: Add symbols for big signal/process overhaul.
8313         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8314         * sysproc.h: Include process-related headers, where available:
8315         sys/stropts.h sys/strtio.h pty.h libutil.h
8316         * s/irix4-0.h:
8317         * s/irix5-0.h:
8318         * s/cygwin32.h:
8319         * s/gnu.h:
8320         * s/linux.h:
8321         * s/hpux.h:
8322         * s/aix3-1.h:
8323         Remove old S&M pty stuff.
8324         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8325         * systty.h: Simplify cpp hackery, improve comments.
8326         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8327
8328         * editfns.c (Fformat_time_string):
8329         Be a little more paranoid with the return value of ctime.
8330
8331         * fileio.c (check_executable):
8332         (check_writable):
8333         Use symbolic constants X_OK, W_OK.
8334
8335         * console-x.c (split_up_display_spec): Fix a warning.
8336
8337 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8338
8339         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8340         * ntproc.c (sys_spawnve): make_string ==> build_string
8341         Small clarity improvements.
8342
8343 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8344
8345         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8346
8347         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8348
8349         * config.h.in (HAVE_STRCASECMP): Remove.
8350
8351 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8352
8353         * redisplay-output.c (redisplay_output_pixmap):
8354         Cleaner and possibly more 64-bit correct code.
8355
8356 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8357
8358         * dumper.c (pdump_load_finish): move restoration of
8359         `noninteractive1' to emacs.c (main_1).
8360         * emacs.c (main_1): protect LISP-visible command-line flags
8361         from pdump_load().
8362
8363 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8364
8365         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8366         DUMP_TARGET instead of literal program names.
8367
8368 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8369
8370         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8371
8372 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8373
8374         * *: Spelling mega-patch
8375
8376 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8377
8378         * fns.c (bad_bad_turtle):
8379         Delete "Eek!" comment, since we fixed the bug to which it refers.
8380
8381 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8382
8383         * alloca.c: Replace REGISTER with register.
8384
8385 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8386
8387         * file-coding.c (ucs_to_char): Use countof.
8388
8389 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8390
8391         * file-coding.c: (ucs_to_char):
8392         (complex_vars_of_file_coding):
8393         Use countof instead of sizeof.
8394         Use CHECK_NATNUM instead of CHECK_INT.
8395
8396         * sysdep.c (strcasecmp): Remove.
8397         * device-x.c (ascii_strcasecmp): New.
8398         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8399         Avoid using non-standard non-portable strcasecmp.
8400
8401 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8402
8403         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8404         * font-lock.c: remove reference to emacsfns.h.
8405         * search.c: small doc improvement.
8406         * event-Xt.c: correct file names in comments.
8407         * console-x.h Correct file names in comments.
8408         * frame.c: Correct file names in comments.
8409         * event-stream.c: remove Energize from comments.
8410
8411 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8412
8413         * symeval.h (DEFERROR_STANDARD):
8414         (DEFERROR):
8415         (DEFSYMBOL):
8416         (DEFSYMBOL_NO_DUMP):
8417         (DEFSYMBOL_MULTIWORD_PREDICATE):
8418         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8419         (DEFKEYWORD):
8420         The construct &##name is not sensible C.
8421         Fixes compilation errors with Unixware native compiler.
8422
8423 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8424
8425         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8426         (next_frame_internal): Removed.  We now just have next_frame.
8427         (next_frame):
8428         Write a simpler and cleaner one-pass algorithm.
8429         Remove called_from_delete_device arg and #ifdefed-out code.
8430         (previous_frame):
8431         Renamed from prev_frame.  Update callers.
8432         Cleaned up to have an analogous implementation to next_frame.
8433         (other_visible_frames_internal): Remove the
8434         called_from_delete_device bogus arg, and hence, remove this
8435         function.  Just use other_visible_frames().
8436
8437         * window.c (Fnext_window):
8438         Prettify docstring.
8439         Since next_frame() is guaranteed to return a frame, remove check
8440         for nil inserted in previous patch.
8441         (Fprevious_window):
8442         Prettify docstring.
8443         Make code look more like Fnext_window.
8444         (window_loop):
8445         Respect the `console' arg when iterating through windows.
8446         Fixes bug: (get-buffer-window buffer t device) not respecting
8447         the `device' arg.
8448         This function needs more work, as others have pointed out.
8449
8450         * frame.h: Rename prev_frame to previous_frame.
8451         device_matches_console_spec no longer takes a `frame' arg.
8452
8453         * s/gnu.h:
8454         * s/linux.h:
8455         * s/hpux.h:
8456         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8457         From "Golubev I. N." <gin@mo.msk.ru>.
8458
8459         * make-src-depend: Fix typo.
8460
8461 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8462
8463         * window.c (Fnext_window):
8464         next_frame() might return nil, not a frame.
8465         Fixes this crash:
8466         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8467
8468         * frame.c (next_frame_internal):
8469         We've passed a frame if we've passed its device.
8470         Fixes this crash:
8471         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8472 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8473
8474 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8475
8476         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8477         Allow option to suppress accelerators in menu/dialog items.
8478         (populate_or_checksum_helper): Pass dialog title through above.
8479
8480 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8481
8482         * event-msw.c (mswindows_key_to_emacs_keysym):
8483         Add "pause" key, fix "menu" key.
8484
8485 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8486
8487         * eval.c (reinit_vars_of_eval):
8488         Increase max_lisp_eval_depth to 1000,
8489         required for thai-xtis.el to byte-compile under some circumstances.
8490
8491 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8492
8493         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8494         From Kenichi Handa.
8495
8496 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8497
8498         * make-src-depend: Make the generated Makefiles smaller.
8499
8500         * s/hpux.h (SETUP_SLAVE_PTY):
8501         Provide a %d in the format string for the errno argument.
8502
8503         * editfns.c (Ftemp_directory):
8504         Warning fix.
8505         Avoid buffer overrun on very long file name.
8506
8507         * input-method-xlib.c (XIM_init_device):
8508         6th parameter of XRegisterIMInstantiateCallback has different
8509         pointer types on different OSes, so simply cast to (void *).
8510
8511         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8512
8513         * sysdll.c (dll_open):
8514         shl_load will hang hard if passed a NULL filename.
8515         Simply return NULL for compatibility with dlopen.
8516         * sysdll.c: Conform to XEmacs coding standards.
8517
8518         * sysdep.c (get_pty_max_bytes):
8519         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8520
8521 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8522
8523         * tooltalk.c: Add #include <syssignal.h>
8524
8525 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8526
8527         * s/hpux.h: Don't use undefined function sigunblock().
8528
8529 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8530
8531         * config.h.in: Add HAVE_BALLOON_HELP.
8532         * emacs.c: Use HAVE_BALLOON_HELP.
8533         * Makefile.in.in (x_objs):
8534         Make Balloon Help conditional on finding shape.h.
8535
8536 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8537
8538         * syntax.c (regex_emacs_buffer_p): New variable.
8539         * syntax.h (regex_emacs_buffer_p): extern.
8540         * search.c (looking_at_1):
8541         (string_match_1):
8542         (fast_string_match):
8543         (search_buffer): Set regex_emacs_buffer_p.
8544         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8545         when before_dot, at_dot, after_dot.
8546
8547 2000-08-23  Andy Piper  <andy@xemacs.org>
8548
8549         * gui-x.c (popup_selection_callback): Only set action_occurred
8550         when we really have an image instance.
8551         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8552
8553 2000-08-23  Andy Piper  <andy@xemacs.org>
8554
8555         * gui-msw.c (mswindows_handle_gui_wm_command): set
8556         action_occurred.
8557         * gui-x.c (popup_selection_callback): ditto.
8558
8559         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8560         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8561         (struct Lisp_Image_Instance): add action_occurred flag.
8562
8563         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8564         (image_instance_changed): ditto.
8565         (reset_frame_subwindow_instance_cache): only unmap windows - do
8566         not remove them from the cache also.
8567
8568         * glyphs-widget.c (tab_control_update): better debug.
8569         (progress_gauge_update): ditto.
8570         (layout_update): ditto.
8571         (layout_instantiate): ditto.
8572         (tab_control_order_only_changed): cope with null pending items.
8573
8574         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8575         debug. Force selection of an item when an action occurred. Cope
8576         with null pending_items.
8577         (mswindows_progress_gauge_redisplay): better debug.
8578         * glyphs-x.c (x_tab_control_redisplay): ditto.
8579
8580         * redisplay.c (redisplay_frame): reset the frame cache if the
8581         frame is garbaged.
8582
8583         * window.c (Fset_window_configuration): potentially re-enable
8584         frame cache reset.
8585         (window_unmap_subwindows): need to finalize instances here since
8586         it is only used in mark_window_as_deleted.
8587
8588 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8589
8590         * nas.c (SndOpenDataForReading):
8591         nas.c (WaveOpenDataForReading):
8592         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8593         Somehow escaped from the 2000-08-14 patch.
8594
8595 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
8596
8597         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
8598         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
8599
8600 2000-08-21  Andy Piper  <andy@xemacs.org>
8601
8602         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
8603         window if it is not already displayed.
8604
8605         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
8606         it is not already displayed.
8607
8608         * window.c (Fset_window_configuration): don't reset the frame
8609         cache.
8610
8611         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
8612         instances from the frame cache if we are actually finalizing them.
8613         (reset_frame_subwindow_instance_cache): reset frame cache only
8614         after unmapping everything.
8615         (map_subwindow): set displayed flag after mapping.
8616
8617 2000-08-21  Martin Buchholz  <martin@xemacs.org>
8618
8619         * data.c (indirect_function):
8620         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
8621
8622         * eval.c (function_argcount):
8623         Use original function when signaling errors.
8624
8625 2000-08-18  Andy Piper  <andy@xemacs.org>
8626
8627         * frame.c (delete_frame_internal): use new
8628         free_frame_subwindow_instances name.
8629
8630         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
8631         (add_tab_item): make return type correct.
8632         (mswindows_tab_control_instantiate): assert index of tab.
8633         (mswindows_tab_control_redisplay): Re-code to use
8634         gui_item_equal_sans_selected and gui_item_list_find_selected.
8635
8636         * glyphs-widget.c (tab_control_update): Correct comment.
8637
8638         * window.c (window_unmap_subwindows): use new
8639         unmap_subwindow_instance_cache_mapper.
8640         (window_unmap_subwindows_cache_mapper): deleted.
8641         (Fset_window_configuration): comparisons should now be with
8642         EQ. Preserve the subwindow instance cache across configuration
8643         changes.
8644         (allocate_window): ditto.
8645         (make_dummy_parent): ditto.
8646
8647         * glyphs.c (free_frame_subwindow_instances): rename from
8648         free_frame_subwindow_instance_cache. finalize all instances rather
8649         than just those in the display cache.
8650         (finalize_all_subwindow_instances): walk windows unmapping and
8651         finalizing subwindows.
8652         (unmap_subwindow_instance_cache_mapper): moved from
8653         window.c. Allow finalization as well as unmapping.
8654
8655         * gui.c (gui_item_list_find_selected): new function.
8656
8657         * gui.h (gui_item_list_find_selected): declare.
8658
8659         * glyphs-x.c (x_tab_control_redisplay): pick tab
8660         explicitly. Re-code to use gui_item_equal_sans_selected and
8661         gui_item_list_find_selected.
8662
8663         * glyphs-x.h: add lwlib-utils.h
8664
8665         * buffer.c (Frecord_buffer): undo previous change.
8666
8667 2000-08-09  Vin Shelton  <acs@xemacs.org>
8668
8669         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
8670         possible.  Create temporary files more securely.  The patch was
8671         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
8672         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
8673         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
8674         for details.
8675
8676 2000-08-07  Ben Wing  <ben@xemacs.org>
8677
8678         * getloadavg.c: remove duplicate (and windows-breaking)
8679         includes of fcntl.h and sys/file.h.
8680
8681         * nt.c: remove duplicate getloadavg() definition.
8682
8683         * sysdll.h (Qdll_filename_encoding): add missing stand-in
8684         encodings.
8685
8686 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8687
8688         * eval.c (function_argcount): If function needs to be autoloaded
8689         actually use the loaded definition.
8690         GCPRO function.
8691
8692 2000-08-05  Ben Wing  <ben@xemacs.org>
8693
8694         * getloadavg.c: add prototype for getloadavg().  remove
8695         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
8696         of the code).  remove duplicate header includes.
8697
8698         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
8699
8700         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
8701         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
8702         useful load average.
8703
8704         * alloc.c (reinit_alloc_once_early): removed references to
8705         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
8706         the lisp vars are the only things referencing the malloc_sbrk_*
8707         vars, and they were already if 0'd out.  these vars only exist
8708         in the older malloc.c, which is basically unused, and they're
8709         only for informational purposes.
8710
8711         * m\*.h: removed useless VIRT_ADDR_VARIES.
8712
8713         * m\powerpc.h: removed stray NO_ARG_ARRAY.
8714
8715 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8716
8717         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
8718         color if the image is a mono pixmap.
8719
8720 2000-07-30  Ben Wing  <ben@xemacs.org>
8721
8722         * Makefile.in.in (release):
8723         Remove stray @.
8724
8725         * buffer.c (directory_is_current_directory):
8726         * dired-msw.c (mswindows_get_files):
8727         * dired.c:
8728         * dired.c (Fdirectory_files):
8729         * dired.c (file_name_completion_stat):
8730         * dired.c (Ffile_attributes):
8731         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
8732         preprocessor tricks, to avoid problems on some machines
8733         (e.g. SCO).
8734
8735         * callproc.c (egetenv): GC docs.
8736
8737         * console-msw.h:
8738         * console-msw.h (struct mswindows_dialog_id):
8739         * lrecord.h (lrecord_type):
8740         New object for use with MSW dialogs.
8741
8742         * console.h (struct console_methods):
8743         New enable/disable frame methods, for proper modal dialogs.
8744
8745         * device-msw.c (msprinter_default_printer): Fix to follow
8746         proper Mule conventions.
8747
8748         * device-msw.c:
8749         * device-msw.c (signal_open_printer_error):
8750         * device-msw.c (msprinter_init_device):
8751         * device-msw.c (ensure_not_printing):
8752         * device-msw.c (plist_get_margin):
8753         * device-msw.c (Fmsprinter_select_settings):
8754         * device-msw.c (finalize_devmode):
8755         * device-msw.c (Fmsprinter_settings_despecialize):
8756         * device-msw.c (signal_enum_priner_error):
8757         * extents.c (decode_extent):
8758         * extents.c (decode_map_extents_flags):
8759         * extents.c (decode_extent_at_flag):
8760         * extents.c (Fextent_at):
8761         * extents.c (Fextents_at):
8762         * extents.c (symbol_to_glyph_layout):
8763         [[[[2]]]] Use structured errors.
8764
8765         * dialog-msw.c:
8766         * dialog-msw.c (mswindows_is_dialog_msg):
8767         * dialog-msw.c (mark_mswindows_dialog_id):
8768         * dialog-msw.c (dialog_proc):
8769         * dialog-msw.c (handle_question_dialog_box):
8770         * dialog-msw.c (syms_of_dialog_mswindows):
8771         Define new object to clean up marking; use it as a dialog identifier.
8772         Call new delete-dialog-box-hook.
8773
8774         * dialog-x.c (dbox_selection_callback):
8775         * dialog-x.c (dbox_descriptor_to_widget_value):
8776         * dialog-x.c (x_make_dialog_box_internal):
8777         Call new delete-dialog-box-hook.
8778         Return an id.
8779
8780         * dialog.c:
8781         * dialog.c (syms_of_dialog):
8782         * dialog.c (vars_of_dialog):
8783         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
8784
8785         * eval.c:
8786         * eval.c (signal_call_debugger):
8787         when noninteractive, output stack traces on the console instead
8788         of in a (never-seen) buffer.
8789
8790         * eval.c (signal_type_error):
8791         * eval.c (invalid_argument_2):
8792         * lisp.h:
8793         new funs for use w/structured errors.
8794
8795         * event-Xt.c:
8796         * event-Xt.c (x_to_emacs_keysym):
8797         * event-Xt.c (describe_event):
8798         * event-Xt.c (emacs_Xt_event_handler):
8799         * event-Xt.c (vars_of_event_Xt):
8800         * event-msw.c:
8801         * event-msw.c (mswindows_wnd_proc):
8802         * event-msw.c (vars_of_event_mswindows):
8803         rename {x,mswindows}-debug-events to debug-{}-events for
8804         consistency with other debug-foo variables.
8805
8806         * event-stream.c:
8807         document next-event more clearly.
8808
8809         * fileio.c (Ffile_name_directory):
8810         * fileio.c (Ffile_name_nondirectory):
8811         * fileio.c (Funhandled_file_name_directory):
8812         * fileio.c (file_name_as_directory):
8813         * fileio.c (Ffile_name_as_directory):
8814         * fileio.c (directory_file_name):
8815         * fileio.c (Fdirectory_file_name):
8816         * fileio.c (Fmake_temp_name):
8817         * fileio.c (Ffile_truename):
8818         * fileio.c (Fsubstitute_in_file_name):
8819         * fileio.c (expand_and_dir_to_file):
8820         * fileio.c (barf_or_query_if_file_exists):
8821         * fileio.c (check_executable):
8822         * fileio.c (Ffile_exists_p):
8823         * fileio.c (Ffile_writable_p):
8824         * fileio.c (Ffile_directory_p):
8825         * fileio.c (Ffile_regular_p):
8826         * fileio.c (Ffile_modes):
8827         * fileio.c (Ffile_newer_than_file_p):
8828         * fileio.c (Fverify_visited_file_modtime):
8829         * fileio.c (Fset_visited_file_modtime):
8830         * fileio.c (auto_save_1):
8831         (1). (2).
8832         fix up gcpro's.
8833
8834         * frame-msw.c:
8835         * frame-msw.c (mswindows_init_frame_1):
8836         * frame-msw.c (mswindows_enable_frame):
8837         * frame-msw.c (error_frame_unsizable):
8838         * frame-msw.c (msprinter_init_frame_1):
8839         * frame-msw.c (msprinter_init_frame_3):
8840         * frame-msw.c (console_type_create_frame_mswindows):
8841         (2).
8842         implement new enable/disable frame methods.
8843
8844         * frame-x.c:
8845         * frame-x.c (x_enable_frame):
8846         * frame-x.c (console_type_create_frame_x):
8847         implement new enable/disable frame methods.
8848
8849         * frame.c:
8850         * frame.c (Fdisable_frame):
8851         * frame.c (syms_of_frame):
8852         * frame.h (struct frame):
8853         implement new enable/disable frame methods/functions.
8854
8855         * general-slots.h:
8856         add initial-focus.
8857
8858         * glyphs-msw.c (mswindows_widget_instantiate):
8859         comment that initial-focus should be implemented.
8860
8861         * glyphs-widget.c:
8862         * glyphs-widget.c (check_valid_instantiator):
8863         * glyphs-widget.c (check_valid_orientation):
8864         * glyphs-widget.c (check_valid_tab_orientation):
8865         * glyphs-widget.c (check_valid_justification):
8866         * glyphs-widget.c (check_valid_border):
8867         * glyphs-widget.c (check_valid_callback):
8868         * glyphs-widget.c (check_valid_int_or_function):
8869         * glyphs-widget.c (check_valid_string_or_vector):
8870         * glyphs-widget.c (check_valid_item_list_1):
8871         * glyphs-widget.c (widget_validate):
8872         * glyphs-widget.c (combo_box_validate):
8873         * glyphs-widget.c (widget_instantiate):
8874         * glyphs-widget.c (syms_of_glyphs_widget):
8875         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
8876         * glyphs-widget.c (image_instantiator_combo_box):
8877         * glyphs-widget.c (image_instantiator_scrollbar):
8878         * glyphs-widget.c (image_instantiator_tab_control):
8879         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
8880         (2).
8881         support (unimplemented) keyword initial-focus.
8882         reindent long macros.
8883
8884         * glyphs-x.c (x_redisplay_widget):
8885         * glyphs-x.c (x_button_instantiate):
8886         * glyphs-x.c (x_button_redisplay):
8887         * glyphs-x.c (x_progress_gauge_instantiate):
8888         * glyphs-x.c (x_edit_field_instantiate):
8889         * glyphs-x.c (x_combo_box_instantiate):
8890         * glyphs-x.c (x_tab_control_instantiate):
8891         * glyphs-x.c (x_label_instantiate):
8892         * gui-x.c:
8893         * gui-x.c (button_item_to_widget_value):
8894         * gui-x.c (gui_items_to_widget_values_1):
8895         * gui-x.c (gui_item_children_to_widget_values):
8896         * gui-x.c (gui_items_to_widget_values):
8897         * gui-x.h:
8898         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8899         add new flag to gui-parsing routines to indicate whether
8900         accelerator specs should be supported.
8901
8902         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
8903
8904         * glyphs.h (struct Lisp_Image_Instance):
8905         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
8906         add initial-focus flag.
8907
8908         * gui.c:
8909         * gui.c (syms_of_gui):
8910         * gui.c (vars_of_gui):
8911         clean up menu-no-selection-hook.
8912
8913         * gui.h:
8914         support delete-dialog-box-hook.
8915
8916         * lread.c (Fload_internal):
8917         * lread.c (locate_file_in_directory_mapper):
8918         (1).
8919
8920         * lrecord.h:
8921         * lrecord.h (struct toolbar_button):
8922         * lrecord.h (syms_of_toolbar):
8923         document how to create a new object.
8924
8925         * menubar-msw.c (mswindows_char_is_accelerator):
8926         may be called on frames w/o menus.
8927
8928         * menubar.c (vars_of_menubar):
8929         clean up :filter docs.
8930
8931         * nt.c (readdir):
8932         * ntproc.c:
8933         (1).
8934
8935         * process-nt.c:
8936         * process-nt.c (validate_signal_number):
8937         * process-nt.c (signal_cannot_launch):
8938         * process-nt.c (nt_create_process):
8939         * process-nt.c (nt_send_process):
8940         * process-nt.c (nt_kill_child_process):
8941         * process-nt.c (nt_open_network_stream):
8942         * process-nt.c (syms_of_process_nt):
8943         (2).
8944         delete quote-handling.  call new lisp code that does it better.
8945
8946         * process-unix.c (connect_to_file_descriptor):
8947         * process-unix.c (allocate_pty):
8948         * process-unix.c (unix_send_process):
8949         * process-unix.c (unix_kill_child_process):
8950         * process-unix.c (unix_open_network_stream):
8951         * process-unix.c (unix_open_multicast_group):
8952         (1). (2).
8953
8954         * process.c:
8955         * process.c (Fstart_process_internal):
8956         (2).  need to canonicalize process path even if absolute.
8957
8958         * select-msw.c (symbol_to_ms_cf):
8959         * select-msw.c (ms_cf_to_symbol):
8960         * select-msw.c (cf_is_autofreed):
8961         * select-msw.c (mswindows_destroy_selection):
8962         * select.c:
8963         * select.c (syms_of_select):
8964         * select.h:
8965         support dibv5, fix bugs. (from Mike Alexander)
8966
8967         * select.c (Fget_selection_internal):
8968         * select.c (select_convert_out):
8969
8970         * sysdep.c:
8971         * sysdep.c (xemacs_stat):
8972         renamed.
8973
8974         * sysdep.c (mkdir):
8975         * sysdep.c (rmdir):
8976         but keep original stat() here because we provide encapsulation
8977         around these funs.
8978
8979         * sysfile.h:
8980         * sysfile.h (fstat):
8981         remove stat garbage.
8982
8983         * syswindows.h:
8984         fix X/MSW conflict.
8985         don't include tchar.h.  it's inappropriate because it makes
8986         compile-time distinctions when we want runtime distinctions.
8987         (we provide our own tchar replacements)
8988
8989         * toolbar.c:
8990         use default object printer for toolbar-button.
8991
8992         * unexcw.c:
8993         make sure we don't encapsulate.
8994
8995         * window.c (vars_of_window):
8996         emphasize that temp-buffer-show-hook is obsolete.
8997
8998 2000-08-05  Martin Buchholz  <martin@xemacs.org>
8999
9000         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9001         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9002
9003         * events.c (Fevent_timestamp_lessp):
9004         Not 64-bit clean.  Use EMACS_INT, not int.
9005
9006 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9007
9008         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9009         unsigned int and changed the last enum to
9010         lrecord_type_last_built_in_type.
9011         (lrecord_implementations_table): changed prototype to know how
9012         long the array is supposed to be.
9013         (lrecord_type_count): new unsigned int to keep track of the
9014         current number of lisp lrecord types.
9015         (DEFINE_EXTERNAL_LRECORD):
9016         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9017         dynamic-modules to declare new lisp types. They are the same
9018         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9019         int for each new type, and increment lrecord_type_count by 1.
9020
9021         * alloc.c (lrecord_implementations_table): Changed to reference
9022         lrecord_type_last_built_in_type for the size of the array.
9023         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9024
9025 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9026
9027         * glyphs.h (check_valid_item_list): Renamed from
9028         check_valid_item_list_1.
9029
9030 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9031
9032         * select.c (Qselect_coerce): New.
9033         * select.c (Vselection_coercion_alist): New.
9034         * select.c (syms_of_select): Declare.
9035         * select.c (get-selection-internal): Use it.
9036         Use the new select-coerce functionality.
9037
9038         * select.c (select_coerce): New.
9039         * select.h (select_coerce): Declare.
9040         New function to coerce one type of data into another.
9041
9042 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9043
9044         * callproc.c (Fcall_process_internal):
9045         (Fcall_process_internal):
9046         * process-unix.c (unix_create_process):
9047         Save and restore the value of errno, so that error messages are accurate.
9048
9049 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9050
9051         * elhash.c (print_hash_table):
9052         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9053         Prettify docstrings and indentation.
9054
9055 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9056
9057         * window.c (Fwindow_pixel_edges): Subtract frame border and
9058         gutter size.
9059
9060 2000-07-31  Andy Piper  <andy@xemacs.org>
9061
9062         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9063         will acknowledge the change.
9064
9065         * glyphs.h: declare tab_control_order_only_changed.
9066
9067         * glyphs-x.c (x_tab_control_redisplay): use
9068         tab_control_order_only_changed.
9069
9070         * glyphs-widget.c (tab_control_order_only_changed): new function.
9071
9072         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9073         tab_control_order_only_changed.
9074
9075         * gui.c (gui_item_equal_sans_selected): new function.
9076         (gui_item_equal): use it.
9077
9078         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9079         :properties in favor of :items..
9080
9081         * glyphs-widget.c (check_valid_item_list): rename from
9082         check_valid_item_list_1.
9083         (check_valid_item_list_1): renamed.
9084         (combo_box_validate): deprecate :properties in favor of :items.
9085         (widget_instantiate): ditto.
9086         (tab_control_update): ditto.
9087         (image_instantiator_combo_box): ditto.
9088         (image_instantiator_tree_view): ditto.
9089         (image_instantiator_tab_control): ditto.
9090         (layout_post_instantiate): remove dead code.
9091
9092         * print.c (debug_print_no_newline): only write to debugger if in
9093         WIN32_NATIVE.
9094
9095         * elhash.c (Fmake_hash_table): update doc string.
9096
9097         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9098         messages whilst in GC. This at least stops XEmacs crashing but has
9099         the potential for wierd behaviour.
9100
9101 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9102
9103         * config.h.in:
9104         Make existence of s&m files optional.
9105
9106         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9107         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9108         * s/gnu.h: Remove HAVE_GETLOADAVG.
9109         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9110         * s/sol2.h: Remove HAVE_GETLOADAVG.
9111         * lisp.h: Remove getloadavg() declaration.
9112         * fns.c:
9113         Include <sys/loadavg.h> if available.
9114         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9115         * config.h.in:  Group together getloadavg()-related macros.
9116         Use only configure-time tests to detect getloadavg().
9117
9118 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9119
9120         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9121
9122 2000-07-25  Andy Piper  <andy@xemacs.org>
9123
9124         * syswindows.h: add tchar.h for native builds.
9125
9126         * frame.c (syms_of_frame): remove set-glyph-image.
9127
9128         * general-slots.h: add Qset_glyph_image.
9129
9130         * glyphs-widget.c (layout_update): add domain arg to
9131         set-glyph-image.
9132         (syms_of_glyphs_widget): remove set-glyph-image.
9133
9134 2000-07-23  Ben Wing  <ben@xemacs.org>
9135
9136         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9137         Vpopup_frame_list.
9138
9139 2000-07-22  Andy Piper  <andy@xemacs.org>
9140
9141         * symsinit.h: add syms_of_win32().
9142
9143         * gui-msw.c (syms_of_gui_mswindows): remove
9144         Fmswindows_shell_execute.
9145         (Fmswindows_shell_execute): moved to win32.c.
9146
9147         * emacs.c (main_1): add syms_of_win32 ().
9148
9149         * win32.c (init_potentially_nonexistent_functions): rewrite in
9150         compiler-friendly terms.
9151         (Fmswindows_shell_execute): move here from gui-msw.c.
9152         (syms_of_win32): new.
9153
9154         * device-msw.c (Fmswindows_printer_list): clean up args to
9155         EnumPrinters.
9156         Don't include tchar under cygwin or mingw.
9157         (msprinter_default_printer): make cygwin-friendly.
9158
9159 2000-07-21  Andy Piper  <andy@xemacs.org>
9160
9161         * glyphs-widget.c (image_instantiator_tree_view): use tab
9162         control's update function.
9163         (layout_property): new function. Retrieve items.
9164
9165         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9166         function. Re-populate the tree view from the pending items.
9167
9168         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9169         is designated the parent if the domain is an image instance. This
9170         is needed so that dirtiness can be cascade up the hierarchy and
9171         thus for layout children to be redisplayed correctly.
9172         (allocate_image_instance): rename glyph -> parent.
9173
9174         * redisplay.h: change redisplay_output_layout signature.
9175
9176         * redisplay-msw.c (mswindows_output_display_block): use domain
9177         arg.
9178
9179         * redisplay-x.c (x_output_display_block): use domain arg.
9180
9181 2000-07-10  Andy Piper  <andy@xemacs.org>
9182
9183         * window.c (Fset_window_configuration): add comment.
9184
9185         * redisplay-output.c (compare_runes):
9186         (redisplay_output_subwindow): redisplay rather than update subwindow.
9187         (redisplay_output_layout): ditto.
9188
9189         * redisplay-msw.c (mswindows_frame_output_end):
9190         (mswindows_frame_output_end): make defer window pos optional.
9191
9192         * lisp.h: add Flast.
9193
9194         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9195         normalize method. Change update method to be for changed
9196         instantiators. Add redisplay method. Change signature of layout
9197         method.
9198         (struct Lisp_Image_Instance): add instantiator.
9199         (IMAGE_INSTANCE_INSTANTIATOR): new.
9200         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9201         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9202         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9203
9204         * glyphs.c:
9205         (find_instantiator_differences): new function.
9206         (Fset_instantiator_property): new convenience function.
9207         (check_image_instance_structure): strictly check for vector
9208         instantiators.
9209         (normalize_image_instantiator): make non-static.
9210         (instantiate_image_instantiator): pass on dest_mask and use new
9211         signatures for image_instance_layout and friends.
9212         (mark_image_instance): mark the instantiator. Mark the subwindow
9213         face not the widget face.
9214         (image_instance_equal): add instantiator.
9215         (image_instance_hash): ditto.
9216         (allocate_image_instance): ditto.
9217         (Fset_image_instance_property): removed.
9218         (Fimage_instance_file_name): ditto.
9219         (Fcolorize_image_instance): ditto.
9220         (image_instance_layout): add offsets to be set.
9221         (update_image_instance): new function. update an image instance
9222         from its changed instantiator.
9223         (inherit_normalize): add dest_mask.
9224         (xbm_normalize): ditto.
9225         (xface_normalize): ditto.
9226         (xpm_normalize): ditto.
9227         (text_update): set_property -> update.
9228         (image_instantiate): use the glyph identity as a hash key, not the
9229         instantiator.
9230         (glyph_width): use new image_instance_layout signature.
9231         (glyph_ascent): ditto.
9232         (glyph_descent): ditto.
9233         (glyph_height): ditto.
9234         (glyph_query_geometry): ressurrect.
9235         (glyph_layout): ditto.
9236         (redisplay_subwindow): update -> redisplay.
9237         (syms_of_glyphs): add Fset_instantiator_property.
9238         (image_instantiator_format_create): set_property -> update.
9239
9240         * glyphs-x.c:
9241         (autodetect_normalize): add dest_maks to signature.
9242         (x_redisplay_subwindow): update -> redisplay.
9243         (x_redisplay_widget): ditto.
9244         (x_button_redisplay): ditto.
9245         (x_progress_gauge_redisplay): ditto.
9246         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9247         stacking order.
9248         (console_type_create_glyphs_x): update -> redisplay.
9249         (image_instantiator_format_create_glyphs_x): ditto.
9250
9251         * glyphs-widget.c:
9252         (check_valid_instantiator): disallow glyphs in the instantiator,
9253         they must now be vectors.
9254         (check_valid_instantiator_list): ditto.
9255         (glyph_instantiator_to_glyph): use internal symbol rather than
9256         intern.
9257         (widget_update): renamed from widget_set_property. Call cascaded
9258         update methods.
9259         (redisplay_widget): renamed from update_widget.
9260         (widget_layout): image_instance_layout now takes position as well
9261         as size.
9262         (widget_normalize): ditto.
9263         (widget_instantiate): ditto.
9264         (tab_control_query_geometry) ditto.:
9265         (tab_control_update): renamed from tab_control_set_property.
9266         (progress_gauge_update): set_property -> update.
9267         (layout_normalize): rewrite so that child instantiators are
9268         normalized also.
9269         (layout_update): new function. Create glyphs from the normalized
9270         children and cope with any other layout keywords. We do not
9271         instantiate children here that will be take care of by
9272         redisplay_output_layout.
9273         (layout_instantiate): call layout_update and not much else.
9274         (layout_post_instantiate): not sure whether this is needed
9275         anymore.
9276         (layout_query_geometry): query glyph geometry rather than
9277         image_instance geometry.
9278         (layout_layout): set offsets from pass in parameters. Use glyph
9279         geometry and layout functions rather than image instance ones.
9280         (native_layout_layout): ditto.
9281         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9282         (image_instantiator_widget): set_property -> update.
9283         (image_instantiator_buttons): ditto.
9284         (image_instantiator_progress_guage): ditto.
9285         (image_instantiator_tab_control): ditto.
9286         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9287         (image_instantiator_layout): add update method.
9288
9289         * glyphs-msw.c (bmp_normalize):
9290         (mswindows_resource_normalize): add dest_mask so that it can be
9291         proprogated by layout_normalize.
9292         (begin_defer_window_pos): make optional because it may not be the
9293         right thing to do and it introduces differences with X.
9294         (mswindows_unmap_subwindow): ditto.
9295         (mswindows_map_subwindow): ditto.
9296         (mswindows_redisplay_subwindow): renamed from
9297         mswindows_update_subwindow.
9298         (mswindows_redisplay_widget): ditto.
9299         (mswindows_button_redisplay): renamed from
9300         mswindows_button_update. Update is now what the instantiation
9301         function does for a changed instantiator.
9302         (mswindows_progress_gauge_instantiate): set the progress value
9303         here if appropriate.
9304         (mswindows_tab_control_redisplay): cope with re-ordering of the
9305         members of the tab widget by simply selecting the new top
9306         widget. This makes things appear ok if you click on a tab.
9307         (mswindows_combo_box_instantiate): image_instance_layout now takes
9308         position as well as size.
9309         (mswindows_progress_gauge_redisplay): renamed from
9310         mswindows_progress_gauge_update.
9311         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9312         (image_instantiator_format_create_glyphs_mswindows): ditto.
9313
9314         * glyphs-eimage.c (jpeg_normalize):
9315         (gif_normalize):
9316         (png_normalize):
9317         (tiff_normalize): add dest_mask so that it can be proprogated by
9318         layout_normalize.
9319
9320         * elhash.c:
9321         (print_hash_table):
9322         (hash_table_weakness_validate):
9323         (decode_hash_table_weakness):
9324         (Fhash_table_weakness):
9325         (Fhash_table_type):
9326         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9327
9328         * console.h (struct console_methods): move update_* to
9329         redisplay_*.
9330
9331 2000-07-20  Ben Wing  <ben@xemacs.org>
9332
9333         * *.[ch] (XSETOBJ): remove unused middle argument.
9334         lisp-disunion.h: correct wrap_object() to one argument.
9335
9336 2000-07-15  Ben Wing  <ben@xemacs.org>
9337
9338         * s/cygwin32.h:
9339         * s/cygwin32.h (CYGWIN_CONV_PATH):
9340         Add missing logb prototype for v1.1.
9341         Use post-b20 names and alias to pre-b20 names when pre-b20.
9342
9343         * s/windowsnt.h: [5].
9344
9345 2000-07-15  Ben Wing  <ben@xemacs.org>
9346
9347         * Makefile.in.in (x_objs):
9348         * Makefile.in.in (sheap_objs):
9349         * Makefile.in.in (objs):
9350         added win32.o, cosmetic cleanups.
9351
9352         * alloc.c (Fmake_byte_code):
9353         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9354         etc. macros which declare their own args now.
9355
9356         * alloc.c (syms_of_alloc):
9357         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9358
9359         * buffer.c:
9360         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9361
9362         * buffer.c (Fget_file_buffer):
9363         Fixed GCPRO problem.
9364
9365         * buffer.c (get_truename_buffer):
9366         Fixed comment about GC checking.
9367
9368         * buffer.c (syms_of_buffer):
9369         Undeclared those dedicated frame funs.
9370         [2].
9371
9372         * buffer.h:
9373         Define convenience macros for internal/external conversions.
9374         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9375         and Qenvironment_variable_encoding for cleaner code.
9376
9377         * bufslots.h:
9378         Remove dedicated-frame; in lisp.
9379
9380         * bytecode.c (funcall_compiled_function):
9381         [1].
9382
9383         * bytecode.c (syms_of_bytecode):
9384         [2].
9385
9386         * console-msw.c:
9387         * console-msw.c (mswindows_show_console): Rewrote.
9388
9389         * console-msw.c (Fmswindows_debugging_output): New.
9390         Sends to OutputDebugString (special MSWin debugger interface).
9391
9392         * console-msw.c (Fmswindows_message_box):
9393         Fixed stupid bugs so it works when called from kill-emacs.
9394
9395         * console-msw.c (syms_of_console_mswindows):
9396         Declare Fmswindows_debugging_output.
9397
9398         * console-msw.h:
9399         New MSWin prototypes.
9400
9401         * console-msw.h (struct mswindows_frame):
9402         New entry last-click-mods for improved button-modifier support.
9403
9404         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9405         New struct entry `popup' with corresponding accessor.
9406
9407         * console-x.c:
9408         * console-x.c (split_up_display_spec):
9409         * console-x.c (get_display_arg_connection):
9410         * console-x.c (x_semi_canonicalize_console_connection):
9411         * console-x.c (x_canonicalize_device_connection):
9412         [[[6]]]: Change char to more specific type.
9413         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9414
9415         * console-x.c (x_semi_canonicalize_console_connection):
9416         * console-x.c (x_canonicalize_device_connection):
9417         [[[9]]]: Fix up error signalling to use new structured error system.
9418
9419         * console-x.h:
9420         [[[4]]]: Define codesys aliases:
9421         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9422         Qx_color_name_encoding, Qx_display_name_encoding.
9423
9424         * console.h (struct console_methods):
9425         New method make_dialog_box_internal supersedes older
9426         popup_dialog_box method.
9427
9428         * data.c:
9429         Define many new errors, part of new structured errors.
9430
9431         * data.c (init_errors_once_early):
9432         * data.c (syms_of_data):
9433         [2].
9434
9435         * device-msw.c (mswindows_init_device):
9436         [[[5]]]: Cleanup to support NT 3.51.
9437
9438         * device-msw.c (decode_devmode): Cleanup.
9439
9440         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9441         * device-msw.c (mswindows_handle_print_dialog_box):
9442         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9443         * device-msw.c (syms_of_device_mswindows):
9444         Delete the dialog box primitives recently introduced by Kirill and
9445         instead interface to general dialog box interface.
9446
9447         * device-x.c:
9448         * device-x.c (compute_x_app_name):
9449         * device-x.c (x_init_device):
9450         * device-x.c (Fx_valid_keysym_name_p):
9451         * device-x.c (Fx_set_font_path):
9452         [6].
9453         [7].
9454
9455         * device.h (wrap_device): New.
9456         First of its kind; meant to replace XSETDEVICE.
9457
9458         * dialog-msw.c: Many file-dialog symbols.
9459
9460         * dialog-msw.c (mswindows_register_popup_frame): New.
9461         * dialog-msw.c (mswindows_is_dialog_msg): New.
9462         For supporting kbd traversal in dialog boxes.
9463
9464         * dialog-msw.c (dialog_proc):
9465         Support hitting ESC in dialogs.
9466
9467         * dialog-msw.c (struct):
9468         Common dialog box errors.
9469
9470         * dialog-msw.c (handle_file_dialog_box): New.
9471         Add file dialog code.
9472
9473         * dialog-msw.c (handle_question_dialog_box):
9474         Redo existing code to support new question dialog syntax.
9475
9476         * dialog-msw.c (console_type_create_dialog_mswindows):
9477         We support new dialog console method.
9478
9479         * dialog-msw.c (syms_of_dialog_mswindows):
9480         * dialog-msw.c (vars_of_dialog_mswindows):
9481         New file dialog symbols, vars.
9482
9483         * dialog-x.c:
9484         * dialog-x.c (maybe_run_dbox_text_callback):
9485         * dialog-x.c (dbox_descriptor_to_widget_value):
9486         * dialog-x.c (x_make_dialog_box_internal):
9487         * dialog-x.c (console_type_create_dialog_x):
9488         Mule-ize entire file.
9489         Redo to support question dialog syntax.
9490         [6].
9491
9492         * dialog.c:
9493         * dialog.c (Fmake_dialog_box_internal):
9494         * dialog.c (syms_of_dialog):
9495         Kill old popup-dialog-box, replace with new primitive.
9496         Just call device method or signal error.
9497
9498         * eldap.c (Fldap_open):
9499         * eldap.c (Fldap_search_basic):
9500         * eldap.c (Fldap_add):
9501         * eldap.c (Fldap_modify):
9502         [1].
9503         [7].
9504
9505         * emacs.c:
9506         * emacs.c (make_arg_list_1):
9507         * emacs.c (make_arg_list):
9508         Mule-ize call to dll_init().
9509         [6].
9510         [8].
9511
9512         * emacs.c (make_argc_argv):
9513         * emacs.c (free_argc_argv):
9514         * emacs.c (init_cmdargs):
9515         * emacs.c (main_1):
9516         * emacs.c (Fkill_emacs):
9517         * emacs.c (Fdump_emacs):
9518         Update comments about what can be used in syms_* etc.
9519         Call init_win32() when necessary.
9520         Fix up MS Win dialog box in kill-buffer to actually work right.
9521         [7].
9522
9523         * eval.c:
9524         * eval.c (For):
9525         * eval.c (Fand):
9526         * eval.c (Fprogn):
9527         * eval.c (Fprog1):
9528         * eval.c (Fprog2):
9529         * eval.c (FletX):
9530         * eval.c (Flet):
9531         * eval.c (condition_case_3):
9532         * eval.c (Feval):
9533         * eval.c (function_argcount):
9534         * eval.c (funcall_lambda):
9535         [1].
9536
9537         * eval.c (type_error): New.
9538         * eval.c (maybe_type_error): New.
9539         * eval.c (continuable_type_error): New.
9540         * eval.c (maybe_continuable_type_error): New.
9541         * eval.c (type_error_with_frob): New.
9542         * eval.c (maybe_type_error_with_frob): New.
9543         * eval.c (continuable_type_error_with_frob): New.
9544         * eval.c (maybe_continuable_type_error_with_frob): New.
9545         New functions for use with structured errors.
9546
9547         * event-Xt.c:
9548         * event-Xt.c (x_event_to_emacs_event):
9549         Buttons are now modifiers too.
9550
9551         * event-Xt.c (emacs_Xt_current_event_timestamp):
9552         Implement new event method.
9553         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9554
9555         * event-msw.c:
9556         * event-msw.c (ntpipe_shove_writer): [5].
9557         * event-msw.c (mswindows_enqueue_mouse_button_event):
9558         * event-msw.c (mswindows_drain_windows_queue):
9559         * event-msw.c (mswindows_wnd_proc): [7].
9560         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9561         * event-msw.c (mswindows_modifier_state):
9562         Throughout: support new button modifiers.
9563
9564         * event-msw.c (emacs_mswindows_current_event_timestamp):
9565         Implement new event method.
9566         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9567
9568         * event-stream.c:
9569         * event-stream.c (event_stream_current_event_timestamp): New.
9570         * event-stream.c (maybe_kbd_translate): New functionality.
9571         * event-stream.c (vars_of_event_stream):
9572         Document new kbd-translate-table functionality.
9573
9574         * event-stream.c (Fcurrent_event_timestamp): New.
9575         New primitive for use in fabricated events.
9576         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9577
9578         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9579
9580         * events.c:
9581         * events.c (Fmake_event):
9582         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9583         [1].
9584         [9].
9585
9586         * events.c (format_event_object): fix gcc warnings.
9587
9588         * events.c (Fevent_timestamp): Document new primitives.
9589
9590         * events.c (TIMESTAMP_HALFSPACE): New.
9591
9592         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9593         comparing timestamps correctly (half-space algorithm).
9594
9595         * events.c (Fevent_modifier_bits): Doc fix.
9596
9597         * events.c (Fevent_modifiers): Major doc addition.
9598         * events.c (event_x_y_pixel_internal): Typo fix.
9599         * events.c (syms_of_events): Declare new primitives.
9600
9601         * events.h:
9602         Update long comment for button modifiers, timestamps.
9603
9604         * events.h (struct event_stream):
9605         New current_event_timestamp method.
9606
9607         * extents.c:
9608         * extents.c (extent_in_region_p):
9609         * extents.c (decode_extent):
9610         * extents.c (Fset_extent_parent):
9611         * extents.c (decode_map_extents_flags):
9612         Fix gcc warnings.
9613         [9].
9614
9615         * extents.c (struct extent_at_arg):
9616         * extents.c (decode_extent_at_flag):
9617         * extents.c (extent_at_mapper):
9618         * extents.c (extent_at_bytind):
9619         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
9620         * extents.c (Fextents_at): New primitive. [9].
9621         * extents.c (symbol_to_glyph_layout): [9].
9622         Support new primitive `extents-at'.
9623
9624
9625         * extents.c (get_text_property_bytind):
9626         extent_at_bytind has another arg.
9627         [9].
9628
9629         * extents.c (syms_of_extents): New primitive.
9630
9631         * file-coding.c (Fmake_coding_system): [1].
9632         * file-coding.c (subsidiary_coding_system): fix gcc warning
9633         * file-coding.c (syms_of_file_coding): [2].
9634
9635         * fileio.c (Fexpand_file_name):
9636         * fileio.c (Fsysnetunam):
9637         * fileio.c (Ffile_exists_p):
9638         * fileio.c (Ffile_executable_p):
9639         * fileio.c (Fverify_visited_file_modtime):
9640         Clean up GCPROing.
9641
9642         * fileio.c (syms_of_fileio): [2].
9643
9644         * filelock.c (lock_file_1):
9645         * filelock.c (current_lock_owner):
9646         * filelock.c (lock_if_free):
9647         * filelock.c (lock_file):
9648         * filelock.c (unlock_file):
9649         Clean up GCPROing.
9650
9651         * fns.c (concat): Fix gcc warning.
9652
9653         * fns.c (Fmember):
9654         * fns.c (Fold_member):
9655         * fns.c (Fmemq):
9656         * fns.c (Fold_memq):
9657         * fns.c (memq_no_quit):
9658         * fns.c (Fassoc):
9659         * fns.c (Fold_assoc):
9660         * fns.c (Fassq):
9661         * fns.c (Fold_assq):
9662         * fns.c (assq_no_quit):
9663         * fns.c (Frassoc):
9664         * fns.c (Fold_rassoc):
9665         * fns.c (Frassq):
9666         * fns.c (Fold_rassq):
9667         * fns.c (rassq_no_quit):
9668         * fns.c (Fdelete):
9669         * fns.c (Fold_delete):
9670         * fns.c (Fdelq):
9671         * fns.c (Fold_delq):
9672         * fns.c (delq_no_quit):
9673         * fns.c (Fremassoc):
9674         * fns.c (Fremassq):
9675         * fns.c (remassq_no_quit):
9676         * fns.c (Fremrassoc):
9677         * fns.c (Fremrassq):
9678         * fns.c (remrassq_no_quit):
9679         * fns.c (Freverse):
9680         * fns.c (mapcar1):
9681         [1].
9682
9683         * frame-msw.c (mswindows_init_frame_1):
9684         * frame-msw.c (mswindows_delete_frame):
9685         Register popups with dialog code so keyboard traversing works.
9686
9687         * frame-tty.c (tty_raise_frame_no_select): [1].
9688
9689         * frame-x.c:
9690         * frame-x.c (x_set_frame_text_value):
9691         * frame-x.c (x_set_frame_properties):
9692         * frame-x.c (x_create_widgets):
9693         [7].
9694
9695         * frame.c:
9696         * frame.c (Fmouse_pixel_position): Minor doc fixes.
9697
9698         * frame.h (wrap_frame): New.
9699         Macro like wrap_device.
9700
9701         * general.c:
9702         * general.c (SYMBOL):
9703         * general.c (syms_of_general):
9704         Major reorg.  This is now just a wrapper and symbols themselves
9705         are listed in general-slots.h.
9706
9707         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
9708         * glyphs-msw.c (mswindows_resource_instantiate): [5].
9709
9710         * glyphs-msw.c (mswindows_native_layout_instantiate):
9711         Add DS_CONTROL so keyboard traversal will work.
9712
9713         * glyphs-widget.c:
9714         * glyphs-widget.c (syms_of_glyphs_widget):
9715         Move some symbols to general-slots.h.
9716
9717         * glyphs-x.c:
9718         * glyphs-x.c (xbm_instantiate_1):
9719         * glyphs-x.c (x_xbm_instantiate):
9720         * glyphs-x.c (x_xface_instantiate):
9721         * glyphs-x.c (autodetect_instantiate):
9722         * glyphs-x.c (cursor_font_instantiate):
9723         * glyphs-x.c (x_update_widget):
9724         * glyphs-x.c (x_widget_instantiate):
9725         * glyphs.c (bitmap_to_lisp_data):
9726         * glyphs.c (pixmap_to_lisp_data):
9727         [7].
9728
9729         * glyphs.c (syms_of_glyphs):
9730         [2].
9731
9732         * gui-x.c:
9733         * gui-x.c (print_widget_value):
9734         * gui-x.c (menu_separator_style_and_to_external):
9735         * gui-x.c (add_accel_and_to_external):
9736         * gui-x.c (button_item_to_widget_value):
9737         * gui-x.c (gui_items_to_widget_values_1):
9738         * gui-x.c (gui_items_to_widget_values):
9739         * gui-x.c (syms_of_gui_x):
9740         * gui-x.c (vars_of_gui_x):
9741         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
9742         [9].
9743
9744         * gui-x.h:
9745         Muleize, prototype changes matching gui-x.c.
9746
9747         * gui.c:
9748         * gui.c (separator_string_p):
9749         * gui.c (gui_item_add_keyval_pair):
9750         * gui.c (make_gui_item_from_keywords_internal):
9751         * gui.c (signal_too_long_error):
9752         * gui.c (parse_gui_item_tree_item):
9753         * gui.c (syms_of_gui):
9754         * gui.c (vars_of_gui):
9755         * gui.h:
9756         menu-no-selection-hook moved here (used by MSWin).
9757         Move some symbols to general-slots.h.
9758         [6].
9759         [9].
9760
9761         * insdel.c (get_buffer_pos_char):
9762         * insdel.c (get_buffer_range_char):
9763         Add GC comments.
9764
9765         * keymap.c (keymap_lookup_directly):
9766         * keymap.c (keymap_store):
9767         * keymap.c (ensure_meta_prefix_char_keymapp):
9768         * keymap.c (describe_map):
9769         * keymap.h:
9770         Support new button modifiers.
9771
9772         * lisp-disunion.h (wrap_object):
9773         * lisp-disunion.h (XSETOBJ):
9774         Rename make_obj to wrap_object.
9775
9776         * lisp-union.h:
9777         * lisp-union.h (make_int):
9778         * lisp-union.h (make_char):
9779         Support wrap_object.
9780
9781         * lisp.h:
9782         * lisp.h (LIST_LOOP):
9783         * lisp.h (EXTERNAL_LIST_LOOP):
9784         * lisp.h (LIST_LOOP_2):
9785         * lisp.h (EXTERNAL_LIST_LOOP_1):
9786         * lisp.h (EXTERNAL_LIST_LOOP_2):
9787         * lisp.h (EXTERNAL_LIST_LOOP_3):
9788         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
9789         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9790         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
9791         * lisp.h (EXTERNAL_ALIST_LOOP_5):
9792         * lisp.h (EXTERNAL_ALIST_LOOP_6):
9793         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
9794         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
9795         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
9796         * lisp.h (struct Lisp_Symbol):
9797         * lisp.h (maybe_continuable_error_with_frob):
9798         Fix up section comments.
9799         Add new types for char to indicate usage.
9800         Delete symbols auto-generated from general-slots.h.
9801         Add prototypes for structured error functions.
9802         Add long comments describing looping macros and change interface
9803         so that lvalues are automatically declared.
9804         Add NO_DECLARE macro in case callers want to declare lvalues
9805         themselves.
9806
9807         * lread.c (read_syntax_error):
9808         * lread.c (continuable_read_syntax_error):
9809         * lread.c (read_structure):
9810         * lread.c (sequence_reader):
9811         * lread.c (read_list_conser):
9812         * lread.c (read_compiled_function):
9813         Rename syntax_error and continuable_syntax_error to avoid clash
9814         with same-named structured error functions.
9815
9816         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9817         * menubar-msw.c (populate_menu_add_item):
9818         * menubar-msw.c (populate_or_checksum_helper):
9819         [5].
9820         [9].
9821
9822         * menubar-x.c:
9823         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9824         Mule-ize whole file.
9825
9826         * menubar.c (Fnormalize_menu_item_name): Add optimization.
9827
9828         * mule-charset.c (Fmake_charset):
9829         * mule-wnnfns.c (Fwnn_set_param):
9830         [1].
9831
9832         * ntproc.c (create_child):
9833         * ntproc.c (Fwin32_set_current_locale):
9834         Add comments portending doom.
9835
9836         * objects-msw.c:
9837         * objects-msw.c (old_font_enum_callback_2):
9838         * objects-msw.c (font_enum_callback_1):
9839         * objects-msw.c (mswindows_enumerate_fonts):
9840         [5].
9841
9842         * objects-x.c:
9843         * objects-x.c (allocate_nearest_color):
9844         * objects-x.c (x_parse_nearest_color):
9845         * objects-x.c (x_initialize_color_instance):
9846         * objects-x.c (x_print_color_instance):
9847         * objects-x.c (x_finalize_color_instance):
9848         * objects-x.c (x_valid_color_name_p):
9849         * objects-x.c (x_initialize_font_instance):
9850         * objects-x.c (x_print_font_instance):
9851         * objects-x.c (valid_x_font_name_p):
9852         * objects-x.c (truename_via_FONT_prop):
9853         * objects-x.c (truename_via_random_props):
9854         * objects-x.c (truename_via_XListFonts):
9855         * objects-x.c (x_font_truename):
9856         * objects-x.c (x_font_instance_truename):
9857         * objects-x.c (x_font_instance_properties):
9858         * objects-x.c (x_list_fonts):
9859         * objects-x.c (x_find_charset_font):
9860         Mule-ize entire file.
9861         [7].
9862
9863         * objects-x.h:
9864         Mule-verify.
9865
9866         * print.c:
9867         * print.c (std_handle_out_external):
9868         * print.c (debug_print_no_newline):
9869         * print.c (syms_of_print):
9870         Output to all debugger kinds in debug-print.
9871         Fix console-output code under MSWin to actually work.
9872
9873         * process-nt.c (send_signal):
9874         * process-nt.c (nt_create_process):
9875         Use newer Unicode macros.
9876
9877         * process-unix.c (unix_create_process):
9878         * process-unix.c (unix_canonicalize_host_name):
9879         * process-unix.c (unix_open_network_stream):
9880         [7].
9881
9882         * scrollbar-x.c:
9883         Mule-verify.
9884
9885         * search.c (syms_of_search):
9886         [2].
9887
9888         * select-msw.c (mswindows_destroy_selection):
9889         Use LIST_LOOP_2.
9890
9891         * select-x.c (symbol_to_x_atom):
9892         [7].
9893
9894         * select.c (syms_of_select):
9895         [2].
9896
9897         * sound.c (Fplay_sound_file):
9898         [7].
9899
9900         * specifier.c:
9901         * specifier.c (decode_specifier_type):
9902         * specifier.c (Fvalid_specifier_locale_type_p):
9903         * specifier.c (check_valid_locale_or_locale_type):
9904         * specifier.c (decode_locale):
9905         * specifier.c (decode_locale_type):
9906         * specifier.c (decode_locale_list):
9907         * specifier.c (check_valid_domain):
9908         * specifier.c (decode_specifier_tag_set):
9909         * specifier.c (Fcanonicalize_tag_set):
9910         * specifier.c (Fdefine_specifier_tag):
9911         * specifier.c (Fspecifier_tag_predicate):
9912         * specifier.c (check_valid_inst_list):
9913         * specifier.c (check_valid_spec_list):
9914         * specifier.c (decode_how_to_add_specification):
9915         * specifier.c (check_modifiable_specifier):
9916         * specifier.c (specifier_add_spec):
9917         * specifier.c (boolean_validate):
9918         * specifier.c (display_table_validate):
9919         [9].
9920
9921         * specifier.c (syms_of_specifier):
9922         Move some symbols to general-slots.h.
9923         [2].
9924
9925         * symbols.c:
9926         * symbols.c (Fmapatoms):
9927         * symbols.c (Fapropos_internal):
9928         Add GCPROs.
9929
9930         * symbols.c (set_default_buffer_slot_variable):
9931         * symbols.c (set_default_console_slot_variable):
9932         [1].
9933
9934         * symbols.c (defsymbol_massage_name_1):
9935         * symbols.c (defkeyword_massage_name):
9936         * symbols.c (deferror_1):
9937         * symbols.c (deferror):
9938         * symbols.c (deferror_massage_name_and_message):
9939         * symeval.h:
9940         * symeval.h (DEFSYMBOL):
9941         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
9942
9943         * symbols.c (syms_of_symbols):
9944         [2].
9945
9946         * symsinit.h:
9947         * symsinit.h (init_win32): New.
9948         Also new is syms_of_dialog_mswindows.
9949
9950         * syswindows.h:
9951         Add new Unicode macros, missing Cygwin wide-char functions,
9952         convenience conversion macros for Qmswindows_tstr, macros for
9953         encapsulating required MSWin <-> Cygwin filename conversions,
9954         prototype for dynamically-extracted (not in NT 3.51) functions.
9955
9956         * toolbar-x.c:
9957         Mule-verify.
9958
9959         * tooltalk.c (Fadd_tooltalk_message_arg):
9960         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
9961         * tooltalk.c (Fadd_tooltalk_pattern_arg):
9962         [7].
9963
9964         * tooltalk.c (syms_of_tooltalk):
9965         [2].
9966
9967         * unexnt.c:
9968         * unexnt.c (unexec):
9969         Fix up headers, declaration of unexec() to be more standard.
9970
9971 2000-07-20  Martin Buchholz  <martin@xemacs.org>
9972
9973         * offix.h: Revert change to guard macros - they're used in offix.c!
9974
9975 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9976
9977         * lisp.h: Defsubred Fdelete.
9978
9979         * console-msw.h:  (msprinter_default_printer): Added.
9980
9981         * console-msw.c (msprinter_canonicalize_console_connection):
9982         (msprinter_canonicalize_device_connection): Added.
9983
9984         * device-msw.c (msprinter_default_printer):
9985         (Fmswingows_get_default_printer):
9986         (signal_enum_priner_error):
9987         (Fmswingows_printer_list): Added.
9988
9989 2000-07-19  Martin Buchholz <martin@xemacs.org>
9990
9991         * XEmacs 21.2.35 is released.
9992
9993 2000-07-19  Martin Buchholz  <martin@xemacs.org>
9994
9995         * select-x.c (x_handle_selection_request):
9996         Text selected in xemacs and pasted into xterm failed to appear.
9997         Spelling fixes and cosmetic changes.
9998
9999 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10000
10001         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10002         XEmacs frame (fix for doubling chars in dialog boxes).
10003
10004 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10005
10006         * select.c (select_convert_in, select_convert_out):
10007         Don't call intern() every time.
10008
10009         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10010         * select.c (vars_of_select): Initialise them.
10011
10012 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10013
10014         * select.c (selection-coercible-types): New.
10015
10016         * select.c (own-selection-internal):
10017         * select.c (get-selection-internal):
10018         MULE bug fix - these should default to COMPOUND_TEXT and not
10019         STRING for MULE. I think.
10020
10021         * select.c (select_convert_out): Use selection-coercible-types
10022         to find types that we can attempt to perform coercions on.
10023
10024 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10025
10026         * mule-wnnfns.c:
10027         * mule-canna.c:
10028         Add coding: cookie to identify encoding.
10029
10030         * mule-canna.c (CANNA_mode_keys): make static.
10031         Use proper prototypes, even for functions of no arguments.
10032         Remove external prototype for Fding().
10033
10034         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10035
10036         * select.c (syms_of_select): Add missing DEFSUBR.
10037
10038 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10039
10040         * select.c (get_selection_internal, own_selection_internal):
10041         Make the type default to STRING, rather than placing a nil type
10042         into Vselection_alist.
10043
10044 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10045
10046         * gpmevent.c (tty_selection_exists_p):
10047         * gpmevent.c (tty_own_selection):
10048         Updated parameter lists.
10049
10050 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10051
10052         * select.h (selection-alist): Removed declaration.
10053
10054         * select.h (get_local_selection):
10055         * select.c (get_local_selection):
10056         Made static.
10057
10058         * select.h (convert_selection): Removed declaration.
10059         * select.c (convert_selection): Removed.
10060         This function belongs in Lisp.
10061
10062         * select.h (select_convert_in): Declare.
10063         * select.h (select_convert_out): Declare.
10064         * select.c (select_convert_in): New.
10065         * select.c (select_convert_out): New.
10066         New conversion functions for other files to call.
10067
10068         * select.h (select_notify_buffer_kill): Declare.
10069         * select.c (select_notify_buffer_kill): New.
10070         New functions that get called from kill-buffer.
10071
10072         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10073         X-specific lisp code.
10074
10075         * select.h: Declare some of the lisp-visible functions for
10076         external use.
10077
10078         * select.c (clean_local_selection_data): Removed. This was
10079         a disgusting function, and previously should have been in
10080         select-x.c in any case. The functionality is now provided
10081         in select-convert-from-integer (select.el).
10082
10083         * select.c (available-selection-types): Fixed stupidity where
10084         INTEGER and ATOM got added twice. Also add STRING when we see an
10085         extent.
10086
10087         * select.c (get-selection-internal): Removed symbol stripping. No
10088         longer causes conversion when data comes from the internal cache.
10089
10090         * select.c (syms_of_select): Added new functions.
10091
10092         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10093         error checking - previously this called abort!
10094
10095         * select-x.c (x_own_selection): Changed comment.
10096
10097         * select-x.c (x_handle_selection_request): Use select_convert_out.
10098         Don't mess with selection-alist; it's an internal variable of select.c.
10099
10100         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10101
10102         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10103         rather than messing with selection-alist.
10104
10105         * select-msw.c (mswindows_get_foreign_selection):
10106         Use TO_INTERNAL_FORMAT rather than hacking.
10107
10108 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10109
10110         * process-unix.c (unix_open_multicast_group):
10111         (unix_open_multicast_group): Remove useless casts.
10112
10113 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10114
10115         * sound.c (Fplay_sound): Fix `unused variable' warning.
10116
10117         * emacs.c (main): Use correct type for _environ on SCO5.
10118
10119 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10120
10121         * console.h (own_selection_method):
10122         * console.h (selection_exists_p_method):
10123         * console.h (available_selection_types_method): New.
10124         * console.h (register_selection_data_type_method): New.
10125         * console.h (selection_data_type_name): New.
10126
10127         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10128         function & alist to track GlobalAlloc()'d handles that need
10129         releasing when the clipboard data gets replaced or emptied.
10130
10131         * event-msw.c (mswindows_wnd_proc): Call it.
10132
10133         * lisp.h, general.c (Qappend): New symbol representing a
10134         `how-to-add' mode.
10135
10136         * select.c (own-selection-internal):
10137         * select.c (selection-exists-p):
10138         * select.c (available-selection-types): New.
10139         * select.c (register-selection-data-type): New.
10140         * select.c (selection-data-type-name): New.  New functions to deal
10141         with device-specific selection data formats.
10142         * select.c (selection-converter-out-alist): Renamed.
10143         * select.c (selection-converter-in-alist): New.
10144         * select.c (selection-appender-alist): New.  Added new alists.
10145         * select.c (syms_of_select, vars_of_select): Added new symbols &
10146         variables.
10147         * select.c (get_local_selection): Split.
10148         * select.c: Removed spurious type checking - selections may now be
10149         of any type, not just strings.
10150         * select.c (own-selection-internal):
10151
10152         * select.h, select.c (convert_selection): New. Created
10153         convert_selection() function based on get_local_selection().
10154         * select.h, select.c (QCF_*): New symbols representing mswindows
10155         clipboard formats.
10156         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10157         symbols representing `how-to-add' modes.
10158
10159         * select-msw.c (x_sym_p): New.
10160         * select-msw.c (symbol_to_ms_cf): New.
10161         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10162         symbols & clipboard formats. Can also handle string names.
10163         * select-msw.c (mswindows_own_selection):
10164         * select-msw.c (mswindows_selection_exists_p):
10165         Added `data-type' parameter. Use it.
10166         * select-msw.c (mswindows_available_selection_types): New.
10167         * select-msw.c (mswindows_register_selection_data_type): New.
10168         * select-msw.c (mswindows_selection_data_type_name): New.
10169         * select-msw.c (mswindows_own_selection):
10170         * select-msw.c (mswindows_get_foreign_selection):
10171         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10172         * select-msw.c (console_create_select_mswindows): Added new methods.
10173         * select-msw.c (mswindows_destroy_selection): New.
10174         * select-msw.c (Vhandle_alist): New list.
10175         * select-msw.c (mswindows_own_selection):
10176
10177         * select-x.c (x_own_selection):
10178         * select-x.c (x_selection_exists_p):
10179         * select-x.c: Added some comments about maybe using new
10180         functionality.
10181         * select-x.c (x_own_selection):
10182
10183         * specifier.c: Remove definition of Qappend (now in general.c)
10184         * specifier.c (syms_of_specifier): Remove Qappend.
10185
10186 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10187
10188         * config.h.in: Add socklen_t.
10189
10190         * s/decosf4-0.h: No special compiler flags needed or desired.
10191         In particular, undefine _BSD for DEC OSF 4.0.
10192
10193 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10194
10195         * redisplay-msw.c (msprinter_frame_output_end): Added.
10196         (console_type_create_redisplay_mswindows): Referred the above.
10197
10198         * frame.c (setup_frame_without_minibuffer): Do not create a
10199         default minibuffer frame on a printer device.
10200
10201         * frame-msw.c (apply_dc_geometry): Added.
10202         (msprinter_start_page):
10203         (msprinter_init_frame_3):
10204         (msprinter_eject_page): Use it.
10205
10206         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10207         and removed residual duplex and orientation properties.
10208
10209 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10210
10211         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10212
10213         * unexalpha.c: Remove system prototypes from C sources!
10214
10215 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10216
10217         * eval.c: Remove references to M-x edit-options in DEFUNs for
10218         `defvar' and `defconst'.
10219
10220 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10221
10222         * config.h.in: Remove SMART_INCLUDE hackery.
10223
10224         PostgreSQL hacking:
10225         * config.h.in: Don't use SMART_INCLUDE.
10226
10227         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10228         * inline.c: Simply #include "postgresql.h"
10229         * postgresql.c:
10230         - Don't use SMART_INCLUDE
10231         - Use simply "const".
10232         - Use standard doc string conventions.
10233         - Use correct type for result of PQstatus.
10234
10235 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10236
10237         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10238
10239         C++ compilation changes.
10240         * config.h.in (EXTERN_C): Define.
10241         * config.h.in (not): This is also a C++ keyword.
10242         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10243         * cm.c: Use EXTERN_C.
10244         * redisplay-tty.c: Use EXTERN_C.
10245         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10246
10247 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10248
10249         * general.c: Remove duplicate definition for Qfunction.
10250
10251 2000-07-08  Ben Wing  <ben@xemacs.org>
10252
10253         * device-msw.c (msprinter_init_device):
10254         * device-msw.c (sync_printer_with_devmode):
10255         * device-msw.c (handle_devmode_changes):
10256         * device-msw.c (print_dialog_worker):
10257         * device-msw.c (Fmsprinter_apply_settings):
10258         * device-msw.c (hash_devmode):
10259         * device-msw.c (Fmsprinter_settings_despecialize):
10260         use Qmswindows_tstr, not Qctext.
10261
10262         * vm-limit.c (check_memory_limits):
10263         avoid infinite loop printing warning messages.
10264
10265 2000-07-05  Craig Lanning  <lanning@scra.org>
10266
10267         * Makefile.in.in: Add support for including the Windows resources
10268         when building with the cygwin and mingw targets.
10269
10270         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10271         not set or not correct.
10272         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10273         (init_initial_directory): Don't try to use $PWD on the
10274         WIN32_NATIVE target.
10275
10276         * s\cygwin32.h:
10277         [[Add -mwindows to eliminate console window.]] not required --ben
10278         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10279         (MAIL_USE_POP): removed; now handled by configure.
10280
10281         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10282         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10283         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10284         (MAIL_USE_POP): removed; now handled by configure.
10285         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10286         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10287         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10288         constant string.
10289         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10290         up from <winsock.h> via systime.h.
10291         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10292         (getpagesize): from Dan Holmsand, added.
10293         Added #endif which was left dangling by Ben's mega patch; added
10294         comment to help prevent this in the future.
10295
10296         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10297
10298 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10299
10300         * console-msw.h (struct mswindows_device): Removed unnecessary
10301         cached device geometry values.
10302         Added update_tick and an accessor macro.
10303         (Lisp_Devmode): Added lrecord declaration.
10304         (struct msprinter_device): Contain devmode as a Lisp object.
10305         Added mswindows_get_selected_frame_hwnd();
10306
10307         * console.h (struct console_methods): Indentation nitpicking.
10308
10309         * device-msw.c (mswindows_init_device): Do not initialize geometry
10310         cache. Initialize update tick.
10311         (mswindows_device_system_metrics): Ask the device for its geometry.
10312         (global_free_2_maybe):
10313         (devmode_to_hglobal):
10314         (handle_printer_changes):
10315         (ensure_not_printing):
10316         (print_dialog_worker):
10317         (Fmsprinter_print_setup_dialog):
10318         (Fmsprinter_print_dialog):
10319         (plist_get_margin):
10320         (plist_set_margin):
10321         (Fmsprinter_page_setup_dialog): Added functions.
10322         (sync_printer_with_devmode):
10323         (handle_devmode_changes):
10324         (Fmsprinter_get_settings):
10325         (Fmsprinter_select_settings):
10326         (Fmsprinter_apply_settings):
10327         (allocate_devmode):
10328         (Fmsprinter_settings_copy):
10329         (Fmsprinter_settings_despecialize):
10330         (print_devmode):
10331         (finalize_devmode):
10332         (equal_devmode):
10333         (hash_devmode): Added functions
10334         (syms_of_device_mswindows): Init devmode lrecord class.
10335
10336         * device.h: Added an exfun for find-device.
10337
10338         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10339         geometry; although, recreate the device compatible DC.
10340
10341         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10342         (msprinter_init_frame_3):
10343         (msprinter_frame_property):
10344         (msprinter_internal_frame_property_p):
10345         (msprinter_frame_properties):
10346         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10347         print job properties (will move to device settings).
10348
10349         * lisp.h: Added symbols.
10350
10351         * general.c (syms_of_general): Declared them.
10352
10353         * hash.c (string_hash): Added.
10354
10355         * lrecord.h (lrecord_type): Added devmode lrecord type.
10356
10357 2000-07-02  Mike Sperber <mike@xemacs.org>
10358
10359         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10360         FreeBSD 4.0.
10361
10362 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10363
10364         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10365         integer.
10366
10367 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10368
10369         * data.c (Fstring_to_number): Don't recognize floating point if
10370         base is not 10.
10371
10372 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10373
10374         * glyphs-widget.c (tab_control_query_geometry):
10375         (widget_query_geometry):
10376         (button_query_geometry):
10377         * glyphs.c (text_query_geometry):
10378         Enforce type correctness.
10379
10380 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10381
10382         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10383         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10384
10385 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10386
10387         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10388         conflicts with gcc's fixincluded version of FOO.h.
10389
10390         * glyphs.h (image_instance_geometry): Remove trailing `,'
10391
10392 2000-06-08  Mike Alexander  <mta@arbortext.com>
10393
10394         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10395         (shove_thread): Don't write the same output twice
10396         (make_ntpipe_output_stream): Increase priority of shove thread
10397         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10398         chance to run
10399         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10400         it.
10401
10402 2000-06-12  Ben Wing  <ben@xemacs.org>
10403
10404         * s\mingw32.h (sigset):
10405         * s\windowsnt.h (sigset):
10406         rename msw_ to mswindows_ for consistency with general convention.
10407
10408 2000-06-12  Ben Wing  <ben@xemacs.org>
10409
10410         * console-msw.c:
10411         * console-msw.c (mswindows_get_console_hwnd):
10412         * console-msw.c (mswindows_ensure_console_allocated):
10413         * console-msw.c (mswindows_hide_console):
10414         * console-msw.c (mswindows_show_console):
10415         * console-msw.c (mswindows_ensure_console_buffered):
10416         * console-msw.c (mswindows_output_console_string):
10417         * console-msw.c (mswindows_windows9x_p):
10418         * console-msw.h:
10419         * device-msw.c (mswindows_get_workspace_coords):
10420         * device-msw.c (mswindows_device_system_metrics):
10421         * dialog-msw.c (mswindows_popup_dialog_box):
10422         * event-msw.c (mswindows_wnd_proc):
10423         * frame-msw.c (mswindows_size_frame_internal):
10424         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10425         * menubar-msw.c (displayable_menu_item):
10426         * menubar-msw.c (mswindows_char_is_accelerator):
10427         * nt.c:
10428         * nt.c (mswindows_sigset):
10429         * nt.c (mswindows_sigrelse):
10430         * nt.c (mswindows_sigpause):
10431         * nt.c (mswindows_raise):
10432         * nt.c (timer_proc):
10433         * ntproc.c:
10434         * ntproc.c (find_child_console):
10435         * ntproc.c (sys_kill):
10436         * print.c:
10437         * print.c (std_handle_out_external):
10438         * process-nt.c (find_child_console):
10439         * process-nt.c (send_signal_the_95_way):
10440         * process-nt.c (ensure_console_window_exists):
10441         * process-nt.c (nt_create_process):
10442         * syssignal.h:
10443         rename msw_ to mswindows_ for consistency with general convention.
10444
10445         * emacs.c:
10446         * dumper.c:
10447         include nt.h, not syswindows.h.
10448
10449         * nt.c (mswindows_fstat):
10450         * nt.c (mswindows_stat):
10451         prefix mswindows_ instead of attempting to directly override the
10452         library functions.  fix declarations.
10453
10454         * nt.h:
10455         include syswindows.h.  move some sysdep.h stuff here.
10456
10457         * ntheap.h:
10458         include syswindows.h, not <windows.h>.
10459
10460         * ntplay.c:
10461         clean up headers.
10462
10463         * sysdep.c:
10464         clean up headers.
10465
10466         * sysdep.c (sys_fstat):
10467         * sysdep.c (sys_stat):
10468         call mswindows versions when appropriate.
10469
10470         * sysdep.h:
10471         move mswin decls to nt.h.
10472
10473         * syswindows.h:
10474         add long comment describing appropriate use of the various windows
10475         headers.
10476
10477 2000-06-11  Ben Wing  <ben@xemacs.org>
10478
10479         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10480
10481 2000-06-10  Ben Wing  <ben@xemacs.org>
10482
10483         * Makefile.in.in (release):
10484         Correction to make sure xemacs.exe always dumped when correct.
10485
10486         * alloca.c:
10487         * balloon_help.c:
10488         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10489
10490         * buffer.c (set_buffer_internal):
10491         [[[[2]]]]: Remove HAVE_FEP code.
10492
10493         * buffer.c (init_initial_directory):
10494         [3].
10495
10496         * bytecode.c:
10497         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10498         individual files.
10499
10500         * callproc.c:
10501         * callproc.c (call_process_cleanup):
10502         * callproc.c (Fold_call_process_internal):
10503         * callproc.c (child_setup):
10504         * callproc.c (getenv_internal):
10505         * callproc.c (init_callproc):
10506         * callproc.c (vars_of_callproc):
10507         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10508         __CYGWIN32__ -> CYGWIN.
10509         DOS_NT -> WIN32_NATIVE.
10510         Remove MSDOS support/references, converting to WIN32_NATIVE
10511           where correct.
10512         __MINGW32__ -> MINGW.
10513         Fix windows.h includes.
10514         Remove bogus HAVE_NTGUI.
10515
10516         * config.h.in:
10517         [2].
10518
10519         * console-msw.c:
10520         mswindows_message_outputted added for use in allowing startup
10521         errors on the console to be seen.
10522
10523         * console-msw.c (msw_ensure_console_allocated):
10524         * console-msw.c (msw_output_console_string):
10525         * console-msw.c (DHEADER):
10526         * console-msw.c (DOPAQUE_DATA):
10527         * console-msw.c (DEVENT):
10528         * console-msw.c (DCONS):
10529         * console-msw.c (DCONSCDR):
10530         * console-msw.c (DSTRING):
10531         * console-msw.c (DVECTOR):
10532         * console-msw.c (DSYMBOL):
10533         * console-msw.c (DSYMNAME):
10534         Fix warnings.
10535
10536         * console-stream.c (stream_init_console):
10537         Fix text/binary problems.
10538
10539         * device-msw.c:
10540         * device-msw.c (mswindows_finish_init_device):
10541         * device-msw.c (mswindows_delete_device):
10542         [1].
10543
10544         * device.c (handle_asynch_device_change):
10545         [3].
10546
10547         * dgif_lib.c:
10548         * dgif_lib.c (DGifOpenFileName):
10549         * dgif_lib.c (DGifOpenFileHandle):
10550         * dgif_lib.c (DGifGetLine):
10551         * dgif_lib.c (DGifGetPixel):
10552         Added config.h/lisp.h, fix up includes.
10553         [1].
10554
10555         * dired-msw.c:
10556         [4].
10557
10558         * dired.c:
10559         * dired.c (file_name_completion):
10560         * dired.c (Ffile_attributes):
10561         * dired.c (syms_of_dired):
10562         [1].
10563
10564         * dumper.c:
10565         * dumper.c (pdump_file_unmap):
10566         * dumper.c (pdump_load):
10567         [1].
10568
10569         * editfns.c:
10570         * editfns.c (Ftemp_directory):
10571         * editfns.c (user_login_name):
10572         * editfns.c (Fuser_real_login_name):
10573         * editfns.c (get_home_directory):
10574         [1].
10575
10576         * elhash.c (finish_marking_weak_hash_tables):
10577         [[[[5]]]]: Fix GCC warnings.
10578
10579         * emacs.c:
10580         * emacs.c (mswindows_handle_hardware_exceptions):
10581         * emacs.c (make_arg_list_1):
10582         * emacs.c (main_1):
10583         * emacs.c (Fkill_emacs):
10584         * emacs.c (Fdump_emacs):
10585         [1].
10586         Fix problems with nested crashes, add long comment.
10587
10588         * event-Xt.c (init_event_Xt_late):
10589         [1].
10590
10591         * event-msw.c:
10592         * event-msw.c (mswindows_dde_callback):
10593         * event-msw.c (mswindows_handle_sticky_modifiers):
10594         * event-msw.c (mswindows_wnd_proc):
10595         [1].
10596         [5].
10597
10598         * events.c (character_to_event):
10599         [1].
10600
10601         * fileio.c:
10602         * fileio.c (Ffile_name_directory):
10603         * fileio.c (Ffile_name_nondirectory):
10604         * fileio.c (directory_file_name):
10605         * fileio.c (Fexpand_file_name):
10606         * fileio.c (Fsubstitute_in_file_name):
10607         * fileio.c (Ffile_name_absolute_p):
10608         * fileio.c (check_executable):
10609         * fileio.c (Ffile_readable_p):
10610         * fileio.c (Ffile_accessible_directory_p):
10611         * fileio.c (Ffile_modes):
10612         * fileio.c (Funix_sync):
10613         * fileio.c (vars_of_fileio):
10614         [1]. [4].
10615
10616         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
10617
10618         Expand getdefdir defn.
10619         Fix bogus rename() comment.
10620
10621         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
10622         to use standard XEmacs include files, e.g. sysfile.h, rather
10623         than system-specific includes.
10624
10625         * fns.c:
10626         * fns.c (Fsubseq):
10627         [5]. [6].
10628
10629         * frame.c (vars_of_frame):
10630         [1].
10631
10632         * getloadavg.c:
10633         * getloadavg.c (getloadavg):
10634         [1]. [6].
10635         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
10636         (We don't use it elsewhere in the code; just add a comment.)
10637
10638         * gif_io.c:
10639         [6].
10640         Add config.h.
10641
10642         * glyphs-msw.c:
10643         * glyphs-msw.c (mswindows_resource_instantiate):
10644         [1].
10645
10646         * glyphs-x.c (x_native_layout_instantiate):
10647         [5].
10648
10649         * gui-msw.c (Fmswindows_shell_execute):
10650         [1].
10651
10652         * insdel.c:
10653         [4].
10654
10655         * lisp.h:
10656         [4]. [5].
10657
10658         * lread.c (locate_file_in_directory_mapper):
10659         [1].
10660
10661         * lstream.c:
10662         [4].
10663
10664         * mem-limits.h:
10665         * mem-limits.h (get_lim_data):
10666         [1].
10667
10668         * menubar-msw.c:
10669         [4].
10670
10671         * ndir.h:
10672         [1].
10673
10674         * nt.c:
10675         * nt.c (getwd):
10676         * nt.c (closedir):
10677         * nt.c (rva_to_section):
10678         * nt.c (mswindows_executable_type):
10679         [1]. [6].
10680         Fix closedir() defn.
10681
10682         * nt.h:
10683         [[[[8]]]]: *_OK defs moved to sysfile.h.
10684
10685         * ntproc.c:
10686         [6]. [7].
10687
10688         * objects-x.c:
10689         [4].
10690
10691         * print.c:
10692         * print.c (std_handle_out_external):
10693         [1]. [4].
10694
10695         * process-nt.c:
10696         * process-nt.c (nt_create_process):
10697         [6].
10698         try to fix process quoting somewhat.
10699
10700         * process-unix.c (unix_create_process):
10701         [1].
10702
10703         * process.c:
10704         * process.c (vars_of_process):
10705         Add Vnull_device.
10706
10707         * process.h:
10708         [1].
10709
10710         * realpath.c:
10711         * realpath.c (xrealpath):
10712         [1].
10713
10714         * redisplay-tty.c (init_tty_for_redisplay):
10715         [3].
10716
10717         * redisplay.c:
10718         [4]. [6].
10719
10720         * scrollbar-msw.c:
10721         [4].
10722
10723         * sheap.c:
10724         * sheap.c (more_static_core):
10725         * sheap.c (report_sheap_usage):
10726         [5]. [6].
10727
10728         * signal.c:
10729         * signal.c (alarm_signal):
10730         [1]. [6].
10731
10732         * sound.c:
10733         [6].
10734
10735         * strftime.c:
10736         * strftime.c (zone_name):
10737         [1]. [5].
10738
10739         * symsinit.h (init_sunpro):
10740         [1].
10741
10742         * syscommctrl.h:
10743         commctrl.h not in Cygwin b20.1.
10744
10745         * sysdep.c:
10746         * sysdep.c (endif):
10747         * sysdep.c (sys_subshell):
10748         * sysdep.c (init_baud_rate):
10749         * sysdep.c (emacs_get_tty):
10750         * sysdep.c (emacs_set_tty):
10751         * sysdep.c (tty_init_sys_modes_on_device):
10752         * sysdep.c (init_system_name):
10753         * sysdep.c (sys_open):
10754         * sysdep.c (interruptible_open):
10755         * sysdep.c (sys_fopen):
10756         * sysdep.c (sys_mkdir):
10757         * sysdep.c (sys_rename):
10758         * sysdep.c (get_process_times_1):
10759         [1]. [6].
10760
10761         * sysdep.h:
10762         [1].
10763
10764         * sysdir.h:
10765         * sysdir.h (DIRENTRY_NONEMPTY):
10766         [1]. [6].
10767
10768         * sysdll.c (dll_init):
10769         * sysdll.h:
10770         [1].
10771
10772         * sysfile.h:
10773         [1]. [6]. [8].
10774         added text/binary defs.
10775
10776         * sysfloat.h:
10777         [1].
10778
10779         * sysproc.h:
10780         * sysproc.h (EDESTADDRREQ):
10781         * sysproc.h (poll_fds_for_input):
10782         [1]. [6].
10783
10784         * syspwd.h:
10785         [6].
10786
10787         * syssignal.h:
10788         [1].
10789
10790         * systime.h:
10791         [1]. [6].
10792
10793         * systty.h:
10794         [1].
10795
10796         * syswindows.h:
10797         [1].
10798         Always define WIN32_LEAN_AND_MEAN.
10799
10800         * unexcw.c (unexec):
10801         [5].
10802
10803         * unexec.c:
10804         * unexec.c (copy_text_and_data):
10805         * unexec.c (adjust_lnnoptrs):
10806         [1].
10807
10808         * unexnt.c:
10809         * unexnt.c (_start):
10810         [1].
10811
10812 2000-06-07  Ben Wing  <ben@xemacs.org>
10813
10814         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
10815         was used only as a model.  We've long since extracted any useful
10816         logic or code out of this. (I just did an exhaustive search.)
10817
10818         * s\msdos.h: Removed.
10819
10820         * s\windows95.h: Removed.
10821
10822 2000-06-10  Ben Wing  <ben@xemacs.org>
10823
10824         * s\cygwin32.h:
10825         [1]. [5].
10826         Don't use extern with fun defs.
10827
10828         * s\mingw32.h:
10829         [1]. [7].
10830         Remove nt\inc include.
10831         Remove getdisk, getdefdir. (The former is unused, the latter
10832         expanded in fileio.h.)
10833
10834         * s\windowsnt.h:
10835         * s\windowsnt.h (WIN32_NATIVE):
10836         * s\windowsnt.h (HAVE_STRCASECMP):
10837         [1]. [7].
10838         Add long comment about preprocessor changes.
10839         Remove getdisk, getdefdir. (The former is unused, the latter
10840         expanded in fileio.h.)
10841
10842 2000-06-10  Ben Wing  <ben@xemacs.org>
10843
10844         * m\arm.h:
10845         * m\delta.h:
10846         * m\intel386.h:
10847         * m\sequent.h:
10848         * m\template.h:
10849         * m\windowsnt.h:
10850         [1].
10851         Remove bogus/unused NO_SOCK_SIGIO.
10852
10853 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
10854
10855         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
10856         not an Emchar.
10857
10858 2000-06-04  Mike Sperber <mike@xemacs.org>
10859
10860         * casetab.c (set_case_table): For `set-standard-case-table',
10861         actually deposit the new case tables where the rest of XEmacs can
10862         see them.
10863
10864 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
10865
10866         * data.c (Faset): Don't cast XCHAR() to unsigned char.
10867
10868 2000-06-05  Ben Wing  <ben@xemacs.org>
10869
10870         * callproc.c (child_setup): Don't do close_load_descs() under
10871         MS Windows.  Put in a comment explaining why.
10872
10873 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
10874
10875         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
10876         Toolkit shell" which breaks `kill-compilation' on Windows NT
10877         native, retaining STDERR handling improvements.
10878
10879 2000-06-01  Andreas Jaeger  <aj@suse.de>
10880
10881         * s/s390.h: Support for S390, based on a patch by Martin
10882         Schwidefsky <schwidefsky@de.ibm.com>.
10883
10884 2000-05-30  Andy Piper  <andy@xemacs.org>
10885
10886         * window.c (allocate_window):
10887         (make_dummy_parent):
10888         (Fset_window_configuration): use new hashtable type.
10889
10890         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
10891         (struct image_instantiator_methods):
10892         (struct Lisp_Image_Instance): make instance geometry signed.
10893
10894         * glyphs.c (instantiate_image_instantiator):
10895         (image_instance_query_geometry):
10896         (image_instance_layout):
10897         (image_instance_layout):
10898         (query_string_geometry):
10899         (text_query_geometry):
10900         (image_instantiate):
10901         (image_instantiate):
10902         (cache_subwindow_instance_in_frame_maybe):
10903         (subwindow_query_geometry): make instance geometry signed.
10904
10905         * glyphs-widget.c (widget_query_geometry):
10906         (widget_layout):
10907         (button_query_geometry):
10908         (tree_view_query_geometry):
10909         (tab_control_query_geometry):
10910         (layout_query_geometry):
10911         (layout_layout):
10912         (native_layout_layout): make instance geometry signed.
10913
10914 2000-05-29  Olivier Galibert  <galibert@pobox.com>
10915
10916         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
10917         constant.
10918
10919         * general.c (syms_of_general): Add Qfull_assoc symbol.
10920
10921         * data.c (finish_marking_weak_lists): Mark full-assoc lists
10922         correctly.
10923         (decode_weak_list_type): Decode full-assoc type.
10924         (encode_weak_list_type): Encode full-assoc type.
10925         (Fmake_weak_list): Update doc string.
10926
10927 2000-05-30  Andy Piper  <andy@xemacs.org>
10928
10929         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
10930
10931         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
10932         (decode_hash_table_weakness): ditto.
10933         (Fhash_table_weakness): ditto.
10934         (Fhash_table_type): ditto.
10935         (finish_marking_weak_hash_tables): ditto.
10936         (hash_table_weakness_validate): ditto.
10937         (syms_of_elhash): ditto.
10938
10939 2000-05-28  Martin Buchholz <martin@xemacs.org>
10940
10941         * XEmacs 21.2.34 is released.
10942
10943 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10944
10945         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
10946         start cache.
10947         (updating_line_start_cache): Gone.
10948         (regenerate_window): Replace resetting of VERTICAL_CLIP by
10949         generic code to force a minimum of 1 line laid out in the
10950         CMOTION_DISP case.
10951
10952 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
10953
10954         * glyphs.c (instantiate_image_instantiator): Check for initialized
10955         height & width no longer special cases IMAGE_NOTHING.
10956         (nothing_instantiate): Set height and width of instance.
10957
10958 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10959
10960         * unexelf.c (unexec): Search for ".data" section.
10961         Initialize new_data2_offset from old_data_index.
10962         Remove redundant check for ElfW.
10963
10964 2000-05-23  Andy Piper  <andy@xemacs.org>
10965
10966         * glyphs.c (get_image_instantiator_governing_domain): allow more
10967         specific domains as the governing domain rather than expecting an
10968         exact match. This fixes problems with layouts.
10969
10970 2000-05-22  Andy Piper  <andy@xemacs.org>
10971
10972         * redisplay-output.c (compare_runes): check for non-images
10973
10974         * glyphs.c (set_glyph_dirty_p): ditto.
10975         (update_glyph_cachel_data): ditto.
10976
10977         * glyphs-widget.c (layout_post_instantiate): ditto.
10978         (layout_post_instantiate): ditto.
10979
10980         * event-msw.c (mswindows_wnd_proc): warning removal.
10981
10982 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
10983
10984         * s\mingw32.h: Added #undef for CLASH_DETECTION.
10985
10986         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
10987
10988         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
10989
10990         * nt.c (rva_to_section): mingw32 needs rva_to_section.
10991         (mswindows_executable_type): mingw32 now has enough headers for
10992         this to work.
10993
10994 2000-05-20  Andy Piper  <andy@xemacs.org>
10995
10996         * console-msw.c (mswindows_output_last_error): ; -> ,
10997
10998 2000-05-12  Andy Piper  <andy@xemacs.org>
10999
11000         * console-msw.c (FROB): compare ints with ints.
11001
11002 2000-05-11  Andy Piper  <andy@xemacs.org>
11003
11004         * glyphs-x.c (x_finalize_image_instance): make minimal build
11005         happy.
11006
11007 2000-05-20  Ben Wing  <ben@xemacs.org>
11008
11009         * event-Xt.c:
11010         * event-Xt.c (vars_of_event_Xt):
11011         move modifier-keys-are-sticky to event-stream.c.
11012
11013         * event-msw.c:
11014         * event-msw.c (mswindows_enqueue_mouse_button_event):
11015         * event-msw.c (key_needs_default_processing_p):
11016         * event-msw.c (XEMSW_LCONTROL):
11017         * event-msw.c (mswindows_handle_sticky_modifiers):
11018         * event-msw.c (FROB):
11019         * event-msw.c (clear_sticky_modifiers):
11020         * event-msw.c (output_modifier_keyboard_state):
11021         * event-msw.c (output_alt_keyboard_state):
11022         * event-msw.c (mswindows_wnd_proc):
11023         * event-msw.c (mswindows_modifier_state):
11024         * event-msw.c (emacs_mswindows_handle_magic_event):
11025         implement sticky modifiers.
11026
11027         * event-stream.c:
11028         * event-stream.c (vars_of_event_stream):
11029         move modifier-keys-are-sticky here.
11030
11031         * lisp.h:
11032         add CHECK_FUNCTION.
11033
11034         * rangetab.c:
11035         implement map-range-table.
11036
11037
11038 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11039
11040         * redisplay-tty.c (reset_tty_modes):
11041         (tty_redisplay_shutdown): Adjust argument type to
11042         tty_frame_output_end.
11043
11044 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11045
11046         * eval.c (Fbacktrace): Don't output a line with only right
11047         parenthesis.
11048
11049 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11050
11051         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11052         (Fpq_reset_poll): Ditto.
11053
11054 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11055
11056         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11057
11058 2000-05-16  Ben Wing  <ben@xemacs.org>
11059
11060         * buffer.c:
11061         * buffer.c (dfc_convert_to/from_internal_format):
11062         * buffer.c (reinit_vars_of_buffer):
11063         Fix conversion functions to allow reentrancy.
11064
11065         * console-msw.c:
11066         * console-msw.c (mswindows_output_last_error):
11067         New fun, generally useful -- output a human-readable
11068         version of GetLastError() on the console.
11069
11070         * console-msw.h:
11071         * console-msw.h (struct mswindows_frame):
11072         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11073
11074         * console-stream.c (stream_output_begin):
11075         * console-stream.c (stream_output_end):
11076         * console-stream.c (stream_output_vertical_divider):
11077         * console-stream.c (stream_clear_region):
11078         * console-stream.c (stream_flash):
11079         * console-stream.c (console_type_create_stream):
11080         Delete blank stream methods, not needed.
11081
11082         * console.h (struct console_methods):
11083         Split begin/end methods into window and frame.
11084
11085         * event-msw.c:
11086         * event-msw.c (mswindows_handle_paint):
11087         * event-msw.c (output_alt_keyboard_state):
11088         * event-msw.c (mswindows_wnd_proc):
11089         * event-msw.c (vars_of_event_mswindows):
11090         Comment about problems with ignored-expose.
11091         Define mswindows-debug-events; not really implemented.
11092
11093         * frame-msw.c (mswindows_init_frame_1):
11094         random cleanups.
11095
11096         * glyphs-msw.c:
11097         * glyphs-msw.c (begin_defer_window_pos):
11098         * glyphs-msw.c (mswindows_unmap_subwindow):
11099         * glyphs-msw.c (mswindows_map_subwindow):
11100         * glyphs-msw.c (mswindows_resize_subwindow):
11101         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11102
11103         * glyphs.c (make_image_instance_1):
11104         Fix crash.
11105
11106         * gutter.c (Fredisplay_gutter_area):
11107         Use new begin/end methods.
11108
11109         * lisp.h (Dynarr_new2):
11110         New creation fun.
11111
11112         * redisplay-msw.c:
11113         * redisplay-msw.c (mswindows_frame_output_begin):
11114         * redisplay-msw.c (mswindows_frame_output_end):
11115         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11116         New begin/end methods -- handle DeferWindowPos.
11117
11118         * redisplay-output.c (redisplay_move_cursor):
11119         * redisplay-output.c (redraw_cursor_in_window):
11120         * redisplay-output.c (redisplay_update_line):
11121         * redisplay-output.c (redisplay_output_window):
11122         New begin/end methods.
11123
11124         * redisplay-tty.c:
11125         * redisplay-tty.c (tty_frame_output_begin):
11126         * redisplay-tty.c (tty_frame_output_end):
11127         * redisplay-tty.c (console_type_create_redisplay_tty):
11128         New begin/end methods.
11129
11130         * redisplay-x.c:
11131         * redisplay-x.c (x_window_output_begin):
11132         * redisplay-x.c (x_window_output_end):
11133         * redisplay-x.c (console_type_create_redisplay_x):
11134         New begin/end methods.
11135
11136         * redisplay.c (redisplay_frame):
11137         * redisplay.c (Fredisplay_echo_area):
11138         New begin/end methods.
11139         use MAYBE_DEVMETH for clear_frame; it may not exist.
11140
11141         * window.h (WINDOW_XFRAME):
11142         WINDOW_XFOO macros -- get locale and decode struct pointer.
11143
11144
11145 2000-05-12  Ben Wing  <ben@xemacs.org>
11146
11147         * emacs.c:
11148         * emacs.c (ensure_no_quitting_from_now_on):
11149         * emacs.c (fatal_error_signal):
11150         * emacs.c (mswindows_handle_hardware_exceptions):
11151         * emacs.c (main):
11152         * emacs.c (Fkill_emacs):
11153         * emacs.c (shut_down_emacs):
11154         * emacs.c (assert_failed):
11155         various improvements in fatal error handling.
11156
11157         * eval.c:
11158         move preparing_for_armageddon to emacs.c.
11159
11160         * lisp.h:
11161         declare fatal_error_in_progress.
11162
11163         * print.c:
11164         * print.c (std_handle_out_external):
11165         * print.c (std_handle_out_va):
11166         * print.c (stderr_out):
11167         * print.c (stdout_out):
11168         use console under mswin when no standard output.
11169         don't do code conversion during fatal error.
11170
11171         * scrollbar.c (Fscrollbar_page_up):
11172         * scrollbar.c (Fscrollbar_page_down):
11173         fix missing else.  reindent.
11174
11175 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11176
11177         Emergency fix.
11178
11179         * glyphs.h (GLYPH_CACHEL_DESCENT):
11180         (GLYPH_CACHEL_DESCENT):
11181         (GLYPH_CACHEL_DESCENT):
11182         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11183         used in case these are inline functions.
11184         Use more absurd values to error check.
11185
11186         include window.h for error check functions.
11187
11188 2000-05-11  Ben Wing  <ben@xemacs.org>
11189
11190         * cmdloop.c (Freally_early_error_handler):
11191         Display message box under windows; otherwise, message will disappear
11192         before it can be viewed.
11193
11194         * console-msw.c:
11195         * console-msw.c (Fmswindows_message_box):
11196         * console-msw.c (FROB):
11197         * console-msw.c (syms_of_console_mswindows):
11198         Define new fun `mswindows-message-box'.
11199         #### I will merge this into `popup-dialog-box'; just give me
11200         a bit of time.
11201
11202         * general.c:
11203         * general.c (syms_of_general):
11204         Some new symbols used in `mswindows-message-box'.
11205
11206         * glyphs.c:
11207         * glyphs.c (Fset_image_instance_property):
11208         put warning in this fun.
11209
11210         * glyphs.h:
11211         * glyphs.h (GLYPH_CACHEL_WIDTH):
11212         * glyphs.h (GLYPH_CACHEL_ASCENT):
11213         * glyphs.h (GLYPH_CACHEL):
11214         * glyphs.h (GLYPH_CACHEL_GLYPH):
11215         define error-checking versions to try to catch a bug i've seen --
11216         redisplay gets in an infinite loop because the glyph width of the
11217         continuation glyph is 65535.
11218
11219         * lisp.h:
11220         Extern message-box stuff.
11221
11222         * window.c (allocate_window):
11223         * window.c (make_dummy_parent):
11224         * window.c (Fset_window_configuration):
11225         Use EQUAL not EQ for subwindow caches to make them work a bit
11226         better. (Something is still very broken.)
11227
11228
11229 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11230
11231         * glyphs.c (image_instantiate): Suppress gcc warnings.
11232         (Fmake_image_instance): Fix doc string.
11233         * specifier.c (Fmake_specifier): Ditto.
11234
11235 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11236
11237         * paths.h.in (PATH_LOCK): Removed.
11238         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11239         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11240
11241 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11242
11243         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11244         Document (featurep '(and xemacs 21.02)).
11245
11246 2000-05-09  Ben Wing  <ben@xemacs.org>
11247
11248         * buffer.c (complex_vars_of_buffer):
11249         update modeline-format doc.
11250
11251         * device.h:
11252         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11253
11254         * emacs.c:
11255         timeline of all released versions of Emacs, for use in creating
11256         authorship comments and in synching up.
11257
11258         * glyphs-widget.c (image_instantiator_buttons):
11259         * glyphs-widget.c (image_instantiator_edit_fields):
11260         * glyphs-widget.c (image_instantiator_combo_box):
11261         * glyphs-widget.c (image_instantiator_scrollbar):
11262         * glyphs-widget.c (image_instantiator_progress_guage):
11263         * glyphs-widget.c (image_instantiator_tree_view):
11264         * glyphs-widget.c (image_instantiator_tab_control):
11265         * glyphs-widget.c (image_instantiator_labels):
11266         * glyphs-widget.c (image_instantiator_layout):
11267         * glyphs-widget.c (image_instantiator_native_layout):
11268         rename decode_domain method to governing_domain.
11269
11270         * glyphs.c:
11271         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11272         * glyphs.c (add_entry_to_device_ii_format_list):
11273         make sure we don't put an entry more than once into the list.
11274         * glyphs.c (check_instance_cache_mapper):
11275         *************************************************************
11276         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11277         HAVE BEEN GETTING.
11278         *************************************************************
11279         * glyphs.c (get_image_instantiator_governing_domain):
11280         clean up, expand on new concept of governing domain.
11281         * glyphs.c (instantiate_image_instantiator):
11282         * glyphs.c (allocate_image_instance):
11283         use governing_domain instead of cache_domain in naming.
11284         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11285         * glyphs.c (make_image_instance_1):
11286         * glyphs.c (Fmake_image_instance):
11287         allow for any domain (not just device), and process the
11288         governing domain correctly.  very big doc fix.
11289         * glyphs.c (Fimage_instance_domain):
11290         new primitive, to retrieve the governing domain of an image instance.
11291         * glyphs.c (image_instantiate):
11292         use new governing_domain stuff.  this fixes a crash you could get
11293         by instantiating certain widget glyphs in frame locales. (should
11294         signal an error instead of crashing.)
11295         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11296         * glyphs.c (Fglyphp): clean up doc.
11297         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11298         * glyphs.c (syms_of_glyphs):
11299         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11300         * glyphs.c (image_instantiator_format_create): add some comments about
11301         bogus code.
11302         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11303         for current-display-table. (Apparently Hrjove implemented in 1998 a
11304         design I wrote up in 1996, but didn't update the doc string.)
11305
11306         * glyphs.h: clean up a doc string.
11307         * glyphs.h (governing_domain):
11308         * glyphs.h (struct image_instantiator_methods):
11309         changes for governing_domain stuff.
11310
11311         * gutter.c:
11312         * gutter.c (Fgutter_specifier_p):
11313         * gutter.c (Fgutter_size_specifier_p):
11314         * gutter.c (Fgutter_visible_specifier_p):
11315         * objects.c:
11316         * objects.c (Fcolor_specifier_p):
11317         * objects.c (Ffont_specifier_p):
11318         * objects.c (Fface_boolean_specifier_p):
11319         doc strings moved to make-*-specifier.
11320
11321         * redisplay.c (add_disp_table_entry_runes_1):
11322         * redisplay.c (generate_fstring_runes):
11323         * redisplay.c (screen):
11324         add random comments and doc strings.
11325
11326         * specifier.c:
11327         * specifier.c (Fmake_specifier):
11328         major overhaul of this doc string.
11329
11330         * specifier.c (Fvalid_specifier_domain_p):
11331         comment about the bogosity of image instances being domains.
11332         * specifier.c (decode_domain):
11333         now non-static, used in glyphs.c.
11334         * specifier.c (specifier_instance):
11335         comment about the bogosity of image instances being domains.
11336         * specifier.c (Fgeneric_specifier_p):
11337         move doc string to make-generic-specifier.
11338         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11339         rebackslashify.
11340
11341         * specifier.h:
11342         * specifier.h (DOMAIN_FRAME):
11343         * specifier.h (DOMAIN_LIVE_P):
11344         * specifier.h (DOMAIN_XDEVICE):
11345         rebackslashify.
11346         add comments about problems with these macros.
11347         prototype for decode_domain.
11348
11349         * toolbar.c:
11350         * toolbar.c (Ftoolbar_specifier_p):
11351         move doc string to `make-toolbar-specifier'.
11352
11353         * window.c (window_unmap_subwindows_cache_mapper):
11354         *************************************************************
11355         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11356         HAVE BEEN GETTING.
11357         *************************************************************
11358
11359 2000-05-09  Andy Piper  <andy@xemacs.org>
11360
11361         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11362
11363         * window.c (Fset_window_configuration): reset the frame subwindow
11364         cache and re-initialize the window subwindow caches.
11365
11366         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11367
11368 2000-05-09  Ben Wing  <ben@xemacs.org>
11369
11370         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11371         DWORD.
11372
11373 2000-04-26  Mike Woolley  <mike@bulsara.com>
11374
11375         * ntheap.c: Changed recreate_heap to limit the amount reserved
11376         for the heap to that which is actually available. Also now
11377         displays a message box (with some dignostics) in the event that
11378         it still can't start.
11379
11380 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11381
11382         * callproc.c (Fold_call_process_internal): GCPRO path
11383
11384 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11385
11386         Patch by Bill Perry.
11387
11388         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11389         back data instead of #ifdef.
11390         (Fscrollbar_page_down): ditto.
11391
11392 2000-05-07  Ben Wing  <ben@xemacs.org>
11393
11394         * buffer.h:
11395         Kludge for defining Qmswindows_tstr.
11396
11397         * nt.c:
11398         * nt.c (open_input_file):
11399         * nt.c (open_output_file):
11400         * nt.c (rva_to_section):
11401         * nt.c (mswindows_executable_type):
11402         Move all memory-mapped-file routines here (some were in unexnt.c,
11403         which is bad because they are used by process-nt.c, and unexnt
11404         won't be around when portable dumping).  Synched the above routines
11405         with FSF 20.6.
11406
11407         * nt.h:
11408         Removed ifdef'd out bogus code.
11409         Fixed some prototypes.
11410
11411         * nt.h (file_data):
11412         * nt.h (OFFSET_TO_RVA):
11413         * nt.h (RVA_TO_OFFSET):
11414         * nt.h (RVA_TO_PTR):
11415         Moved the memory-mapped-file structures, macros and prototypes
11416         here, to parallel nt.c.  ntheap.h should really be removed
11417         entirely, and it's a non-portable-dumper specific file.
11418
11419         * ntheap.h (round_to_next):
11420         Moved the memory-mapped-file structures, macros and prototypes
11421         to nt.h.
11422
11423         * ntproc.c (compare_env):
11424         Moved rva_to_section and mswindows_executable_type to nt.c.
11425         Moved compare_env to process-nt.c.
11426         ntproc.c will die, one day.
11427
11428         * ntproc.c (sys_spawnve):
11429         Account for win32_ -> mswindows_.
11430
11431         * process-nt.c:
11432         * process-nt.c (struct nt_process_data):
11433         * process-nt.c (ensure_console_window_exists):
11434         * process-nt.c (compare_env):
11435         * process-nt.c (nt_create_process):
11436         * process-nt.c (nt_kill_process_by_pid):
11437         * process-nt.c (syms_of_process_nt):
11438         * process-nt.c (vars_of_process_nt):
11439         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11440         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11441         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11442         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11443         Move compare_env here from ntproc.c.
11444
11445         * process.c (Fprocess_send_region):
11446         Takes an optional fourth argument, BUFFER, which should fix some
11447         problems with call-process.
11448
11449         * syscommctrl.h:
11450         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11451
11452         * syswindows.h:
11453         Move ICC_BAR_CLASSES to syscommctrl.h.
11454         Add preliminary macros for MSWindows/Mule.  More to come.
11455
11456         * unexnt.c:
11457         * unexnt.c (unexec):
11458         open_output_file moved to nt.c.
11459
11460
11461 2000-05-05  Andy Piper  <andy@xemacs.org>
11462
11463         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11464         instance from the frame cache also since GC may catch up too late
11465         to make frame deletion sane.
11466
11467 2000-05-04  Andy Piper  <andy@xemacs.org>
11468
11469         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11470         (x_finalize_image_instance): ungcpro on deletion.
11471
11472         * glyphs.c (image_instantiator_format_create): give pointers a
11473         query geometry method so that the geometry is at least set.
11474
11475         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11476         initialize layouts if using widgets.
11477
11478 2000-05-03  Andy Piper  <andy@xemacs.org>
11479
11480         * nt.c: remove bogus reference to sysmmsystem.h
11481
11482         * gui-x.c (popup_selection_callback): fix no selection abort.
11483
11484 2000-05-02  Andy Piper  <andy@xemacs.org>
11485
11486         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11487         (mswindows_widget_instantiate): ditto.
11488
11489         * glyphs-widget.c (initialize_widget_image_instance): initialize
11490         children correctly.
11491         (widget_instantiate): cope with children and items in the same
11492         instance.
11493
11494         * glyphs.c (mark_image_instance): cope with children as a first
11495         class member.
11496         (image_instance_equal): ditto.
11497         (image_instance_hash): ditto.
11498         (image_instance_changed): ditto.
11499
11500 2000-04-30  Andy Piper  <andy@xemacs.org>
11501
11502         * glyphs.c (subwindow_query_geometry): new function. Return some
11503         defaults.
11504         (subwindow_instantiate): don't assign dimensions if none have been
11505         given.
11506         (image_instantiator_format_create): add subwindow_query_geometry.
11507         (print_image_instance): cope with layouts as widgets.
11508
11509 2000-04-29  Andy Piper  <andy@xemacs.org>
11510
11511         * frame.c (delete_frame_internal): call
11512         free_frame_subwindow_instance_cache so that all subwindows are
11513         finalized before their parent.
11514         (mark_frame): remove subwindow_cachels.
11515         (Fmake_frame): remove subwindow_cachel manipulation.
11516         (allocate_frame_core): subwindow_instance_cache is a weak list.
11517         (delete_frame_internal): set subwindow_instance_cache to nil.
11518
11519         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11520         finalization safe.
11521         (mswindows_finalize_image_instance): use the device
11522         not the domain as the domain may have died already.
11523
11524         * glyphs-x.c (x_finalize_image_instance): ditto.
11525         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11526         HEIGHT.
11527
11528         * redisplay-output.c (redisplay_unmap_subwindows): update for
11529         subwindow instance cache as a weak list.
11530         (redisplay_unmap_subwindows_maybe): ditto.
11531         (redisplay_unmap_subwindows_except_us): ditto.
11532
11533         * glyphs.c (unmap_subwindow): error checking will check the domain
11534         so don't deal with it here. Don't use cachels anymore.
11535         (map_subwindow): ditto.
11536         (update_subwindow_cachel_data): remove old accessor names.
11537         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11538         (Fresize_subwindow): don't update cachel.
11539         (mark_subwindow_cachels):
11540         (update_subwindow_cachel_data):
11541         (add_subwindow_cachel):
11542         (get_subwindow_cachel_index):
11543         (update_subwindow_cachel):
11544         (reset_subwindow_cachels):
11545         (mark_subwindow_cachels_as_not_updated): deleted.
11546         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11547         subwindow instance to the frame cache.
11548         (find_matching_subwindow): update for subwindow instance cache as
11549         a weak list.
11550         (update_widget_instances): ditto.
11551         (image_instance_type_to_mask):inlined.
11552         (free_frame_subwindow_instance_cache): new function. finalize all
11553         subwindows that are instantiated.
11554
11555         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11556         of cachel information.
11557         (IMAGE_INSTANCE_DISPLAY_X):
11558         (IMAGE_INSTANCE_DISPLAY_Y):
11559         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11560         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11561         (XIMAGE_INSTANCE_DISPLAY_X):
11562         (XIMAGE_INSTANCE_DISPLAY_Y):
11563         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11564         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11565         remove subwindow_cachel structure and function references.
11566         (image_instance_type_to_mask): inline from glyphs.c
11567
11568         * redisplay.c (redisplay_frame): remove subwindow_cachel
11569         references.
11570
11571         * frame.h (struct frame): remove subwindow_cachels.
11572         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11573
11574         * frameslots.h: add subwindow_instance_cache.
11575
11576         * window.c (replace_window): check subwindow cache of replacement.
11577         (window_unmap_subwindows_cache_mapper):
11578         (window_unmap_subwindows): new functions. Unmap all subwindows
11579         cached on this window.
11580         (mark_window_as_deleted): unmap all subwindows.
11581
11582 2000-04-27  Andy Piper  <andy@xemacs.org>
11583
11584         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11585
11586         * glyphs-widget.c (widget_layout): return something.
11587         (layout_layout): return something. Fail if not initialized.
11588         (layout_query_geometry): ditto.
11589         (image_instantiator_native_layout): new function. Initialized the
11590         native layout type.
11591         (widget_instantiate): don't do layout stuff here.
11592
11593         * glyphs.c (instantiate_image_instantiator): reorded calling or
11594         instantiate and post_instantiate with layout in between.
11595         (image_instance_layout): be more selective about deciding whether
11596         the layout has been done or not.
11597
11598         * glyphs.h (struct image_instantiator_methods): return a value
11599         from layout_method.
11600
11601 2000-04-26  Andy Piper  <andy@xemacs.org>
11602
11603         * glyphs.c (allocate_image_instance): make initial width and
11604         height unspecified. Set initialized to 0.
11605
11606         * syscommctrl.h new file. Encapsulates commctrl.h.
11607
11608         * syswindows.h new file. Encapsulates windows.h.
11609
11610         * ntplay.c: use new syswindows.h and syscommctrl.h header.
11611         * nt.c: ditto.
11612         * console-msw.h: ditto.
11613
11614         * redisplay-tty.c (tty_output_display_block): remove layout references.
11615
11616         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
11617         window handle rather than just the frame.
11618
11619         * glyphs.c (mark_image_instance): remove layout references.
11620         (print_image_instance): ditto.
11621         (image_instance_equal): ditto.
11622         (image_instance_hash): ditto.
11623         (decode_image_instance_type): ditto.
11624         (encode_image_instance_type): ditto.
11625         (image_instantiate): ditto.
11626         (allocate_glyph): ditto.
11627         (Fimage_instance_height): ditto.
11628         (Fimage_instance_width): ditto.
11629         (update_subwindow): ditto.
11630
11631         * redisplay-x.c (x_output_display_block): recode for layouts as
11632         widgets.
11633
11634         * redisplay-output.c (redisplay_output_layout): recode for layouts
11635         as widgets.
11636         (compare_runes): remove layout references.
11637
11638         * redisplay-msw.c (mswindows_output_display_block): recode for
11639         layouts as widgets.
11640
11641         * glyphs-widget.c (image_instantiator_layout): remove
11642         layout_possible_dest_types.
11643         (layout_possible_dest_types): deleted.
11644
11645         * glyphs.h (image_instance_type): remove layout references.
11646         (struct Lisp_Image_Instance): ditto. Add initialized flag.
11647         (IMAGE_INSTANCE_INITIALIZED): new accessor.
11648         (XIMAGE_INSTANCE_INITIALIZED): ditto.
11649
11650 2000-04-25  Andy Piper  <andy@xemacs.org>
11651
11652         * glyphs-widget.c (image_instantiator_buttons):
11653         (image_instantiator_edit_fields):
11654         (image_instantiator_combo_box):
11655         (image_instantiator_scrollbar):
11656         (image_instantiator_progress_guage):
11657         (image_instantiator_tree_view):
11658         (image_instantiator_tab_control):
11659         (image_instantiator_labels):
11660         (image_instantiator_layout): call default post_instantiate method.
11661         (widget_post_instantiate): new function. Simply lays out the
11662         widgets.
11663
11664         * glyphs.h (struct image_instantiator_methods): add
11665         post_instantiate method.
11666
11667         * glyphs.c (instantiate_image_instantiator): add post_instantiate
11668         method calls.
11669
11670 2000-04-23  Andy Piper  <andy@xemacs.org>
11671
11672         * glyphs.h (struct image_instantiator_methods): add
11673         decode_domain_method.
11674         (struct Lisp_Image_Instance): remove subwindow frame - it can be
11675         derived from the domain.
11676         (IMAGE_INSTANCE_FRAME): new accessor.
11677         (XIMAGE_INSTANCE_FRAME): ditto.
11678
11679         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
11680         instead of _SUBWINDOW_FRAME.
11681         (finalize_image_instance): ditto.
11682         (Fimage_instance_foreground): ditto.
11683         (Fimage_instance_background): ditto.
11684         (image_instantiate): ditto.
11685         (update_subwindow_cachel): ditto.
11686         (update_subwindow): ditto.
11687         (unmap_subwindow): ditto.
11688         (map_subwindow): ditto
11689         (subwindow_instantiate): ditto.
11690         * glyphs-msw.c (mswindows_update_widget): ditto.
11691         (mswindows_progress_gauge_instantiate): ditto.
11692         (mswindows_tab_control_update): ditto.
11693         * glyphs-x.c (x_update_widget): ditto.
11694         (x_widget_instantiate): ditto.
11695         (x_tab_control_instantiate): ditto.
11696         (x_tab_control_update): ditto.
11697         * event-msw.c (mswindows_wnd_proc): ditto
11698
11699         * glyphs-widget.c (image_instantiator_layout): use
11700         subwindow_decode_domain.
11701         (image_instantiator_buttons): ditto.
11702         (image_instantiator_edit_fields): ditto.
11703         (image_instantiator_combo_box): ditto.
11704         (image_instantiator_scrollbar): ditto.
11705         (image_instantiator_progress_guage): ditto.
11706         (image_instantiator_tree_view): ditto.
11707         (image_instantiator_tab_control): ditto.
11708         (image_instantiator_labels): ditto.
11709         (image_instantiator_layout): ditto.
11710
11711         * glyphs.c: add instance error checking to many functions.
11712         (instantiate_image_instantiator): decode device from cache_domain.
11713         (image_instantiate): partially rewrite by using
11714         decode_image_instantiator_domain to determine what domain the
11715         instance needs to be cached in.
11716         (decode_image_instantiator_domain): new function. Determine what
11717         domain the image needs to be cached in.
11718         (check_window_subwindow_cache): new error checking function.
11719         (check_instance_cache_mapper): ditto.
11720         (check_image_instance_structure): ditto.
11721         (subwindow_decode_domain): new function. Encodes a window as a
11722         subwindow's cache domain.
11723         (image_instantiator_format_create): use it for text and
11724         subwindows.
11725
11726 2000-04-21  Andy Piper  <andy@xemacs.org>
11727
11728         * glyphs.c (image_instance_device): new function.
11729         (image_instance_frame): new function.
11730         (image_instance_window): new function.
11731         (image_instance_live_p): new function.
11732
11733         * window.c (mark_window_as_deleted): reset the subwindow_instance_
11734         cache to nil.
11735
11736         * glyphs.h (struct Lisp_Image_Instance): device->domain.
11737         (IMAGE_INSTANCE_DOMAIN): new accessor.
11738         (XIMAGE_INSTANCE_DOMAIN): ditto.
11739
11740         * glyphs-x.c (x_finalize_image_instance): device->domain.
11741
11742         * glyphs-msw.c (init_image_instance_geometry): device->domain.
11743         (mswindows_finalize_image_instance): ditto.
11744
11745         * glyphs-eimage.c (jpeg_instantiate): device->domain.
11746         (gif_instantiate): ditto.
11747         (png_instantiate): ditto.
11748         (tiff_instantiate): ditto.
11749
11750         * glyphs.c (instantiate_image_instantiator): use domain rather
11751         than device.
11752         (mark_image_instance): device -> domain.
11753         (print_image_instance): ditto.
11754         (finalize_image_instance): ditto.
11755         (image_instance_equal): ditto.
11756         (allocate_image_instance): ditto.
11757         (Fcolorize_image_instance): ditto.
11758         (query_string_geometry): ditto.
11759         (image_instantiate): ditto
11760         (query_string_font): ditto.
11761         (image_instantiate): ditto.
11762         (update_subwindow): ditto.
11763         (unmap_subwindow): ditto.
11764         (map_subwindow): ditto.
11765         (subwindow_instantiate): ditto.
11766
11767         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
11768         (DOMAIN_FRAME): ditto.
11769         (DOMAIN_WINDOW): ditto.
11770         (DOMAIN_LIVE_P): ditto.
11771         (XDOMAIN_DEVICE): ditto.
11772         (XDOMAIN_FRAME): ditto.
11773         (XDOMAIN_WINDOW): ditto.
11774
11775         * specifier.c (Fvalid_specifier_domain_p): add image instances as
11776         a valid specifier domain.
11777
11778 2000-04-19  Andy Piper  <andy@xemacs.org>
11779
11780         * glyphs-widget.c (syms_of_glyphs_widget): remove
11781         widget-callback-current-channel.
11782         (vars_of_glyphs_widget): ditto.
11783         * glyphs.h: ditto
11784
11785         * gui.c (get_gui_callback): revert to previous behaviour.
11786
11787 2000-04-18  Andy Piper  <andy@xemacs.org>
11788
11789         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
11790         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
11791         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
11792
11793         * glyphs.c (image_instance_equal): add margin_width.
11794         (image_instance_hash): ditto.
11795
11796         * glyphs-widget.c (widget_instantiate): deal with margin-width.
11797         (layout_query_geometry): ditto.
11798         (layout_layout): ditto.
11799         (syms_of_glyphs_widget): add margin-width.
11800         (image_instantiator_layout): allow margin-width.
11801
11802         * glyphs.c (update_widget_instances): make a normal function.
11803         (syms_of_glyphs): remove Qupdate_widget_instances.
11804         * glyphs.h: ditto.
11805
11806         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
11807         so that we don't corrupt ideas about the last event or
11808         command. Remove widget-callback-current-channel fiddling.
11809         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11810
11811 2000-05-01  Martin Buchholz <martin@xemacs.org>
11812
11813         * XEmacs 21.2.33 is released.
11814
11815 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
11816
11817         * make-src-depend: Allow dots in header file name.
11818
11819 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
11820
11821         * mule-charset.h (struct charset_lookup): Add
11822         next_allocated_1_byte_leading_byte and
11823         next_allocated_2_byte_leading_byte.
11824         * mule-charset.c: Move above two variables so that those values
11825         will be dumped.
11826
11827 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
11828
11829         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
11830         when string length is zero.
11831         (find_charsets_in_emchar_string): Ditto.
11832
11833 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
11834
11835         * lisp.h: extern Qdialog and Qmenubar.
11836
11837         * gui-x.c: added events.h.
11838                 also fixed typo which made the file uncompilable.
11839
11840         * general.c: Added Qmenubar and Qdialog
11841
11842 2000-04-28  Ben Wing  <ben@xemacs.org>
11843
11844         * frame-msw.c (mswindows_init_frame_1):
11845         * frame-msw.c (mswindows_mark_frame):
11846         * event-msw.c (mswindows_enqueue_dispatch_event):
11847         * console-msw.h:
11848         * console-msw.h (struct mswindows_frame):
11849         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
11850         there are now three hash tables for callbacks.
11851         mswindows_enqueue_dispatch_event is no longer static.
11852
11853         * dialog-x.c (maybe_run_dbox_text_callback):
11854         * dialog-x.c (dbox_descriptor_to_widget_value):
11855         switch to new cons3 form for callbacks.
11856
11857         * glyphs-msw.c (mswindows_register_gui_item):
11858         * glyphs-msw.c (mswindows_widget_instantiate):
11859         * glyphs-msw.c (add_tree_item):
11860         * glyphs-msw.c (add_tab_item):
11861         new image instance parameter, so it can be passed to callback-ex.
11862         respect :callback-ex as well as :callback.
11863
11864         * glyphs-widget.c (VALID_GUI_KEYWORDS):
11865         add :callback-ex.
11866
11867         * glyphs.c (print_image_instance):
11868         prettify, e.g. now prints widget type.
11869
11870         * gui-x.h:
11871         certain funs have new image instance parameter.
11872
11873         * gui.c:
11874         * gui.c (get_gui_callback):
11875         * gui.c (gui_item_add_keyval_pair):
11876         * gui.c (gui_item_init):
11877         * gui.c (gui_add_item_keywords_to_plist):
11878         * gui.c (mark_gui_item):
11879         * gui.c (gui_item_hash):
11880         * gui.c (gui_item_equal):
11881         * gui.c (copy_gui_item):
11882         * gui.c (syms_of_gui):
11883         recognize callback-ex in a number of places.
11884         also, fix the annoying "can't get out of yes-no dialog" bug.
11885
11886         * gui.h:
11887         * gui.h (struct Lisp_Gui_Item):
11888         recognize callback-ex in a number of places.
11889
11890         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11891         new parameter in button_item_to_widget_value.
11892
11893         * glyphs-x.c (x_update_widget):
11894         * glyphs-x.c (x_button_instantiate):
11895         * glyphs-x.c (x_button_update):
11896         * glyphs-x.c (x_progress_gauge_instantiate):
11897         * glyphs-x.c (x_edit_field_instantiate):
11898         * glyphs-x.c (x_combo_box_instantiate):
11899         * glyphs-x.c (x_tab_control_instantiate):
11900         * glyphs-x.c (x_label_instantiate):
11901         new image instance parameter in various places.
11902
11903         * event-Xt.c:
11904         * event-Xt.c (enqueue_Xt_dispatch_event):
11905         this fun gets exported.
11906
11907         * gui-msw.c:
11908         * gui-msw.c (mswindows_handle_gui_wm_command):
11909         handle both :callback and :callback-ex, and generate our own
11910         event because it's one of the callback-ex arguments.
11911
11912         * gui-x.c:
11913         * gui-x.c (popup_selection_callback):
11914         handle both :callback and :callback-ex, and generate our own
11915         event because it's one of the callback-ex arguments.
11916         * gui-x.c (button_item_to_widget_value):
11917         * gui-x.c (gui_items_to_widget_values_1):
11918         * gui-x.c (gui_item_children_to_widget_values):
11919         * gui-x.c (gui_items_to_widget_values):
11920         new image instance parameter in various places.
11921
11922         * fns.c (Freplace_list):
11923         fix small typo in doc string.
11924
11925         * lisp.h:
11926         declare enqueue_Xt_dispatch_event.
11927
11928 2000-04-28  Ben Wing  <ben@xemacs.org>
11929
11930         * buffer.c:
11931         * buffer.c (Frecord_buffer):
11932         * buffer.c (syms_of_buffer):
11933         delete record-buffer-hook.
11934
11935         * fns.c:
11936         * fns.c (Freplace_list):
11937         * fns.c (syms_of_fns):
11938         new primitive replace-list.
11939
11940         * frameslots.h:
11941         slot for old buffer-alist.
11942
11943         * lisp.h:
11944         exfun replace-list.
11945
11946         * redisplay.c:
11947         * redisplay.c (redisplay_frame):
11948         * redisplay.c (syms_of_redisplay):
11949         * redisplay.c (vars_of_redisplay):
11950         new hook buffer-list-changed-hook.
11951         call it.
11952
11953 2000-04-27  Ben Wing  <ben@xemacs.org>
11954
11955         * extents.h: extern in_modeline_generation.
11956
11957         * redisplay.c (generate_formatted_string_db): set
11958         in_modeline_generation.
11959
11960         * extents.c (extent_changed_for_redisplay): don't mark redisplay
11961         flags if in modeline generation.  otherwise frame-modified-tick
11962         is ticked far too often.
11963         Declare in_modeline_generation.
11964
11965 2000-04-26  Ben Wing  <ben@xemacs.org>
11966
11967         * emacs.c (vars_of_emacs): document quick-build "error-checking"
11968         option.
11969         (vars_of_emacs): add quick-build as an error-checking option.
11970         A bit kludgy, but there doesn't seem much point in creating
11971         a real var for this.
11972
11973         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
11974
11975 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11976
11977         * redisplay.h (struct display_line): Add a new variable,
11978         line_continuation.
11979
11980         * redisplay.c (create_text_block): Set dl->line_continuation if
11981         the line continues.
11982         (create_string_text_block): Ditto.
11983         (regenerate_window_incrementally): Use line_continuation instead
11984         of searching continuation glyph.
11985         (add_margin_runes): Call add_glyph_rune.
11986         (add_glyph_rune): Handle margin glyph.
11987
11988 2000-04-20  Martin Buchholz  <martin@xemacs.org>
11989
11990         * filelock.c (fill_in_lock_file_name):
11991         ANSIfy.
11992         Check for IS_ANY_SEP instead of '/'.
11993         (lock_file_1):
11994         Avoid generating gratuitous garbage.  Call user_login_name() directly.
11995         Never check errno without first seeing that system call failed.
11996         (unlock_file): Add GCPRO.
11997         (Flock_buffer): Fix docstring.
11998         (Ffile_locked_p): Fix docstring.  Add GCPRO.
11999
12000 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12001
12002         * sysdep.c (get_pty_max_bytes):
12003         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12004         strings longer than 252 bytes.
12005
12006         * md5.c: Unconditionally include ANSI header <limits.h>
12007
12008         * glyphs-x.c (convert_EImage_to_XImage):
12009         * lisp-union.h (union Lisp_Object):
12010         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12011
12012 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12013
12014         * filelock.c (current_lock_owner): Remove unused variable o, p.
12015
12016 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12017
12018         * callint.c: Remove multiply defined symbol Qlet
12019         (syms_of_callint): ditto.
12020
12021 2000-04-14  Andy Piper  <andy@xemacs.org>
12022
12023         * general.c (syms_of_general): add last-command, this-command, let
12024         and funcall.
12025
12026         * lisp.h: declare various symbols.
12027
12028         * glyphs.h: declare Qwidget_callback_current_channel;
12029
12030         * glyphs-widget.c (syms_of_glyphs_widget): add
12031         Qgui_callback_current_channel.
12032         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12033
12034         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12035         widget-callback-current-channel when invoking the interactive
12036         arg. Also bind last-command and next-command when invoking the
12037         widget updates.
12038         * gui-x.c (popup_selection_callback): ditto.
12039
12040         * gui.c (get_gui_callback): massage args so that we are always
12041         calling eval. This allows us to add our own variable bindings
12042         outside.
12043
12044         * glyphs-x.c (x_button_instantiate): use
12045         gui_items_to_widget_values since this is GC safe.
12046         (x_progress_gauge_instantiate): ditto.
12047         (x_edit_field_instantiate): ditto.
12048         (x_label_instantiate): ditto.
12049
12050         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12051         (emacs_Xt_event_widget_focus_out): new function
12052         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12053         focus.
12054         (emacs_Xt_event_add_widget_actions): new function. add focus
12055         functions as actions.
12056         (init_event_Xt_late): use it.
12057
12058 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12059
12060         * event-stream.c (Fdispatch_event): Doc fix.
12061
12062 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12063
12064         * postgresql.c: Remove all references to PQsetenv*.
12065
12066         * postgresql.h: Remove references to PGsetenvHandler object.
12067         * lrecord.h (lrecord_type): Ditto.
12068
12069 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12070
12071         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12072         real_heigh and real_width members, and accessor macros for these.
12073
12074         * glyphs-msw.c (init_image_instance_geometry): New function.
12075         (init_image_instance_from_dibitmap): Use it.
12076         (mswindows_resource_instantiate): Use it.
12077         (init_image_instance_from_xbm_inline): Use it.
12078         (mswindows_initialize_image_instance_mask): Use real bitmap
12079         geometry.
12080         (mswindows_create_resized_bitmap): Ditto.
12081         (mswindows_create_resized_mask): Ditto.
12082
12083         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12084         and bitmap to their surface size.
12085
12086 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12087
12088         * process-unix.c (unix_send_process): Guard against process MIA
12089         after Faccept_process_output.
12090
12091 2000-04-11  Ben Wing  <ben@xemacs.org>
12092
12093         * eval.c (unbind_to_hairy): fix brokenness introduced by
12094         nanosecond speed improvements.
12095
12096 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12097
12098         * sunplay.c (init_device): To play sounds correctly, the device
12099         apparently needs to be initialized at least once by XEmacs.  Make
12100         it so.
12101
12102 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12103
12104         * redisplay.c (add_margin_runes): Add text image glyph
12105           handling.
12106
12107 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12108
12109         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12110         gcc is newer than 2.5.
12111
12112 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12113
12114         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12115
12116         * fns.c (size_bit_vector):
12117         * alloc.c (size_vector):
12118         (make_vector_internal):
12119         (make_bit_vector_internal):
12120         (sweep_bit_vectors_1):
12121         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12122
12123 2000-04-06  Andy Piper  <andy@xemacs.org>
12124
12125         * gmalloc.c (malloc): undo previous change.
12126         (malloc): ditto.
12127         (free): ditto.
12128         (realloc): ditto.
12129
12130 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12131
12132         * line-number.c (buffer_line_number): Revert to former version.
12133
12134 2000-04-06  Andy Piper  <andy@xemacs.org>
12135
12136         * gmalloc.c (malloc): add error checking.
12137         (malloc): ditto.
12138         (free): ditto.
12139         (realloc): ditto.
12140
12141         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12142         button_item_to_widget_value arg.
12143
12144         * glyphs-x.c (x_button_instantiate): add extra
12145         button_item_to_widget_value arg.
12146         (x_progress_gauge_instantiate): ditto.
12147         (x_edit_field_instantiate): ditto.
12148         (x_label_instantiate): ditto.
12149
12150         * gui-x.c (gui_items_to_widget_values_1): add extra
12151         button_item_to_widget_value arg.
12152         (button_item_to_widget_value): add extra menu_item_p arg.
12153
12154         * gui-x.h: change signature of button_item_to_widget_value.
12155
12156         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12157         button_item_to_widget_value arg.
12158
12159 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12160
12161         * buffer.h (struct buffer): auto_save_modified should be long.
12162
12163 2000-04-05  Andy Piper  <andy@xemacs.org>
12164
12165         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12166         type.
12167         (button_query_geometry): give a little more room so that athena
12168         buttons fit.
12169
12170 2000-04-05  Andy Piper  <andy@xemacs.org>
12171
12172         * faces.c (complex_vars_of_faces): The widget face should inherit
12173         the font of the gui-element face.
12174
12175 2000-04-04  Andy Piper  <andy@xemacs.org>
12176
12177         * glyphs-x.c (x_button_update): new function. unconditionally
12178         update a button's state when the instance is dirty.
12179         (image_instantiator_format_create_glyphs_x): add x_button_update.
12180         (x_widget_instantiate): remove old resize cruft.
12181
12182 2000-04-02  Andy Piper  <andy@xemacs.org>
12183
12184         * frame.c (change_frame_size_1): The introduction of gutters means
12185         that we need to allow 0 as a potential frame dimension.
12186
12187 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12188
12189         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12190         image glyph if allow_cursor.
12191         (add_hscroll_rune): Don't allow cursor to border glyph.
12192         (create_text_block): Ditto.
12193
12194         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12195         text not in buffer.
12196         (redisplay_output_layout): Call ensure_face_cachel_complete for
12197         text image glyph.
12198
12199
12200 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12201
12202         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12203
12204         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12205         not in buffer
12206
12207         * redisplay-tty.c (tty_output_display_block): Delete the routine
12208         for text image glyph
12209         * redisplay-x.c (x_output_display_block): ditto
12210         * redisplay-msw.c (mswindows_output_display_block): ditto
12211
12212 2000-02-02  Mike Alexander  <mta@arbortext.com>
12213
12214         Note: Some of these were committed by accident as part of other
12215         patches.
12216
12217         * regex.c (regex_compile): Avoid compiler warnings.
12218
12219         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12220
12221         * nt.h: Declare term_ntproc correctly.
12222
12223         * nt.c: Remove incorrect declaration of get_home_directory which
12224         is declared correctly in lisp.h.
12225
12226         * keymap.c (get_keyelt): Avoid compiler warnings.
12227         (raw_lookup_key_mapper): Avoid compiler warnings.
12228
12229         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12230
12231         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12232
12233         * filemode.c (mode_string): Avoid compiler warnings.
12234
12235         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12236         avoid warning.
12237
12238         * events-mod.h: Undef some things that winuser.h defines differently.
12239
12240         * data.c (Faset): Avoid compiler warnings.
12241
12242         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12243
12244 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12245
12246         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12247         Fall through to simple beep on error.
12248         Replace "extern" by real header file.
12249
12250         * linuxplay.c: Use nativesound.h
12251         (play_sound_data): Return error code. Be less verbose on error.
12252
12253         * sunplay.c: Use nativesound.h
12254         (play_sound_data): Return error code. Be less verbose on error.
12255
12256         * ntplay.c: Use nativesound.h
12257         (play_sound_data): Return fake error code
12258
12259         * sgiplay.c: Use nativesound.h
12260         (play_sound_data): Return error code
12261
12262         * hpplay.c: Use nativesound.h, partially implement
12263         new error code. Break compilation until finished.
12264         (play_sound_data): error code.
12265
12266         * nativesound.h (play_sound_file):
12267           (play_sound_data): Prototype in new header.
12268
12269 2000-03-31  Andy Piper  <andy@xemacs.org>
12270
12271         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12272         for toggle and radio buttons.
12273         (image_instantiator_buttons): use it.
12274
12275 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12276
12277         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12278         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12279         found. Scrollbar event probably belonged to some old config.
12280
12281 2000-03-31  Andy Piper  <andy@xemacs.org>
12282
12283         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12284         than 1.
12285         (initialize_widget_image_instance): default layout to
12286         LAYOUT_HORIZONTAL rather than 0.
12287         (widget_instantiate): reverse the item list at the end rather than
12288         every iteration.
12289         (layout_layout): re-code for the border text at the front of the
12290         item list rather than at the end.
12291         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12292         provided by the user.
12293         (widget_query_geometry): comment.
12294
12295 2000-03-30  Andy Piper  <andy@xemacs.org>
12296
12297         * glyphs-widget.c (image_instantiator_layout): allow standard
12298         widget keywords in layouts.
12299
12300         * gutter.c (output_gutter): cope with nil gutter contents.
12301
12302         * frame.c (Fset_frame_properties): add gutter docs.
12303
12304 2000-03-29  Andy Piper  <andy@xemacs.org>
12305
12306         * toolbar-msw.c (TBSTYLE_FLAT): add.
12307         (mswindows_output_toolbar): minor fiddling.
12308
12309 2000-03-29  Andy Piper  <andy@xemacs.org>
12310
12311         * gutter.c (output_gutter): force gutter size recalculation if
12312         what we are trying to display won't fit.
12313         (update_gutter_geometry): new function. A per-gutter version of
12314         update_frame_gutter_geometry.
12315         (update_frame_gutter_geometry): use it.
12316         (redraw_exposed_gutter): add extra debugging output.
12317
12318 2000-03-28  Mike Alexander  <mta@arbortext.com>
12319
12320         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12321         (pdump_file_unmap): Implement it on Windows
12322         (pdump_file_get): Save alocated handles for pdump_file_unmap
12323
12324 2000-03-28  Andy Piper  <andy@xemacs.org>
12325
12326         * gui.c (get_gui_callback): treat Quit specially.
12327
12328 2000-03-27  Andy Piper  <andy@xemacs.org>
12329
12330         * glyphs.c (image_instantiate): be careful to check in the same
12331         way we assigned.
12332
12333 2000-03-27  Didier Verna  <didier@xemacs.org>
12334
12335         * config.h.in: define the proper SMART_INCLUDE macro.
12336         handle renaming of `foo_h_path' to `foo_h_file'.
12337
12338         * database.c: ditto.
12339
12340         * emacs.c: ditto.
12341
12342         * linuxplay.c: ditto.
12343
12344         * terminfo.c: ditto.
12345
12346         * tooltalk.h: ditto.
12347
12348 2000-03-27  Andy Piper  <andy@xemacs.org>
12349
12350         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12351         gets updated whenever the face might have changed.
12352
12353 2000-03-26  Mike Alexander  <mta@arbortext.com>
12354
12355         * dumper.c (pdump_resource_free): Fix the comment.
12356
12357 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12358
12359         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12360
12361 2000-03-22  Mike Alexander  <mta@arbortext.com>
12362
12363         * dumper.c: Include Windows headers on Windows
12364         (pdump_resource_free): Add a body to the function
12365         (pdump_load): exe_name -> exe_path and add some comments.
12366
12367 2000-03-25  Mike Alexander  <mta@arbortext.com>
12368
12369         * gui.c (copy_gui_item_tree): Return a value in all cases
12370
12371 2000-03-21  Didier Verna  <didier@xemacs.org>
12372
12373         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12374         lwlib/config.h.in.
12375         (SMART_INCLUDE): new macro.
12376         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12377         the proper location.
12378
12379         * postgresql.c: use it.
12380
12381         * inline.c: ditto.
12382
12383 2000-03-24  Andy Piper  <andy@xemacs.org>
12384
12385         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12386         do this.
12387
12388 2000-03-24  Andy Piper  <andy@xemacs.org>
12389
12390         * redisplay-output.c (compare_runes): use image_instance_changed
12391         to detect changes. Do not depend on glyphs_changed, only depend on
12392         dirtiness.
12393          (redisplay_output_layout): add debug messages.
12394         (compare_runes): ditto.
12395
12396         * glyphs.h: declare new functions.
12397         (struct Lisp_Image_Instance): remove percent and associated
12398         accessors.
12399
12400         * gui.h: declare new copying functions.
12401
12402         * gui.c (copy_gui_item_tree): new function.
12403         (copy_gui_item): new function.
12404         (gui_item_id_hash): revert to standard hash.
12405         (gui_item_hash): ditto.
12406         (gui_item_hash_internal): deleted.
12407         (mark_gui_item): mark value.
12408         (gui_item_add_keyval_pair): add value.
12409         (gui_item_init): ditto.
12410         (gui_add_item_keywords_to_plist): ditto.
12411         (gui_item_equal): ditto.
12412         (syms_of_gui): add Q_value.
12413
12414         * glyphs-x.c (x_progress_gauge_update): use pending items and
12415         value for setting the state.
12416         (x_update_widget): don't set items from pending here.
12417
12418         * glyphs-widget.c (update_widget): update items here.
12419         (progress_gauge_set_property): use items for storing value. Put
12420         new value in pending items.
12421
12422         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12423         items for new value. Convert percent -> value.
12424         (mswindows_tab_control_update): don't update items here.
12425
12426         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12427         (update_subwindow): ditto.
12428         (image_instance_changed): new function. Compare hash values and
12429         past and present widget items.
12430         (image_instantiate): We more careful about where we instantiate
12431         things.
12432         (image_instantiate): add error checking.
12433
12434         * gutter.c (syms_of_gutter): use -hook.
12435
12436 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12437
12438         * console-tty.c (Fset_console_tty_input_coding_system): Use
12439         Qkeyboard.
12440         (Fset_console_tty_output_coding_system): Use Qterminal.
12441         (tty_init_console): Use Qkeyboard and Qterminal.
12442
12443 2000-03-21  Ben Wing  <ben@xemacs.org>
12444
12445         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12446         From Mike Alexander <mta@arbortext.com>.
12447
12448 2000-03-21  Ben Wing  <ben@xemacs.org>
12449
12450         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12451         process brokenness.  Proper implementation to come.
12452         * callproc.c:
12453         Rename call-process-internal to old-call-process-internal.
12454         New impl. in process.el.
12455
12456 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12457
12458         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12459
12460 2000-03-20  Andy Piper  <andy@xemacs.org>
12461
12462         * glyphs.c (full_list_hash): make hashes of the same elements in
12463         different orders return different values.
12464
12465 2000-03-20  Martin Buchholz <martin@xemacs.org>
12466
12467         * XEmacs 21.2.32 is released.
12468
12469 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12470
12471         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12472         (DFC_MALLOC_USE_CONVERTED_DATA):
12473         Add aliasing-safe casts to allow use with char* or unsigned char*
12474         lvalues.
12475
12476         * eldap.c (Fldap_open):
12477         (Fldap_search_basic):
12478         (Fldap_add):
12479         (Fldap_modify):
12480         Make C++-compilable.
12481         Make sure GCPRO'ed variables are initialized.
12482         Use temp variables to avoid repeated calls to Flength.
12483
12484 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12485
12486         * sysfile.h:
12487         Make sure PATH_MAX is always defined.
12488         Include limits.h for PATH_MAX.
12489         Deprecate use of MAXPATHLEN.
12490
12491 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12492
12493         * emacs.c: Add reinit_vars_of_fileio.
12494         * symsinit.h: Add reinit_vars_of_fileio.
12495         * fileio.c (reinit_vars_of_fileio): New.
12496         * fileio.c (Fmake_temp_name):
12497         Initialize temp_name random number from microseconds to make
12498         collisions even less likely.  Initialize always at process startup
12499         time.  (make-temp-name) used to return the same file name twice in
12500         a row when PDUMP.
12501         Random stylistic fiddling.
12502         Comment fixes.
12503
12504 2000-03-20  Andy Piper  <andy@xemacs.org>
12505
12506         * glyphs.c (image_instantiate): allow text glyphs to be
12507         instantiated in the minibuffer window.
12508
12509 2000-03-19  Andy Piper  <andy@xemacs.org>
12510
12511         * glyphs.c (image_instance_hash): be careful about which items we
12512         hash on.
12513
12514         * glyphs-widget.c (tab_control_set_property): record into pending
12515         items rather than the actual items.
12516
12517         * glyphs-x.c (x_update_widget): use pending items to update with.
12518
12519         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12520         to update with.
12521
12522         * glyphs.c (mark_image_instance): mark pending items.
12523
12524         * window.c (Fset_window_configuration): record the buffer.
12525         (Fselect_window): totally revert previous change which breaks many
12526         things.
12527
12528 2000-03-18  Andy Piper  <andy@xemacs.org>
12529
12530         * glyphs-msw.c (mswindows_tab_control_update): force selected
12531         item.
12532
12533         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12534         window domain cache, otherwise we get inconsistencies at
12535         startup. There is something fishy at startup which can lead to the
12536         minibuffer being the selected window when the gutter content is
12537         instantiated.
12538
12539         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12540         gcpros.
12541         (parse_gui_item_tree_children): ditto.
12542         (parse_gui_item_tree_item): ditto.
12543
12544         * glyphs.c (Fupdate_widget_instances): return something.
12545
12546 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12547
12548         * window.c (Fselect_window): Undo 2000-03-17 change.
12549
12550 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12551
12552         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12553         against v7.0 libraries.  Insta-coredump city until the postgres
12554         folks fix it.
12555
12556 2000-03-17  Andy Piper  <andy@xemacs.org>
12557
12558         * faces.c (complex_vars_of_faces): don't give the widget face an
12559         inherited background pixmap.
12560
12561         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12562         selected item.
12563
12564         * event-stream.c (Fdispatch_non_command_events): return something.
12565
12566         * gutter.c (output_gutter): use widget face.
12567         (clear_gutter): ditto.
12568
12569         * NEWS: adjust again.
12570
12571         * window.c (Fselect_window): make sure this runs to completion to
12572         avoid oddities with Fset_window_configuration.
12573         (Fcurrent_window_configuration): in general do not save the
12574         minibuffer as the selected window.
12575
12576         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12577
12578 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12579
12580         * emacs.c (Frunning_temacs_p): Revert previous patch.
12581         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12582
12583 2000-03-16  Andy Piper  <andy@xemacs.org>
12584
12585         * glyphs-x.c (x_tab_control_update): if no widget values then
12586         return.
12587
12588         * NEWS: update for new features.
12589
12590         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12591         synthetic event to the native system.
12592         (reinit_vars_of_event_Xt): set force_event_pending to
12593         emacs_Xt_force_event_pending.
12594
12595         * events.h (struct event_stream): add force_event_pending.
12596
12597         * specifier.c (recompute_one_cached_specifier_in_window): add
12598         comment.
12599
12600         * redisplay.c (redisplay_frame): don't call
12601         update_frame_subwindows. Reset subwindow cachels when
12602         subwindows_changed, removing this was an optimization too far.
12603
12604         * redisplay-output.c (compare_runes): reorganize so that we catch
12605         glyph changes when we want them. Set optimize_output when this
12606         would help layouts.
12607         (redisplay_output_layout): remove frame_really_changed, use
12608         optimize_output instead.
12609
12610         * redisplay-msw.c (mswindows_output_display_block): reset
12611         optimize_output after outputting a glyph.
12612         * redisplay-x.c (x_output_display_block): ditto.
12613         * redisplay-tty.c (tty_output_display_block): ditto.
12614
12615         * gutter.c: (specifier_vars_of_gutter): use new spec changed
12616         functions.
12617         (gutter_specs_changed): do specific gutter positions.
12618         (top_gutter_specs_changed): new function. Only update the
12619         specified gutter specs.
12620         (bottom_gutter_specs_changed): ditto.
12621         (left_gutter_specs_changed): ditto.
12622         (right_gutter_specs_changed): ditto.
12623
12624         * gui.c (gui_item_hash_internal): new function, does a real hash.
12625         (gui_item_id_hash): use it.
12626         (gui_item_hash): hash the eval'ed gui_item.
12627
12628         * gui-x.c (popup_selection_callback): send an eval event to call
12629         Fupdate_widget_instances.
12630
12631         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
12632         to call Fupdate_widget_instances.
12633
12634         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
12635         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
12636
12637         * glyphs.c: (update_frame_subwindows): deleted.
12638         (Fupdate_widget_instances): new function for updating the dirty
12639         state of widgets that might have changed.
12640         (syms_of_glyphs): add Qupdate_widget_instances.
12641         (full_list_hash): hash a list completely.
12642         (image_instance_hash): use it for items and properties.
12643
12644         * frame-msw.c (mswindows_size_frame_internal): remove unused
12645         variable.
12646
12647         * faces.h (struct face_cachel): fix comment.
12648
12649         * event-stream.c (Fdispatch_non_command_events): new
12650         function. Process non-command events, forcing an event cycle
12651         beforehand.
12652         (syms_of_event_stream): declare.
12653         (event_stream_force_event_pending): new function. Force an event
12654         on the native event queue so that an event cycle will occur next
12655         time we check.
12656
12657         * event-msw.c:
12658         (struct ntpipe_shove_stream):
12659         (mswindows_enqueue_dispatch_event):
12660         (mswindows_dequeue_dispatch_event):
12661         (mswindows_cancel_dispatch_event):
12662         (mswindows_pump_outstanding_events):
12663         (mswindows_drain_windows_queue):
12664         (mswindows_handle_paint):
12665         (mswindows_wnd_proc):
12666         (mswindows_key_to_emacs_keysym):
12667         (get_process_input_waitable):
12668         (emacs_mswindows_delete_stream_pair): re-indent file.
12669         (mswindows_need_event): do not process further fds if the windows
12670         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
12671         fixes the 100% cpu problem.
12672         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
12673
12674 2000-03-15  Olivier Galibert  <galibert@pobox.com>
12675
12676         * alloc.h: New.
12677         * dumper.h: New.
12678         * dumper.c: New.
12679
12680         * emacs.c: Moved dump file searching to dumper.c.
12681         (Frunning_temacs_p): Fixed.
12682
12683         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
12684         last_lrecord_type_index_assigned.
12685
12686 2000-02-20  Olivier Galibert  <galibert@pobox.com>
12687
12688         * symsinit.h: Added reinit parameter to init_console_stream
12689         declaration.
12690
12691         * lisp.h: Added file parameter to pdump_load declaration.
12692
12693         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
12694         support.  Added dump file searching.
12695
12696         * config.h.in: Added EMACS_PROGNAME.
12697
12698         * console-stream.c (init_console_stream): Fix reinitialisation
12699         when running from temacs.
12700
12701         * alloc.c (pdump): Add id support.
12702         (pdump_load): Add file parameter and signature/id support.
12703
12704         * Makefile.in.in: Add full pdump support.
12705
12706 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
12707
12708         * postgresql.c: Update documentation to reflect latest code
12709         status.
12710         (print_result): Show tuple counts in printed representation when
12711         appropriate.
12712         (Fpq_put_nbytes): MULE-ize.
12713         (Fpq_get_line_async): Ditto.
12714
12715 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12716
12717         * postgresql.c (Fpq_lo_import): Fix return value.
12718         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
12719
12720 2000-03-13  Ben Wing  <ben@xemacs.org>
12721
12722         * alloc.c (pdump_load):
12723         Fix compile warning under mswin.
12724
12725 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
12726
12727         * postgresql.c: Mule-ization, bug fixes.
12728         Use PG_CODING to encapsulate coding system name changes.
12729         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
12730         (pg-coding-system): Create.
12731
12732         (Fpq_conn_defaults): Mule-ize.
12733         (Fpq_connectdb): Mule-ize & bug fix.
12734         (Fpq_connect_start): Mule-ize.
12735         (Fpq_set_client_encoding): Mule-ize.
12736         (Fpq_finish): Document `DEAD' connection status.
12737         (Fpq_clear): Ditto.
12738         (Fpq_pgconn): Mule-ize.
12739         (Fpq_exec): Mule-ize & bug fix.
12740         (Fpq_send_query): Ditto.
12741         (Fpq_get_result): Ditto.
12742         (Fpq_res_status): Mule-ize.
12743         (Fpq_result_error_message): Mule-ize.
12744         (Fpq_ntuples): fix comments.
12745         (Fpq_fname): Mule-ize.
12746         (Fpq_fnumber): Mule-ize.
12747         (Fpq_ftype): fix comments.
12748         (Fpq_get_value): Mule-ize.
12749         (Fpq_cmd_status): Ditto.
12750         (Fpq_cmd_tuples): Ditto.
12751         (Fpq_oid_value): Ditto.
12752         (Fpq_notifies): Ditto.
12753         (Fpq_lo_import): Ditto.
12754         (Fpq_lo_export): Ditto.
12755         (Fpq_get_line): Ditto.
12756         (Fpq_put_line): Mule-ize and bug fix.
12757         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
12758
12759 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
12760
12761         * postgresql.c (vars_of_postgresql): Mule-ize.
12762         (Fpq_conn_defaults): Ditto.
12763
12764 2000-03-12  Ben Wing  <ben@xemacs.org>
12765
12766         * alloc.c (Fmake_byte_code):
12767         * alloc.c (debug_string_purity_print):
12768         * alloc.c (pdump_backtrace):
12769         * alloc.c (pdump_get_indirect_count):
12770         * alloc.c (pdump_register_sub):
12771         * alloc.c (pdump_register_object):
12772         * alloc.c (pdump_register_struct):
12773         * alloc.c (pdump_dump_data):
12774         * alloc.c (pdump_reloc_one):
12775         Minor cleanups.
12776
12777         * console-msw.c:
12778         * console-msw.c (GetConsoleHwnd):
12779         * console-msw.c (msw_hide_console):
12780         * console-msw.c (msw_show_console):
12781         * console-msw.c (msw_ensure_console_buffered):
12782         * console-msw.c (msw_output_console_string):
12783         * console-msw.c (console_type_create_mswindows):
12784
12785         a) Added functions to manipulate the console window for use with
12786         shell support.
12787
12788         b) Added support for writing text to the console, which is now
12789         used under Windows when xemacs is not being run non-interactively,
12790         to write text that would otherwise be destined for stdout because
12791         under these circumstances, text written to stdout tends to
12792         disappear and not be seen.
12793
12794         * console-msw.h:
12795         * event-Xt.c:
12796         * event-Xt.c (x_event_to_emacs_event):
12797         * event-Xt.c (describe_event_window):
12798         * events-mod.h (XEMACS_MOD_CONTROL):
12799         * events.c:
12800         * events.c (Fmake_event):
12801         * events.c (character_to_event):
12802         * events.c (event_to_character):
12803         * events.c (format_event_object):
12804         * events.c (Fevent_modifiers):
12805         * events.h:
12806         * events.h (struct key_data):
12807         * events.h (struct button_data):
12808         * events.h (struct misc_user_data):
12809         * frame-x.c (Fcde_start_drag_internal):
12810         * frame-x.c (Foffix_start_drag_internal):
12811         * gpmevent.c (Freceive_gpm_event):
12812         * keymap.c:
12813         * keymap.c (bucky_sym_to_bucky_bit):
12814         * keymap.c (control_meta_superify):
12815         * keymap.c (make_key_description):
12816         * keymap.c (keymap_lookup_directly):
12817         * keymap.c (create_bucky_submap):
12818         * keymap.c (keymap_store):
12819         * keymap.c (define_key_check_and_coerce_keysym):
12820         * keymap.c (define_key_parser):
12821         * keymap.c (define_key_alternate_name):
12822         * keymap.c (Fdefine_key):
12823         * keymap.c (raw_lookup_key_mapper):
12824         * keymap.c (struct map_keymap_unsorted_closure):
12825         * keymap.c (map_keymap_unsorted_mapper):
12826         * keymap.c (map_keymap_sort_predicate):
12827         * keymap.c (map_keymap_sorted):
12828         * keymap.c (accessible_keymaps_mapper_1):
12829         * keymap.c (where_is_recursive_mapper):
12830         * keymap.c (describe_map_mapper):
12831         * keymap.c (describe_map_sort_predicate):
12832         * keymap.c (describe_map):
12833         * keymap.c (complex_vars_of_keymap):
12834         And a number of other files, the key modifier preprocessor
12835         constants that xemacs uses have names that conflict with constants
12836         defined under MS Windows for other purposes, so they were renamed
12837         to begin with the prefix XEMACS_. The variables that hold such
12838         modifiers were changed to consistently be of type int to fix
12839         various compile warnings.
12840
12841         * console.c (complex_vars_of_console):
12842         * device.c:
12843         * device-msw.c:
12844         * device-msw.c (mswindows_finish_init_device):
12845         * device-msw.c (msw_get_workspace_coords):
12846         * device-msw.c (mswindows_device_system_metrics):
12847         and various other files, added support for a new
12848         device property called offset-workspace which returns the position
12849         of the upper left corner of the workspace area and goes along with
12850         the existing size-workspace property.
12851
12852         * dialog-msw.c:
12853         * dialog-msw.c (push_bufbyte_string_as_unicode):
12854         * dialog-msw.c (mswindows_popup_dialog_box):
12855         Added support for XEmacs-style accelerator specifications in
12856         button text.  Note: I didn't add support for this under X Windows,
12857         and somebody needs to do this.
12858
12859         * dialog.c:
12860         * dialog.c (Fpopup_dialog_box):
12861         Documented the support for accelerators that was just mentioned.
12862
12863         editfns.c (get_home_directory): Changed behavior under Windows
12864         when HOME not defined; former behavior was irretrievably broken.
12865
12866         * emacs.c:
12867         * emacs.c (main_1):
12868         * emacs.c (main):
12869         * minibuf.c (clear_echo_area_internal):
12870         * minibuf.c (echo_area_append):
12871         * print.c:
12872         * print.c (std_handle_out_external):
12873         * print.c (std_handle_out_va):
12874         * print.c (fatal):
12875         * print.c (write_string_to_stdio_stream):
12876         * print.c (output_string):
12877         * print.c (debug_print):
12878         * print.c (debug_backtrace):
12879         * print.c (debug_short_backtrace):
12880         Cleaned up the code that prints text to stdout so that this can be
12881         changed to output into a console window instead under MS Windows,
12882         as described above.
12883
12884         * eval.c:
12885         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
12886         * eval.c (internal_catch):
12887         * eval.c (unwind_to_catch):
12888         * eval.c (throw_or_bomb_out):
12889         * eval.c (condition_case_1):
12890         * eval.c (signal_1):
12891         * eval.c (check_error_state_sanity):
12892         * eval.c (call_with_suspended_errors_1):
12893         * eval.c (call_with_suspended_errors):
12894         * eval.c (reinit_vars_of_eval):
12895         Added code to catch throw loops and check for a pesky bug that may
12896         be gone now.
12897
12898         * event-msw.c:
12899         * event-msw.c (key_needs_default_processing_p):
12900         * event-msw.c (mswindows_wnd_proc):
12901         * event-msw.c (mswindows_modifier_state):
12902         * event-msw.c (emacs_mswindows_quit_p):
12903         * event-msw.c (vars_of_event_mswindows):
12904         a) Added support for using the alt key to select menu items as is
12905         standard under MS Windows.  This is controlled using the variable
12906         menu-accelerator-enabled, just like under X Windows.  There is an
12907         option on the options menu to turn this support on.  I really
12908         think that it should be on by default under Windows, but I'm not
12909         going to make this change yet.
12910
12911         b)  Added support for dynamic display size changes under Windows.
12912
12913         * event-stream.c:
12914         * event-stream.c (maybe_echo_keys):
12915         * event-stream.c (Fnext_event):
12916         * event-stream.c (command_builder_find_leaf):
12917         * event-stream.c (lookup_command_event):
12918         * event-stream.c (execute_command_event):
12919         * event-stream.c (pre_command_hook):
12920         * event-stream.c (post_command_hook):
12921         * event-stream.c (syms_of_event_stream):
12922         * event-stream.c (vars_of_event_stream):
12923         * event-stream.c (complex_vars_of_event_stream):
12924         * events.h (struct command_builder):
12925
12926         a) Tried to clean up a little bit the horribly written x-specific
12927         accelerator code that crept into this file.  I moved this code
12928         into menubar-x.c where it belongs. I also needed to move the
12929         command builder structure into the file events.h because it is
12930         accessed directly by this accelerator code.  What I didn't do, but
12931         which should be done at some point, is to properly abstract this
12932         code using device methods instead of the kludgy way that it
12933         currently hooks into the event code.
12934
12935         b) Added the lisp variables this-command-properties and
12936         last-command- properties, which should be used to synchronize two
12937         adjacent commands in preference to playing games with the variable
12938         this-command, which is typically what happens.
12939
12940         c) Added some slightly nasty code to hook into the lisp support
12941         for shifted- motion-key selection.  This is actually necessary for
12942         somewhat complicated reasons, which are described in
12943         simple.el. (NB: I think the proper thing would be to have the code
12944         that calls the pre and post command hooks also call out to generic
12945         lisp functions in simple.el, where all built-in stuff could be
12946         added.  I will think about this more.)
12947
12948         * event-unixoid.c (poll_fds_for_input):
12949         * lread.c (readchar):
12950         * redisplay-tty.c (tty_clear_frame):
12951         * redisplay-x.c (x_get_gc):
12952         * signal.c (interrupt_signal):
12953         And a whole bunch of other files: fixed up places that printed
12954         directly to stderr to instead call the function stderr_out so that
12955         the changes I made under Windows work correctly.
12956
12957         * filemode.c (mode_string):
12958         Warning fixes.
12959
12960         * frame-msw.c:
12961         * frame-msw.c (mswindows_size_frame_internal):
12962         Fixed the computation of frame size and position to keep the frame
12963         within the workspace area, rather than within the physical
12964         dimensions of the screen, so that the frame doesn't overlap window
12965         manager decorations, such as the start menu and toolbar, typically
12966         at the bottom of the screen.
12967
12968         * frame.c (vars_of_frame):
12969         Changed the default frame title format under MS Windows to consist
12970         of buffername-XEmacs, which is standard under MS Windows.  I think
12971         it might be a good idea to change this everywhere because I think
12972         it is superior to the current frame title format, but this is the
12973         kind of change that is likely to cause some people to get annoyed,
12974         so I'm not making it.
12975
12976         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
12977
12978         * gui-msw.c (mswindows_handle_gui_wm_command):
12979         Fixed compile warnings.
12980
12981         * gui-x.c:
12982         * gui-x.c (strdup_and_add_accel):
12983         * gui-x.c (button_item_to_widget_value):
12984         * gui-x.h:
12985         Added code to automatically put an accelerator onto the beginning
12986         of menu items that don't have one as is now the standard, and is
12987         described more later.  Also fixed things so that the menu item
12988         name can be an evaluated expression, again a new standard.
12989
12990         * gui.c:
12991         * gui.c (gui_item_add_keyval_pair):
12992         * gui.c (make_gui_item_from_keywords_internal):
12993         * gui.c (gui_add_item_keywords_to_plist):
12994         * gui.c (gui_item_accelerator):
12995         * gui.c (gui_name_accelerator):
12996         * gui.c (gui_item_included_p):
12997         * gui.c (gui_item_display_flush_left):
12998         * gui.c (gui_item_display_flush_right):
12999         * gui.c (parse_gui_item_tree_item):
13000         * gui.c (parse_gui_item_tree_children):
13001         * gui.c (parse_gui_item_tree_list):
13002         Mule-ized.  Cleanup.  GCPRO addition.
13003
13004         * line-number.c (buffer_line_number):
13005         * lisp.h:
13006         * lisp.h (EMACS_INT_MAX):
13007         Added the manifest constant EMACS_INT_MIN corresponding to the
13008         existing constant EMACS_INT_MAX.  This is partially to fix compile
13009         warnings under Windows, and partly for cleanliness.
13010
13011         * menubar-msw.c:
13012         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13013         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13014         * menubar-msw.c (displayable_menu_item):
13015         * menubar-msw.c (populate_menu_add_item):
13016         * menubar-msw.c (populate_or_checksum_helper):
13017         * menubar-msw.c (populate_menu):
13018         * menubar-msw.c (update_frame_menubar_maybe):
13019         * menubar-msw.c (prune_menubar):
13020         * menubar-msw.c (msw_char_is_accelerator):
13021         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13022         * menubar-msw.c (mswindows_handle_wm_command):
13023         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13024         * menubar-msw.c (mswindows_handle_wm_initmenu):
13025         * menubar-msw.c (mswindows_update_frame_menubars):
13026         * menubar-msw.c (mswindows_free_frame_menubars):
13027         * menubar-msw.c (mswindows_popup_menu):
13028         Fixed a bug in handling accelerators where an extra character
13029         would be displayed in the menu item.  Also generalized the
13030         function displayable_menu_item because it is now used by the
13031         dialog box code as well.  And finally, added code in the functions
13032         that create the menubar to extract a list of accelerators for the
13033         top level menubar, which is used in the event code to determine
13034         whether a particular alt-key combination should be used to invoke
13035         a menu item, or should be passed through to access the standard
13036         XEmacs keymap binding for this key combination.
13037
13038         Much needed GCPROing.
13039
13040         * menubar-x.c:
13041         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13042         * menubar-x.c (menu_item_descriptor_to_widget_value):
13043         * menubar-x.c (restore_in_menu_callback):
13044         * menubar-x.c (x_popup_menu):
13045         * menubar-x.c (menu_move_up):
13046         * menubar-x.c (menu_move_down):
13047         * menubar-x.c (menu_move_left):
13048         * menubar-x.c (menu_move_right):
13049         * menubar-x.c (menu_select_item):
13050         * menubar-x.c (command_builder_operate_menu_accelerator):
13051         * menubar-x.c (menu_accelerator_junk_on_error):
13052         * menubar-x.c (command_builder_find_menu_accelerator):
13053         * menubar-x.c (Faccelerate_menu):
13054         * menubar.h:
13055         Moved a whole bunch of code here that was previously in
13056         event-stream.c as described above.  There is also code connected
13057         to the new standard of adding an accelerator to the beginning of
13058         menu items that don't have one as described above and below.
13059
13060         * menubar.c:
13061         * menubar.c (menu_parse_submenu_keywords):
13062         * menubar.c (Fmenu_find_real_submenu):
13063         * menubar.c (Fnormalize_menu_item_name):
13064         * menubar.c (syms_of_menubar):
13065         * menubar.c (vars_of_menubar):
13066         * menubar.c (complex_vars_of_menubar):
13067
13068         a) Cleaned up a bunch of documentation and improved it.
13069
13070         b) XEmacs now automatically adds an accelerator onto the beginning
13071         of any menu items that don't have one.  I did this because there
13072         will inevitably be some menu items on the main menubar that don't
13073         have accelerators on them because the package that adds that
13074         particular menu item hasn't yet been fixed up to have accelerators
13075         in them and it looked rather strange to have some items with and
13076         some items without accelerators, especially since even in items
13077         without accelerators, you can, at least under windows, still
13078         access the item through an accelerator corresponding to the first
13079         character in the item's name.  If people don't like this behavior,
13080         I can add a variable to turn it off optionally, but I'm not sure
13081         this is a good idea because we really do need to have accelerators
13082         on all of the menu items, and if a package doesn't like the
13083         accelerators being put on the first character, then it should put
13084         the accelerators where they belong.
13085
13086         c) I made a behavior change, which is that the descriptor that
13087         specifies the text of the menu item, which formerly was just a
13088         string, can now also be an evaluated expression.  This makes this
13089         descriptor parallel with all of the others, which could also be
13090         evaluated expressions.  This also obviates the need for the
13091         keyword :label, which was previously listed in the documentation
13092         as unimplemented, and which was for the same purpose.
13093
13094         d) GCPROing.
13095
13096         * ntproc.c:
13097         * ntproc.c (new_child):
13098         * ntproc.c (sys_spawnve):
13099         * ntproc.c (find_child_console):
13100         * ntproc.c (sys_kill):
13101         Fixed compile warnings.  By the way, this file should really go
13102         away entirely, and this will happen as soon as Kirill makes his
13103         final round of process cleanups, which affect the function
13104         call-process.
13105
13106         * process-nt.c:
13107         * process-nt.c (struct nt_process_data):
13108         * process-nt.c (find_process_from_pid):
13109         * process-nt.c (send_signal_the_nt_way):
13110         * process-nt.c (enable_child_signals):
13111         * process-nt.c (find_child_console):
13112         * process-nt.c (send_signal_the_95_way):
13113         * process-nt.c (nt_finalize_process_data):
13114         * process-nt.c (ensure_console_window_exists):
13115         * process-nt.c (nt_create_process):
13116         * process-nt.c (nt_kill_child_process):
13117         * process-nt.c (nt_kill_process_by_pid):
13118         * process-nt.c (nt_open_network_stream):
13119         * process-nt.c (vars_of_process_nt):
13120         Copied over code from Emacs 20.5 to correctly send signals to sub-
13121         processes under Windows 95.  Also added code to automatically
13122         create and hide console window when a sub-process is created under
13123         Windows 95, which obviates the need for the separate runemacs.exe
13124         executable, and finally implemented some variables that were
13125         implemented in Emacs 20.5, but previously not in XEmacs.  These
13126         include mswindows- start-process-share-console and
13127         mswindows-start-process-inherit-error-mode. (Both of these only
13128         apply to Windows 95.)
13129
13130         * regex.c (regex_compile): Fixed a compile warning.
13131
13132         * select-msw.c:
13133         * select-msw.c (mswindows_own_selection):
13134         * select-msw.c (mswindows_get_foreign_selection):
13135         * select-msw.c (mswindows_disown_selection):
13136         * select-msw.c (console_type_create_select_mswindows):
13137         * select-msw.c (syms_of_select_mswindows):
13138         Cleaned up the file and implemented the device method
13139         selection_exists_p, which had accidentally been left out.  Also
13140         removed four lisp functions that were remnants from before the
13141         time when the selection code was properly device abstracted.
13142         These functions are no longer needed because there are generic
13143         equivalents, and because they were added recently and don't exist
13144         in FSF Emacs, I don't think there's any problem with just deleting
13145         them.
13146
13147         * sysdep.c:
13148         * sysdep.c (sys_subshell):
13149         Fixed a compile warning, although in this case there's probably
13150         something wrong with this code, and it ought to be looked into
13151         more thoroughly by somebody who understands it.
13152
13153         * window.c:
13154         * window.c (Fwindow_text_area_height):
13155         * window.c (Fwindow_width):
13156         * window.c (Fwindow_full_width):
13157         * window.c (Fwindow_pixel_width):
13158         * window.c (debug_print_window):
13159         * window.c (syms_of_window):
13160         Added functions window-text-area-height and window-full-width,
13161         which are functions for returning various width and height
13162         characteristics of a window. (One of these functions is necessary
13163         for making the file dialog box work correctly, and the other one
13164         was added for completeness.)  Also added a table to the
13165         documentation for window-height which describes the entire scheme
13166         for accessing width and height characteristics of a window.
13167
13168 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13169
13170         * nt.c (fstat): Added a comment for another problem with
13171         non-encapsulated [f]stat(), reported by Adrian Aichner
13172         <aichner@ecf.teradyne.com>.
13173
13174 2000-03-11  Andy Piper  <andy@xemacs.org>
13175
13176         * window.c (make_dummy_parent): initialize subwindow instance
13177         cache.
13178         (Fset_window_configuration): zero extent_modiff.
13179
13180 2000-03-10  Andy Piper  <andy@xemacs.org>
13181
13182         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13183         more changes can be triggered.
13184         (Fredisplay_frame): ditto.
13185         (Fredraw_device): ditto.
13186         (Fredisplay_device): ditto.
13187         (redisplay_frame): make non-static.
13188         (redisplay_frame): call update_frame_gutter_geometry outside of
13189         display proper.
13190
13191         * gutter.h: declare update_frame_gutter_geometry.
13192
13193         * redisplay.h: declare redisplay_frame.
13194
13195         * gutter.c (update_frame_gutter_geometry): move geometry changes
13196         in update_frame_gutters here. Geometry changes can only occur
13197         outside of redisplay.
13198         (update_frame_gutters): remove geometry change code.
13199         (Fredisplay_gutter_area): make sure that we are in display when we
13200         update and that we have flushed any size changes.
13201
13202 2000-03-11  Andy Piper  <andy@xemacs.org>
13203
13204         * alloc.c (pdump_dump_data): remove i & count shadows.
13205
13206 2000-02-27  Mike Alexander  <mta@arbortext.com>
13207
13208         * sysdep.h: Declare pdump_read_file
13209
13210         * sysdep.c (pdump_read_file): New function
13211
13212         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13213         dump data
13214
13215 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13216
13217         * lrecord.h: add `lrecord_type_pgsetenv'.
13218
13219 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13220
13221         * symsinit.h: declare (vars|syms)_of* functions.
13222         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13223
13224 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13225
13226         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13227
13228         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13229         GCCs.
13230
13231         * emacs.c (main_1): Call postgres initialization code.
13232
13233         * postgresql.h: New file.  PostgreSQL RDBMS support.
13234         * postgresql.c: New file.
13235
13236 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13237
13238         * redisplay-output.c (redisplay_output_display_block): Disable
13239         redundant code.
13240
13241 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13242
13243         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13244         (Fcanna_henkan_next): Ditto.
13245         (Fcanna_bunsetu_henkou): Ditto.
13246         (Fcanna_henkan_kakutei): Ditto.
13247         (Fcanna_henkan_end): Ditto.
13248         (Fcanna_henkan_quit): Ditto.
13249         (Fcanna_henkan_next): Set retun value correctly.
13250         (c2mu): Use unsigned char instead of signed char.
13251
13252 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13253
13254         * emacs.c (main_1): Always call syms_of_gui.
13255         * inline.c: include gui.h
13256
13257 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13258
13259         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13260         converted to Lisp_Object.
13261         (Qtop_bottom): New variable.
13262         (syms_of_redisplay): Initialize it.
13263         * redisplay.h (Vvisible_bell): Ditto.
13264         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13265         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13266         only flash top and bottom.
13267
13268 2000-03-08  Andy Piper  <andy@xemacs.org>
13269
13270         * buffer.c (Frename_buffer): record new buffer name the right way.
13271
13272 2000-03-08  Andy Piper  <andy@xemacs.org>
13273
13274         * glyphs.c (update_subwindow): increase hash depth so that widget
13275         items get picked up properly.
13276
13277         * redisplay-output.c (compare_runes): increase hash depth so that
13278         widget items get picked up properly.
13279
13280 2000-03-08  Andy Piper  <andy@xemacs.org>
13281
13282         * gutter.c (output_gutter): add some debug.
13283
13284         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13285         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13286         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13287
13288         * redisplay-output.c (compare_runes): use display_hash to
13289         determine if glyphs really are not the same.
13290
13291         * glyphs.c (update_subwindow): check display_hash to see if
13292         anything really needs to be updated. If not then do
13293         nothing. Record the display_hash after updating.
13294         (image_instance_equal): compare the image_instance face also.
13295
13296 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13297
13298         * redisplay.h: Fix comment style.
13299
13300 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13301
13302         * consle-msw.h (struct mswindows_frame):
13303         Added new member paint_pending to indicate whether a WM_PAINT
13304         magic event has been queued for this frame.
13305
13306         * event-msw.c (mswindows_drain_windows_queue):
13307         Don't queue a WM_PAINT magic event if one is already queued.
13308         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13309
13310         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13311
13312 2000-03-07  Didier Verna  <didier@xemacs.org>
13313
13314         * dired.c: #include `regex.h' after `sysfile.h'.
13315
13316 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13317
13318         * sound.c (init_nas_sound): Fix compiler warning.
13319
13320         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13321         (FREE_STRUCT_P):
13322         (MARK_STRUCT_AS_FREE):
13323         (MARK_STRUCT_AS_NOT_FREE):
13324         Make `gcc -fstrict-aliasing' work properly.
13325
13326 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13327
13328         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13329         (mswindows_delete_device): Call CoUnnitialize().
13330
13331         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13332
13333 2000-02-25    <CraigL@DyCon.com>
13334
13335         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13336         <errno.h>.
13337
13338         * sysdep.c: This extern declaration for environ prevents MinGW
13339         from finding the variable in CRTDLL.DLL.
13340
13341         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13342         windows headers.
13343         (SHGFI_EXETYPE): ..
13344         (WM_MOUSEWHEEL): ..
13345         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13346         definitions.
13347         (MMRESULT): Removed, now defined in cygwin's windows headers.
13348         (TIMECAPS): ..
13349         (uid_t,gid_t,pid_t,ssize_t): ..
13350         (_timeb): Removed, MinGW defines both _timeb and timeb.
13351         (HAVE_H_ERRNO): Added.
13352         (HAVE_TZNAME): Added, configure is not detecting this.
13353
13354 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13355
13356         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13357         * syntax.c (syntax_match): Use it.
13358
13359         * cmds.c: Import auto-fill-chars from FSF Emacs.
13360         (Vauto_fill_chars): New variables.
13361         (internal_self_insert): Check Vauto_fill_chars.
13362         (vars_of_cmds):
13363         Declare auto-fill-chars as a Lisp variable and initialize it.
13364
13365 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13366
13367         * fileio.c (Fmake_symbolic_link):
13368         (Ffile_symlink_p):
13369         Run handlers even if local machine doesn't have symlinks.
13370
13371 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13372
13373         * event-msw.c (mswindows_drain_windows_queue):
13374         Don't generate paint magic events for non-XEmacs frames.
13375
13376 2000-03-05  Andy Piper  <andy@xemacs.org>
13377
13378         * redisplay.c (redisplay_frame): generate_displayable_area and
13379         friends assumes that we are not in GC, we therefore have to make
13380         sure that this doesn't happen.
13381
13382         * gutter.c (calculate_gutter_size): generate_displayable_area
13383         assumes that we are not in GC, we therefore have to make sure that
13384         this doesn't happen.
13385
13386 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13387
13388         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13389
13390 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13391
13392         * redisplay.c (regenerate_window): Make sure we set a sane value
13393         for end_pos even if we jump out of the loop.
13394         (regenerate_window): Answer Ben's question :-).
13395         (start_end_of_last_line): Add may_error argument.
13396         (start_of_last_line):
13397         (end_of_last_line): Pass may_error = 0.
13398         (end_of_last_line_may_error): New function.
13399         (pixel_to_glyph_translation): Use it, so we don't crash in
13400         event_to_glyph.
13401
13402 2000-03-04  Andy Piper  <andy@xemacs.org>
13403
13404         * window.h (struct window): add gutter_extent_modiff.
13405
13406         * window.c (allocate_window): zero out gutter_extent_modiff.
13407
13408         * redisplay.h: declare sync_display_line_structs.
13409
13410         * redisplay.c (add_glyph_rune): add a better comment.
13411
13412         * redisplay-output.c (sync_display_line_structs): made non-static.
13413         (compare_runes): remove unneccesary glyph cachel access.
13414
13415         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13416
13417         * gutter.c (output_gutter): don't output the gutter if extent
13418         changes only involve extents in buffers. use 4 sets of display
13419         lines.
13420         (gutter_extent_signal_changed_region_maybe): new function. Mark
13421         extents in gutters as changed.
13422         (update_frame_gutters): use 4 sets of display lines.
13423         (reset_gutter_display_lines): ditto.
13424         (free_frame_gutters): ditto.
13425         (redraw_exposed_gutter): force output of gutters.
13426
13427         * frame.h (struct frame): add 4 sets of gutter display lines.
13428
13429         * extents.c: (extent_changed_for_redisplay): signal changes to
13430         extents in strings in the gutter as well as extents in buffers.
13431
13432 2000-03-02  Andy Piper  <andy@xemacs.org>
13433
13434         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13435
13436         * frame.c (Fmake_frame): make sure the gutters get initialized
13437         after the frame is visible.
13438         (set_frame_selected_window): re-arrange compilation macros a
13439         little.
13440         (change_frame_size_1): mark gutters changed.
13441
13442         * device.c (Fset_device_class): mark gutters changed.
13443
13444 2000-03-01  Andy Piper  <andy@xemacs.org>
13445
13446         * window.c (window_top_frame_gutter_height): deleted.
13447         (window_bottom_frame_gutter_height): ditto.
13448         (window_left_frame_gutter_height): ditto.
13449         (window_right_frame_gutter_height): ditto.
13450         (window_top_gutter_height): don't use them.
13451         (window_bottom_gutter_height): ditto.
13452         (window_left_gutter_width): ditto.
13453         (window_right_gutter_width): ditto.
13454         (Fsplit_window): ditto.
13455         (Fwindow_pixel_edges): don't use border dimensions here.
13456
13457         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13458         (update_scrollbar_instance): ditto.
13459
13460         * redisplay.c (generate_modeline): don't take gutters into account.
13461         (generate_modeline): ditto.
13462         (redisplay_frame): small gutter display optimization.
13463
13464         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13465
13466         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13467         gutters into account.
13468
13469         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13470         for window position and type.
13471
13472         * gutter.c (get_gutter_coords): fix for frame gutters.
13473         (update_frame_gutters): update frame geometry if the gutters have
13474         changed.
13475         (init_frame_gutters): record current gutter geometries.
13476
13477         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13478         var.
13479         (mswindows_widget_instantiate): ditto.
13480
13481         * frame.h (struct frame): add current_gutter_bounds.
13482
13483         * frame.c (change_frame_size_1): position window and minibuffer
13484         appropriately taking into account the frame gutters.
13485
13486         * frame-x.c: (x_initialize_frame_size): take into account the
13487         frame gutters.
13488
13489 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13490
13491         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13492
13493 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13494
13495         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13496
13497 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13498
13499         * file-coding.c (reset_decoding_stream): Clear previous
13500         detection state when autodetect.
13501
13502 2000-02-29  Didier Verna  <didier@xemacs.org>
13503
13504         * extents.c (set_extent_glyph_1): don't require extents to be
13505         attached.
13506
13507 2000-02-27  Andy Piper  <andy@xemacs.org>
13508
13509         * gutter.c (Fset_default_gutter_position): don't default left and
13510         right gutter visibility to t.
13511         (Fset_default_gutter_position): run
13512         default-gutter-position-changed-hook.
13513         (syms_of_gutter): add default-gutter-position-changed-hook.
13514
13515 2000-02-26  Andy Piper  <andy@xemacs.org>
13516
13517         * specifier.c (Fmake_specifier): add gutter references.
13518
13519         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13520
13521         * lisp.h: declare Fvalid_plist_p.
13522
13523         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13524         as changed.
13525         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13526         well as its visibility so that it gets reconstructed.
13527         (construct_window_gutter_spec): new function. Construct a string
13528         to be displayed in the gutter from a plist of strings. Take care
13529         to only use elements that are declared as visible.
13530         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13531         WINDOW_GUTTER.
13532         (gutter_validate): allow plists of strings in the specifier.
13533         (gutter_specs_changed): construct the real_gutter from the gutter
13534         specs using construct_window_gutter_spec.
13535         (gutter_visible_validate): gutter-visible is a new specifier type.
13536         (Fgutter_visible_specifier_p): new function for the new specifier.
13537         (syms_of_gutter): declare gutter-visible and
13538         Fgutter_visible_specifier_p.
13539         (specifier_type_create_gutter): intitalize new gutter-visible
13540         specifier.
13541         (reinit_specifier_type_create_gutter): ditto.
13542         (specifier_vars_of_gutter): use new specifier type for gutter
13543         visibility.
13544         (init_frame_gutters): construct real_gutter correctly.
13545         (Fgutter_specifier_p): beef up documentation.
13546         (Fgutter_size_specifier_p): ditto.
13547
13548         * winslots.h: add real_gutter slots.
13549
13550 2000-02-25  Andy Piper  <andy@xemacs.org>
13551
13552         * device-msw.c: Be kind to older cygwin versions. From Raymond
13553         Toy <toy@rtp.ericsson.se>.
13554
13555         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13556         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13557
13558 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13559
13560         * elhash.c (MARK_OBJ): Practice macro hygiene.
13561
13562 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13563
13564         * miscplay.c: s/__inline__/inline/g;
13565         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13566         (get_device_compdc): INLINE ==> static inline
13567         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13568         find -name '*.h' | \
13569         xargs global-replace \
13570         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13571
13572 2000-02-25  Andy Piper  <andy@xemacs.org>
13573
13574         * window.c (window_top_frame_gutter_height): new function.
13575         (window_top_window_gutter_height): ditto.
13576         (window_top_gutter_height): use them.
13577         (window_bottom_frame_gutter_height): new function.
13578         (window_bottom_window_gutter_height): ditto.
13579         (window_bottom_gutter_height): use them.
13580         (window_left_window_gutter_width): new function.
13581         (window_left_frame_gutter_width): ditto.
13582         (window_left_gutter_width): use them.
13583         (window_right_window_gutter_width): new function.
13584         (window_right_frame_gutter_width): ditto.
13585         (window_right_gutter_width): use them.
13586         (window_pixel_height): new function. calulate window pixel height
13587         with frame gutter involvement.
13588         (Fsplit_window): calculate new sizes taking frame gutters into
13589         account.
13590         (window_char_height_to_pixel_height): don't include frame gutters.
13591         (window_char_height): use window_pixel_height.
13592         (window_pixheight): rename from window_pixel_height.
13593         (change_window_height): use it.
13594         (window_pixel_height_to_char_height): don't include frame gutters.
13595         (window_char_width_to_pixel_width): ditto.
13596
13597 2000-02-25  Andy Piper  <andy@xemacs.org>
13598
13599         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
13600         if it is.
13601
13602 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13603
13604         * alloc.c (staticpro):
13605         (staticpro_nodump):
13606         (dumpstruct):
13607         (dumpopaque):
13608         (pdump_wire):
13609         (pdump_wire_list):
13610         (compact_string_chars):
13611         (pdump_dump_wired):
13612         Convert:  if (foo) abort();  ==>  assert (! foo);
13613
13614         * eldap.c (Fldap_search_basic):
13615         (Fldap_add):
13616         (Fldap_modify):
13617         (Fldap_delete):
13618         Fix compiler warnings, and possible crashes if (random) return
13619         value were to be used.
13620
13621 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13622
13623         * device-msw.c: Workaround ResetDC failure.
13624
13625         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
13626         applying a devmode.
13627
13628         * redisplay-msw.c (get_frame_dc): Added start_page_p.
13629         (mswindows_text_width): Do not start printer page.
13630
13631         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
13632
13633         * glyphs-msw.c: Added image methods to msprinter console and
13634         msprinter-specific image instantiation.
13635
13636 2000-02-20  Mike Alexander  <mta@arbortext.com>
13637
13638         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
13639         to avoid crashes when selection-sets-clipboard is on
13640         (mswindows_own_selection): ditto
13641
13642 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13643
13644         * glyphs-msw.c:
13645         * redisplay-msw.c (get_frame_dc):
13646         (get_frame_compdc):
13647         * console-msw.h:
13648         * device-msw.c (mswindows_init_device):
13649         (mswindows_delete_device):
13650         (msprinter_init_device):
13651         (msprinter_delete_device):
13652         * frame-msw.c (mswindows_init_frame_1):
13653         (mswindows_delete_frame):
13654         (msprinter_init_frame_3):
13655         (msprinter_delete_frame): Move compatible DC to device object from
13656         frame object, for both mswindows and msprinter. Only one at a time
13657         is needed, it is a real waste to have one per frame!
13658
13659 2000-02-23  Andy Piper  <andy@xemacs.org>
13660
13661         * glyphs.c: add dynamic width and height elements.
13662         (image_instance_equal): ditto.
13663
13664         * glyphs-widget.c (widget_query_geometry): calculate width and
13665         height dynamically if required.
13666         (initialize_widget_image_instance): initialize dynamic dimensions.
13667         (widget_instantiate): pick-up dynamic dimensions.
13668
13669         * glyphs.h (struct Lisp_Image_Instance): add width and height for
13670         dynamic determination. Add appropriate macros.
13671
13672         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
13673         dimensions safe.
13674         (WINDOW_GUTTER_SIZE): ditto.
13675         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
13676
13677         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
13678         inline.
13679         (get_frame_dc): ditto.
13680
13681         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
13682         here.
13683
13684 2000-02-23  Martin Buchholz <martin@xemacs.org>
13685
13686         * XEmacs 21.2.31 is released.
13687
13688 2000-02-22  Ben Wing <ben@xemacs.org>
13689
13690         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
13691
13692 2000-02-22  Andy Piper  <andy@xemacs.org>
13693
13694         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
13695
13696 2000-02-21  Mike Sperber <mike@xemacs.org>
13697
13698         * .dbxrc:
13699         * .gdbinit:
13700         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
13701         variables.
13702
13703 2000-02-21  Mike Sperber <mike@xemacs.org>
13704
13705         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
13706
13707 2000-02-21  Martin Buchholz <martin@xemacs.org>
13708
13709         * XEmacs 21.2.30 is released.
13710
13711 2000-02-20  Martin Buchholz  <martin@xemacs.org>
13712
13713         Performance hacking.
13714         * *.c (syms_of_*):
13715         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
13716         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
13717         * emacs.c (main_1):
13718         * lisp.h (DEFUN):
13719         * console.c (DEFVAR_CONSOLE_LOCAL_1):
13720         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
13721         * symeval.h (DEFVAR_SYMVAL_FWD):
13722         * symbols.c (guts_of_unbound_marker):
13723         Make all c_readonly objects also lisp_readonly and marked for life.
13724         * lrecord.h (struct lrecord_implementation):
13725         Document flags better.
13726         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
13727         * lrecord.h (DECLARE_LRECORD):
13728         * lrecord.h (XSETRECORD):
13729         * lrecord.h (RECORDP):
13730         * lrecord.h (RECORD_TYPEP):
13731         * lrecord.h (RECORD_MARKER): New.
13732         * lrecord.h (error_check_*):
13733         * lrecord.h (CONCHECK_NONRECORD):
13734         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
13735         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
13736         * lrecord.h (set_lheader_implementation):
13737         * lrecord.h (enum lrecord_type): New.
13738         * symeval.h (SYMBOL_VALUE_MAGIC_P):
13739         * alloc.c (disksave_object_finalization_1):
13740         * alloc.c (mark_object):
13741         * alloc.c (lrecord_type_index):
13742         * alloc.c (tick_lcrecord_stats):
13743         * alloc.c (Fgarbage_collect):
13744         * alloc.c (init_alloc_once_early):
13745         * alloc.c (pdump_load):
13746         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
13747         * alloc.c (lrecord_type_index): Delete.
13748         Make lisp object type indexes be constant.
13749           Makes (byte-compile) 5% faster.
13750         Put all marker functions into their own array.
13751           Makes (garbage-collect) 5% faster.
13752         Optimize SYMBOL_VALUE_MAGIC_P.
13753           Makes (byte-compile) 2-3% faster.
13754         * config.h.in (gc_checking_assert): New.
13755         * alloc.c: Use gc_checking_assert().
13756         * .dbxrc: Make compatible with new object type implementation.
13757         * .gdbinit: Make compatible with new object type implementation.
13758         * alloc.c: Delete all symbols defined only for debugging, such as
13759         Lisp_Type_Vector and lrecord_charset.
13760
13761 2000-02-21  Andy Piper  <andy@xemacs.org>
13762
13763         * gui-msw.c (Fmswindows_shell_execute): fix file location
13764         problems.
13765
13766         * buffer.c (Fkill_buffer): remove buffer from alist buffer
13767         unshowing so that set_window_buffer doesn't undo
13768         kill_buffer_hook's hard work.
13769
13770         * glyphs-widget.c (tab_control_query_geometry): don't count the
13771         first item when calculating geometry.
13772
13773         * glyphs.c (map_subwindow): remove redundant code.
13774         (update_frame_subwindows): be more circumspect about when to
13775         update subwindows.
13776
13777         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
13778         when items haven't changed. Update faces if faces have changed as
13779         well as just the widget face.
13780         (x_tab_control_update): Update faces if faces have changed as well
13781         as just the widget face.
13782
13783 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13784
13785         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
13786         registration.
13787         (build_syscolor_string): Use mswindows_color_to_string to try to
13788         get a named color.
13789         (mswindows_device_system_metrics): Reverse the foreground and
13790         background colors so that they match the documentation.
13791
13792         * objects-msw.c: (mswindows_X_color_map): tweak some values so
13793         they match the default Windows palette.
13794         (mswindows_color_to_string): New function.
13795
13796 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13797
13798         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
13799
13800 2000-02-18  Olivier Galibert  <galibert@pobox.com>
13801
13802         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
13803         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
13804
13805         * symbols.c (init_symbols_once_early): Removed obsolete
13806         DATA_SEG_BITS related kludge.
13807         (defvar_magic): Ditto.
13808
13809         * malloc.c: Removed obsolete DATA_SEG_BITS
13810         * ralloc.c: Ditto.
13811         * mem-limits.h: Ditto.
13812
13813         * Makefile.in.in: Removed obsolete HAVE_SHM
13814         * emacs.c: Ditto.
13815
13816 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13817
13818         *  device-msw.c (mswindows_delete_device): Free DDE string
13819         handles.
13820
13821 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13822
13823         * keymap.c (get_keyelt):
13824         * unexnt.c (unexec):
13825         * vm-limit.c (memory_warnings):
13826         * ntheap.c (recreate_heap):
13827         * ntheap.h (UNINIT_PTR):
13828         * select-msw.c (Fmswindows_get_clipboard):
13829         (Fmswindows_set_clipboard):
13830         * objects-msw.h (MSWINDOWS_BAD_HFONT):
13831         * objects-msw.c:
13832         * menubar-msw.c (displayable_menu_item):
13833         * glyphs-msw.c:
13834         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
13835         * sysdep.c (sys_subshell):
13836         * process-nt.c (nt_create_process):
13837         * nt.c (normalize_filename):
13838         (dostounix_filename):
13839         (unixtodos_filename):
13840         * ntproc.c (win32_executable_type):
13841         * ntplay.c (play_sound_data_1):
13842         (play_sound_file):
13843         * editfns.c (get_home_directory):
13844         * event-msw.c (struct winsock_stream):
13845         (mswindows_dde_callback):
13846         * device-msw.c (msprinter_init_device):
13847         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
13848
13849         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
13850         mswindows_clear_toolbar were swapped!
13851
13852         * objects-msw.c:(colormap_t):
13853         (fontmap_t):
13854         * emacs.c (struct standard_args): Fixed const jumble.
13855
13856         * glyphs-widget.c (update_widget): Fixed comparison notation.
13857
13858         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
13859
13860         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
13861         __declspec(noreturn) syntax.
13862
13863 2000-02-19  Martin Buchholz  <martin@xemacs.org>
13864
13865         * eldap.c (Fldap_open):
13866         (Fldap_search_basic):
13867         (Fldap_add):
13868         (Fldap_modify):
13869         Use new coding system conversion macros.
13870
13871 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13872
13873         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
13874
13875 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
13876
13877         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
13878         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13879
13880         * eldap.c (Qadd, Qreplace): New constant symbols
13881         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
13882         interruptions by XEmacs signals
13883         Remove unnecessary calls to slow_down_interrupts and
13884         speed_up_interrupts
13885         (Fldap_search_basic): Renamed from Fldap_search_internal
13886         Added new optional parameter VERBOSE that triggers the
13887         display of progress messages
13888         Remove unnecessary calls to slow_down_interrupts and
13889         speed_up_interrupts
13890         LDAP result code analysis rewritten
13891         (Fldap_add, Fldap_modify, Fldap_delete): New functions
13892         (syms_of_eldap): Define the new symbols and functions
13893
13894
13895 2000-02-17  Martin Buchholz  <martin@xemacs.org>
13896
13897         * realpath.c: Determine PATH_MAX maximally portably.
13898
13899         * insdel.c (bytecount_to_charcount): Optimize.
13900         The function used to be optimized for entirely ASCII sequences.
13901         Now it is optimized for successive characters from the same
13902         charset.  This also wins big for _mostly_ ASCII sequences.
13903
13904         * fileio.c (Ffile_truename): convert return from realpath() using
13905         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
13906         - Rewrite GCPROing slightly.
13907
13908         * sysdep.c (sys_open): Do filename conversion, like all other
13909         sys_* functions.  Fixes bug:
13910         (let ((file-name-coding-system 'iso-8859-2))
13911            (write-region x y latin2-name))
13912         ==> writes filename using internal encoding.
13913
13914 2000-02-18  Martin Buchholz  <martin@xemacs.org>
13915
13916         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
13917         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
13918         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
13919         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
13920         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
13921         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
13922         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
13923         (CONST_IF_NOT_DEBUG): Delete.
13924         * alloc.c (this_one_is_unmarkable): Delete.
13925         (mark_object): Don't check for this_one_is_unmarkable. Use the
13926         c_readonly flag instead.
13927         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
13928
13929 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13930
13931         * event-msw.c (mswindows_drain_windows_queue):
13932         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
13933         away redundant repaint events.
13934
13935 2000-02-17  Andy Piper  <andy@xemacs.org>
13936
13937         * redisplay.h: declare mark_redisplay_structs.
13938
13939         * redisplay.c (redisplay_window):
13940         (redisplay_frame): don't check subwindows_state_changed.
13941         (mark_redisplay): mark gutters here.
13942
13943         * glyphs.c: (instantiate_image_instantiator): always layout if we
13944         haven't done so already.
13945         (allocate_image_instance): don't mark as dirty.
13946         (update_subwindow): bind inhibit_quit.
13947
13948         * gutter.c (mark_gutters): new function.
13949
13950         * glyphs-x.c (x_update_widget): Always resize to get round a
13951         widget bug.
13952
13953         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
13954         breaking absolutely everything.
13955
13956         * gutter.h: declare mark_gutters.
13957
13958 2000-02-16  Martin Buchholz <martin@xemacs.org>
13959
13960         * XEmacs 21.2.29 is released.
13961
13962 2000-02-15  Olivier Galibert  <galibert@pobox.com>
13963
13964         * fns.c (size_bit_vector): Fix computation of the size.
13965
13966 2000-02-15  Martin Buchholz  <martin@xemacs.org>
13967
13968         * *.[ch]: Change CONST to const globally.
13969         find -name '*.[ch]' | \
13970         xargs global-replace \
13971         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
13972         - Remove vestigial references to CONST_IS_LOSING
13973
13974 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13975
13976         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
13977         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
13978         events instead of dispatching them directly.
13979         (mswindows_handle_paint): New function to do repainting.
13980         (mswindows_wnd_proc):
13981         (emacs_mswindows_handle_magic_event): Call above function.
13982
13983 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13984
13985         * objects-msw.c (mswindows_create_font_variant): Return the new
13986         font handle.
13987         (initialize_font_instance): Get font metrics from the underlined
13988         variant of the font to cope with the case where the underlined
13989         font has a bigger descent.
13990
13991 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
13992
13993         * gui.c (gui_item_accelerator): Return the first underlined
13994         character in item name.
13995
13996 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13997
13998         * lisp.h: Added Qprinter.
13999
14000         * general.c (syms_of_general): Initialized it.
14001
14002         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14003         (get_frame_dc):
14004         (get_frame_compdc): Made inline.
14005
14006         * console.h (struct console_methods): Added eject_page method.
14007
14008         * frame.h: Added FRAME_DISPLAY_P and friends.
14009         Aligned backslahes in many macros in more readable fashion.
14010         Added page_number to struct frame, and an accessor macro
14011         for it.
14012
14013         * defice.h: Added DEVICE_DISPLAY_P and friends.
14014
14015         * device.c (Fdevice_printer_p): Used these.
14016
14017         * frame.c (allocate_frame_core): Initialize page number.
14018         (Fprint_job_page_number):
14019         (Fprint_job_eject_page): Implemented.
14020
14021         * frame-msw.c (msprinter_eject_page): Added method.
14022         (msprinter_start_page): Added.
14023
14024         * window.c (Fwindow_truncated_p): Fixed docstring.
14025         (Fwindow_last_line_visible_height): Implemented.
14026
14027 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14028
14029         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14030
14031 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14032
14033         * syntax.c (scan_words): Always advance at least one character.
14034
14035 2000-02-13  Andy Piper  <andy@xemacs.org>
14036
14037         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14038         to make sure the glyph is in the cachels.
14039
14040         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14041         global image instance flag.
14042         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14043         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14044
14045         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14046         (Fset_image_instance_property): mark layout as changed.
14047         (invalidate_glyph_geometry_maybe): mark layout as changed.
14048         (glyph_width): use new NEEDS_LAYOUT macro.
14049         (glyph_ascent): ditto.
14050         (glyph_descent): ditto.
14051         (glyph_height): ditto.
14052         (image_instance_layout): mark layout as clean after laying out.
14053         (update_subwindow): don't mark layout as clean here.
14054
14055         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14056         should no longer be needed.
14057
14058         * glyphs-x.c (x_update_widget): sanitize asserts.
14059         (x_finalize_image_instance): sanitize assignment to widgets.
14060
14061         * glyphs-widget.c (widget_instantiate): don't need to clear the
14062         layout flag here.
14063
14064 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14065
14066         * sysdep.c (getcwd): Use standard prototype.
14067         * sysdep.h (getcwd): Use standard prototype.
14068
14069         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14070         (sequence, start, end).
14071         Remove redundant type checking.
14072         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14073         view of `caller-protects') to avoid a crash where the real fix was
14074         found elsewhere.
14075
14076 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14077
14078         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14079
14080         * s/sol2.h: Remove feature macro initialization.
14081
14082         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14083         (vector_hash): New.  Code from internal_hash.
14084         * lrecord.h:
14085         Fix up allocation subsystem comments.
14086
14087         * config.h.in: Add __EXTENSIONS__ for Solaris.
14088
14089         * systime.h (EMACS_GETTIMEOFDAY): New.
14090         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14091         Remove Solaris-specific code.
14092         Use void* for the (ignored) second arg for gettimeofday().
14093
14094         * elhash.c (hash_table_hash): Implement it, finally.
14095         * elhash.c:  Use hashcode_t.
14096
14097         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14098         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14099
14100         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14101         * fns.c (size_bit_vector):
14102         * alloc.c (size_vector):
14103         (make_vector_internal):
14104         (make_bit_vector_internal):
14105         (sweep_bit_vectors_1):
14106         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14107
14108 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14109
14110         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14111         Include strings.h to avoid warnings for bzero and strcasecmp.
14112
14113 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14114
14115         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14116         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14117
14118         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14119         sequence.
14120
14121 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14122
14123         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14124         use a value field instead.
14125         (symbol_value_forward_forward): Use value field.
14126         (DEFVAR_SYMVAL_FWD): Use value field.
14127         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14128         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14129         (DEFVAR_CONST_INT): Ditto.
14130         (DEFVAR_BOOL): Ditto.
14131         (DEFVAR_CONST_BOOL): Ditto.
14132         (DEFVAR_INT_MAGIC): Ditto.
14133         (DEFVAR_BOOL_MAGIC): Ditto.
14134
14135         * symbols.c (guts_of_unbound_marker): Use value field.
14136         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14137         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14138
14139         * lisp.h: Declare dumpopaque and noninteractive1.
14140
14141         * alloc.c (dumpopaque): Added.
14142         (pdump_dump_opaquevec): Added.
14143         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14144         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14145         noninteractive.
14146
14147 2000-02-10  Andy Piper  <andy@xemacs.org>
14148
14149         * glyphs.c (image_instance_layout): if the size changes, mark it
14150         as such.
14151
14152         * redisplay-output.c (redisplay_output_layout): Update the
14153         subwindow here.
14154         (redisplay_output_subwindow): ditto.
14155
14156         * glyphs.c (update_subwindow): make sure we reset flags for
14157         layouts as well as everything else.
14158
14159         * glyphs-widget.c (layout_layout): don't need to set the instances
14160         dimensions here.
14161
14162 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14163
14164         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14165         not HAVE_DLOPEN, which is a lower-level thing.
14166
14167         * .cvsignore: Ignore gmon.out
14168
14169 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14170
14171         * .cvsignore: Ignore portable dumper xemacs.dmp file
14172
14173 2000-02-09  Andy Piper  <andy@xemacs.org>
14174
14175         * redisplay-output.c (redisplay_output_layout): be more clever
14176         about when we output based on the changed flags.
14177
14178         * glyphs.h (struct image_instantiator_methods): add update_method.
14179         (struct Lisp_Image_Instance): add changed flags. Declare new
14180         macros for manipulating them.
14181
14182         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14183         (image_instance_parent_glyph): find an image_instance's parent
14184         glyph or image_instance.
14185         (image_instance_layout): mark the size as changed.
14186         (set_image_instance_dirty_p): new function. mark an image
14187         instance, plus all of its parents, as dirty.
14188         (Fset_image_instance_property): use it.
14189         (Fglyph_animated_timeout_handler): use it.
14190         (update_subwindow): call update_widget and device methods for
14191         update_subwindow. Mark all changed flags as clean.
14192         (Fresize_subwindow): mark size as changed.
14193
14194         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14195         failures.
14196         (x_update_subwindow): only resize subwindows here.
14197         (x_update_widget): new function. Update all changed properties of
14198         a widget.
14199         (x_resize_subwindow): deleted.
14200         (x_widget_set_property): deleted.
14201         (x_progress_gauge_set_property): deleted.
14202         (x_progress_gauge_update): new function. Implement recorded
14203         changes.
14204         (x_tab_control_update): ditto.
14205         (x_tab_control_set_property): deleted.
14206         (console_type_create_glyphs_x): declare new functions.
14207         (image_instantiator_format_create_glyphs_x): ditto.
14208
14209         * glyphs-widget.c (widget_set_property): mark text changed.
14210         (update_widget): new function. Update properties of a widget.
14211         (widget_instantiate): for layouts make sure we set their
14212         children's parent correctly.
14213         (tab_control_set_property): new function. Record changes that will
14214         take place under redisplay's control.
14215         (progress_gauge_set_property): ditto.
14216         (image_instantiator_progress_guage): declare new functions.
14217         (image_instantiator_tab_control): ditto.
14218
14219         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14220         now.
14221         (mswindows_update_widget): new function. Update all properties on
14222         a widget that have changed.
14223         (mswindows_button_update): new function. Update a button's set
14224         state.
14225         (mswindows_tab_control_update): new function. Update the items in
14226         a tab.
14227         (mswindows_tab_control_set_property): deleted.
14228         (mswindows_progress_gauge_update): new function. Update the
14229         progress gauge's progress.
14230         (mswindows_widget_set_property): deleted. This is all done
14231         asynchronously now.
14232         (mswindows_progress_gauge_set_property): ditto.
14233         (console_type_create_glyphs_mswindows): declare new methods.
14234         (image_instantiator_format_create_glyphs_mswindows): ditto.
14235
14236         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14237         (msprinter_set_frame_properties): ditto.
14238
14239         * console.h (struct console_methods): Add update_widget_method.
14240
14241 2000-02-09  Andy Piper  <andy@xemacs.org>
14242
14243         * gui-msw.c (Fmswindows_shell_execute): Make
14244         mswindows-shell-execute industrial strength.
14245
14246 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14247
14248         * lrecord.h: Make macro argument `props' match member function `plist'.
14249         * fns.c (Fget):
14250         * fns.c (Fput):
14251         * fns.c (Fremprop):
14252         * fns.c (Fobject_plist):
14253         * alloc.c:
14254         * symbols.c:
14255         Object property list frobbing cleanup.
14256         - Allow any lisp object (compared with `eq'), not just symbols, as
14257           keys in object plists.
14258         - Move symbol plist frobbing into symbols.c, where it belongs.
14259         - Move string plist frobbing into alloc.c, where it belongs.
14260         - Everything's an lrecord now, so no need to test for symbolp, etc.
14261         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14262
14263         * extents.c: Reorder code to remove declarations.
14264
14265         * frame.h (store_in_alist): Remove useless declaration.
14266
14267 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14268
14269         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14270         * config.h.in: Add HAVE_XCONVERTCASE.
14271
14272 2000-02-07  Andy Piper  <andy@xemacs.org>
14273
14274         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14275         it breaks many things.
14276
14277 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14278
14279         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14280         actually can start a common comment type.
14281         * src/syntax.h (SYNTAX_END_P): ditto for end.
14282
14283 2000-02-07  Martin Buchholz <martin@xemacs.org>
14284
14285         * XEmacs 21.2.28 is released.
14286
14287 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14288
14289         * event-Xt.c (x_keysym_to_character): New.
14290         (maybe_define_x_key_as_self_inserting_character): New.
14291         (x_has_keysym): New.
14292         Auto-define all keys on the keyboard as self-insert-key.
14293
14294 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14295
14296         * menubar.c (vars_of_menubar): A small code simplification.
14297
14298         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14299
14300         * ExternalShell.c:
14301         * ExternalClient.c:
14302         * EmacsShell-sub.c:
14303         * EmacsManager.c:
14304         * EmacsFrame.c:
14305         Use consistent style for specifying X resources.
14306
14307         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14308         This makes (dontusethis-set-symbol-value-handler) actually usable.
14309
14310         * lrecord.h (lrecord_decription_type):
14311         * alloc.c (pdump_register_sub):
14312         (pdump_dump_data):
14313         (pdump_reloc_one):
14314         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14315         Comply with XEmacs coding style.
14316         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14317         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14318
14319         * keymap.c (Faccessible_keymaps):
14320         Make (accessible-keymaps map "\C-h") do the Right Thing.
14321         Make (accessible-keymaps map []) do the Right Thing.
14322         Make (accessible-keymaps map "") do the Right Thing.
14323         (check_keymap_definition_loop): New function.
14324         (keymap_store_internal): Keep luser from shooting self in foot,
14325           via (define-key ctl-x-4-map "p" global-map).
14326         Remove fullness slot from struct Lisp_Keymap, since hash tables
14327         are now reliable.
14328         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14329
14330 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14331
14332         * redisplay.c (init_redisplay): Fix small memory leak.
14333         * elhash.h:
14334         * elhash.c (pdump_reorganize_hash_table):
14335         Rename from reorganize_hash_table. Change prototype.
14336         Reuse the original memory for hentries.  Save 100k.
14337         * alloc.c (PDUMP_READ): new macro.
14338         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14339         * alloc.c: No need to #ifndef before #undef.
14340
14341         * print.c: Allow debug_print() to print readably by modifying
14342         debug_print_readably.  Use consistent variable names.
14343
14344         * .dbxrc: Try to get things to work even if stopped in a function
14345         without source available by explicitly specifying source files.
14346 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14347
14348         * unexnt.c (_start): Removed bogus code which caused loading heap
14349         from differrent executable file.
14350         Removed bogus assignment to _fmode, which caused inconsistencies.
14351
14352 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14353
14354         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14355         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14356         Do not preliminary `#define signal sigset'.
14357
14358         * systime.h: Do not prototype environ on windows nt and cygwin,
14359         this conflicts with system header.
14360
14361         * syssignal.h: Use correct define for WINDOWSNT
14362
14363         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14364         with system header.
14365
14366         * sysdep.c (near start of file): Fixed commentary and rearranged
14367         ifdefs in readable order.
14368         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14369         (start_of_text):
14370         (end_of_text):
14371         (end_of_data): Do not compile in if using PDUMP.
14372
14373         * symsinit.h: Prototyped vars_of_nt().
14374
14375         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14376         (find_child_console): Use it.
14377         (sys_kill): Use it.
14378
14379         * ntheap.h: Do not extern os_subtype.
14380
14381         * ntheap.c (cache_system_info): Do not cache unneeded:
14382         nt_major_version, nt_minor_version and os_subtype.
14383         (recreate_heap): Do not compile in when PDUMPing.
14384
14385         * nt.c (geteuid and friends): Use the new varibale
14386         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14387         (init_user_info): Removed the above mentioned hackery.
14388         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14389         stat has been fixed in the C runtime.
14390         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14391
14392         * file-coding.c (struct file_coding_dump): Do not define
14393         ucs_to_mule_table in the struct if not MULE.
14394         (struct struct lrecord_description fcd_description_1): Do not dump
14395         the above.
14396
14397         * emacs.c (main_1): Call vars_of_nt().
14398         (right before Fdump_emacs_data): Don't need lastfile if using both
14399         portabe dumper and system malloc.
14400
14401         * alloc.c (Fmemory_limit): Conditionalized out.
14402         (pdump): Use OPEN_BINARY for the portable dump file.
14403         (pdump_load): Ditto.
14404
14405 2000-02-02  Mike Alexander  <mta@arbortext.com>
14406
14407         * nt.c (convert_time): Set tm_isdst before calling mktime and
14408         avoid calling it at all if the compiler supports 64 bit integers.
14409         Also initialize utc_base_ft before using it.
14410
14411 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14412
14413         * frame.c (change_frame_size_1): Take f->internal_border_width
14414         into consideration when calculating the width of the frame.
14415
14416 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14417
14418         * window.c (frame_min_height):
14419         (frame_size_valid_p):
14420         (frame_pixsize_valid_p): Added.
14421         (check_frame_size): Generalized.
14422
14423         * window.h: Prototyped the above.
14424
14425         * lisp.h:
14426         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14427         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14428         Deleted Vwin32_* and Vbinary_process_* unused variables.
14429
14430         * device-msw.c (msprinter_init_device): Do not get printer font
14431         list; Added DEVMODE functions.
14432
14433         * frame-msw.c: Added lots of printer code.
14434
14435         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14436         general.c.
14437
14438         * console-msw.h: Added more msprinter device private slots.
14439
14440 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14441
14442         * event-msw.c (key_needs_default_processing_p): Added.
14443         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14444
14445 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14446
14447         * glyphs.c (image_instance_layout): Mark image instance as clean
14448         after layout.
14449         (glyph_dirty_p): Removed redundant function.
14450         (invalidate_glyph_geometry_maybe): Added.
14451         (update_glyph_cachel_data): Call it.
14452
14453         * glyphs.h: Prototyped it.
14454
14455         * redisplay.c (add_glyph_rune): Call it.
14456         (redisplay_window): Reset glyphs cachels when frame faces have
14457         changed, thus forcing recomputation of built-in border glyphs.
14458
14459 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14460
14461         * Makefile.in.in: Make portable dumper and purify play well together.
14462         Add imperfect, but better than nothing, support for pdump.
14463         Remove xemacs.dmp when temacs is re-generated.
14464         Don't ignore errors when dumping xemacs.
14465
14466         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14467
14468 2000-01-28  Andy Piper  <andy@xemacs.org>
14469
14470         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14471         (setup_normal_frame): ditto.
14472         (setup_frame_without_minibuffer): ditto.
14473         (setup_minibuffer_frame): ditto.
14474         (delete_frame_internal): ditto.
14475         (Fmake_frame_invisible): ditto.
14476         (Ficonify_frame): ditto.
14477
14478         * window.h: change Fset_window_buffer signature.
14479
14480         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14481         (Fset_window_buffer): allow recording of buffer if the window is
14482         the selected window.
14483         (window_loop): Use new Fset_window signature.
14484
14485 2000-01-23  Daniel Pittman  <daniel@danann.net>
14486
14487         * config.h.in: Added template for `HAVE_ATHENA_3D'
14488
14489 2000-01-29  Andy Piper  <andy@xemacs.org>
14490
14491         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14492
14493         * gutter.c (output_gutter): Don't output if the window isn't live.
14494
14495 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14496
14497         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14498         of 01/12/00: Moved SetFocus back here where it belongs.
14499
14500 2000-01-23  Andy Piper  <andy@xemacs.org>
14501
14502         * s/cygwin32.h: declare printer things.
14503
14504 2000-01-26  Andy Piper  <andy@xemacs.org>
14505
14506         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14507         Alexander.
14508
14509 2000-01-24  Andy Piper  <andy@xemacs.org>
14510
14511         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14512         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14513
14514         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14515
14516         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14517
14518         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14519
14520         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14521         (mswindows_output_display_block): Avoid local shadows.
14522
14523         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14524         (mswindows_enqueue_mouse_button_event): ditto.
14525         (mswindows_handle_gui_wm_command): remove declaration.
14526
14527         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14528         warnings.
14529
14530         * console-msw.h: Avoid shadows.
14531         (mswindows_get_toolbar_button_text):
14532         (emacs_mswindows_create_stream_pair):
14533         (emacs_mswindows_delete_stream_pair):
14534         (mswindows_handle_toolbar_wm_command): declare.
14535
14536         * device-msw.c (build_syscolor_string): Avoid shadows.
14537
14538 2000-01-23  Andy Piper  <andy@xemacs.org>
14539
14540         * glyphs-widget.c (widget_instantiate): reverse the items for
14541         layouts so that children are in the expected order.
14542
14543 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14544
14545         * ralloc.c: safe_bcopy ==> memmove
14546         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14547         * s/msdos.h: Remove BCOPY macros.
14548         * insdel.c (gap_right): Remove BCOPY conditional code.
14549         * insdel.c (gap_left): Remove BCOPY conditional code.
14550         XEmacs demands a working ANSI C compiler - hence memmove.
14551
14552         * regex.c (regex_compile): Remove accidental use of trigraphs.
14553
14554 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14555
14556         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14557         event timestamp.
14558
14559 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14560
14561         * event-msw.c (mswindows_drain_windows_queue): Added the
14562         parameter.
14563         (mswindows_need_event): Commented the call to
14564         mswindows_drain_windows_queue().
14565         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14566         only.
14567
14568         * console-msw.h: Moved a few function prototypes here from
14569         event-msw.c.
14570
14571         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14572         parameter from unsigned short to unsigned long.
14573         (Fmswindows_shell_execute): Added return value.
14574
14575 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14576
14577         * sysdep.c (init_system_name):
14578           process-unix.c (unix_canonicalized_host_name):
14579         Don't call freeaddrinfo() if getaddrinfo() fails.
14580
14581         * process-unix.c (unix_open_unix_network_stream):
14582         Moved the code to get a port # into address loop.
14583
14584 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14585
14586         * buffer.c (reinit_vars_of_buffer):
14587         The right place to initialize conversion_in_dynarr and
14588         conversion_out_dynarr.
14589
14590         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14591
14592         * process-unix.c (unix_canonicalize_host_name): Muleize.
14593         (unix_open_network_stream): Muleize.
14594
14595         * buffer.h: Fix up prototypes for ralloc.c functions.
14596
14597 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14598         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
14599         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
14600                 instead of gethostbyname()
14601         * process-unix.c: In unix_canonicalize_host_name() and
14602                 unix_open_network_stream(), add code to use getaddrinfo()
14603                 instead of gethostbyname().
14604
14605 2000-01-27  Daniel Pittman <daniel@danann.net>
14606
14607         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
14608         libs when built with flat Athena.
14609
14610 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14611
14612         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
14613         Use coding standards for function prototypes.
14614
14615 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14616
14617         * dialog-msw.c (push_lisp_string_as_unicode):
14618         * doc.c (unparesseuxify_doc_string):
14619         * dired.c (Fuser_name_completion_1):
14620         * dired.c (Fuser_name_all_completions):
14621         * dired.c (free_user_cache):
14622         * dired.c (user_name_completion):
14623         * console-x.c (get_display_arg_connection):
14624         * minibuf.c (clear_echo_area_internal):
14625         * minibuf.c (echo_area_append):
14626         * eldap.c (Fldap_open):
14627         * eldap.c (Fldap_search_internal):
14628         * frame-x.c (x_set_frame_text_value):
14629         * frame-x.c (x_set_frame_properties):
14630         * frame-x.c (x_create_widgets):
14631         * redisplay-tty.c (term_get_fkeys_1):
14632         * objects-x.c (x_parse_nearest_color):
14633         * objects-x.c (x_valid_color_name_p):
14634         * objects-x.c (x_initialize_font_instance):
14635         * objects-x.c (x_list_fonts):
14636         * objects-x.c (x_find_charset_font):
14637         * tooltalk.c (Fadd_tooltalk_message_arg):
14638         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
14639         * tooltalk.c (Fadd_tooltalk_pattern_arg):
14640         * process-unix.c (unix_create_process):
14641         * ntproc.c (sys_spawnve):
14642         * sound.c (Fplay_sound_file):
14643         * sound.c (Fplay_sound):
14644         * buffer.c (init_initial_directory):
14645         * buffer.c (init_buffer):
14646         * editfns.c (init_editfns):
14647         * editfns.c (Ftemp_directory):
14648         * editfns.c (Fuser_full_name):
14649         * editfns.c (uncache_home_directory):
14650         * editfns.c (get_home_directory):
14651         * editfns.c (Fuser_home_directory):
14652         * editfns.c (Fformat_time_string):
14653         * editfns.c (Fcurrent_time_string):
14654         * gui-x.c (button_item_to_widget_value):
14655         * database.c (Fopen_database):
14656         * event-Xt.c (x_to_emacs_keysym):
14657         * event-Xt.c (x_event_to_emacs_event):
14658         * event-Xt.c (describe_event_window):
14659         * event-msw.c (mswindows_wnd_proc):
14660         * glyphs-eimage.c (jpeg_instantiate):
14661         * glyphs-eimage.c (gif_instantiate):
14662         * glyphs-eimage.c (png_instantiate):
14663         * glyphs-eimage.c (tiff_instantiate):
14664         * glyphs-x.c (xbm_instantiate_1):
14665         * glyphs-x.c (x_xbm_instantiate):
14666         * glyphs-x.c (x_xface_instantiate):
14667         * glyphs-x.c (autodetect_instantiate):
14668         * glyphs-x.c (cursor_font_instantiate):
14669         * glyphs-x.c (x_widget_instantiate):
14670         * glyphs-x.c (x_widget_set_property):
14671         * glyphs-x.c (x_widget_property):
14672         * glyphs-x.c (BUILD_GLYPH_INST):
14673         * print.c (write_string_to_stdio_stream):
14674         * print.c (output_string):
14675         * print.c (Falternate_debugging_output):
14676         * print.c (Fexternal_debugging_output):
14677         * glyphs-msw.c (extract_xpm_color_names):
14678         * glyphs-msw.c (mswindows_xpm_instantiate):
14679         * glyphs-msw.c (bmp_instantiate):
14680         * glyphs-msw.c (resource_name_to_resource):
14681         * glyphs-msw.c (mswindows_resource_instantiate):
14682         * glyphs-msw.c (xbm_instantiate_1):
14683         * glyphs-msw.c (mswindows_xbm_instantiate):
14684         * glyphs-msw.c (mswindows_xface_instantiate):
14685         * glyphs-msw.c (mswindows_widget_instantiate):
14686         * glyphs-msw.c (add_tree_item):
14687         * glyphs-msw.c (add_tab_item):
14688         * glyphs-msw.c (mswindows_combo_box_instantiate):
14689         * glyphs-msw.c (mswindows_widget_property):
14690         * glyphs-msw.c (mswindows_combo_box_property):
14691         * glyphs-msw.c (mswindows_widget_set_property):
14692         * console.c (stuff_buffered_input):
14693         * objects-msw.c (mswindows_initialize_color_instance):
14694         * objects-msw.c (mswindows_valid_color_name_p):
14695         * objects-msw.c (mswindows_list_fonts):
14696         * objects-msw.c (mswindows_font_instance_truename):
14697         * bytecode.c (optimize_compiled_function):
14698         * select-x.c (symbol_to_x_atom):
14699         * select-x.c (x_atom_to_symbol):
14700         * select-x.c (hack_motif_clipboard_selection):
14701         * select-x.c (selection_data_to_lisp_data):
14702         * select-x.c (lisp_data_to_selection_data):
14703         * select-x.c (Fx_get_cutbuffer_internal):
14704         * select-x.c (Fx_store_cutbuffer_internal):
14705         * buffer.h (TO_EXTERNAL_FORMAT): New function.
14706         * buffer.h (TO_INTERNAL_FORMAT): New function.
14707         * emacs.c (make_arg_list_1):
14708         * emacs.c (make_argc_argv):
14709         * emacs.c (main_1):
14710         * emacs.c (Fdump_emacs):
14711         * emacs.c (split_string_by_emchar_1):
14712         * file-coding.h:
14713         * lisp.h:
14714         * lstream.h:
14715         * symsinit.h:
14716         * device-x.c (x_init_device):
14717         * device-x.c (Fx_valid_keysym_name_p):
14718         * device-x.c (Fx_get_font_path):
14719         * device-x.c (Fx_set_font_path):
14720         * glyphs.c (bitmap_to_lisp_data):
14721         * glyphs.c (pixmap_to_lisp_data):
14722         * alloc.c (make_ext_string): Use coding system arguments.  Update
14723         all callers.
14724         * alloc.c (build_string):
14725         * callproc.c (child_setup):
14726         * callproc.c (init_callproc):
14727         * fileio.c (lisp_strerror):
14728         * fileio.c (directory_file_name):
14729         * fileio.c (Fexpand_file_name):
14730         * fileio.c (Ffile_truename):
14731         * fileio.c (Fsysnetunam):
14732         * fileio.c (Fdo_auto_save):
14733         * sysdep.c (sys_readdir):
14734         * tests.c: New file.  Allow adding C tests.
14735         Replace GET_* macros with a more comprehensible and flexible
14736         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
14737         Modify all calls.
14738         Any coding system can be used to do format conversion.
14739         Eliminate enum external_data_format.
14740         Eliminate convert_to_external_format.
14741         Eliminate convert_to_internal_format.
14742         Make sure file-name, keyboard, terminal, and ctext are always
14743         defined as coding systems or aliases.  Make
14744         file-name-coding-system, terminal-coding-system, and
14745         keyboard-coding-system magical variables that are equivalent to
14746         defining the corresponding coding system aliases.
14747
14748         * file-coding.c (Fcoding_system_canonical_name_p): New function.
14749         * file-coding.c (Fcoding_system_alias_p): New function.
14750         * file-coding.c (Fcoding_system_aliasee): New function.
14751         * file-coding.c (append_suffix_to_symbol): New function.
14752         * file-coding.c (dangling_coding_system_alias_p): New function.
14753         * file-coding.c (Ffind_coding_system):
14754         * file-coding.c (Fcopy_coding_system):
14755         * file-coding.c (encode_coding_no_conversion):
14756         * file-coding.c (syms_of_file_coding):
14757         * file-coding.c (vars_of_file_coding):
14758         Rewrite coding system alias code.
14759         Allow nested aliases, like symbolic links.
14760         Allow redefinition of coding system aliases.
14761         Prevent existence of dangling coding system aliases.
14762
14763         * dired.c (Fuser_name_completion_1):
14764         * dired.c (Fuser_name_all_completions):
14765         A crash would happen if user did QUIT in the middle of building
14766         user_name_cache.  Remove redundant code in mainline and unwind_protect.
14767
14768         * lisp.h:
14769         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
14770
14771         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
14772         an unsigned char *.  Update all callers.
14773
14774 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14775
14776         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
14777
14778 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14779
14780         * elhash.c (hentry_description): Use more portable definition.
14781         (resize_hash_table): Initialize new hentries using
14782         xnew_array_and_zero, thereby simplifying the code.
14783
14784         * mule-charset.c (make_charset): Make sure entire object is
14785         initialized, to avoid Purify warnings.
14786
14787         * alloc.c (resize_string): Fix unlikely crash with big strings.
14788
14789 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14790
14791         * realpath.c (xrealpath):
14792         Don't call getwd().
14793
14794 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14795
14796         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
14797
14798 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
14799
14800         * unexelfsgi.c (unexec): Change the way we decide which segment
14801         should be extended.
14802
14803         Assumption that .bss section should be outside the PT_LOADable
14804         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
14805         it's present) is inside the 'data' segment. This would fail the
14806         test which was used to find a segment to grow and cover new
14807         heap. Instead of this assumption, I created another one - on IRIX
14808         the segment to grow should start below .bss and it's address
14809         should extent above the end of .bss. Once this segment is
14810         identified, it's grown to accommodate the new heap and new
14811         zero-length .bss section is added at the end of .data2.
14812
14813 2000-01-25  Martin Buchholz  <martin@xemacs.org>
14814
14815         * eval.c (Feval): Wrong number of arguments should use original
14816         function, not the indirect_function version of it.
14817
14818 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
14819
14820         * glyphs-x.c (x_button_instantiate): Don't add image if
14821         it is not a pixmap.
14822         (x_locate_pixmap_file): Call Fexpand_file_name when file name
14823         is relative.
14824
14825 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
14826
14827         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
14828         declaration.
14829         (DEFVAR_INT_MAGIC): Ditto.
14830         (DEFVAR_BOOL_MAGIC): Ditto.
14831         * glyphs.h: Reindent backslash.
14832
14833 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14834
14835         * glyphs-widget.c (layout_query_geometry):
14836         (layout_layout): Use correct types for gheight, gwidth.
14837
14838 2000-01-24  Martin Buchholz  <martin@xemacs.org>
14839
14840         * EmacsManager.c (QueryGeometry): Purified.
14841
14842 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14843
14844         * alloc.c (make_float): Make sure entire object is initialized, to
14845         avoid Purify warnings.
14846         (pdump_register_sub): Remove useless assignment.
14847         (pdump): Use xmalloc, not malloc.
14848         (pdump_load): Use xmalloc, not malloc.
14849
14850 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14851
14852         * callproc.c:
14853         * dired-msw.c:
14854         * fileio.c:
14855         * process-nt.c:
14856         * redisplay-msw.c:
14857         * sysdep.c: Removed redundant #include <windows.h>
14858
14859 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14860
14861         * frame.c (delete_frame_internal): Do not delete device when its
14862         implementation so declares.
14863         (delete_frame_internal): Set device selected frame to nil when
14864         last frame goes away.
14865
14866         * device-msw.c (msprinter_device_system_metrics): Implemented.
14867         (mswindows_device_system_metrics): Added 'device-dpi property.
14868
14869         * device.c: (Fdevice_printer_p): Added.
14870         Added 'offset-workspace device metric.
14871
14872         * console.h (device_metrics): Declared DM_offset_workspace.
14873
14874 2000-01-23  Martin Buchholz  <martin@xemacs.org>
14875
14876         * fileio.c (Ffile_truename): Remove pointless and confusing
14877         initialization of elen.
14878
14879         * glyphs-widget.c: Compiler warning fixes.
14880
14881 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
14882
14883         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
14884         instead of a Lisp_Object as argument to make it consistent with
14885         the other LIVE_P macros.
14886         (CHECK_LIVE_PROCESS): New macro.
14887
14888         * process.c: Declare Qprocess_live_p.
14889         (Fprocess_live_p): New function.
14890         (create_process): Use PROCESS_LIVE_P.
14891         (read_process_output): Ditto.
14892         (set_process_filter): Ditto.
14893         (Fdelete_process): Ditto.
14894         (kill_buffer_processes): Ditto
14895         (process_send_signal): Use CHECK_LIVE_PROCESS.
14896         (Fprocess_input_coding_system): Check whether process is still
14897         alive (fix PR#1061).
14898         (Fprocess_output_coding_system): Ditto.
14899         (Fprocess_coding_system): Ditto.
14900         (Fset_process_input_coding_system): Ditto.
14901         (Fset_process_output_coding_system): Ditto.
14902
14903 2000-01-23  Andy Piper  <andy@xemacs.org>
14904
14905         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
14906         layout and widget.
14907
14908         * glyphs.c (mark_image_instance): take into account changed
14909         image_instance format.
14910         (image_instance_equal): ditto.
14911         (image_instance_hash): ditto.
14912
14913         * glyphs-widget.c (widget_instantiate): Incorporate layout
14914         instantiation here. Delay layout of the layout until later.
14915         (layout_instantiate): deleted.
14916         (layout_query_geometry): new function. get the geometry of a
14917         layout.
14918         (layout_layout): layout a layout dynamically.
14919         (image_instantiator_widget): New function - splitting up
14920         image_instantiator_format_create_glyphs_widget for netwinder
14921         compilation.
14922         (image_instantiator_buttons):
14923         (image_instantiator_edit_fields):
14924         (image_instantiator_combo_box):
14925         (image_instantiator_scrollbar):
14926         (image_instantiator_progress_guage):
14927         (image_instantiator_tree_view):
14928         (image_instantiator_tab_control):
14929         (image_instantiator_labels):
14930         (image_instantiator_layout): ditto.
14931         (image_instantiator_format_create_glyphs_widget): Call preceding
14932         functions.
14933
14934 2000-01-22  Martin Buchholz  <martin@xemacs.org>
14935
14936         * process.c (Fset_process_coding_system):
14937         * device-x.c (Fx_keysym_hash_table):
14938         Docstring fixes.
14939
14940         * lstream.c (Lstream_write): Return documented value, not 0.
14941
14942         * fileio.c (directory_file_name):
14943         (Fsubstitute_in_file_name):
14944         (Fsubstitute_insert_file_contents_internal):
14945         (Fwrite_region_internal):
14946         * emacs.c:
14947         * sysdep.c:
14948         * getloadavg.c:
14949         * systty.h:
14950         Remove vestigial APOLLO-conditional code.
14951
14952 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14953
14954         * getpagesize.h: Add guard macros.
14955         * libsst.h: Add guard macros.
14956         * libst.h: Add guard macros.
14957         * line-number.h: Add guard macros.
14958         * ndir.h: Add guard macros.
14959         * sysfloat.h: Add guard macros.
14960         * sysfile.h: Add guard macros.
14961         * sysproc.h: Add guard macros.
14962         * syswait.h: Add guard macros.
14963         * xintrinsic.h: Add guard macros.
14964         * xintrinsicp.h: Add guard macros.
14965         * xmmanager.h: Add guard macros.
14966         * xmmanagerp.h: Add guard macros.
14967         * xmprimitive.h: Add guard macros.
14968         * xmu.h: Add guard macros.
14969         * gpmevent.h: Add copyright statement. Add guard macros.
14970         * miscplay.h: Add guard macros.
14971         * *.h: Use consistent C-standards-approved guard macro names.
14972
14973         * opaque.c (make_opaque): Switch parameter order.
14974         * opaque.h (make_opaque): Switch parameter order.
14975         Update all callers.
14976         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
14977
14978         * config.h.in (type_checking_assert): Added.
14979         (bufpos_checking_assert): Added.
14980
14981 2000-01-21  Martin Buchholz  <martin@xemacs.org>
14982
14983         * alloc.c: Harmless pdump changes.
14984         - Use countof().
14985         - spell alignment correctly.
14986         * sysdep.c: Use countof()
14987
14988 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14989
14990         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
14991         initially_selected_for_input() console method, default to 0.
14992         (semi_canonicalize_console_connection): Try to delegate to
14993         canonicalize_console_connection if no such console method.
14994         (canonicalize_console_connection): Vice versa.
14995         (print_console): Do not print nil connection.
14996
14997         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
14998         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
14999         (XDEVIMPF_FRAMELESS_OK): Added.
15000         (CONSOLE_INHERITS_METHOD): Added.
15001
15002         * console-msw.c (mswindows_canonicalize_console_connection):
15003         Added.
15004         (mswindows_canonicalize_device_connection): Added.
15005
15006         * console-msw.h (struct msprinter_device): Added this struct and
15007         accessor macros.
15008         (mswindows_device): Made fontlist a lisp object.
15009
15010         * device.c (semi_canonicalize_device_connection):  Try to delegate
15011         to canonicalize_device_connection if no such console method.
15012         (canonicalize_device_connection): Vice versa.
15013         (print_device): Do not print nil connection.
15014
15015         * device-msw.c (mswindows_init_device): Call InitCommonControls
15016         when have widgets.
15017         (mswindows_delete_device): Removed fontlist deallocation.
15018         (mswindows_mark_device): Added.
15019
15020         * events.c (event_equal): Added abort() at unreached code.
15021         (event_hash): Ditto.
15022
15023         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15024         fallback tags of Windows devices.
15025
15026         * general.c (syms_of_general): Initialized Qmsprinter.
15027
15028         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15029         of fallback tags of Windows devices.
15030
15031         * lisp.h: Declared Qmsprinter.
15032
15033         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15034         of strings.
15035         (mswindows_list_fonts): Ditto.
15036         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15037         that it can be used by both mswindows and msprinter devices.
15038         (initialize_font_instance): Added.
15039         (mswindows_initialize_font_instance): Use it.
15040         (msprinter_initialize_font_instance): Added.
15041
15042         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15043         and implementation flags check.
15044         (redisplay_without_hooks): Changed the call to the above.
15045         (Fredraw_device): Ditto.
15046         (Fredisplay_device): Ditto.
15047
15048         * redisplay-msw.c (get_frame_dc): Implemented.
15049         (get_frame_compdc): Implemented.
15050         (many functions): Use the two functions above to get device
15051         contexts, ether for a window or a printer.
15052
15053 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15054
15055         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15056         initialization here.
15057         (init_symbols_once_early): Call it.
15058         * emacs.c (main_1): Call it.
15059         * symsinit.h: Declare it.
15060
15061 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15062
15063         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15064         Lisp_Object.
15065         (pdump_backtrace): Ditto.
15066         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15067         (pdump_get_entry): Abort if trying to register a null pointer.
15068         (pdump_dump_data): Cleanup types when relocating.
15069         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15070         (pdump_dump_rtables): Remove bad casts.
15071         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15072         Lisp_Object instead of a EMACS_INT for the hashtable
15073         reorganization.
15074
15075 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15076
15077         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15078
15079         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15080
15081         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15082
15083         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15084
15085 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15086
15087         * faces.h (FACE_STRIKETHRU_P): Added.
15088
15089         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15090         of font variants.
15091
15092         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15093         (mswindows_set_dc_font): New function, aware of font variants,
15094         separated from mswindows_update_dc.
15095
15096         * objects-msw.h (struct mswindows_font_instance_data): Added
15097         definition.
15098
15099         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15100         cached fonts and the data structure.
15101         (mswindows_initialize_font_instance): Added creation of font data
15102         structure.
15103         (mswindows_print_font_instance): Print at least something.
15104         (mswindows_create_font_variant): Implemented.
15105         (mswindows_get_hfont): Implemented.
15106
15107 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15108
15109         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15110         prototyping problem with msvc.
15111
15112         * emacs.c (main_1): added syms_of_gui_mswindows() call
15113
15114         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15115         syms_of_gui_mswindows() function
15116
15117         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15118
15119 2000-01-18  Martin Buchholz <martin@xemacs.org>
15120
15121         * XEmacs 21.2.27 is released.
15122
15123 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15124
15125         * glyphs-eimage.c (struct tiff_error_struct):
15126         (tiff_error_func):
15127         (tiff_warning_func):
15128         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15129
15130         * unexmips.c:
15131         * unexhp9k3.c:
15132         * unexfreebsd.c:
15133         * unexec.c: Remove vestigial Lucid C code.
15134         * unexalpha.c:
15135         * unexaix.c:
15136         * termcap.c:
15137         * libsst.c: Ansify.
15138         Remove declarations of errno and strerror().
15139
15140         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15141
15142         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15143
15144 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15145
15146         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15147         Optimize.
15148
15149 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15150
15151         * md5.c:
15152         * file-coding.c:
15153         * file-coding.h:
15154         Change enum eol_type to eol_type_t.
15155
15156 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15157
15158         * gui.c (get_gui_callback): Check cons before accessing car.
15159
15160 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15161
15162         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15163         (XSETSPECIFIER_TYPE): Ditto.
15164
15165 2000-01-17  Didier Verna  <didier@xemacs.org>
15166
15167         * redisplay.c (generate_fstring_runes): compute string size in
15168         characters, not bytes.
15169
15170 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15171
15172         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15173
15174 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15175
15176         * print.c (print_error_message): Call print_prepare().
15177
15178 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15179
15180         * .dbxrc: Renamed from dbxrc.
15181
15182         * events.c (event_to_character):
15183         Use `assert (foo)' instead of `if (!foo) abort()'
15184
15185         * .gdbinit (xtype): Add documentation.
15186         * .gdbinit (check-temacs): New function.
15187         * .gdbinit (check-xemacs): New function.
15188         * dbxrc (check-xemacs): New function.
15189         * dbxrc (check-xemacs): New function.
15190
15191 2000-01-14  Andy Piper  <andy@xemacs.org>
15192
15193         * glyphs-widget.c (widget_query_geometry): Make sure that we
15194         calculate default dimensions correctly.
15195
15196 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15197
15198         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15199
15200         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15201         pdump_wire'd variable.
15202
15203         * emacs.c: (main_1): Conditionalized calls to
15204         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15205
15206 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15207
15208         * window.c (Fset_window_configuration):
15209         * sysdep.c (_start):
15210         * input-method-motif.c (res):
15211         * event-Xt.c (Xt_process_to_emacs_event):
15212         Simple compiler warning fixes.
15213
15214         * bytecode.c (funcall_compiled_function): Use the original
15215         function symbol on the backtrace list in preference to the
15216         compiled_function object in error messages.
15217
15218 2000-01-13  Andy Piper  <andy@xemacs.org>
15219
15220         * glyphs-x.c (update_widget_face): Make sure we update the widget
15221         background as well as foreground.
15222
15223 2000-01-13  Andy Piper  <andy@xemacs.org>
15224
15225         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15226         fields to subwindow.
15227         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15228         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15229         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15230         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15231
15232         * glyphs-widget.c (check_valid_tab_orientation): new function.
15233         (initialize_widget_image_instance): zero orientation and
15234         justification.
15235         (widget_instantiate): pick up orientation.
15236         (tab_control_query_geometry): return appropriate values for
15237         vertical tabs.
15238
15239         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15240         appropriate creation flags for left, right and bottom tabs.
15241
15242         * s/cygwin32.h: add tab definitions.
15243
15244 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15245
15246         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15247         frame upon hiding a subwindow.
15248         (mswindows_button_instantiate): Changed the push button style to
15249         BS_PUSHBUTTON.
15250         (mswindows_button_instantiate): Removed button BS_NOTIFY
15251         style.
15252         (mswindows_button_instantiate): Removed redundant check for
15253         a disabled gui item.
15254         (mswindows_button_instantiate): Made use of WS_TABSTOP
15255         consistent: "operable" controls (edit, button, tree, scroll) have
15256         this style, "display-only" ones (static, progress gauge) do
15257         not. This style is currently ignored by XEmacs though. Also,
15258         removed the WS_EX_CONTROLPARENT style - it is not for children,
15259         it is for their parents!
15260         (mswindows_edit_field_instantiate): Ditto.
15261         (mswindows_progress_gauge_instantiate): Ditto.
15262         (mswindows_tree_view_instantiate): Ditto.
15263         (mswindows_tab_control_instantiate): Ditto.
15264         (mswindows_scrollbar_instantiate): Ditto.
15265         (mswindows_combo_box_instantiate): Ditto.
15266         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15267         style to the "clip" window.
15268         (mswindows_button_instantiate): Removed compilation warning by
15269         equally typing terms of the ?: operator.
15270
15271 2000-01-12  Didier Verna  <didier@xemacs.org>
15272
15273         * redisplay.c (generate_fstring_runes): new parameter holding the
15274         last modeline-format extent.
15275         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15276         extent, fill the glyph block with it.
15277         (generate_fstring_runes): handle these parameters.
15278         (generate_formatted_string_db): ditto.
15279
15280         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15281         glyphs'extents in the modeline.
15282
15283 1999-01-11  Mike Woolley  <mike@bulsara.com>
15284
15285         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15286         256Mb, as a workaround for the non-starting problem many people
15287         have experienced.
15288
15289 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15290
15291         * console-tty.c (Fset_console_tty_output_coding_system):
15292         Force redrawing tty frame.
15293
15294 2000-01-10  Didier Verna  <didier@xemacs.org>
15295
15296         * redisplay.c (generate_fstring_runes): fix size computation bug.
15297
15298 2000-01-09  William M. Perry <wmperry@aventail.com>
15299
15300         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15301
15302 2000-01-09  Andy Piper  <andy@xemacs.org>
15303
15304         * glyphs-msw.c: index -> i to avoid shadows.
15305         (xbm_create_bitmap_from_data): make static.
15306         (check_valid_string_or_int): deleted.
15307         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15308
15309         * glyphs-x.c (x_update_subwindow): remove unused args.
15310
15311         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15312         back pointer - this is done in allocate_image_instance.
15313         (query_string_font): return Qnil to make the compiler happy.
15314         (unmap_subwindow): set to ~0 to make the compiler happy.
15315         (glyph_query_geometry): comment out until used.
15316         (glyph_layout): ditto.
15317
15318 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15319
15320         * insdel.c (signal_after_change): Remove extraneous unbind_to().